mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-29 12:15:39 +00:00
3.9 KiB
3.9 KiB
libSceRazorCpu technical debt
Silent stubs
- libSceRazorCpu: capture-controller registration, thread-local capture storage, marker serialization and flushing are not implemented. The host implements only the confirmed uninitialized-profiler path: markers return zero without reading labels, and
sceRazorCpuFlushOccurredreturns false without writing its optional output. - libSceRazorCpu: the entry above covers only the markers and
sceRazorCpuFlushOccurred. Fourteen further calls also return without reading their arguments or recording anything (sceRazorCpuDisableFiberUserMarkersreturns nothing, the others zero). Three of them are imported by the 53 titles run here:
| Call | Titles importing it (of 53) |
|---|---|
sceRazorCpuSync |
1 |
sceRazorCpuPlotValue |
2 |
sceRazorCpuWriteBookmark |
2 |
The other eleven are imported by none of them: sceRazorCpuIsCapturing, sceRazorCpuNamedSync, sceRazorCpuDisableFiberUserMarkers, sceRazorCpuInitDataTags, sceRazorCpuShutdownDataTags, sceRazorCpuTagArray, sceRazorCpuTagBuffer, sceRazorCpuResizeTaggedBuffer, sceRazorCpuUnTagBuffer, sceRazorCpuBeginLogicalFileAccess and sceRazorCpuEndLogicalFileAccess.
Unknown function info
- sceRazorCpuFiberLogNameChange, sceRazorCpuFiberSwitch, sceRazorCpuGpuMarkerSync, sceRazorCpuInitializeGpuMarkerContext, sceRazorCpuInitializeInternal, sceRazorCpuSetPopMarkerCallback (libSceRazorCpu) - the list is the intersection of the export table of the console's libSceRazorCpu (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. No credible prototypes were found; they are declared without parameters solely to resolve known imports, not as an ABI claim, and callers must not call them until signatures are verified.
- sceRazorCpuSetPushMarkerCallback, sceRazorCpuSetPushMarkerStaticCallback, sceRazorCpuStartCaptureInternal, sceRazorCpuStopCaptureInternal, sceRazorCpuWorkloadRunBegin, sceRazorCpuWorkloadRunEnd, sceRazorCpuWorkloadSubmit (libSceRazorCpu) - the list is the intersection of the export table of the console's libSceRazorCpu (function symbols only), the pinned aerolib names and the functions not yet defined anywhere in the repo. No credible prototypes were found; they are declared without parameters solely to resolve known imports, not as an ABI claim, and callers must not call them until signatures are verified.
- sceRazorCpuJobManagerDispatch, sceRazorCpuJobManagerJob and sceRazorCpuJobManagerSequence: argument positions and serialized widths are recovered from machine instructions. Dispatch takes seven arguments, including two 64-bit payloads whose upper 16 bits are replaced by the count fields. The payloads are not dereferenced, so their original pointer-versus-integer types and the semantic names of the event identifiers remain unresolved. Job and Sequence serialize 16-bit identifiers and an event selector; their source enum names are unavailable.
- sceRazorCpuGetDataTagStorageSize (libSceRazorCpu) - throws: SharpProspero documents it as the byte size a tag table needs for a count of entries, but not the size of an entry