mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 16:43:05 -05:00
Hollow Knight Silksong (PPSA12544) imports libSceAgc NID vieBRwlh1Lw (#699). Its name is unknown: it is not in aerolib, and the sceAgcUpdateInterpolantMapping label other projects give it hashes to SbuY2jN+axQ. OpenAGC (src/game_compat.c at 3c7e807, sceAgcUnknownVieBRwlh1Lw) reads it from FW 11.60 as the dbOlWdppb4o transform with the same (regs, gs, ps) arguments, without the identity tail: it writes one register per pixel shader input, none for a pixel shader without inputs, and rejects a null pixel shader. It now shares the dbOlWdppb4o path and throws for the rejected arguments. For is_f16 1 and 3 inputs whose default_value and default_value_hi differ, OpenAGC takes DEFAULT_VAL from default_value_hi, while KytyPS5, sharpemu and dbOlWdppb4o here take it from default_value; these inputs throw. On every other input the dbOlWdppb4o values equal OpenAGC's. agc_interpolant_mapping runs the dbOlWdppb4o vectors and OpenAGC's enhanced-mapping vectors through it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
94 lines
1.8 KiB
C++
94 lines
1.8 KiB
C++
#include <cstdint>
|
|
#include <cstddef>
|
|
#include "SceTypes.hpp"
|
|
#include "prx/libc/include/General.hpp"
|
|
|
|
extern "C" {
|
|
|
|
int APS5_VABI sceAgcAcbPushMarkerSpan() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcAcbSetMarkerSpan() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcAcbSetWorkloadComplete() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcAcbSetWorkloadStreamInactive() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcAcbSetWorkloadsActive() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcAcquireMemSetEngine() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcDcbPushMarkerSpan() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcDcbSetMarkerSpan() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcDcbSetWorkloadStreamInactive() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcGetDefaultCxStateFlat() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcGetSemaphoreLabel() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcSetAmmSemaphoreMemory() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcSetSemaphoreMemory() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcCbMemsetExclusive() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcGetGsPrimPayload() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcSetShaderInstrumentation() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
int APS5_VABI sceAgcGetShaderInstrumentation() {
|
|
NotImplemented_nid_no_patch(__func__);
|
|
return 0;
|
|
}
|
|
|
|
}
|