In my environment (Win11, VS 2022), 22_descriptor_layout fails to run, calling the debugCallback with the following error:
vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 0, Binding 0, variable "ubo"] but the binding was not declared in the VkPipelineLayoutCreateInfo::pSetLayouts[0].
Possible VkDescriptorType that could be used are: VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK or VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER.
The Vulkan spec states: If a resource variable is declared in a shader and layout is not VK_NULL_HANDLE, the corresponding descriptor set in layout must match the shader stage (https://docs.vulkan.org/spec/latest/chapters/pipelines.html#VUID-VkGraphicsPipelineCreateInfo-layout-07988)
Subsequently, it crashes with an Access violation reading location 0x0000000000000028 in drawIndexed.
Is that the expected behaviour? The corresponding docu 00_Descriptor_set_layout_and_buffer.adoc does not mention it.
Should that be fixed, even though it might need some parts introduced with 23_descriptor_sets?
Or should we just use the 19_shader_vertexbuffer again, instead of the 22_shader_ubo?
In my environment (Win11, VS 2022), 22_descriptor_layout fails to run, calling the
debugCallbackwith the following error:Subsequently, it crashes with an
Access violation reading location 0x0000000000000028indrawIndexed.Is that the expected behaviour? The corresponding docu
00_Descriptor_set_layout_and_buffer.adocdoes not mention it.Should that be fixed, even though it might need some parts introduced with 23_descriptor_sets?
Or should we just use the 19_shader_vertexbuffer again, instead of the 22_shader_ubo?