Fix incomplete buffer uploads for task and mesh shaders #206
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!206
Loading…
Reference in a new issue
No description provided.
Delete branch "codex/cbuf-table-extent"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this fixes
Task and mesh global-memory lookups can read descriptor metadata beyond the bound constant-bank range. On RX 9070 XT, reached shaders bound C0 through
0x6a0, while their generated pointer table ends at0x8b0.Why merge
Change
gpu/vk/vk_draw.cpp: extendusedthrough storage descriptors when global fallbacks are present, before allocating and filling the bank.nx2/test_cbuf_table_extent.py: cover task/mesh ranges, descriptor arrays, other banks, larger ranges and non-global controls.Tested
python nx2/test_cbuf_table_extent.py --cxx clang++: 13 cases using the actual range expressions.Not covered