gpuav: Support desc heaps in buffer validation - #13153
Open
arno-lunarg wants to merge 1 commit into
Open
arno-lunarg wants to merge 1 commit into
arno-lunarg wants to merge 1 commit into
Conversation
Collaborator
|
CI Vulkan-ValidationLayers build queued with queue ID 124338. |
arno-lunarg
force-pushed
the
arno-gpuav-bda-in-buffer-validation
branch
from
September 18, 2026 16:43
02f8b3e to
e2ead62
Compare
Collaborator
|
CI Vulkan-ValidationLayers build queued with queue ID 124350. |
- Create a descriptor heap variant of every validation compute pipeline, picked from the command buffer's last used descriptor mode, binding resources, push constants and error logging buffers as push data addresses instead of descriptor sets - Stop skipping validation commands in heap mode, only skip descriptor buffer mode - Force device address usage on all buffers and allocations, adding a manual chassis vkAllocateMemory so GPU-AV can modify VkMemoryAllocateInfo - Store the error buffer dword size in the buffer itself instead of querying the runtime array length, and move its offsets into gpuav_shaders_constants.h Done because buffer descriptors are now managed through buffer addresses in push data, so cannot access their metadata anymore - Tidy ComputePipeline: hide handles behind Valid()/Bind* methods, make SharedResourcesCache re-entrant - Add descriptor heap tests for index buffer OOB, invalid BLAS reference and vertex attribute fetch OOB
arno-lunarg
force-pushed
the
arno-gpuav-bda-in-buffer-validation
branch
from
September 18, 2026 16:44
e2ead62 to
fbd3350
Compare
Collaborator
|
CI Vulkan-ValidationLayers build queued with queue ID 124362. |
Collaborator
|
CI Vulkan-ValidationLayers build # 24562 running. |
| bool operator()(TypeInfoRef lhs, TypeInfoRef rhs) const { return lhs.get() == rhs.get(); } | ||
| }; | ||
| mutable std::mutex mtx; | ||
| mutable std::recursive_mutex mtx; |
Contributor
There was a problem hiding this comment.
quick scanning, what is a recursive_mutex needed for here? A comment on why a normal mutex is not good enough would be nice
Contributor
Author
There was a problem hiding this comment.
It is used so that you can lock the same mutex multiple times within the same thread - happens now given how objects are constructed in the object cache.
Not sure about a comment since I would just describe what a recursive_mutex is
Collaborator
|
CI Vulkan-ValidationLayers build # 24562 failed. |
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.
Closes #12657