summaryrefslogtreecommitdiffstats
path: root/src/vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'src/vulkan')
-rw-r--r--src/vulkan/anv_device.c19
-rw-r--r--src/vulkan/anv_meta.c3
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[]) {