Commit Graph
62 Commits
Author SHA1 Message Date
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
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
hypermistandClaude Opus 5.5 6a4913cc7c feat(agc): write the workload packets on the ACB and for an inactive stream
sceAgcAcbSetWorkloadsActive, sceAgcAcbSetWorkloadComplete and
sceAgcAcbSetWorkloadStreamInactive build the same packets as the DCB calls,
and sceAgcDcbSetWorkloadStreamInactive writes a 9-dword IT_NOP with the
stream id, the size of the console's user-data packet. The debt entry now
records the console layout read from libSceAgcDriver.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-20 22:32:46 +13:00
Adrià 8444508241 Merge pull request #7815 from parl0v/docs/fusion-oc-lds-source
docs(debt): cite radeonsi for the front half's OC_LDS_EN in shader fusion
2026-10-19 19:44:00 +02:00
Josip Parlov 80a53faa3c docs(debt): cite radeonsi for the front half's OC_LDS_EN in shader fusion 2026-10-19 10:40:31 +02:00
fogydes 093d6a3d4e fix(libSceAgc): align CB memory semaphore with console oracle and document debt 2026-10-19 13:46:46 +05:30
Adrià bda28c62c0 Merge pull request #6653 from JJenkx/fix/agc-fusion-offchip-lds
fix(agc): retain offchip LDS enable during shader fusion
2026-10-19 10:01:33 +02:00
Adrià FranchandClaude Sonnet 5.5 5d5b252bb6 docs(libSceAgc): update TechnicalDebt line for sceAgcDcbAtomicGds
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 04:37:35 +02:00
Adrià Franch c567384e83 docs(debt): record sceAgcDcbContextStateOp deviations 2026-10-19 04:13:20 +02:00
PhialsBasementandClaude Opus 5.5 54314ff8a4 test(libSceAgc): find MRT0 through the compact versioned register defaults
The versioned tables hand out compact 12-byte type entries since #7681,
and the MRT0 checks on them were dropped with the pairs. The walk now
takes the entry size: MRT0 is block 78 of the legacy pairs and of the
compact version 13 table, block 73 of version 10, and every versioned
table from 4 holds it. The debt entry names the layout of each entry
point.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 12:39:25 +11:00
MaxandClaude Opus 5.5 5140b08d82 feat(libSceAgc): implement sceAgcDcbSetIndexIndirectArgs
Write the INDEX_ATTRIBUTES_INDIRECT packet the console's builder writes,
as measured by the prosper console oracle, with OpenAGC's signature, and
report its measured size of 16 bytes.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 02:53:01 +02:00
Adrià 2da2284def Merge pull request #6270 from YossiYad/fix/agc-register-defaults-pairs
fix(libSceAgc): return the console's register-defaults table and type pairs
2026-10-18 23:14:29 +02:00
MarcZX100 931d209295 docs(debt): add PPSA26344 call-site details 2026-10-16 16:59:51 +00:00
JJenkx 522696d1ce fix(agc): retain front-half offchip LDS enable during shader fusion 2026-10-15 21:42:43 -04:00
Adrià ab88420409 Merge pull request #5845 from pushkarreddyy/feat/libSceAgc-default-cx-state-flat
feat(libSceAgc): implement sceAgcGetDefaultCxStateFlat
2026-10-15 23:00:59 +02:00
Adrià 8b99f0177c Merge pull request #5848 from wachi35676/refactor/libSceAgc-name-interpolant-mapping-10000
refactor(agc): name dbOlWdppb4o and vieBRwlh1Lw the _10000 interpolant mappings
2026-10-15 23:00:46 +02:00
pushkarreddyy fd90df41b6 feat(libSceAgc): implement sceAgcGetDefaultCxStateFlat 2026-10-15 15:36:43 +02:00
Yossi Yadgar 39575d66e9 docs(debt): note which register-defaults table and type layout libSceAgc returns 2026-10-15 11:04:54 +03:00