Repository navigation
feat(agc): support thick 4 KiB standard XOR volumes - #7294
Conversation
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
I finished a separate follow-up for #7260 that decodes mipmapped 3D color views using this PR’s thick layout, validates the selected mip’s depth slices, and adds the 128×128×8 two-mip S4KBX decoder regression. The local AGC graphics validation suite passed; this host required a temporary compiler workaround for an unrelated GCC template parse error and bypassing the PS5 CPU capability guard for the mock test binary. I kept the implementation in its own commit/branch. Since the prerequisite is still open, I’ll open the follow-up once this PR merges so the published diff contains only the decoder work and doesn’t duplicate your layout changes. |
ca9ec74 to
b2d9880
Compare
|
Update on the decoder follow-up: your current head |
|
@MarcZX100 Thank you for the independent decoder work and #7274 diagnostic. I missed these follow-up comments before opening #7310; sorry for the crossed effort. Our decoder/view fix was already tracked on the fork in #7260, and #7310 now submits it with #7294 explicitly declared as its prerequisite. It includes selected-mip/depth1 handling, explicit DCC/CMASK refusals, the converted diagnostic fixture, and ten GPU draw/readback cases, passing3/3 on RTX5080, AMD Radeon Graphics and lavapipe. Could you link your focused commit so we can compare the implementations and retain attribution for any corrections? I would like to combine useful work and avoid a second overlapping submission. The new title replay stopped at HTILE completion; it does not yet prove a successful volume bind. Exact scope is maintained in #7260/#7310. AI-assisted: Codex; author responsible. |
|
I pushed my one-commit decoder branch for comparison: 585a58d, based on Comparing it with #7310, your implementation is broader and covers gaps in my draft: it preserves 3D identity at depth 1, routes volume mip layouts through |
What
Support thick 3D
SW_4KB_S_Xsurfaces (swizzle 21) for 1, 2, 4, 8 and 16-byte elements. Use the 4 KiB thick block geometry and a separate 3D equation in the existing GPU detile/retile pipeline. Other unsupported thick modes continue to throw.Sonic Unleashed Recompiled PPSA99902, #4443 / #7260, requests a 128x128x8, two-level, RGBA8_UINT, SW_4KB_S_X color target after its opening movie. The ordinary composed-title run stops at:
The behavior-preserving diagnostic in #7260 captured its register words. This PR supplies the missing layout prerequisite; the volume-mip decoder/view fix is the dependent #7310. Main's geometry/load tests currently stop at:
Equations come from AMD PAL
c5e80007,GetSwizzlePatternInfo, selectingGFX10_SW_4K_S3_X_PATINFOin the GFX10 pattern tables, non-RB+ Navi1x with 16 pipes. Console equivalence remains unmeasured and is recorded in technical debt.Overlap: #6977 wraps the same dispatcher branch for GCN. It implements different behavior; the adjacent hunk needs merge-order coordination. Discussion. Proposed order is this small layout addition first, then retaining its map entry in #6977's thick branch. #7258's sampled-array windows are also distinct. No foreign commits are included.
Tested
Head
b2d9880700fef64c1d5df394f6afa80d8b8ca558, mainb4f05ab328fac5a9c1c458398e55f7ab3bfe8508.agc_driver_graphics,agc_driver_image_xor_swizzle_volumeandagc_driver_layered_volume_vertexpass on both physical GPUs and lavapipe. Shader disk cache and pipeline journal disabled. Windows Khronos1.4.363 loading confirmed; no observed VUIDs. Linux validation layer unavailable, so no Linux validation-layer claim.Addr2ComputeSurfaceInfo/Addr2ComputeSurfaceAddrFromCoordpasses 20 surfaces / 82,240 addresses. The table derivation also reproduces all20 existing thick equations. This is a public-source oracle, not console measurement.Requireguards. Conventions pass.Reproduce the focused checks after the standard full build:
ctest --test-dir build -R '^agc_driver_(graphics|image_xor_swizzle_volume|layered_volume_vertex)$' --output-on-failureChecklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)