diff --git a/src/libs/agc.cpp b/src/libs/agc.cpp index 585243906..43746f390 100644 --- a/src/libs/agc.cpp +++ b/src/libs/agc.cpp @@ -804,13 +804,13 @@ static int fuse_shader_halves(Shader* fused_result, const Shader* front, return OK; } -int KYTY_SYSV_ABI AgcUnknownFuseShaderHalves(Shader* fused_result, const Shader* front, +int KYTY_SYSV_ABI AgcFuseShaderHalves_0200(Shader* fused_result, const Shader* front, const Shader* back, void* scratch_mem) { PRINT_NAME(); return fuse_shader_halves(fused_result, front, back, scratch_mem, true); } -int KYTY_SYSV_ABI AgcUnknownNApJjpKNBl4(Shader* fused_result, const Shader* front, +int KYTY_SYSV_ABI AgcFuseShaderHalves(Shader* fused_result, const Shader* front, const Shader* back, void* scratch_mem) { PRINT_NAME(); return fuse_shader_halves(fused_result, front, back, scratch_mem, false); @@ -2636,7 +2636,7 @@ uint32_t KYTY_SYSV_ABI AgcDcbDrawIndexMultiInstancedGetSize() { return 9u * 4u; } -int KYTY_SYSV_ABI AgcUnknownIkfdtRIqCE(uint32_t* cmd, uint64_t arg1, +int KYTY_SYSV_ABI AgcJumpPatchSetTarget_0300(uint32_t* cmd, uint64_t arg1, const volatile uint32_t* target, uint32_t size_in_dwords, uint64_t arg4, uint64_t arg5) { PRINT_NAME(); @@ -3510,7 +3510,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbSetPredication(CommandBuffer* buf, uint8_t conditi return cmd; } -uint32_t* KYTY_SYSV_ABI AgcUnknownKRzWekV120(CommandBuffer* buf, uint32_t arg1, uint32_t arg2, +uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexSize_0600(CommandBuffer* buf, uint32_t arg1, uint32_t arg2, uint32_t arg3) { PRINT_NAME(); @@ -4451,7 +4451,7 @@ bool KYTY_SYSV_ABI AgcDriverIsCaptureInProgress() { return false; } -int KYTY_SYSV_ABI AgcDriverUnknownU9ueyEhSkF4() { +int KYTY_SYSV_ABI AgcDriverRegisterDefaultOwner() { PRINT_NAME(); return static_cast(0x8a6c9018u); diff --git a/src/libs/agc.h b/src/libs/agc.h index 2244a5b22..bc66124ef 100644 --- a/src/libs/agc.h +++ b/src/libs/agc.h @@ -42,9 +42,9 @@ void* KYTY_SYSV_ABI AgcGetRegisterDefaults2Internal(uint32_t ver); int KYTY_SYSV_ABI AgcCreateShader(Shader** dst, void* header, const volatile void* code); int KYTY_SYSV_ABI AgcUnknownGetFusedShaderSize(SizeAlign* dst, const Shader* front, const Shader* back); -int KYTY_SYSV_ABI AgcUnknownFuseShaderHalves(Shader* fused_result, const Shader* front, +int KYTY_SYSV_ABI AgcFuseShaderHalves_0200(Shader* fused_result, const Shader* front, const Shader* back, void* scratch_mem); -int KYTY_SYSV_ABI AgcUnknownNApJjpKNBl4(Shader* fused_result, const Shader* front, +int KYTY_SYSV_ABI AgcFuseShaderHalves(Shader* fused_result, const Shader* front, const Shader* back, void* scratch_mem); int KYTY_SYSV_ABI AgcSetCxRegIndirectPatchSetAddress(uint32_t* cmd, const volatile ShaderRegister* regs); @@ -161,7 +161,7 @@ uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexMultiInstanced(CommandBuffer* buf, uint32 const volatile void* object_ids, uint32_t instance_count, uint64_t modifier); uint32_t KYTY_SYSV_ABI AgcDcbDrawIndexMultiInstancedGetSize(); -int KYTY_SYSV_ABI AgcUnknownIkfdtRIqCE(uint32_t* cmd, uint64_t arg1, +int KYTY_SYSV_ABI AgcJumpPatchSetTarget_0300(uint32_t* cmd, uint64_t arg1, const volatile uint32_t* target, uint32_t size_in_dwords, uint64_t arg4, uint64_t arg5); uint32_t* KYTY_SYSV_ABI AgcDcbDrawIndexAuto(CommandBuffer* buf, uint32_t index_count, @@ -260,7 +260,7 @@ uint32_t KYTY_SYSV_ABI AgcDcbCondExecGetSize(); uint32_t* KYTY_SYSV_ABI AgcDcbSetPredication(CommandBuffer* buf, uint8_t condition, uint8_t op, uint8_t wait_op, const volatile void* address, uint32_t count_in_dwords); -uint32_t* KYTY_SYSV_ABI AgcUnknownKRzWekV120(CommandBuffer* buf, uint32_t arg1, uint32_t arg2, +uint32_t* KYTY_SYSV_ABI AgcDcbSetIndexSize_0600(CommandBuffer* buf, uint32_t arg1, uint32_t arg2, uint32_t arg3); int KYTY_SYSV_ABI AgcDmaDataPatchSetDstAddressOrOffset(uint32_t* cmd, uint64_t dst_address_or_offset); @@ -340,7 +340,7 @@ uint32_t KYTY_SYSV_ABI AgcDriverGetEqContextId(const LibKernel::EventQueue::Kern int KYTY_SYSV_ABI AgcDriverSetTFRing(const volatile void* base, uint32_t size); int KYTY_SYSV_ABI AgcDriverSetHsOffchipParam(uint64_t value0, uint64_t value1, uint64_t value2); bool KYTY_SYSV_ABI AgcDriverIsCaptureInProgress(); -int KYTY_SYSV_ABI AgcDriverUnknownU9ueyEhSkF4(); +int KYTY_SYSV_ABI AgcDriverRegisterDefaultOwner(); } // namespace Gen5Driver diff --git a/src/libs/libAgcDriver.cpp b/src/libs/libAgcDriver.cpp index 5cb83dc81..314b96643 100644 --- a/src/libs/libAgcDriver.cpp +++ b/src/libs/libAgcDriver.cpp @@ -19,8 +19,8 @@ LIB_DEFINE(InitAgcDriver_1) { LIB_FUNC("wRbq6ZjNop4", Gen5::AgcGetRegisterDefaults2Internal); LIB_FUNC("f3dg2CSgRKY", Gen5::AgcCreateShader); LIB_FUNC("dolOmWH+huQ", Gen5::AgcUnknownGetFusedShaderSize); - LIB_FUNC("fd5Bp5tGTgo", Gen5::AgcUnknownFuseShaderHalves); - LIB_FUNC("nApJjpKNBl4", Gen5::AgcUnknownNApJjpKNBl4); + LIB_FUNC("fd5Bp5tGTgo", Gen5::AgcFuseShaderHalves_0200); + LIB_FUNC("nApJjpKNBl4", Gen5::AgcFuseShaderHalves); LIB_FUNC("vcmNN+AAXnY", Gen5::AgcSetCxRegIndirectPatchSetAddress); LIB_FUNC("Qrj4c+61z4A", Gen5::AgcSetShRegIndirectPatchSetAddress); LIB_FUNC("6lNcCp+fxi4", Gen5::AgcSetUcRegIndirectPatchSetAddress); @@ -108,7 +108,7 @@ LIB_DEFINE(InitAgcDriver_1) { LIB_FUNC("6DFuRKT4C9w", Gen5::AgcDcbSetNumInstancesGetSize); LIB_FUNC("q88lQ+GP5Yk", Gen5::AgcDcbDrawIndex); LIB_FUNC("6ee9Hd3EWXQ", Gen5::AgcDcbDrawIndexGetSize); - LIB_FUNC("Ikfdt-rIqCE", Gen5::AgcUnknownIkfdtRIqCE); + LIB_FUNC("Ikfdt-rIqCE", Gen5::AgcJumpPatchSetTarget_0300); LIB_FUNC("Rlx+bykm0r0", Gen5::AgcDcbDrawIndexMultiInstanced); LIB_FUNC("mR9j7+SfM34", Gen5::AgcDcbDrawIndexMultiInstancedGetSize); LIB_FUNC("Yw0jKSqop+E", Gen5::AgcDcbDrawIndexAuto); @@ -137,7 +137,7 @@ LIB_DEFINE(InitAgcDriver_1) { LIB_FUNC("BIPexNBSGog", Gen5::AgcDcbCondExec); LIB_FUNC("ou16V5hh5sg", Gen5::AgcDcbCondExecGetSize); LIB_FUNC("bbFueFP+J4k", Gen5::AgcDcbSetPredication); - LIB_FUNC("-KRzWekV120", Gen5::AgcUnknownKRzWekV120); + LIB_FUNC("-KRzWekV120", Gen5::AgcDcbSetIndexSize_0600); LIB_FUNC("IxYiarKlXxM", Gen5::AgcDmaDataPatchSetDstAddressOrOffset); LIB_FUNC("cdDRpqcFGbU", Gen5::AgcDmaDataPatchSetSrcAddressOrOffsetOrImmediate); LIB_FUNC("Lkf86B98qPc", Gen5::AgcGetPacketSize); @@ -158,10 +158,10 @@ LIB_DEFINE(InitAgcDriver_1) { LIB_FUNC("MlEw1feXcjg", Gen5::AgcQueueEndOfPipeActionPatchData); LIB_FUNC("ORWsxIbk4TE", Gen5::AgcCondExecPatchSetEnd); LIB_FUNC("YWTKOju587o", Gen5::AgcCondExecPatchSetCommandAddress); - LIB_FUNC("k-JpyR2dYAM", Gen5::AgcCondExecPatchSetEnd); - LIB_FUNC("3ZWa3AoyWZQ", Gen5::AgcCondExecPatchSetCommandAddress); + LIB_FUNC("k-JpyR2dYAM", Gen5::AgcCondExecPatchSetEnd); // sceAgcAsyncCondExecPatchSetEnd + LIB_FUNC("3ZWa3AoyWZQ", Gen5::AgcCondExecPatchSetCommandAddress); // sceAgcAsyncCondExecPatchSetCommandAddress LIB_FUNC("ziVA3whp3p4", Gen5::AgcRewindPatchSetRewindState); - LIB_FUNC("eWaWyFegzgQ", Gen5::AgcRewindPatchSetRewindState); + LIB_FUNC("eWaWyFegzgQ", Gen5::AgcRewindPatchSetRewindState); // sceAgcAsyncRewindPatchSetRewindState LIB_FUNC("YUeqkyT7mEQ", Gen5::AgcDcbSetFlip); } @@ -177,9 +177,9 @@ LIB_DEFINE(InitAgcDriver_1) { PRINT_NAME_ENABLE(true); LIB_FUNC("UglJIZjGssM", Gen5Driver::AgcDriverSubmitDcb); - LIB_FUNC("AhGvpITrf4M", Gen5Driver::AgcDriverSubmitDcb); + LIB_FUNC("AhGvpITrf4M", Gen5Driver::AgcDriverSubmitDcb); // sceAgcDriverAgrSubmitDcb LIB_FUNC("6UzEidRZwkg", Gen5Driver::AgcDriverSubmitMultiDcbs); - LIB_FUNC("+T8Xo6LtFJI", Gen5Driver::AgcDriverSubmitMultiDcbs); + LIB_FUNC("+T8Xo6LtFJI", Gen5Driver::AgcDriverSubmitMultiDcbs); // sceAgcDriverAgrSubmitMultiDcbs LIB_FUNC("b4fpgH5ZXxQ", Gen5Driver::AgcDriverSubmitCommandBuffer); LIB_FUNC("Fj7r9EHzF38", Gen5Driver::AgcDriverSubmitMultiCommandBuffers); LIB_FUNC("gSRnr79F8tQ", Gen5Driver::AgcDriverSubmitAcb); @@ -191,7 +191,7 @@ LIB_DEFINE(InitAgcDriver_1) { LIB_FUNC("XlNp7jzGiPo", Gen5Driver::AgcDriverSetTFRing); LIB_FUNC("MM4IZSEYytQ", Gen5Driver::AgcDriverSetHsOffchipParam); LIB_FUNC("Ddwk4gLT5j0", Gen5Driver::AgcDriverIsCaptureInProgress); - LIB_FUNC("U9ueyEhSkF4", Gen5Driver::AgcDriverUnknownU9ueyEhSkF4); + LIB_FUNC("U9ueyEhSkF4", Gen5Driver::AgcDriverRegisterDefaultOwner); } } // namespace LibGen5Driver diff --git a/tests/ShaderRecompilerComputeTests.cpp b/tests/ShaderRecompilerComputeTests.cpp index c640a650d..c60798bfe 100644 --- a/tests/ShaderRecompilerComputeTests.cpp +++ b/tests/ShaderRecompilerComputeTests.cpp @@ -46408,7 +46408,7 @@ void CheckShaderFusion() { back.type = static_cast(c.gs ? Prospero::ShaderBinaryType::kGsBack : Prospero::ShaderBinaryType::kHsBack); Shader fused{}; - const auto fuse = older ? Gen5::AgcUnknownNApJjpKNBl4 : Gen5::AgcUnknownFuseShaderHalves; + const auto fuse = older ? Gen5::AgcFuseShaderHalves : Gen5::AgcFuseShaderHalves_0200; const auto result = fuse(&fused, &front, &back, in_place ? nullptr : scratch.data()); const auto *regs = fused.sh_registers; Require("ShaderFusion", "native fused registers",