Skip to content
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

Vulkan Descriptor Sets broken since 3.1.0 #255

Closed
skalarproduktraum opened this issue Nov 30, 2016 · 1 comment
Closed

Vulkan Descriptor Sets broken since 3.1.0 #255

skalarproduktraum opened this issue Nov 30, 2016 · 1 comment

Comments

@skalarproduktraum
Copy link

skalarproduktraum commented Nov 30, 2016

Hello,

I wanted to move my projects from 3.0.1-SNAPSHOT to 3.1.0/3.1.1-SNAPSHOT today, but it seems that descriptor set updates have been broken along the way:

ERROR OCCURED: vkUpdateDescriptorsSets() failed write update validation for Descriptor Set 0xb with
error: Attempting write update to descriptor set 000000000000000B binding #0 with 0 total descriptors but update of 1 descriptors starting at binding offset of 0 combined with update array element offset of 
0 oversteps the size of this descriptor set.. For more information refer to Vulkan Spec Section '13.2.4. 
Descriptor Set Updates' which states 'The sum of dstArrayElement and descriptorCount must be less 
than or equal to the number of array elements in the descriptor set binding specified by dstBinding, and 
all applicable consecutive bindings, as described by consecutive binding updates' 
(https://www.khronos.org/registry/vulkan/specs/1.0-extensions/xhtml/vkspec.html#descriptorsets-updates-consecutive)

I verified the problem with lwjgl/lwjgl3-demos, there, all demos that actually make use of descriptor sets (all except TriangleDemo and ClearScreenDemo) produce the same error when validations are enabled.

As far as I understand so far, it looks like as descriptorCount in VkDescriptorSetLayoutBinding gets ignored and set to zero. This struct is then used in vkCreateDescriptorSetLayouts and leads to the error above, with the statement of binding #0 with 0 total descriptors. 0 total descriptors there seem very fishy.

I have only tested this on Windows 10, Nvidia driver version 376.36.0, Vulkan API 1.0.24 and 1.0.33 Validation Layers so far. Happy to test it on further machines if needed.

@Spasi
Copy link
Member

Spasi commented Nov 30, 2016

Thank you for the detailed report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants