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
I am using a dynamic ssbo with range set to VK_WHOLE_SIZE, and the latest Vulkan SDK has emitted a new warning: Validation Error: [ VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979 ] Object 0: handle = 0x13b92b0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle = 0xcfef35000000000a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 2: handle = 0xf56c9b0000000004, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0xa159a763 | vkCmdBindDescriptorSets(): pDynamicOffsets[0] is 0x3c, but must be zero since the buffer descriptor's range is VK_WHOLE_SIZE in descriptorSet #0 binding #0 descriptor[0]. The Vulkan spec states: For each dynamic uniform or storage buffer binding in pDescriptorSets, the sum of the effective offset, as defined above, and the range of the binding must be less than or equal to the size of the buffer (https://vulkan.lunarg.com/doc/view/1.2.176.0/linux/1.2-extensions/vkspec.html#VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979)
The warning quotes this from the Vulkan specification: "For each dynamic uniform or storage buffer binding in pDescriptorSets, the sum of the effective offset, as defined above, and the range of the binding must be less than or equal to the size of the buffer".
However, this text from the VkDescriptorBufferInfo specification: "range is the size in bytes that is used for this descriptor update, or VK_WHOLE_SIZE to use the range from offset to the end of the buffer.", which specifically states that VK_WHOLE_SIZE is recalculated based on the offset, suggests that VK_WHOLE_SIZE should take the dynamic offset into consideration as well, and therefore, the specifications for vkCmdBindDescriptorSets() should be updated to state the VK_WHOLE_SIZE interactions that the specifications for VkDescriptorBufferInfo() describe.
The text was updated successfully, but these errors were encountered:
Rainer-1
changed the title
Correct vague vkCmdBindDescriptorSets() specifications.
Vague vkCmdBindDescriptorSets() specifications.
May 5, 2021
I am using a dynamic ssbo with range set to VK_WHOLE_SIZE, and the latest Vulkan SDK has emitted a new warning:
Validation Error: [ VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979 ] Object 0: handle = 0x13b92b0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; Object 1: handle = 0xcfef35000000000a, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; Object 2: handle = 0xf56c9b0000000004, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0xa159a763 | vkCmdBindDescriptorSets(): pDynamicOffsets[0] is 0x3c, but must be zero since the buffer descriptor's range is VK_WHOLE_SIZE in descriptorSet #0 binding #0 descriptor[0]. The Vulkan spec states: For each dynamic uniform or storage buffer binding in pDescriptorSets, the sum of the effective offset, as defined above, and the range of the binding must be less than or equal to the size of the buffer (https://vulkan.lunarg.com/doc/view/1.2.176.0/linux/1.2-extensions/vkspec.html#VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979)
The warning quotes this from the Vulkan specification: "For each dynamic uniform or storage buffer binding in pDescriptorSets, the sum of the effective offset, as defined above, and the range of the binding must be less than or equal to the size of the buffer".
However, this text from the VkDescriptorBufferInfo specification: "range is the size in bytes that is used for this descriptor update, or VK_WHOLE_SIZE to use the range from offset to the end of the buffer.", which specifically states that VK_WHOLE_SIZE is recalculated based on the offset, suggests that VK_WHOLE_SIZE should take the dynamic offset into consideration as well, and therefore, the specifications for vkCmdBindDescriptorSets() should be updated to state the VK_WHOLE_SIZE interactions that the specifications for VkDescriptorBufferInfo() describe.
The text was updated successfully, but these errors were encountered: