Repository navigation
feat(agc): render into one depth slice of a 3D color target - #449
Merged
oneandonlydean merged 2 commits intoOct 4, 2026
Merged
Conversation
MichonGoddijn231849
added a commit
to MichonGoddijn231849/AnyPS5-fork
that referenced
this pull request
Oct 3, 2026
…ar#449) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
8 of 9 tasks
9 tasks done
MichonGoddijn231849
force-pushed
the
feat/3d-color-targets
branch
from
October 4, 2026 10:20
90c5f60 to
084aa66
Compare
…slice Color targets with the SW_4KB_S swizzle (CB_COLOR_ATTRIB3 tile mode 5) are laid out in 4 KiB blocks with the standard element order the texture detiler uses, and are resident through the same storage images as 64 KiB targets. A CB_COLOR_VIEW selecting one slice (SLICE_START equal to SLICE_MAX) renders into that slice: the target starts one slice size per slice after the surface, the slice size being the surface's mip chain as a texture of the same tile mode lays it out. Views of several slices are still rejected. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
MichonGoddijn231849
force-pushed
the
feat/3d-color-targets
branch
from
October 4, 2026 10:25
084aa66 to
34c57ca
Compare
|
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.
|
9 tasks done
Collaborator
|
Thanks. Its own commit has exactly the content that passed my PPSA21564 check, on top of #377 (carried unchanged), and it builds and passes ctest here on current main. Ready to merge right after #377. The red Windows job is the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A color target whose
CB_COLOR_ATTRIB3resource type is 3D was refused withunsupported color depth, dimension, resource level or metadata mode. GTA V renders a 32x32x322_10_10_10volume this way, one depth slice per color view, while loading.DecodeColorTileModeaccepts resource type 3D (any depth); type 2D still requires depth 0.DecodeColorBufferreads the depth and takes the view slice as the depth slice (ColorTarget::depth,depthSlice). The surface address is not moved by the slice, as for array slices. Mipmapped and DCC 3D targets throw, and so does a slice beyond the depth.SurfaceForTargetdescribes the target as a 3D surface. The resident storage image is attached through a 2D view of the depth slice. A 3D target without a resident image throws.2D_ARRAY_COMPATIBLEand can be color attachments.StorageTexture::AttachmentViewtakes the depth slice, and its view cache key includes it.Tested
Windows 11 Pro, AMD Ryzen 5 7600, NVIDIA GeForce RTX 5080 (driver 32.0.16.1074), 32 GB DDR5-5600, MinGW-w64 GCC 15.2.0.
ctest: all tests pass.agc_driver_graphicschecks the new decode:Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository🤖 Generated with Claude Code