Dean
365e6bfa96
Merge pull request #11605 from milescoviello/test/update-prim-state
...
test(agc): cover sceAgcUpdatePrimState's output and primitive type updates
2026-10-29 07:22:54 +13:00
Adrià
17f8dfad51
Merge pull request #11680 from milescoviello/test/agc-eop-address-patch
...
test(agc): cover the end-of-pipe action address patch on both packet forms
2026-10-28 15:56:37 +01:00
Adrià
b4757928c0
Merge pull request #11677 from milescoviello/test/agc-flow-packets
...
test(agc): cover the jump, parser stall, rendering wait and compute queue reset packets
2026-10-28 15:34:58 +01:00
Adrià
7103b34914
Merge pull request #11686 from milescoviello/test/agc-jump-target-patch
...
test(agc): cover the jump target patches with and without a cache policy
2026-10-28 15:32:55 +01:00
Adrià
9e21cb34fa
Merge pull request #11679 from milescoviello/test/agc-indirect-register-patches
...
test(agc): cover the context, shader and uconfig indirect register count patches
2026-10-28 15:32:49 +01:00
Adrià
41a67b523f
test(agc): drop the duplicate QueueEndOfPipeAction include
2026-10-28 09:46:55 +01:00
milescoviello and Claude Opus 5.5
20ab4a470a
test(agc): cover the end-of-pipe action address patch on both packet forms
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 09:46:51 +01:00
Adrià
ac6441d2e3
Merge pull request #11703 from milescoviello/test/agc-atomic-mem
...
test(agc): cover the graphics and compute ATOMIC_MEM packets
2026-10-28 05:04:21 +01:00
Adrià
061cdb66b0
Merge pull request #11702 from milescoviello/test/agc-rewind-patch
...
test(agc): cover the REWIND packet and its rewind state patches
2026-10-28 05:00:13 +01:00
Adrià
a31b527125
Merge pull request #11693 from milescoviello/test/agc-dma-data-patches
...
test(agc): cover the address words the DMA data patch setters write
2026-10-28 04:55:58 +01:00
Adrià
dd508d19e2
Merge pull request #11701 from milescoviello/test/agc-create-shader
...
test(agc): cover sceAgcCreateShader's relative pointers, program address patch and registration
2026-10-28 04:54:54 +01:00
Adrià
f321bb8d56
Merge pull request #11674 from milescoviello/test/agc-acquire-mem
...
test(agc): cover the DCB and ACB acquire-mem packets, their range rounding and refusals
2026-10-28 04:28:09 +01:00
Adrià
1a551c48ee
Merge pull request #11675 from milescoviello/test/agc-dispatch-packets
...
test(agc): cover the graphics and compute dispatch-indirect and direct dispatch packets
2026-10-28 04:26:56 +01:00
Dean
c3f49ea299
Merge pull request #10654 from akkadbakkad89/feat/agc-acb-workload
...
feat(libSceAgc): emit ACB workload packets for complete, active and stream-inactive
2026-10-28 13:49:41 +13:00
Dean
feabe31b59
Merge pull request #11794 from milescoviello/test/agc-lod-stats-packets
...
test(agc): check the packets sceAgcDcbGetLodStats writes
2026-10-28 12:10:19 +13:00
Dean
9e4ad0609a
Merge pull request #11604 from milescoviello/test/eop-patch
...
test(agc): cover the end-of-pipe action data and GCR control patches
2026-10-28 12:07:27 +13:00
milescoviello and Claude Opus 5.5
daa5cf02e8
test(agc): check the action sceAgcQueueEndOfPipeActionPatchType writes
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 08:01:44 +00:00
milescoviello and Claude Opus 5.5
3383555532
test(agc): check the packets sceAgcDcbGetLodStats writes
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 07:36:48 +00:00
milescoviello and Claude Opus 5.5
d31f194c9c
test(agc): keep the DMA data patch checks to valid packets
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 04:24:02 +00:00
milescoviello and Claude Opus 5.5
9c3ad7d55d
test(agc): cover the graphics and compute ATOMIC_MEM packets
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 04:13:11 +00:00
milescoviello and Claude Opus 5.5
ed2d385b9a
test(agc): cover the REWIND packet and its rewind state patches
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 04:11:22 +00:00
milescoviello and Claude Opus 5.5
e64d31b0b9
test(agc): cover sceAgcCreateShader's relative pointers, program address patch and registration
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 04:07:04 +00:00
milescoviello and Claude Opus 5.5
319f275322
test(agc): cover the DMA data patch setters' address words and refusals
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 03:02:39 +00:00
milescoviello and Claude Opus 5.5
da9b869e8f
test(agc): check that refused packets leave the whole command buffer unchanged
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:46:27 +00:00
milescoviello and Claude Opus 5.5
ce3fe2f54d
test(agc): check that refused packets leave the whole command buffer unchanged
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:46:27 +00:00
milescoviello and Claude Opus 5.5
0c02f0be96
test(agc): keep the PARTIAL_TG_EN dispatch form unpinned and check refused packets leave the buffer unchanged
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:46:27 +00:00
milescoviello and Claude Opus 5.5
efb3edd0ce
test(agc): cover the jump target patches with and without a cache policy
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:39:04 +00:00
milescoviello and Claude Opus 5.5
d70a82d5d3
test(agc): cover the context, shader and uconfig indirect register count patches
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:29:38 +00:00
milescoviello and Claude Opus 5.5
a87a19f927
test(agc): cover the jump, parser stall, rendering wait and compute queue reset packets
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:26:35 +00:00
milescoviello and Claude Opus 5.5
1750e62268
test(agc): cover the graphics and compute dispatch-indirect and direct dispatch packets
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:24:02 +00:00
milescoviello and Claude Opus 5.5
7cbf80eabe
test(agc): cover the DCB and ACB acquire-mem packets, their range rounding and refusals
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 02:20:57 +00:00
Dean
abed035468
Merge pull request #11313 from frankea/fix/agc-draw-index-multi-instanced
...
fix(agc): write the console's DRAW_INDEX_MULTI_INST packet for sceAgcDcbDrawIndexMultiInstanced
2026-10-27 15:02:15 +13:00
Dean
27ad7244d2
Merge pull request #11290 from frankea/fix/draw-index-indirect-multi-tags
...
fix(agc): bracket sceAgcDcbDrawIndexIndirectMulti with the console's tag markers
2026-10-27 14:28:45 +13:00
Dean
a83ebf95ea
Merge pull request #11306 from frankea/fix/agc-tag-marker-headers
...
fix(agc): write libSceAgc's tag markers with the console's header flags
2026-10-27 14:27:49 +13:00
milescoviello and Claude Opus 5.5
0e64510e59
test(agc): cover sceAgcUpdatePrimState's output and primitive type updates
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 22:22:42 +00:00
milescoviello and Claude Opus 5.5
2ce1e917e2
test(agc): cover the end-of-pipe action data and GCR control patches
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 22:17:45 +00:00
Dean
66beccdd49
Merge pull request #10944 from ahmadmuj/fix/anyps5-unbuilt-split-exports
...
fix(prx): build and export the stubs that eight libraries never shipped
2026-10-27 10:56:58 +13:00
akkadbakkad89
7f25d383c6
test(libSceAgc): pin workload NOP payload inertness and correct ACB debt
2026-10-26 16:31:55 +00:00
akkadbakkad89 and Devin
5d0a47107e
feat(libSceAgc): emit ACB workload packets for complete, active and stream-inactive
...
Firmware 4.03 shows the ACB and DCB variants share the same
reserve-and-emit structure and differ only in a flag bit the command
IR does not model, so mirror the DCB NOP-carried semantic payloads:
stream and workload ids plus the 64-bit mask for complete and active,
stream id only for inactive (9 dwords, matching
sceAgcDriverGetSetWorkloadStreamInactivePacketSize). Validation is
identical to the DCB twins: null buffer, unregistered or out-of-range
stream, workload ids above 63, empty or oversized id lists and
duplicate ids all return null.
Generated with [Devin](https://devin.ai )
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-26 16:31:20 +00:00
Ahmad Mujahid
a073f12cd0
test: check the split-export stubs are linked without calling them
2026-10-26 18:34:31 +04:00
frankea
37857ceb29
fix(agc): write the console's DRAW_INDEX_MULTI_INST packet for sceAgcDcbDrawIndexMultiInstanced
...
On a PS5 the builder writes 15 dwords: a tag write of 0xc6000006, opcode 0x3a with its arguments, initiator 0x80 whatever the modifier, and a closing tag write; GetSize returns 60. AnyPS5 wrote NUM_INSTANCES and DRAW_INDEX_2 under argument meanings nothing confirms. The driver refuses 0x3a, whose field meanings are not known, and names it DRAW_INDEX_MULTI_INST as Linux's nvd.h does.
2026-10-25 23:14:39 -04:00
frankea
c5ab2f5b90
fix(agc): return 0 from the wait and context state GetSize calls for an invalid argument
...
On a PS5, sceAgcAcbWaitOnAddressGetSize and sceAgcDcbWaitOnAddressGetSize return 56 for size 0, 64 for size 1 and 0 for any other 32-bit value, and sceAgcDcbContextStateOpGetSize returns 0 for an operation above 3. The ACB wait size takes a 32-bit argument instead of a byte.
2026-10-25 22:38:48 -04:00
frankea
be69f66349
fix(agc): write tag markers with the console's header flags
...
sceAgcDcbWaitRegMem and sceAgcDcbDrawIndirectMulti now write their 0x342 tag writes with header flag bit 2 and sceAgcAcbWaitRegMem with no flags, as libSceAgc on a PS5 does, instead of the predicate bit. ValidateWait accepts both forms and Pm4::IsTagMarker no longer depends on the header flags.
2026-10-25 21:58:54 -04:00
frankea
a2fef12732
fix(agc): bracket sceAgcDcbDrawIndexIndirectMulti with the console's tag markers
...
On a PS5 (firmware 13.40) the builder writes SET_UCONFIG_REG 0x342 = 0xc6000005 before its DRAW_INDEX_INDIRECT_MULTI packet and 0xc6000000 after it, 64 bytes in all, and sceAgcDcbDrawIndexIndirectMultiGetSize returns 64.
2026-10-25 20:06:59 -04:00
Ahmad Mujahid
11b193cf35
fix(prx): build and export the stubs that eight libraries never shipped
...
The 2026-10-21 split PRs added Export.cpp stub files to seven libraries
that have their own CMakeLists.txt, so core/libs/CMakeLists.txt never
adds Export.cpp for them and no target compiled the 101 stubs. A title
that imports one fails to load instead of throwing on the call.
Ngs2, Ngs2.native and AvPlayer.native build with hidden visibility, so
their stub files also need default visibility. libSceNgs2 already
compiled PendingExports.cpp, but its 6 stubs stayed local.
2026-10-25 15:10:46 +04:00
Adrià
2816bd2754
Merge pull request #9600 from shahulmubeen-a/fix/agc-register-list-any-byte
...
fix(libSceAgc): accept register lists at any byte address
2026-10-25 09:16:21 +01:00
boykopovar
fdf9ca7574
fix(sdk): reconcile public headers after rebase
2026-10-24 23:17:47 +03:00
boykopovar
35cf8d56cd
refactor(sdk): add canonical headers for core libraries
2026-10-24 23:17:37 +03:00
hypermist and Claude Opus 5.5
21eb4895e7
test(agc): reject a null marker buffer before reading its text
...
A null command buffer with an unreadable text pointer must take the
checked error path in sceAgcAcbPushMarker; without the buffer check
before measuring the text, the test faults.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-24 14:46:36 +02:00
MarcZX10
7abff614b4
fix(agc): validate marker buffer before reading text
2026-10-24 14:46:36 +02:00