Commit Graph
7963 Commits
Author SHA1 Message Date
Adrià 9817d53cc9 Merge pull request #6345 from hypermoist/feat/libc-exact-math
feat(libc): add exact long double and BSD math exports
2026-10-19 08:06:40 +02:00
Josip Parlov 4c8eb6d369 docs(env): list APS5_NO_CLEAR_HAND_OVER 2026-10-19 08:03:03 +02:00
Josip Parlov df72da5dbf docs(agc): describe trimmed host imports and backing serials 2026-10-19 08:02:13 +02:00
Leonardo 6d95f1e3a0 docs(libSceVoiceQoS): classify packet calls as silent stubs 2026-10-19 08:01:14 +02:00
eth-j17andClaude Opus 5.5 ca4303a155 feat(trace): record host, title and per-frame benchmark data
The summary line names the CPU, its thread count, physical memory and,
with param.json, the title ID, name and content version.

APS5_TRACE_BENCH=1 with APS5_TRACE_SUMMARY_EVERY rewrites
aps5-bench-<commit>-<pid>.json.gz at each interval with the time between
every two presents, so reports can be recomputed and checked from raw
frame times. param.json's contentVersion is read when present.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 01:01:13 -05:00
fogydes c3775ea000 feat(libSceAgcDriver): implement command buffer submission 2026-10-19 11:28:13 +05:30
Yunus Shaikh 53cc193a3c Merge main into fix/agc-sample-location-grid-exact
#6503 took request serialization 36 for its float32 flush flag, so this branch's sample order moves to 37. The version relabels in ShaderMemory.cpp and RequestSerializerTests.cpp drop both trailing flags and the sample order.
2026-10-18 22:52:06 -07:00
Dean 323ece2445 Merge pull request #7445 from elliot1377/fix/agc-dispatch-split-base
fix(agc): split oversized dispatches with workgroup offset specialization
2026-10-19 18:51:58 +13:00
Dean 819ced2e1d Merge pull request #7674 from thuanquang/fix/mesh-layer-block
fix(shader): write a mesh shader's layer through a per-primitive block
2026-10-19 18:51:54 +13:00
Adrià 5710355fbd Merge pull request #6242 from fogydes/feat/sysmodule-ps5-module-table-mappings
feat(libSceSysmodule): register missing user and internal sysmodule IDs
2026-10-19 07:51:24 +02:00
Adrià 79c7076e91 Merge pull request #6265 from fogydes/feat/usb-storage-dialog-exports
feat(libSceUsbStorageDialog): implement common dialog lifecycle exports
2026-10-19 07:50:21 +02:00
Adrià 13c63f9116 Merge pull request #6307 from fogydes/feat/contentdelete-firmware-exports
feat(libSceContentDelete): export missing firmware content delete interfaces
2026-10-19 07:49:17 +02:00
pushkarreddyy b7e0189265 feat(recompiler): support waterfall select conditions and key bounds in pointer image tables 2026-10-19 11:15:37 +05:30
fogydes 144c1a58ca feat(libSceVideoRecordingP): export missing firmware 3.20 video recording interfaces 2026-10-19 11:13:20 +05:30
al3w0f205 55d4a9fa1d feat(libSceAgcDriver): support quad-list primitive type
Primitive type 19 (DI_PT_QUADLIST, 0x13) is used by Unity and other engines for UI quads, sprites and font glyphs. Because Vulkan lacks native quad-list primitive topology, quad draws are expanded on the CPU into indexed triangle lists with 6 indices per 4-vertex quad, respecting the first/last provoking vertex configuration and discarding incomplete trailing vertices. Adds unit tests and documents the functional debt.
2026-10-19 07:39:59 +02:00
fogydes a03d891ec0 feat(libSceUsbStorageDialog): implement common dialog lifecycle exports 2026-10-19 11:00:59 +05:30
Dean Galvin 9e32729ab5 Merge main into pr-7154
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/include/DepthSurface.hpp
#	core/libs/prx/libSceAgcDriver/Graphics/src/ShaderResources.cpp
2026-10-19 18:29:52 +13:00
fogydes 52ac9dc161 feat(libSceContentDelete): export missing firmware content delete interfaces 2026-10-19 10:55:39 +05:30
fogydes fcdf046855 feat(libSceSysmodule): register missing user and internal sysmodule IDs 2026-10-19 10:51:17 +05:30
Dean Galvin 80fc1061c7 docs(env): list APS5_NO_BARRIER_BATCH in the environment reference
The environment-reference check now requires a row for every APS5_* name a pull request reads; main added that check after this branch was written.
2026-10-19 18:05:27 +13:00
ThatsLeo ac14d6317d perf(shader): flush f32 denormals in hardware when a startup probe matches the emulation
Devices with DenormFlushToZero for f32 run the mixed denormal-flush programs with and
without the hardware mode at startup; when every result matches, add, sub, mul, fma,
floor and ceil in the default rounding mode drop their software flush.
2026-10-19 07:00:13 +02:00
Yunus Shaikh 245cec763f Merge main into fix/agc-sample-location-grid-exact
Resolves sameDecode in DrawRegisterKey.cpp, keeping this branch's sample-order comparison and #6530's merged-coverage comparison.
2026-10-18 21:53:18 -07:00
Doğukan Atlıhan 1ad6c746b8 fix(libkernel): replace anonymous Windows stack mappings 2026-10-19 06:42:30 +02:00
ionut27001andClaude Opus 5.5 46f518997e fix(libc): return jrand48 and mrand48 zero-extended as measured on a PS5
In a payload process on a PS5 (firmware 12.70), jrand48 and mrand48
return the high 32 bits of the new 48-bit state zero-extended to the
64-bit long, as FreeBSD 11.0 does, so a result with bit 31 set comes
back between 0x80000000 and 0xFFFFFFFF. Here they sign-extended it, as
FreeBSD 11.1 and later do with an (int32_t) cast. lrand48 and nrand48
already matched the payload process. The tests now pin its results for
three seeds and the first six mrand48 values after srand48(1), compare
with the host as 32-bit values, and the debt entry records the
measurement.

AI-assisted: yes

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 07:09:32 +03:00
Adrià 3904ce6cf5 Merge pull request #6505 from keravyn-ops/fix/htile-pending-fill
perf(agc): take the HTILE words pending fills leave instead of reading them
2026-10-19 06:03:19 +02:00
Adrià d72c9e3728 Merge pull request #6527 from SandstromPL/feat/libscediscmap
feat(libSceDiscMap): report no disc bitmap from the two disc map queries
2026-10-19 06:02:18 +02:00
Yunus Shaikh acf80cc109 docs(agc): describe the 2x checkerboard in the sample-location debt entry without title ids 2026-10-18 20:58:27 -07:00
Yunus Shaikh a932bcc7d6 fix(agc): take shader cache FormatVersion 41 and word the grid-reference skip as a device limitation
main took FormatVersion 40 with #6486, so this branch moves to 41. The grid-reference test's skip now reads as a device that does not keep depth at custom sample locations, the wording tools/check_skips.py accepts as a device limitation. The sample-location debt entry describes the 2x checkerboard without naming titles.
2026-10-18 20:57:10 -07:00
Yunus Shaikh 18463ff5c2 Merge main into fix/agc-sample-location-grid-exact
#4650 took request serialization version 35 for its depth remap flag, so this branch's sample order moves to 36. The serialization tests drop #4650's trailing byte from every older version they build, as main's do, along with the iteration fields and the sample order.
2026-10-18 20:56:57 -07:00
elliot 11a7b61d72 fix(agc): split oversized dispatches with workgroup offset specialization
A dispatch over maxComputeWorkGroupCount was split into vkCmdDispatchBase
chunks whose base reached the limit, which VUID-vkCmdDispatchBase-baseGroupX-00421
forbids, and NVIDIA refused the split outright.

Compute modules now declare WorkgroupOffset specialization constants (default 0)
that the recompiler adds to WorkgroupId and GlobalInvocationId and keeps
unmaterialized. Each chunk is recorded with vkCmdDispatch from group 0, bound to
a pipeline variant specialized with the chunk's base. The NVIDIA throw is gone;
device-memory LDS splits still throw.

Fixes #7375
2026-10-18 22:54:33 -05:00
Dean 3ddbc4accc Merge pull request #4650 from Mouad-Scriptz-0/feat/agc-depth-range-remap
feat(agc): remap a viewport depth range the device cannot express into the vertex shader
2026-10-19 16:52:31 +13:00
Yunus Shaikh 21b14210ff Merge main into perf/agc-remember-evicting-refusals
The host-import debt entry takes #6472's budget sentence and keeps this branch's sentence on remembered refusals.
2026-10-18 20:40:45 -07:00
Nithishvelan M 78c945806c docs(libSceVrSetupDialog): clarify PPSA12544 import and export database status 2026-10-19 09:10:42 +05:30
Yunus Shaikh 0644811579 Merge main into perf/agc-host-import-aligned-blocks
The host-import debt entry takes #6472's budget sentence and keeps this branch's sentence on remembered refusals.
2026-10-18 20:40:40 -07:00
Yunus Shaikh 3a9bc814c2 Merge main into perf/agc-host-import-blocks
importBudget keeps this branch's configuredBudget split and takes #6472's HostImportBudget for the default; the host-import debt entry takes #6472's budget sentence next to this branch's report and refusal sentences.
2026-10-18 20:38:28 -07:00
Adrià FranchandClaude Sonnet 5.5 b04f7b81f3 docs: document APS5_NO_PENDING_HTILE_FILLS in ENVIRONMENT.md
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 05:16:10 +02:00
Leonardo 7fdb261e67 feat(libSceVoiceQoS): implement packet and local endpoint attribute functions 2026-10-19 05:12:36 +02:00
klosixgaming-arch 0d4cbd538b fix(agc): compare a CB resolve's sample count with the rasterizer only under MSAA_ENABLE
PPSA08270 (Eternights) stopped after its story intro with "AGC graphics:
CB resolve from a target whose sample count differs from the
rasterizer's". It resolves a 4x 512x512 target into a single-sample one
with PA_SC_MODE_CNTL_0.MSAA_ENABLE off while PA_SC_AA_CONFIG still holds
2x from earlier draws. Without MSAA_ENABLE the scan converter does not
use PA_SC_AA_CONFIG's sample count, so the resolve takes its sample
count from CB0 as it already does when PA_SC_AA_CONFIG is single-sample.
2026-10-19 03:06:07 +00:00
Adrià ba63d412cd Merge pull request #6511 from JJenkx/fix/ssl-ps5-reader-context
feat(ssl): implement context-scoped PS5 certificate PEM reading
2026-10-19 05:01:14 +02:00
Adrià e488debe6d Merge pull request #6508 from fogydes/feat/agc-dcb-atomic-gds
feat(libSceAgc): implement DCB atomic GDS operations and correct size accessor
2026-10-19 04:59:06 +02:00
Dean fa0ac6d5ce Merge pull request #5926 from xXPBSXx/fix/agc-vertex-fetch-overhang
fix(libSceAgcDriver): zero the overhanging record of a vertex fetch
2026-10-19 15:56:44 +13:00
Yunus Shaikh e19cf1ac21 Merge main into fix/agc-heap-mirror-replan-unwatched
The host-import debt entry takes main's budget sentence and keeps this branch's heap-mirror sentence.
2026-10-18 19:55:25 -07:00
Adrià c8e3fcb703 Merge pull request #6507 from karanvora2599/perf/videoout-unordered-cpu-flips
perf(videoout): don't hold a flip thread's CPU flips behind queued work
2026-10-19 04:49:51 +02:00
Adrià d23ed99f84 Merge pull request #6472 from ahir061/fix/agc-host-import-budget-half-heap
fix(agc): keep half the host heap out of the host import budget
2026-10-19 04:49:45 +02:00
To3akaRin 7e8aa10ae6 fix(tools): strip dependency options before syntax checks 2026-10-19 10:43:00 +08:00
Adrià 8a526d4495 Merge pull request #6504 from 0xRickx/feat/libsceimedialog-host-keyboard
feat(libSceImeDialog): take the dialog's text from the host keyboard
2026-10-19 04:39:46 +02:00
Yunus Shaikh 4d52a66fd3 Merge main into perf/agc-remember-evicting-refusals
Main's sameRange for a failed import now takes the import budget, as the HostImport overload does, so a recorded failure is compared against the run the budget would import again.
2026-10-18 19:39:07 -07:00
Yunus Shaikh af6f2ecab8 Merge main into perf/agc-host-import-aligned-blocks
Main's sameRange for a failed import now takes the import budget, as the HostImport overload does, so a recorded failure is compared against the run the budget would import again.
2026-10-18 19:38:07 -07: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à ccbd40240f Merge pull request #6497 from giovanniadamo/feat/libsceregmgr
feat(libSceRegMgr): add sceRegMgrNonSysGetInt stub
2026-10-19 04:36:35 +02:00