Commit Graph
78 Commits
Author SHA1 Message Date
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
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
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
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
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
PacukaandClaude Opus 5.5 795c390339 fix(libSceAgc): take the semaphore address second in Acb/Dcb MemSemaphore
PPSA03396 calls sceAgcAcbMemSemaphore and sceAgcDcbMemSemaphore as
(cb, address, waitForMailbox, signalType, operation). Both read the
address from the fourth argument instead, so the call aborted with
"null or misaligned address 0x1".

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 18:11:12 +02:00
Shahul Mubeen AandClaude Opus 5.5 b5cccd5628 docs(libSceAgc): record that the console's register list alignment is unmeasured
sceAgcCbSetShRegistersDirect and sceAgcCbSetUcRegistersDirect now accept
a list at any byte address because PPSA26344 passes lists at 1 mod 4.
The debt entry names that title evidence and states that how the console
reads such a list is not measured, so the host behaviour is not taken for
a measured console contract.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 20:49:06 +05:30
hypermist dfa27f30c2 Merge remote-tracking branch 'upstream/main' into fix/agc-semaphore-memory-firmware
# Conflicts:
#	core/libs/prx/libSceAgc/Misc/src/Semaphore.cpp
#	core/libs/prx/libSceAgc/Unimplemented.cpp
#	core/libs/prx/libSceAgc/tests/Semaphore.cpp
#	docs/dev/debt/libSceAgc.md
2026-10-22 16:19:38 +13:00
hypermistandClaude Opus 5.5 e8abcba78f docs(agc): add the console's measured workload packet details
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-22 14:43:14 +13:00
hypermist bea151e189 Merge remote-tracking branch 'upstream/main' into feat/agc-acb-workload-packets
# Conflicts:
#	docs/dev/debt/libSceAgc.md
2026-10-22 14:43:07 +13:00
orezraeyandClaude Opus 5.5 718a1de062 Merge main into fix/agcdriver-workload-registration-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 20:46:45 -03:00
boykopovar df4d0beae6 fix(agc): restore geometry shader resource merging 2026-10-21 21:53:55 +03:00
boykopovar c311d6dc2a fix(agc): take offchip lds enable from the front shader half 2026-10-21 21:53:54 +03:00
boykopovar faebf639e9 fix(agc): restore semaphore memory clearing and errors 2026-10-21 21:53:53 +03:00
boykopovar 51d788e87c fix(agc): restore wait patch scalar argument widths 2026-10-21 21:53:51 +03:00
boykopovar 218be372ea fix(agc): restore protected export argument and return types 2026-10-21 21:53:25 +03:00
orezraeyandClaude Opus 5.5 038d9a97d7 fix(libSceAgcDriver): return the console's workload stream registration errors
Measured on firmware 13.60: registering an id outside 1 to 31 or one
already registered returns 0x8a6c0033, checked before a null stream,
which returns 0x8a6c0035; unregistering an id outside 1 to 31 returns
0x8a6c0033 and one that is not registered 0x8a6c003a.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 11:06:19 -03:00
Adrià 275e896797 Merge pull request #7696 from MaxLikesCode/feat/agc-set-index-indirect-args
feat(libSceAgc): implement sceAgcDcbSetIndexIndirectArgs
2026-10-21 12:52:39 +02: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
xdCloudy 6fa316546c fix(libSceAgc): drop interpolant export duplicates 2026-10-21 02:53:31 +01:00
xdCloudy abc62e78f4 feat(prx): add missing libSceAgc exports 2026-10-21 02:37:09 +01:00
hypermistandClaude Opus 5.5 966018783f fix(agc): keep the registered-stream throw for the workload calls
Review on #8302: the ACB workload calls and the DCB stream-inactive call
throw again for a registered stream until a title is shown stopping on
them (as #3789 did for the DCB calls, and as #4709 kept). The debt
entry keeps the firmware's packet layout as the record of what is
missing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 12:23:37 +13:00
thuanquangandClaude 4508090000 docs(agc): drop the stale signature note from the ACB atomic GDS NID entry
Co-Authored-By: Claude <[email protected]>
2026-10-20 19:40:52 +07:00
hypermistandClaude Opus 5.5 e95f842140 fix(libSceAgc): match interpolant mapping variants to firmware
Add the unversioned sceAgcCreateInterpolantMapping and
sceAgcUpdateInterpolantMapping and stop sceAgcUpdateInterpolantMapping_10000
throwing for split f16 defaults, all matching libSceAgc bit for bit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 01:24:01 +13:00
hypermistandClaude Opus 5.5 35a2cbcedb fix(libSceAgc): use firmware semaphore memory results
sceAgcSetAmmSemaphoreMemory and sceAgcGetSemaphoreLabel return the
firmware's errors instead of throwing, registration clears the whole
memory, and sceAgcSetSemaphoreMemory shares the registration with its
1 GiB size limit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-20 22:57:30 +13:00