Skip to content

[TEST] invalid recycling of descriptor sets in DescriptorPool - #221

Closed
siystar wants to merge 1 commit into
vsg-dev:masterfrom
siystar:descriptorpool
Closed

[TEST] invalid recycling of descriptor sets in DescriptorPool#221
siystar wants to merge 1 commit into
vsg-dev:masterfrom
siystar:descriptorpool

Conversation

@siystar

@siystar siystar commented Apr 25, 2023

Copy link
Copy Markdown

Modified vsgheadless example to demonstrate one of several failure mechanisms of the DescriptorPool's recyclingList

@robertosfield

Copy link
Copy Markdown
Collaborator

Thanks for creating the test case for reproducing the problem. I'm currently busy completing some client work, once that's complete I'll test things out and review the PR to the VSG as well. My aim is to get to testing this issue out tomorrow.

@robertosfield

Copy link
Copy Markdown
Collaborator

I have merged the changes with the branch:

https://github.com/vsg-dev/vsgExamples/tree/siystar-descriptorpool

I will now begin testing.

@robertosfield

Copy link
Copy Markdown
Collaborator

When running the test I get with Vulkan debug layer on I get the following errors (I presume this is what you also see):

$ vsgheadless models/teapot.vsgt -d
invalid_recycle->compile(*context)
VUID-VkWriteDescriptorSet-descriptorType-00319(ERROR / SPEC): msgNum: -405619238 - Validation Error: [ VUID-VkWriteDescriptorSet-descriptorType-00319 ] Object 0: handle = 0xc000000000c, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xe7d2bdda | vkUpdateDescriptorSets() failed write update validation for VkDescriptorSet 0xc000000000c[] with error: Attempting write update to VkDescriptorSet VkDescriptorSet 0xc000000000c[] allocated with VkDescriptorSetLayout VkDescriptorSetLayout 0x10000000001[] binding #1 with type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER but update type is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER. The Vulkan spec states: descriptorType must match the type of dstBinding within dstSet (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkWriteDescriptorSet-descriptorType-00319)
Objects: 1
[0] 0xc000000000c, type: 23, name: NULL
VUID-VkWriteDescriptorSet-descriptorType-00319(ERROR / SPEC): msgNum: -405619238 - Validation Error: [ VUID-VkWriteDescriptorSet-descriptorType-00319 ] Object 0: handle = 0xc000000000c, type = VK_OBJECT_TYPE_DESCRIPTOR_SET; | MessageID = 0xe7d2bdda | vkUpdateDescriptorSets() failed write update validation for VkDescriptorSet 0xc000000000c[] with error: Attempting write update to VkDescriptorSet VkDescriptorSet 0xc000000000c[] allocated with VkDescriptorSetLayout VkDescriptorSetLayout 0x10000000001[] binding #0 with type VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER but update type is VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER. The Vulkan spec states: descriptorType must match the type of dstBinding within dstSet (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkWriteDescriptorSet-descriptorType-00319)
Objects: 1
[0] 0xc000000000c, type: 23, name: NULL
Segmentation fault (core dumped)

@robertosfield

Copy link
Copy Markdown
Collaborator

Fixes to VSG master is now merged so I'll close this PR.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants