Commit Graph
98 Commits
Author SHA1 Message Date
Dean d1d28bc7b7 Merge pull request #10736 from akkadbakkad89/agc-update-interpolant-0100
feat(agc): implement sceAgcUpdateInterpolantMapping_0100
2026-11-02 23:24:02 +13:00
akkadbakkad89 64f5476982 fix(libSceAgc): deduplicate sceAgcUpdateInterpolantMapping_0100 and restore boundary coverage
The merge with main re-added the Misc/ShaderFusion.hpp declaration that
duplicates Shader/include/InterpolantMapping.hpp, dropped
testUpdate0100Boundary, and restored the stale "behaviour unknown" debt
entry. Keep the canonical Shader declaration, restore the 32-input
no-output and reversed-matching cases (identity defaults
0x000/0x100/0x200/0x300 for the corrected encoding), and point the debt
entry at the InterpolantMapping.cpp implementation again.
2026-11-01 15:31:54 +05:30
Dean a06e683914 Merge pull request #12742 from xXPBSXx/docs-agc-payloadaddress-callcount
docs(agc): count how local titles call sceAgcGetDataPacketPayloadAddress_0090
2026-11-01 19:23:20 +13:00
Dean 6fe120d11b Merge pull request #10048 from hypermoist/fix/agc-fused-geometry-registers
fix(libSceAgc): fuse geometry halves with the back half's register lists
2026-11-01 17:38:28 +13:00
xXPBSXxandClaude Sonnet 5.5 fca8839e06 docs(agc): keep only the finding about the type argument of sceAgcGetDataPacketPayloadAddress_0090
The counts, the per-title numbers and the counting script stay in the PR, as the review asks. The entry now says that the type argument is the constant 0 or 1 at every call site of the 14 titles that call the function directly from the executable.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 07:58:43 +01:00
xXPBSXxandClaude Sonnet 5.5 a992c1992b Merge main into docs-agc-payloadaddress-callcount
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 07:58:20 +01:00
xXPBSXxandClaude Sonnet 5.5 2851ebc9a1 docs(agc): count how local titles call sceAgcGetDataPacketPayloadAddress_0090
Extends the entry by one sentence of counts: 14 of 53 local titles call the function directly at 149 sites; the third argument is the constant 0 at 30 and 1 at 14 of the 44 sites read by two counts, and PPSA10261's 105 sites carry 1 at 101 and 0 at 4 in one count, which the second count checks without contradiction. Counts only; nothing is claimed about console behavior.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 06:56:14 +01:00
xXPBSXxandClaude Sonnet 5.5 44b24ddb5c docs(agc): say that the MemSemaphore counts are direct calls from the executable
Adds the missing full stop after the original sentence and states that the 13 titles call both functions directly from the executable, so the entry does not read as if the other titles never call them.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 04:55:01 +01:00
xXPBSXxandClaude Sonnet 5.5 ecd5ae72f7 docs(agc): count how local titles call sceAgcAcbMemSemaphore and sceAgcDcbMemSemaphore
Extends the entry by one sentence of counts: 13 of 53 local titles call both functions once each, from one wrapper in the title's library code that passes the operation as a byte and zeroes two arguments for operation 7. Counts and a description of the title code only; nothing is claimed about console behavior.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 02:55:44 +01:00
Dean d3c60c50fc Merge pull request #11492 from milescoviello/docs/agc-trinity-mode-call-sites
docs(agc): note how six titles call sceAgcGetIsTrinityMode
2026-10-29 12:03:41 +13:00
hypermoistandClaude Opus 5.5 be777913bd Merge remote-tracking branch 'upstream/main' into fix/agc-fused-geometry-registers
Kept main's new debt entries next to this PR's FuseShaderHalves entry, and stated that entry's behaviour without naming a source.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-28 17:16:01 +13: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
milescovielloandClaude Opus 5.5 bcb3df7352 docs(agc): note how seven titles call sceAgcDebugRaiseException
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 04:22:34 +00:00
Adrià f80ce6cec1 Merge pull request #11169 from xXPBSXx/docs/debt-agc-cbmemsetexclusive-title
docs(debt): note the call sites of sceAgcCbMemsetExclusive in six titles
2026-10-27 04:51:45 +01:00
Adrià 0754512dc1 Merge pull request #11012 from akkadbakkad89/docs/agc-font-stub-evidence
docs(debt): record recovered evidence for CbMemsetExclusive and font drawup fills
2026-10-27 04:50:58 +01:00
Adrià a17e484891 Merge pull request #10919 from AlexFigas/docs/agc-debug-exception-call-site
docs(debt): add call-site evidence for the arguments of sceAgcDebugRaiseException
2026-10-27 04:50:53 +01:00
Adrià e1ddfeba16 Merge pull request #10820 from xXPBSXx/docs/debt-agc-waituntilsafe-title
docs(debt): note how a title calls sceAgcAcbWaitUntilSafeForRendering
2026-10-27 04:50:04 +01: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
Adrià Franch cfc700020f docs(debt): fix sentence break and move font entry off the section end 2026-10-27 00:29:09 +01:00
akkadbakkad89 514df0c389 docs(debt): scope CbMemsetExclusive evidence by firmware version 2026-10-27 00:29:05 +01:00
akkadbakkad89 31d91561c9 docs(debt): record recovered evidence for CbMemsetExclusive and font drawup fills 2026-10-27 00:29:05 +01:00
milescovielloandClaude Opus 5.5 52d5ba1308 docs(agc): note how six titles call sceAgcGetIsTrinityMode
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 17:35:26 +00:00
Dean f849d2449b Merge pull request #11310 from frankea/fix/agc-getsize-invalid-arguments
fix(agc): return 0 from the wait and context state GetSize calls for an invalid argument
2026-10-27 05:47:26 +13:00
frankea 72f663c64c Merge remote-tracking branch 'origin/main' into fix/agc-draw-index-multi-instanced 2026-10-26 12:32:50 -04:00
akkadbakkad89 aeef642b5f test(libSceAgc): check unset indexBufferSize in the NOP payload case
unset-state comparison against 0 compiled but never held. Check the
optional directly instead.
2026-10-26 16:32:31 +00:00
akkadbakkad89 7f25d383c6 test(libSceAgc): pin workload NOP payload inertness and correct ACB debt 2026-10-26 16:31:55 +00:00
hypermistandClaude Opus 5.5 c9a67d1777 docs(libSceAgc): cite firmware 13.60 in the workload packet entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 16:17:50 +01: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
xXPBSXxandClaude Sonnet 5.5 9e076485b2 docs(debt): note the call sites of sceAgcCbMemsetExclusive in six titles
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 20:57:13 +01:00
Alexandre Figueiredo b76e593ef3 docs(debt): add call-site evidence for the arguments of sceAgcDebugRaiseException 2026-10-25 09:59:51 +00: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
slopgobblercobbler f23ef99699 feat(libSceAgcDriver): cover payload packing in sceAgcDriverNopDataWritePacket 2026-10-25 02:36:47 +01:00
xXPBSXxandClaude Sonnet 5.5 f3f03d48fc docs(debt): note the call sites of the WaitUntilSafeForRendering functions in a title
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-25 02:17:00 +01:00
Adrià f8fe60d3df Merge pull request #8944 from xdCloudy/feat/ps5-agc-exports
feat(libSceAgc): declare PS5 pending exports
2026-10-24 14:32:24 +02:00
Adrià 4c06b21681 Merge pull request #8318 from hypermoist/fix/agc-semaphore-memory-firmware
fix(libSceAgc): use firmware semaphore memory results
2026-10-24 14:26:29 +02:00
Adrià ecdee3b51a Merge pull request #8453 from thuanquang/docs/debt-acb-atomic-gds-signature
docs(agc): drop the stale signature note from the ACB atomic GDS NID entry
2026-10-24 11:25:23 +02:00
hypermistandClaude Opus 5.5 1159e12357 Merge remote-tracking branch 'upstream/main' into fix/agc-semaphore-memory-firmware
Keep this PR's semaphore entry and main's workload entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-24 14:58:12 +13:00
Dean 5ac955b1ac Merge pull request #9166 from orezraey/fix/agcdriver-workload-registration-measured-ps5
fix(libSceAgcDriver): return the console's workload stream registration errors
2026-10-24 14:35:51 +13:00
Dean 842d625686 Merge pull request #9812 from Pacuka/fix/agc-mem-semaphore-address
fix(libSceAgc): take the semaphore address second in Acb/Dcb MemSemaphore
2026-10-24 14:20:36 +13:00
Adrià Franch d73dff01b6 Merge upstream/main into fix/agc-semaphore-memory-firmware 2026-10-23 18:30:57 +02:00
Adrià 1e1c355a54 Merge pull request #8302 from hypermoist/feat/agc-acb-workload-packets
docs(agc): record the console's workload packets
2026-10-23 18:21:40 +02:00
hypermistandClaude Opus 5.5 cb3bfca6dd docs(libSceAgc): cite firmware 13.60, not 12.00, for the decrypted modules
The firmware version comes from the SDK 0x13600007 recorded in each module's module-param segment.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-24 01:03:42 +13:00
Adrià af4700b98d Merge pull request #7692 from PhialsBasement/fix/agc-versioned-defaults-compact-types
test(libSceAgc): find MRT0 through the compact versioned register defaults
2026-10-23 13:14:16 +02:00
hypermistandClaude Opus 5.5 fd6782a638 docs(libSceAgc): state the geometry fusion gap first
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SNqSvnFwRBz3D76n476yw6
2026-10-23 19:31:46 +13:00
hypermistandClaude Opus 5.5 f6483c4444 fix(libSceAgc): keep the back half's context registers in fused geometry shaders
The firmware leaves the fused header's context register list as the
back half's; it never merges in the front half's registers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SNqSvnFwRBz3D76n476yw6
2026-10-23 19:25:59 +13:00
hypermistandClaude Opus 5.5 4629573c16 fix(libSceAgc): fuse geometry halves with the back half's SH registers only
The firmware writes only the back half's SH register list into the
caller's memory, and its size query reports eight bytes per back
register for geometry halves too.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SNqSvnFwRBz3D76n476yw6
2026-10-23 19:19:53 +13:00
xdCloudy 2b2e70ce20 docs(debt): keep only remaining AGC declaration 2026-10-23 01:43:21 +01:00
xdCloudy 580629ed0e feat(libSceAgc): declare pending PS5 exports 2026-10-23 01:43:21 +01:00
Dean f4757d4c2f Merge pull request #8402 from hypermoist/fix/agc-interpolant-mapping-firmware
fix(libSceAgc): match interpolant mapping variants to firmware
2026-10-23 11:35:27 +13:00