diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c index c8ad1b07508..171971927dc 100644 --- a/src/intel/vulkan/anv_descriptor_set.c +++ b/src/intel/vulkan/anv_descriptor_set.c @@ -416,6 +416,7 @@ VkResult anv_CreateDescriptorSetLayout( set_layout->ref_cnt = 1; set_layout->binding_count = num_bindings; + set_layout->flags = pCreateInfo->flags; for (uint32_t b = 0; b < num_bindings; b++) { /* Initialize all binding_layout entries to -1 */ @@ -717,6 +718,7 @@ static void sha1_update_descriptor_set_layout(struct mesa_sha1 *ctx, const struct anv_descriptor_set_layout *layout) { + SHA1_UPDATE_VALUE(ctx, layout->flags); SHA1_UPDATE_VALUE(ctx, layout->binding_count); SHA1_UPDATE_VALUE(ctx, layout->descriptor_count); SHA1_UPDATE_VALUE(ctx, layout->shader_stages); diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index b3a24bd3c51..5ec82458c41 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1708,6 +1708,8 @@ bool anv_descriptor_requires_bindless(const struct anv_physical_device *pdevice, struct anv_descriptor_set_layout { struct vk_object_base base; + VkDescriptorSetLayoutCreateFlags flags; + /* Descriptor set layouts can be destroyed at almost any time */ uint32_t ref_cnt;