vulkan: allow null descriptor set layouts in pipeline layouts
authorRicardo Garcia <rgarcia@igalia.com>
Wed, 20 Jul 2022 10:13:53 +0000 (12:13 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 20 Jul 2022 10:59:56 +0000 (10:59 +0000)
commit4058984b631fd2ac5c1dad13478c86f008ede507
treefac782ae959f4d7bf0c71928f8d7de30f5b42b3b
parentb54544852cc24c1817733188f5110ded8928e9ed
vulkan: allow null descriptor set layouts in pipeline layouts

VK_NULL_HANDLE descriptor set layouts are allowed when creating pipeline
layouts without VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT.

From VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753:

> If graphicsPipelineLibrary is not enabled, elements of pSetLayouts
> must be valid VkDescriptorSetLayout objects

From VUID-VkPipelineLayoutCreateInfo-pSetLayouts-parameter:

> If setLayoutCount is not 0, pSetLayouts must be a valid pointer to an
> array of setLayoutCount valid or VK_NULL_HANDLE VkDescriptorSetLayout
> handles

Signed-off-by: Ricardo Garcia <rgarcia@igalia.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17629>
src/vulkan/runtime/vk_pipeline_layout.c