You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GPU and driver version: NVIDIA GeForce RTX 4060 with the latest drivers
SDK or header version if building from repo: b10d21a
Options enabled (synchronization, best practices, etc.): defaults
Describe the Issue
The CTS tests dEQP-VK.dgc.ext.compute.misc.descriptor_buffer_push_descriptor* produce VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-0806 when run on the NVIDIA driver. The key factor here is that those tests use descriptor buffers coupled with push descriptors, and push descriptors only. For this reason, vkGetDescriptorSetLayoutSizeEXT returns 0. When the test allocates the buffer, it rounds that up to descriptorBufferOffsetAlignment to avoid allocating and empty buffer but, despite this, a later call to vkCmdSetDescriptorBufferOffsetsEXT results in the VUID mentioned before, probably because the buffer offset that we pass is zero, which is strictly not less than the set layout size, but the layers should probably special-case this.
VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08063(ERROR / SPEC): msgNum: 587158185 - Validation Error: [ VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08063 ] Object 0: handle = 0x55555f233650, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x22ff52a9 | vkCmdSetDescriptorBufferOffsetsEXT(): pOffsets[0] 0 must be small enough such that any descriptor binding referenced by layout without the VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT flag computes a valid address inside the underlying VkBuffer.
The Vulkan spec states: The offsets in pOffsets must be small enough such that any descriptor binding referenced by layout without the VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT flag computes a valid address inside the underlying VkBuffer (https://www.khronos.org/registry/vulkan/specs/1.4-extensions/html/vkspec.html#VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08063)
Environment:
Describe the Issue
The CTS tests
dEQP-VK.dgc.ext.compute.misc.descriptor_buffer_push_descriptor*
produceVUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-0806
when run on the NVIDIA driver. The key factor here is that those tests use descriptor buffers coupled with push descriptors, and push descriptors only. For this reason,vkGetDescriptorSetLayoutSizeEXT
returns 0. When the test allocates the buffer, it rounds that up todescriptorBufferOffsetAlignment
to avoid allocating and empty buffer but, despite this, a later call tovkCmdSetDescriptorBufferOffsetsEXT
results in the VUID mentioned before, probably because the buffer offset that we pass is zero, which is strictly not less than the set layout size, but the layers should probably special-case this.Note: this issue is probably related to #8203.
Expected behavior
What the test does seems valid, so no validation errors should be emitted, likely.
Valid Usage ID
VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08063
Additional context
N/A
The text was updated successfully, but these errors were encountered: