fix(libSceRazorCpu): take the label argument of sceRazorCpuNamedSync

This commit is contained in:
Adrià Franch authored and Dean Galvin committed 2026-10-17 13:06:46 +13:00
1 parent f4a33b7960
commit b35caffd12
3 files changed
+5 -4

No files matched your search

+2 -1
View File
@@ -31,7 +31,8 @@ int APS5_VABI sceRazorCpuPushMarker(const char* label, uint32_t color, uint32_t
return 0;
}
int APS5_VABI sceRazorCpuNamedSync(void) {
int APS5_VABI sceRazorCpuNamedSync(const char* label) {
(void)label;
return 0;
}
+2 -2
View File
@@ -8,7 +8,7 @@ int APS5_VABI sceRazorCpuJobManagerDispatch(const void* args);
int APS5_VABI sceRazorCpuJobManagerJob(const void* args);
int APS5_VABI sceRazorCpuJobManagerSequence(const void* args);
int APS5_VABI sceRazorCpuPushMarker(const char* label, std::uint32_t color, std::uint32_t flags);
int APS5_VABI sceRazorCpuNamedSync(void);
int APS5_VABI sceRazorCpuNamedSync(const char* label);
int APS5_VABI sceRazorCpuPushMarkerStatic(const char* name, std::uint32_t color, std::uint32_t flags);
int APS5_VABI sceRazorCpuPopMarker(void);
int APS5_VABI sceRazorCpuFlushOccurred(std::uint64_t* timeSpentInFlush);
@@ -28,7 +28,7 @@ int main() {
Require(sceRazorCpuJobManagerDispatch(nullptr) == 0);
Require(sceRazorCpuJobManagerJob(nullptr) == 0);
Require(sceRazorCpuJobManagerSequence(nullptr) == 0);
Require(sceRazorCpuNamedSync() == 0);
Require(sceRazorCpuNamedSync("frame") == 0);
Require(sceRazorCpuPushMarkerStatic("outer", 0x80ffffffu, 2) == 0);
Require(sceRazorCpuPushMarkerStatic("inner", 0x80ffffffu, 2) == 0);
Require(sceRazorCpuPopMarker() == 0);
+1 -1
View File
@@ -10,4 +10,4 @@
- [sceRazorCpuFlushOccurred](../../../core/libs/prx/libSceRazorCpu/Export.cpp) (libSceRazorCpu) - signature and return values (1 = flush since the last call, 0 = none) from [SharpProspero](https://github.com/SvenGDK/SharpProspero); without a capture nothing is flushed, so it returns 0 and writes 0 cycles to the optional out pointer (whether the real library writes it when nothing was flushed is unknown)
- [sceRazorCpuPushMarkerStatic, sceRazorCpuPopMarker](../../../core/libs/prx/libSceRazorCpu/Export.cpp) (libSceRazorCpu) - signatures from PPSA26344's calls; (name, color, flags) assumed for the push; both do nothing without a capture
- [sceRazorCpuPlotValue, sceRazorCpuWriteBookmark](../../../core/libs/prx/libSceRazorCpu/Export.cpp) (libSceRazorCpu) - signatures (series, float value) and (label, optional description) from [SharpProspero](https://github.com/SvenGDK/SharpProspero), matching PPSA06320's calls; both do nothing without a capture and return 0
- [sceRazorCpuNamedSync](../../../core/libs/prx/libSceRazorCpu/Export.cpp) (libSceRazorCpu) - NID `XCuZoBSVFG8` is named by [shadPS4](https://github.com/shadps4-emu/shadPS4/blob/0fe263a4760dfbfa973366890061749b4af0de97/src/core/libraries/razor_cpu/razor_cpu.cpp); its stub takes no arguments and returns 0, as here without a capture. The console signature and capture behavior are unverified
- [sceRazorCpuNamedSync](../../../core/libs/prx/libSceRazorCpu/Export.cpp) (libSceRazorCpu) - NID `XCuZoBSVFG8` is named by [shadPS4](https://github.com/shadps4-emu/shadPS4/blob/0fe263a4760dfbfa973366890061749b4af0de97/src/core/libraries/razor_cpu/razor_cpu.cpp); the NID and a stub returning 0 come from there, but its stub declares no arguments; the `const char* label` parameter (NUL-terminated, up to 16384 bytes) comes from [SharpProspero](https://github.com/SvenGDK/SharpProspero), which documents it as the frame-boundary label. Without a capture it does nothing and returns 0; the label is not read, and the capture behavior and the real return values are unverified