Commit Graph
7413 Commits
Author SHA1 Message Date
Dean 338f22e493 Merge pull request #8827 from xdCloudy/split/libSceLibreSsl3
feat(prx): add missing libSceLibreSsl3 exports
2026-10-21 19:05:32 +13:00
Dean f5fb16aafe Merge pull request #8826 from xdCloudy/split/libSceLibreSsl
feat(prx): add missing libSceLibreSsl exports
2026-10-21 19:05:28 +13:00
Dean b5b6623bc4 Merge pull request #8824 from xdCloudy/split/libSceIpmi
feat(prx): add missing libSceIpmi exports
2026-10-21 19:05:24 +13:00
Dean 1fb7cc3a11 Merge pull request #8821 from xdCloudy/split/libSceGnmDriverForNeoMode
feat(prx): add missing libSceGnmDriverForNeoMode exports
2026-10-21 19:05:20 +13:00
Dean 5f7ad96ab1 Merge pull request #8820 from xdCloudy/split/libSceDepth2
feat(prx): add missing libSceDepth2 exports
2026-10-21 19:05:15 +13:00
Dean fd6e289eb7 Merge pull request #8819 from xdCloudy/split/libSceDepth
feat(prx): add missing libSceDepth exports
2026-10-21 19:05:10 +13:00
thuanquangandClaude Opus 5.5 fa6f246a9b fix(shader): flush the operands of image, buffer and global float atomics
On RDNA2 the image, buffer and global float atomics (fmin, fmax,
fcmpswap and the _x2 forms) flush both operands to a signed zero when
bit 0 of the shader's denormal field is clear, as the LDS forms do: the
f32 field for the 32-bit forms, the f16/f64 field for _x2. Only the
LDS forms flushed here. floatAtomicFlush (was sharedFloatFlush) now
sets MemoryInfo::flushDenormals for every float atomic, and
AtomicFloatBits applies it in minMax and compareSwap.

The float atomic tests from #332, #506 and #562 were measured with
denormals kept, so they now set FLOAT_MODE 0xf0.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 13:03:46 +07:00
Dean 49c9bdf375 Merge pull request #8750 from JJenkx/windows/game-testing-ampr-packs
docs(testing): restore files of dumps repacked for ampr_emu before converting
2026-10-21 19:00:32 +13:00
hypermistandClaude Opus 5.5 51c5f528be feat(audio3d): forward the speaker-array calls to AudioOut2
sceAudio3dGetSpeakerArrayMemorySize, CreateSpeakerArray, DeleteSpeakerArray
and GetSpeakerArrayMixCoefficients(2) forward to the AudioOut2 speaker-array
calls as the console does: the memory size asks for no ambisonics, create
rejects a null handle or parameters with SCE_AUDIO3D_ERROR_INVALID_PARAMETER
and passes no ambisonics parameters, and MixCoefficients passes height_aware 0
and a 0.1 downmix spread radius. AudioOut2 create no longer rejects a null
ambisonics pointer, which the console accepts.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:56:28 +13:00
hypermistandClaude Opus 5.5 765058d430 feat(libSceAudioIn): open ports through the Ex calls and accept the two setters
sceAudioInOpenEx and sceAudioInHqOpenEx threw. In the PS5 12.00 module both
call the shared open routine that sceAudioInOpen uses, with one extra
argument in fourth place that only reaches the console's Mbus handle
registration. HqOpenEx sets the high-quality flag but skips the length,
rate and parameter checks of sceAudioInHqOpen, so both open like
sceAudioInOpen here. sceAudioInSetCompressorPreGain and
sceAudioInSetNoiseGateThreshold return 0 on the console without reading
their arguments.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:48:51 +13:00
Dean 53a0a27bb6 Merge pull request #8134 from wachi35676/fix/shader-amd-wave-lds-memory-barrier
fix(shader): order wave LDS accesses with a memory barrier on AMD's proprietary driver
2026-10-21 18:46:41 +13:00
Dean 630f8d5da2 Merge pull request #7912 from Rajkamalcode/fix/agc-storage-writeback
fix(agc): skip storage write-back units that lie in no tiled slice
2026-10-21 18:43:29 +13:00
Dean 1cd7d5547e Merge pull request #8524 from MarrasFederico/feat/lnc-util-kill-app
feat(libSceSystemService): end the running title through sceLncUtilKillApp and sceLncUtilKillAppWithReason
2026-10-21 18:43:26 +13:00
DProkosandClaude Opus 5.5 c12ca91ed5 docs(libSceNpCppWebApi): correct the silent stub counts and drop the title ID
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:40:39 +03:00
Yunus Shaikh 6d09797d6b Merge main into fix/agc-sample-location-grid-exact 2026-10-21 05:39:42 +00:00
Dean dbf2346540 Merge pull request #8817 from xdCloudy/split/libSceBemp2sys
feat(prx): add missing libSceBemp2sys exports
2026-10-21 18:36:20 +13:00
Dean c930b3b4d8 Merge pull request #8816 from xdCloudy/split/libSceBeisobmf
feat(prx): add missing libSceBeisobmf exports
2026-10-21 18:36:12 +13:00
Dean f7ca3bd877 Merge pull request #8815 from xdCloudy/split/libSceAvPlayerStreaming
feat(prx): add missing libSceAvPlayerStreaming exports
2026-10-21 18:36:06 +13:00
Dean 9844b49642 Merge pull request #8814 from xdCloudy/split/libSceAvPlayer.native
feat(prx): add missing libSceAvPlayer.native exports
2026-10-21 18:36:02 +13:00
Dean 18d76bdbb8 Merge pull request #8813 from xdCloudy/split/libSceAudiodecCpu
feat(prx): add missing libSceAudiodecCpu exports
2026-10-21 18:35:58 +13:00
Dean d65eb36b8f Merge pull request #8812 from xdCloudy/split/libSceAudiodec.native
feat(prx): add missing libSceAudiodec.native exports
2026-10-21 18:35:54 +13:00
Dean 7acc69b0e0 Merge pull request #8811 from xdCloudy/split/libSceAppContent
feat(prx): add missing libSceAppContent exports
2026-10-21 18:35:50 +13:00
Dean 6554b7ba29 Merge pull request #8810 from xdCloudy/split/libSceAjmi
feat(prx): add missing libSceAjmi exports
2026-10-21 18:35:46 +13:00
akkadbakkad89andDevin 9833ab4297 refactor(libSceNpGameIntent): make the AppLauncher lifecycle a documented silent stub
Addresses review on #8355: drops g_appLauncherReady and the
unverified init-param size check so both exports are plain silent
stubs, lists them under Silent stubs in the debt file naming
PPSA20397, and moves them out of the unknown-info entry.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-21 10:59:28 +05:30
hypermistandClaude Opus 5.5 c680e28f4f fix(libkernel): give sceCoredumpSetUserDataType its signature and result
The call threw for lack of a signature. In the PS5 12.00 libkernel it takes
one int, passes it to syscall 601 (command 29) and returns the raw kernel
result. No dump is produced here, so it returns 0, as
sceCoredumpConfigDumpMode does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:28:51 +13:00
Dean Galvinandmazen 4977e87806 Merge main into fix/skip-inaccessible-branched-scalar-load
Shader disk cache FormatVersion stays 43 (main is 42).

Co-authored-by: mazen <[email protected]>
2026-10-21 18:25:02 +13:00
hypermistandClaude Opus 5.5 e70813c395 feat(libSceWebBrowserDialog): check the cookie calls as the console does
sceWebBrowserDialogSetCookie and sceWebBrowserDialogResetCookie threw.
They now check their parameters in the console's order and with its
codes (PS5 12.00 module), then succeed: there is no cookie store. Open
sets the open-dialog flag that makes both return 0x80B80006 until the
dialog is updated to finished, closed or terminated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:18:07 +13:00
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
frankea 3205511d38 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into ps5-measured-1340
# Conflicts:
#	docs/dev/debt/shader.md
2026-10-21 01:13:11 -04:00
Dean a07e985c8f Merge pull request #8889 from oneandonlydean/docs/neutral-title-names
docs(dev): name retail titles by ID instead of by title
2026-10-21 18:10:11 +13:00
Rookie 5748d7ce81 fix(relinker): compare Windows file identities by their 128-bit file ID 2026-10-21 06:09:46 +01:00
Dean GalvinandRajkamalcode da0ae843ac Merge origin/main into PR 7912
Co-authored-by: Rajkamalcode <[email protected]>
2026-10-21 18:05:58 +13:00
slopggobblercobbler81 aab806939e feat(libkernel): implement getresuid and getresgid
Follow FreeBSD 11.4 sys_getresuid and sys_getresgid (sys/kern/kern_prot.c):
retrieve real, effective, and saved user and group IDs for the guest process,
which is assumed to run as root with IDs 0. Pointers that are not null receive 0,
null pointers are ignored, and 0 is returned leaving errno unchanged on success.
Cover both in guest_credentials test and update libkernel debt documentation.
2026-10-21 06:56:42 +02:00
Dean 3fb6a126fa Merge pull request #8094 from slick-daddy/newwy
feat(libSceVideodec): implement the video decoder on top of libSceVideodec2
2026-10-21 17:55:51 +13:00
Dean 4936df7889 Merge pull request #6721 from JJenkx/feat/ajm-atrac9-vibration
feat(ajm): decode ATRAC9 vibration streams
2026-10-21 17:55:47 +13:00
Dean 16c7e76761 Merge pull request #8321 from MarrasFederico/feat/netctl-get-result-v6
feat(libSceNetCtl): report no error for IPv6 events in sceNetCtlGetResultV6
2026-10-21 17:54:21 +13:00
Dean 1cd98b72da Merge pull request #8240 from adhimiw/feat/libSceCesCs-pending-exports
feat(libSceCesCs): declare the missing firmware character set exports
2026-10-21 17:54:17 +13:00
Dean 38d5107fb7 Merge pull request #8878 from xXPBSXx/docs/agc-debt-drawpipeline-link
docs(debt): point the DrawPipeline link at its header in include
2026-10-21 17:54:09 +13:00
Kraken c44f3b59f7 feat(libkernel): implement pthread_timedjoin_np 2026-10-21 05:50:29 +01:00
Dean fa9eb5cfac Merge pull request #8490 from orezraey/feat/np-game-presence-callback
feat(libSceNpManager): accept game presence callbacks while signed out
2026-10-21 17:49:32 +13:00
Dean e09c3306e0 Merge pull request #8485 from orezraey/feat/npwebapi2-internal-initialize
feat(libSceNpWebApi2): implement the internal and presence initializers
2026-10-21 17:49:28 +13:00
Dean 1fd67185b6 Merge pull request #8513 from milescoviello/fix/ngs2-destroy-in-own-render
fix(libSceNgs2): refuse a destroy from inside its own system's render
2026-10-21 17:44:56 +13:00
Dean Galvin bc87535cb0 docs(dev): name retail titles by ID instead of by title
Debt entries name the titles they were measured on. Use the title ID, or "a retail title" where the sentence needs no identification. No technical content changes.
2026-10-21 17:34:40 +13:00
Ondra97 ed471c62e3 chore: merge main into epoll lifetime fix 2026-10-21 06:31:02 +02:00
Dean fbb6f49493 Merge pull request #8540 from erickerxhalli/feat/libsceimedialog-force-close
feat(libSceImeDialog): close an open dialog in sceImeDialogForceClose
2026-10-21 17:20:30 +13:00
Yunus Shaikh 3253ab49bb perf(agc): leave a lazily registered shader's resolved ABI to its first use
Under APS5_LAZY_SHADER_PREPARE=1 registration prepares nothing, but
ResolveShaderAbi still planned and prepared every compute or pixel stage
whose ABI the title resolved, so a title that resolves every shader's
ABI prepared them all at boot whether they ever drew.

With lazy preparation ResolveShaderAbi now plans the stage with the
ABI's state (its register and entry-point checks, as lazy registration
keeps them), records the ABI key, and queues the ABI's context and
primitive registers on the shader. The shader's first draw or dispatch
plans and prepares the queued ABIs with that state before it looks for
its artifact, so a shader that never draws or dispatches stays
unprepared and one that does gets the entries eager resolution would
have made. A stage whose plan fails is deferred as before. Without the
switch nothing changes; graphics-stage ABIs are still prepared when
they are resolved.

Test: agc_driver_lazy_resolved_abi resolves the ABI of four lazily
registered shaders and draws two. None holds prepared entries after
resolution, the two that never drew still hold none, and a drawn one
draws the same bytes as with eager preparation in a child process.
2026-10-21 04:18:23 +00:00
bluandClaude Fable 5.1 46c36c304f feat(libc): export the num_get and time_get locale objects as data
The public SDK's libSceLibcInternal table declares num_get<char>::id, time_get<char>::id and the
num_get<char> vtable as objects; libSceAmpr exported their NIDs as functions that throw, which a
data consumer reads as code (#8875). libc now defines them the way the other facet ids and the
num_put and codecvt vtables are kept: the ids zero, the vtable 15 zeroed slots (two header
entries, the two destructor entries and Dinkumware's eleven do_get), and libSceAmpr drops the
functions. An import qualified to libSceAmpr.prx falls back to libc, so each object has one
identity.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 21:13:08 -07:00
Dean f47c856634 Merge pull request #8529 from MarrasFederico/feat/audio-out2-low-latency
feat(libSceAudioOut): serve the low-latency AudioOut2 calls through their standard counterparts
2026-10-21 17:12:07 +13:00
hypermist f4e00d3ca6 Merge remote-tracking branch 'origin/feat/agc-acb-workload-packets' into fix/agc-semaphore-memory-firmware
# Conflicts:
#	docs/dev/debt/libSceAgc.md
2026-10-21 17:03:14 +13:00
bluandClaude Fable 5.1 0900ff6ff0 feat(libc): implement siginterrupt through the sigaction libkernel registers
siginterrupt is a libSceLibcInternal export (the public SDK's stub table has it there, not in the
kernel tables) and FreeBSD 11.4's lib/libc/gen/siginterrupt.c reads the signal's disposition,
sets or clears the signal's bit in _sigintr and SA_RESTART, and installs the disposition again.
libc cannot call libkernel, so, as the pthread hooks do, libc keeps a registered sigaction and
the address of the _sigintr set, and libkernel registers both from a static initializer when it
loads. A call before that throws; the set is written without libkernel's registration lock, as
FreeBSD's libc does. Builds on #8866, which adds the set.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 20:53:14 -07:00