Commit Graph
475 Commits
Author SHA1 Message Date
Dean 05f9995704 Merge pull request #8469 from hypermoist/feat/agcdriver-firmware-constants
feat(libSceAgcDriver): add the retail debug, capture and GPU reset results
2026-10-21 16:23:27 +13:00
Dean 51a30d567a Merge pull request #8297 from thuanquang/docs/trunc-coord-debt
docs(agc): record that the host sampler replaces TRUNC_COORD's rounding
2026-10-21 16:09:49 +13:00
Dean 394170059f Merge pull request #8069 from thuanquang/fix/force-degamma-unchanged-formats
fix(agc): sample formats that FORCE_DEGAMMA leaves unchanged without it
2026-10-21 15:44:22 +13:00
Dean d686bb0b19 Merge pull request #8046 from klosixgaming-arch/fix/agc-clip-disable-no-depth-clamp
fix(agc): accept PA_CL_CLIP_CNTL CLIP_DISABLE without depth clamp
2026-10-21 14:27:32 +13:00
Dean 926ed2eda1 Merge pull request #7480 from Scramblrrrr/codex/videoout-force-sdr-main
feat(videoout): allow forcing SDR output
2026-10-21 12:28:40 +13:00
Dean 50e0624d7a Merge pull request #7154 from XairRrR/fix/agc-depth-plane-buffer-coherence
fix(agc): keep depth planes coherent with buffer reads and writes of their memory
2026-10-21 09:38:25 +13:00
Adrià 4cfcb003de Merge pull request #7862 from parl0v/fix/storage-budget-sampled-reserve
fix(agc): reserve only the sampled textures alive from the storage image budget
2026-10-20 16:45:56 +02:00
XairRrR 4a2aecc21c Merge main into pr-7154 2026-10-20 15:57:09 +02:00
Adrià 277671f838 Merge pull request #7683 from Longziip/fix/agc-indirect-register-reread
fix(agc): reread an invalid indirect register list where its packet executes
2026-10-20 15:18:56 +02:00
Adrià 3cde166e45 Merge pull request #7650 from alex73630/fix/agc-cached-image-msaa-guard
fix(agc): enforce MSAA guards for ordinary image cache hits
2026-10-20 15:18:50 +02:00
hypermistandClaude Opus 5.5 9204f9d64f feat(libSceAgcDriver): add the retail debug, capture and GPU reset results
Export 24 absent driver calls with the constant results and output
zeroing of the retail libSceAgcDriver.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 02:10:55 +13:00
Josip Parlov 321460a4ed fix(agc): reserve only the sampled textures alive from the storage image budget
StorageTextureBudget reserved the larger of the sampled textures alive
and their 2 GiB floor. The sampled budget already reserves
TextureCacheBudget, at least the storage cap, for the storage cache, so
on an 8 GB card the two caches each kept the other's maximum: with
3936 MiB used outside the caches on a 7189 MiB budget and 49 MiB of
sampled textures, the storage budget came out at 306 MiB and sat at its
512 MiB floor while about 2.7 GB of the budget stayed free.

The storage budget now reserves the sampled textures alive and gives
room back as they grow, at its next read. Where they hold 2 GiB or more
the budget is unchanged.
2026-10-20 13:09:20 +02:00
Adrià d2d9b1057b Merge pull request #7533 from hugodearaujo/fix/agc-cube-extra-slices
fix(agc): decode cube descriptors with slices past their last whole cube
2026-10-20 12:24:46 +02:00
Dean d14a186f46 Merge pull request #7933 from veosett/codex/windows-pipeline-journal-paths
fix(agc): support long Windows pipeline journal paths
2026-10-20 22:35:05 +13:00
thuanquangandClaude Opus 5.5 e3e91de963 docs(agc): record that the host sampler replaces TRUNC_COORD's rounding
On RDNA 2, an S# with TRUNC_COORD 0 rounds the scaled coordinate to 8
fractional bits, ties to even, and one with TRUNC_COORD 1 truncates it,
for point and bilinear filters. The S# decoder ignores the bit, and
AMD's Windows driver truncates for nearest samplers and rounds for
linear ones, so a TRUNC_COORD 0 point sample just below a texel edge
reads the texel below it. The code comment said the bit moves texel
selection by half a texel at most; the debt entry records the measured
rule instead.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 16:20:55 +07:00
Kovalev Vladislav 80024c48fd test(agc): serialize journal replay result capture 2026-10-20 14:40:12 +06:00
Kovalev Vladislav 08fe08fadc docs(agc): record remaining long pipeline cache path limits 2026-10-20 14:26:34 +06:00
Dean f9012eed0d Merge pull request #7080 from Rengundom/feat/trace-bench-fields
feat(trace): record host, title and per-frame benchmark data
2026-10-20 21:19:24 +13:00
Ethan Barcus a8e06fb008 Merge branch 'main' into feat/trace-bench-fields 2026-10-20 02:57:23 -05:00
RengundomandClaude Opus 5.5 2e70f478e8 test(trace): check again that a failed benchmark rewrite keeps the previous file
The blocked-destination case checks a different file, so an in-place
rewrite passed it. The earlier case is back beside it: a directory at
<name>.tmp makes the write fail, and the previous aps5-bench.json.gz must
be unchanged. It is left out of Windows builds, where the
std::ios_base::failure thrown inside the MinGW ofstream did not unwind to
the test's catch.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 02:47:24 -05:00
Leonardo Feitosa eca73e1e40 revert(agc): track DCC storage images with more than one mip as one unit 2026-10-20 04:38:56 -03:00
Dean 1edbe4b5e0 Merge pull request #7006 from TheSovietWaffle/fix/recompiler-stencil-replay-every-value
fix(recompiler): replay every eight-bit stencil reference a pixel shader may export
2026-10-20 20:30:46 +13:00
Dean 68323bae74 Merge pull request #8165 from xXPBSXx/docs-agc-cmask-entry-rx6400-correction
docs(debt): say that the RX 6400 device loss of the CMASK clear pass is not reproduced
2026-10-20 18:08:35 +13:00
Dean 32e88ad847 Merge pull request #7986 from xXPBSXx/docs/debt-pm4-type0
docs(agc): record the PM4 type-0 packets a submission is rejected for
2026-10-20 17:17:21 +13:00
Dean b5813c0740 Merge pull request #7746 from YossiYad/fix/front-face-all-bits-uint-target
test(agc): export the front-face bits through a uint target as uint
2026-10-20 15:52:03 +13:00
hugodearaujo 086e98a42a fix(agc): decode cube descriptors with slices past their last whole cube
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-19 23:11:53 -03:00
Adrià b50976750d Merge pull request #7640 from Pipodi/perf/texture-cache-scan-admission
perf(agc): refuse uncached textures while the sampled cache's least recently used entry is still in use
2026-10-20 02:57:27 +02:00
xXPBSXxandClaude Sonnet 5.5 6cbfe3e4c5 docs(debt): say that the RX 6400 device loss of the CMASK clear pass is not reproduced
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 02:42:50 +02:00
Dean 3aa35dc014 Merge pull request #6730 from EagleBearerYS/perf/agc-remember-evicting-refusals
perf(agc): remember an evicting import request's budget refusal until it could succeed
2026-10-20 12:52:11 +13:00
Dean 053034f41b Merge pull request #7579 from LeoFeitosa/fix/dcc-mip-block-units
fix(agc): track DCC storage images with more than one mip as one unit
2026-10-20 11:52:35 +13:00
Dean 89369fdc6a Merge pull request #6557 from simonbronk/fix/native-msaa-depth-iterate256
fix(agc): import native multisample depth whose HTILE is not ITERATE_256
2026-10-20 11:51:50 +13:00
Adrià 9b4b3cf463 Merge pull request #6941 from kq62/fix/mesh-barycentric-emulation
feat(shader): emulate barycentrics and per-vertex parameters on the mesh path
2026-10-20 00:17:49 +02:00
Dean Galvin 8ea85e6d55 Merge main into pr-7579
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/include/TextureTiling.hpp
#	core/libs/prx/libSceAgcDriver/Graphics/src/TextureTiling.cpp
#	docs/dev/debt/libSceAgcDriver.md
2026-10-20 11:01:23 +13:00
Adrià a01b3287c6 Merge pull request #7432 from MarcZX10/codex/7017-failed-collect-unwatch
fix(agc): save pending results when a fresh write collect fails
2026-10-19 23:43:48 +02:00
Yossi Yadgar 3bdd430a32 docs(debt): note a float color export into a uint target is accepted 2026-10-20 00:07:54 +03:00
XairRrR 0e9d052541 Merge main into pr-7154
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
2026-10-19 23:07:50 +02:00
Dean Galvin 5e88d5f83e Merge main into pr-6730
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/GuestBufferMemory.cpp
#	core/libs/prx/libSceAgcDriver/tests/BdaResources.cpp
#	docs/dev/debt/libSceAgcDriver.md
2026-10-20 09:56:39 +13:00
Dean 3756c72dc6 Merge pull request #6479 from EagleBearerYS/perf/agc-host-import-blocks
perf(agc): take the host import budget from the device's memory budget
2026-10-20 09:52:09 +13:00
Dean 524259954a Merge pull request #6457 from EagleBearerYS/perf/agc-host-import-aligned-blocks
perf(agc): import adjacent host ranges as aligned blocks and stop re-trying budget refusals
2026-10-20 09:51:55 +13:00
Dean Galvin f1ac3be50c Merge main into pr-6557
# Conflicts:
#	core/libs/prx/libSceAgcDriver/tests/execution/NativeMultisampleDepth.cpp
2026-10-20 09:15:59 +13:00
Adrià cde1ffdedd Merge pull request #7254 from gjonn/feat/agc-layered-2d-array-color-views
feat(agc): render layered draws into 2D array color views
2026-10-19 22:05:15 +02:00
Adrià f745930f03 Merge pull request #7413 from thuanquang/fix/table-call-hoisted-descriptor
fix(shader): link a table call whose descriptor load sits before its loop
2026-10-19 21:50:42 +02:00
XairRrR a1c0f34f4b Merge main into pr-7154
# Conflicts:
#	core/libs/prx/libSceAgcDriver/Graphics/src/ShaderResources.cpp
2026-10-19 21:43:06 +02:00
Adrià d7e62d8e25 Merge pull request #7258 from Pipodi/fix/sampled-array-viewed-slices
fix(agc): build sampled array views from the slices they read
2026-10-19 21:16:23 +02:00
thuanquangandClaude eeb1c4f034 fix(agc): sample formats that FORCE_DEGAMMA leaves unchanged without it
Co-Authored-By: Claude <[email protected]>
2026-10-20 01:58:42 +07:00
battleblob1andClaude Opus 5.5 f4a4b8aea9 fix(recompiler): replay every eight-bit stencil reference a pixel shader may export
Without VK_EXT_shader_stencil_export (NVIDIA), stencil reference exports
are emulated by replaying the draw once per value. An export the prover
could not bound to at most 16 values was refused. The replay shader
compares the export's low eight bits, so an unbounded export now
replays all 256 values, and proven values are reduced to their low
eight bits as the comparison sees them.

Refs #4276

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 21:57:24 +03:00
klosixgaming-arch f8f797282d fix(agc): accept PA_CL_CLIP_CNTL CLIP_DISABLE without depth clamp
DecodeState and DrawRejection rejected PA_CL_CLIP_CNTL bit 16
(CLIP_DISABLE), skipping draws that set it. Vulkan handles viewport
guard-band clipping automatically without requiring explicit clip
toggles. Accept bit 16 in ClipControlMask without altering depthClamp,
and record the unmodelled console clipping behavior in technical debt.

Tested with agc_driver_graphics_tests.
2026-10-19 13:43:12 -05:00
xXPBSXxandClaude Sonnet 5.5 4e3e810a79 docs(agc): describe the zero-header run in the PM4 type-0 debt entry
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 20:23:05 +02:00
xXPBSXxandClaude Sonnet 5.5 3cf8eec26a docs(agc): record the PM4 type-0 packets a submission is rejected for
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-19 20:22:44 +02:00
Adrià 544f29106d Merge pull request #7250 from milescoviello/feat/msaa-dcc-refill
feat(agc): take a full DCC fill of a resident multisampled target as its fast clear
2026-10-19 20:17:24 +02:00