1.5 KiB
1.5 KiB
libSceUlt technical debt
Unknown function info
- libSceUlt ulthreads -
_sceUltUlthreadRuntimeOptParamInitialize,_sceUltUlthreadRuntimeCreateand_sceUltUlthreadCreateare assumed to take the same arguments as the existing exports without the underscore, including the trailing build version.sceUltUlthreadTryJoinis assumed to returnULT_ERROR_BUSYwhile the ulthread runs, andsceUltUlthreadRuntimeDestroyto returnULT_ERROR_BUSYwhile an ulthread created on the runtime is not joined. Neither error has been confirmed on PS5 hardware - libSceUlt queues - the added
sceUltQueuePop,sceUltQueueTryPush,sceUltQueueDestroyandsceUltQueueDataResourcePoolDestroysignatures are inferred from the existing push/pop and object APIs. Queue destruction is assumed to reject blocked callers withULT_ERROR_BUSYand otherwise discard queued data; pool exhaustion returnsULT_ERROR_AGAIN. These rules, alignment checks and shared slot limits have not been confirmed on PS5 hardware or a title. Non-null queue and data-pool option parameters throw because their layouts are unknown.
Functional
- libSceUlt queues use preallocated host storage instead of the supplied guest work area; its existing size formula and the 512-byte object layouts remain unverified. Waiting-queue pool thread limits and waiter priority ordering are not implemented. Finalization wakes blocked queue callers with
ULT_ERROR_STATE.