From d0c52ff610421e8b27d534968d1b1d8c03c73da9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Samuel=20Iglesias=20Gons=C3=A1lvez?= Date: Tue, 11 Jun 2019 10:44:47 +0200 Subject: [PATCH] anv: ignore inline uniform blocks in anv_CmdPushDescriptorSetKHR() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit According to the Vulkan spec, inline uniform blocks are not allowed to be updated through vkCmdPushDescriptorSetKHR(). These are the spec quotes from "13.2.1. Descriptor Set Layout" that are relevant for this case: "VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR specifies that descriptor sets must not be allocated using this layout, and descriptors are instead pushed by vkCmdPushDescriptorSetKHR." "If flags contains VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR, then all elements of pBindings must not have a descriptorType of VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT". There is no explicit mention in vkCmdPushDescriptorSetKHR() to forbid this case but it is implied in the creation of the descriptor set layout as aforementioned. Signed-off-by: Samuel Iglesias Gonsálvez Reviewed-by: Jason Ekstrand --- src/intel/vulkan/anv_cmd_buffer.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index b0ce00f..3c020a1 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -1081,19 +1081,6 @@ void anv_CmdPushDescriptorSetKHR( } break; - case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT: { - const VkWriteDescriptorSetInlineUniformBlockEXT *inline_write = - vk_find_struct_const(write->pNext, - WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT); - assert(inline_write->dataSize == write->descriptorCount); - anv_descriptor_set_write_inline_uniform_data(cmd_buffer->device, set, - write->dstBinding, - inline_write->pData, - write->dstArrayElement, - inline_write->dataSize); - break; - } - default: break; } -- 2.7.4