KhronosGroup / KhronosGroup/Vulkan-Docs
clarification on VK_EXT_graphics_pipeline_library interaction with VkGraphicsPipelineCreateInfo.layout
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
When trying to link my graphics pipeline libraries into an executable pipeline I get the following validation error:
> Validation Error: [ VUID-VkGraphicsPipelineCreateInfo-None-07826 ] Object 0: handle = 0x14d507a15b0, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xd3855fbc | vkCreateGraphicsPipelines(): pCreateInfos[0] defines a complete set of state, but pCreateInfos[0].layout is not a valid VkPipelineLayout. The Vulkan spec states: If the pipeline includes a complete set of state, VkPipelineLayout must be a valid pipeline layout (https://vulkan.lunarg.com/doc/view/1.3.250.1/windows/1.3-extensions/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-None-07826)
However from the extension's proposal page, blog, video, and spec wording below, it seems that you can leave `VkGraphicsPipelineCreateInfo.layout` blank on linking. So I am confused on what I should be doing here.
> If different subsets are linked together with pipeline layouts created with VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT, the final effective pipeline layout is effectively the union of the linked pipeline layouts. ... This pipeline layout can be overridden ... by providing a VkPipelineLayout that is compatible with this union
Contributor guide
Assessment
This issue has not been assessed yet.