-
Notifications
You must be signed in to change notification settings - Fork 419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
validation: vkCmdBindDescriptorBuffersEXT/VkDescriptorBufferBindingInfoEXT ignore VkBufferUsageFlags2CreateInfo usage #9228
Comments
Full error message:
Of course, if I set .usage in VkDescriptorBufferBindingInfoEXT to the old truncated/32-bit usage flags, everything works as expected. But that is not the intent of VkBufferUsageFlags2 and not what is stated in the spec. @spencer-lunarg: your test doesn't make use of VkBufferUsageFlags2CreateInfo when calling vkCmdBindDescriptorBuffersEXT. Also note that VkBufferUsageFlags2 validation works everywhere else for me. FYI:
|
@a2flo ooooo, I see, I can reproduce this now. We track the |
Thanks, works for me as well now. |
Environment:
Describe the Issue
It appears that the validation of VkDescriptorBufferBindingInfoEXT when calling vkCmdBindDescriptorBuffersEXT() currently disregards VkBufferUsageFlags2CreateInfo usage flags.
I'm getting a VUID 08055 validation error, saying that the buffer doesn't match the .usage specified in VkDescriptorBufferBindingInfoEXT (which is set to 0). There is however a chained VkBufferUsageFlags2CreateInfo that contains the correct usage which seems to get ignored.
This happens with both a Vulkan 1.4 or 1.3 device/instance, with VK_EXT_descriptor_buffer, VK_KHR_maintenance5, and VK_KHR_maintenance6 enabled.
Expected behavior
As per VkDescriptorBufferBindingInfoEXT spec:
"If the pNext chain includes a VkBufferUsageFlags2CreateInfo structure, VkBufferUsageFlags2CreateInfo::usage from that structure is used instead of usage from this structure."
Valid Usage ID
08055, 09499, 09500
VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext
Additional context
Probably somewhere around: https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/main/layers/core_checks/cc_descriptor.cpp#L2491
The text was updated successfully, but these errors were encountered: