diff options
Diffstat (limited to 'src/vulkan')
-rw-r--r-- | src/vulkan/anv_device.c | 19 | ||||
-rw-r--r-- | src/vulkan/anv_meta.c | 3 |
2 files changed, 10 insertions, 12 deletions
diff --git a/src/vulkan/anv_device.c b/src/vulkan/anv_device.c index f92b5fbf21b..3ab91726024 100644 --- a/src/vulkan/anv_device.c +++ b/src/vulkan/anv_device.c @@ -1652,29 +1652,28 @@ VkResult anv_AllocDescriptorSets( VkDescriptorSetUsage setUsage, uint32_t count, const VkDescriptorSetLayout* pSetLayouts, - VkDescriptorSet* pDescriptorSets, - uint32_t* pCount) + VkDescriptorSet* pDescriptorSets) { ANV_FROM_HANDLE(anv_device, device, _device); - VkResult result; + VkResult result = VK_SUCCESS; struct anv_descriptor_set *set; + uint32_t i; - for (uint32_t i = 0; i < count; i++) { + for (i = 0; i < count; i++) { ANV_FROM_HANDLE(anv_descriptor_set_layout, layout, pSetLayouts[i]); result = anv_descriptor_set_create(device, layout, &set); - if (result != VK_SUCCESS) { - *pCount = i; - return result; - } + if (result != VK_SUCCESS) + break; pDescriptorSets[i] = anv_descriptor_set_to_handle(set); } - *pCount = count; + if (result != VK_SUCCESS) + anv_FreeDescriptorSets(_device, descriptorPool, i, pDescriptorSets); - return VK_SUCCESS; + return result; } VkResult anv_FreeDescriptorSets( diff --git a/src/vulkan/anv_meta.c b/src/vulkan/anv_meta.c index 77c47dac247..0fb4c50adba 100644 --- a/src/vulkan/anv_meta.c +++ b/src/vulkan/anv_meta.c @@ -806,11 +806,10 @@ meta_emit_blit(struct anv_cmd_buffer *cmd_buffer, sizeof(struct vue_header), }); - uint32_t count; VkDescriptorSet set; anv_AllocDescriptorSets(anv_device_to_handle(device), dummy_desc_pool, VK_DESCRIPTOR_SET_USAGE_ONE_SHOT, - 1, &device->meta_state.blit.ds_layout, &set, &count); + 1, &device->meta_state.blit.ds_layout, &set); anv_UpdateDescriptorSets(anv_device_to_handle(device), 1, /* writeCount */ (VkWriteDescriptorSet[]) { |