KhronosGroup / KhronosGroup/Vulkan-Docs

clarification on VK_EXT_graphics_pipeline_library interaction with VkGraphicsPipelineCreateInfo.layout

Open
#2,168 4 comments 0 reactions 1 assignee Claimed by @spencer-lunarg View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.