Fix invalid shaders with RX_VK_FOLLOW_MESH enabled #225
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!225
Loading…
Reference in a new issue
No description provided.
Delete branch "codex/spirv-struct-identity"
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
With
RX_VK_FOLLOW_MESH=1, loading Kokiri Forest on an RX 9070 XT produces invalid task/mesh shaders:VUID-VkShaderModuleCreateInfo-pCode-08737andVUID-StandaloneSpirv-None-10684. Errors include duplicateBlockdecorations and explicit layout on Private variables.Why merge
Change
gpu/vk/sirit/src/stream.h:if (stream.words[stream.op_index] == static_cast<u32>(spv::Op::OpTypeStruct)) return stream << EndOp{};.nx2/test_spirv_struct_identity.py: validate physical-buffer wrappers with/without Private local memory and check scalar/pointer reuse.Tested
RX_CPMset and SPIR-V Tools on PATH:python nx2/test_spirv_struct_identity.py --headers "$env:RX_CPM/spirv-headers/vulkan-sdk-1.4.341.0/include" --spirv-val spirv-val --cxx clang++. Fails on the old code, passes now.Not covered