Files
AnyPS5/docs/dev/debt/libScePsml_debug.md
akkadbakkad89andDevin 988f98f40c docs(debt): cut stale libScePsml_debug entries the MFSR queries supersede
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-21 05:17:34 +00:00

5.3 KiB

libScePsml_debug technical debt

Unknown function info

Functional

  • scePsmlMfsrGetDispatchMfsrPacketSizeInDwords, scePsmlMfsrGetMipmapBias, scePsmlMfsrSelectConfig, scePsmlMfsrRequestCapture, scePsmlMfsrIsCaptureInProgress (libScePsml) - semantics from the APR-EMU fakelib/libScePsml.sprx. Guards: 0x8A810001 uninitialized, 0x8A810005 null/foreign handle (fakelib checks an engine id 0xA9C4/0x9231; our map check is the equivalent), 0x8A810009 null output. GetDispatchMfsrPacketSizeInDwords writes 0x600; GetMipmapBias(context, bias, dimension) writes log2f(dimension / context->inputWidth) - 1.0f, width recorded at CreateContext800M3_2 from the parameter pair at 0x18 or descriptor0 + 0x20 for callers that pass a descriptor pointer there (indirection inferred; zero width returns 0x8A810005). SelectConfig, RequestCapture, IsCaptureInProgress validate then return 0. The GetDispatchMfsrPacket* calls still throw: the 0x158-byte template's packet routine is not understood
  • scePsmlMfsrInit (libScePsml) - succeeds and only sets the initialized state; the shared resources and contexts are bookkeeping objects that use none of the guest blocks. Whether Sony's library fails on hardware without PSSR is unknown. PPSA08330 calls the setup unconditionally and only uses a context when its cached sceKernelIsTrinityMode result is set (0x3c643d, 0x567f97; otherwise it stores a -0.25 mip bias itself at 0x567fe2), which AnyPS5 reports as 0