KhronosGroup / KhronosGroup/Vulkan-ValidationLayers
Add support for Descriptor Heap/Buffer with Buffer Validation
Open
@arno-lunarg is already working on this.
Since Jul 8, 2026.
GPU-AV
RT
- Dominant language
- C++
- Stars
- 1k
- Forks
- 505
- Avg merge
- 11h 25m
- Merged PRs (30d)
- 229
Description
Edit: This issue was suppressed with #12735 until we properly add a solution where we can inject buffer validation when the descriptor mode is Heap/Buffer
Running dEQP-VK.binding_model.descriptor_heap.*.acceleration_structure we will fail the tests and have self val error with GPU-AV
I found doing VK_LAYER_GPUAV_BUFFERS_VALIDATION=0 fixes the tests to pass
VK_LAYER_GPUAV_SHADER_INSTRUMENTATION=0 didn't do anything
But even with passing the tests, I still have
Validation Error: [ VUID-vkCmdDispatch-None-11308 ] | MessageID = 0x7c5e473d
[Self Validation] vkCmdDispatch(): The shader [VK_SHADER_STAGE_COMPUTE_BIT] uses resource descriptors, but a resource heap was not bound with vkCmdBindResourceHeapEXT.
The command buffer is currently in 'Classic Descriptor' mode from previous call to vkCmdPushConstants which invalidated the previous 'Descriptor Heap' mode that was set with vkCmdBindResourceHeapEXT
The following resource descriptors were found:
[Set 1, Binding 13]
[Set 0, Binding 1]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.