Commit Graph

2389 Commits

Author SHA1 Message Date
Dean 76543c2e89
Merge pull request #1020 from gjonn/feat/ngs2-parse-waveform-file
feat(libSceNgs2.native): implement sceNgs2ParseWaveformFile and parse 16-bit PCM waveforms
2026-10-08 09:21:16 +13:00
Adrià d964601c08
Merge pull request #844 from merwie/feat/agc-get-eq-context-id
feat(agc): implement sceAgcDriverGetEqContextId
2026-10-07 22:21:01 +02:00
Adrià d1750c665c
Merge pull request #842 from merwie/fix/appcontent-no-download-data
fix(appcontent): report no download data space without a declared area
2026-10-07 22:18:48 +02:00
Adrià c5e10184a2
Merge pull request #819 from ebosido444-ai/fix/overlap-multiline-depends
fix(tools): read multi-line Depends on lists in pr_overlap
2026-10-07 22:03:32 +02:00
Adrià db06102352
Merge pull request #375 from MichonGoddijn231849/fix/fragment-interface-validation
fix(agc): fragment SampleId, Layer, FragDepth and SampleMask interfaces
2026-10-07 22:02:11 +02:00
Adrià Franch b540327c29 docs(agc): keep the updated sceAgcDriverGetEqContextId TechnicalDebt entry
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 21:53:35 +02:00
Merijn a089fe16ba test(agc): cover the misaligned event and the delivered context id
sceAgcDriverGetEqContextId is now checked with a misaligned event like
sceAgcDriverGetEqEventType, and on the end-of-pipe events the submit
test delivers: a graphics interrupt reports context 0 and a compute
interrupt context 0x20, the queues that raised them. The TechnicalDebt
line says why ident is returned and that KytyPS5 returns the event's
data instead.

AI-assisted: yes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:53:21 +02:00
Merijn 29a4d4b035 feat(agc): implement sceAgcDriverGetEqContextId
Return the id a graphics event was registered with in
sceAgcDriverAddEqEvent, which titles derive from their context
(PPSA12544: 0 or 1 for graphics, 0x20 + 8 * pipe + queue for compute) and
read back to dispatch the event. Other event filters, a null or
misaligned event and an id above 32 bits throw. The meaning is an
assumption and recorded in the technical debt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:53:21 +02:00
Merijn 83e754a885 test(appcontent): cover a title without download data
GuestAppContent now writes a param.json that declares downloadDataSize 0
and checks that sceAppContentDownloadDataGetAvailableSpaceKb returns OK
with 0 KB for /download0 (it threw before), and PARAMETER for a null
result. TechnicalDebt records that the console's behaviour for such a
title is unverified.

AI-assisted: yes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:51:53 +02:00
Merijn 9a48adb051 fix(appcontent): report no download data space without a declared area
sceAppContentDownloadDataGetAvailableSpaceKb threw when param.json declares
no download data area. A title without one has no space there: Unity's
player (PPSA12544) queries it at startup, treats an error or 0 as no space
and logs 'persistentDataPath / DownloadData has no space available, check
"Download Data Area Size" in SDK Param Editor'. It now reports 0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 21:51:53 +02:00
Adrià 4764e59c37
Merge pull request #888 from adriadam10/feat/libc-force-tls-destructor
feat(libSceLibcInternal): implement _sceLibcInternalForceTlsDestructor
2026-10-07 21:35:25 +02:00
ebosido444-ai 5a4d8b6f42 fix(tools): keep the pr_overlap DEPENDS pattern a raw string 2026-10-07 20:45:41 +03:00
Adrià cea1ef13c3
Merge pull request #902 from Celegans12/fix/agc-unaligned-shader-headers
fix(agc): accept unaligned shader headers
2026-10-07 18:27:47 +02:00
Adrià d95ce1f29c
Merge pull request #898 from alfalfa-star/feat/agc-cond-indirect-buffer
feat(agc): run COND_INDIRECT_BUFFER branches whose comparison always passes
2026-10-07 18:26:59 +02:00
Adrià 3f7fe285a0
Merge pull request #900 from alfalfa-star/feat/libkernel-acp-protection
feat(libkernel): accept the audio coprocessor memory protection bits
2026-10-07 18:26:06 +02:00
Adrià 6b3e8c476e
Merge pull request #835 from adriadam10/feat/appcontent-addcont-info
feat(libSceAppContent): implement sceAppContentGetAddcontInfo and GetAddcontInfoList
2026-10-07 18:25:31 +02:00
Adrià 0da8f48cfc
Merge pull request #831 from adriadam10/feat/audio3d-object-reserve
feat(libSceAudio3d): implement sceAudio3dObjectReserve and sceAudio3dObjectUnreserve
2026-10-07 18:24:56 +02:00
Adrià 5684bd9e92
Merge pull request #876 from YossiYad/feat/gpu-selection
feat(agc): choose the Vulkan device by name with ANYPS5_GPU
2026-10-07 18:24:13 +02:00
Adrià 4b16995d91
Merge pull request #807 from adriadam10/feat/kernel-timer-event
feat(libkernel): sceKernelAddTimerEvent and sceKernelDeleteTimerEvent
2026-10-07 18:22:56 +02:00
Michon 29aa275653 fix(agc): accept fragment Geometry and SampleRateShading only when the device enabled them
The validator takes the geometryShader and sampleRateShading enables from the
context (set where #295 enables them), so a device without them refuses the
draw instead of creating a module that needs features it never enabled.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 18:18:47 +02:00
Adrià Franch cc789786de feat(libSceLibcInternal): implement _sceLibcInternalForceTlsDestructor
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 18:18:13 +02:00
Michon f3fd29db0d fix(agc): accept a fragment SampleMask output
Pixel shaders that export a coverage mask write gl_SampleMask, an
int[1] (or uint[1]) output. The validator rejected array interface
types; it now spells them elem[N] and accepts SampleMask as int[1] or
uint[1].

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 18:18:12 +02:00
Michon 78726f3836 fix(agc): fragment SampleId, Layer and FragDepth interfaces
The recompiler emits SampleId and Layer fragment inputs (pixel ancillary
data) and a FragDepth output with the DepthReplacing execution mode
(depth export), but the validator refused them, so those draws were
skipped. They are now accepted, as are the Geometry and SampleRateShading
capabilities those inputs need in fragment shaders. The device enables
both features when it has them.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 18:18:12 +02:00
Adrià Franch 5b331ed022 feat(libSceAppContent): implement sceAppContentGetAddcontInfo and GetAddcontInfoList
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 18:14:04 +02:00
Adrià Franch 9ab637a575 fix(libkernel): wake infinite equeue waits for timers, document timer choices
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 18:14:04 +02:00
Adrià 2b8f0b215e
Merge pull request #803 from adriadam10/feat/rtc-dos-time
feat(rtc): implement sceRtcGetDosTime and sceRtcSetDosTime
2026-10-07 18:07:20 +02:00
Adrià Franch 0781225d43 fix(rtc): decode the DOS year as unsigned, move TechnicalDebt line
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 18:06:11 +02:00
Adrià Franch c3871dcb99 feat(libSceAudio3d): implement sceAudio3dObjectReserve and sceAudio3dObjectUnreserve 2026-10-07 18:01:24 +02:00
Adrià Franch d081e6749d feat(libkernel): sceKernelAddTimerEvent and sceKernelDeleteTimerEvent
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 17:55:57 +02:00
Adrià def8119927
Merge pull request #550 from Pouare514/fix/memory-prot-gpu-bits
fix(libkernel): accept GPU coherency prot bits for host mapping
2026-10-07 17:54:41 +02:00
Adrià 8e281fa8d0
Merge pull request #518 from Pouare514/fix/tlou-videoout
fix(libs): TLOU throwing stubs for VideoOut VrrPeg and VrrStatus
2026-10-07 17:53:38 +02:00
Adrià Franch c94949aedb feat(rtc): implement sceRtcGetDosTime and sceRtcSetDosTime
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 17:52:56 +02:00
Adrià f71bf7fd40
Merge pull request #716 from merwie/feat/relinker-needed-modules-outside-module-dirs
feat(relinker): relink needed modules outside the module directories
2026-10-07 17:51:47 +02:00
Adrià 4bf75d835e
Merge pull request #467 from adriadam10/ci/conventions-check
ci: check pull requests against the contributing rules
2026-10-07 17:51:30 +02:00
Adrià 4e742835c0
Merge pull request #496 from adriadam10/docs/architecture
docs: add architecture overview with Mermaid diagrams
2026-10-07 17:42:12 +02:00
Pouare514 49b2f9e49b docs: record assumed semantics of prot bits 0x100/0x200 2026-10-07 17:29:37 +02:00
Pouare514 c25ff91a65 fix(libkernel): accept GPU coherency prot bits for host mapping 2026-10-07 17:29:28 +02:00
Pouare514 9c5205973b fix(libs): export recomputing Vrr names without APS5_EXPORT alias 2026-10-07 17:25:07 +02:00
Pouare514 0b3dd07ba0 fix(libs): real Vrr names for VideoOut pair, generic Unknown00/01 for the rest 2026-10-07 17:25:07 +02:00
Pouare514 a620a2579d fix(libs): TLOU throwing stubs for VideoOut VrrPeg and VrrStatus 2026-10-07 17:24:59 +02:00
Adrià Franch bdf7cc4ef0 ci(conventions): accept silent stubs listed by file or by name with a path in TechnicalDebt
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 17:24:27 +02:00
Adrià Franch 5cb47befe3 ci(conventions): allow comments with a TechnicalDebt change, reject non-text files 2026-10-07 17:04:06 +02:00
Adrià Franch d3501453fd ci(conventions): keep only the rules written in CONTRIBUTING 2026-10-07 17:03:37 +02:00
Adrià Franch 34026e88f9 ci: check pull requests against the contributing rules
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 17:03:37 +02:00
Adrià 1e5bb880bb
Merge pull request #431 from adriadam10/feat/relinker-e2e-fixture
test(relinker): add C++ end-to-end fixture and --to-intel Linux stub test
2026-10-07 16:32:24 +02:00
Adrià Franch 9f3ac9a5bd test(relinker): register the --to-intel stub test next to the relinker tests
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 16:03:41 +02:00
Adrià Franch 14dc9b31ab test(relinker): add C++ end-to-end fixture and --to-intel Linux stub test
Add header-only support for end-to-end relinker tests: a minimal PS5
executable builder, a PT_LOAD mapper that applies segment permissions,
and a posix_spawn runner for the relinker binary. Every
core/relinker/tests/e2e/*.cpp becomes its own test, so new tests do not
touch CMake.

The first test relinks an executable with EXTRQ and INSERTQ sites using
--to-intel, maps the output and calls the patched code, which runs both
stubs from their Linux segment and returns through their branches.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-07 16:03:26 +02:00
Gjon Gojcevic fb56ff2f03 ci: re-run after a transient agc_driver_flat_store timeout on the Linux runner 2026-10-07 10:03:12 -04:00
Adrià 3c054008b8
Merge pull request #313 from RomainROCH/codex/fix-nothrow-allocation
fix(libc): return null on nothrow allocation failure
2026-10-07 15:54:01 +02:00
Adrià d29c140e3b
Merge pull request #301 from Pouare514/feat/prx-stub-modules
feat(prx): stub TextToSpeech2, Vdecsw and Coredump unknown exports
2026-10-07 15:51:53 +02:00