From f0492a6efb00f1182e644f5c4f6d36cf87c912af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Fri, 25 Nov 2022 11:59:29 +0100 Subject: [PATCH] radv: Return correct error code when failed to allocate CS array. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Timur Kristóf Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/vulkan/radv_device.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 9dc2dd76351..6dbdd93b2de 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -5562,9 +5562,6 @@ radv_queue_submit_normal(struct radv_queue *queue, struct vk_queue_submit *submi if (result != VK_SUCCESS) return result; - if (queue->device->trace_bo) - simple_mtx_lock(&queue->device->trace_mtx); - const unsigned num_perfctr_cs = use_perf_counters ? 2 : 0; const unsigned max_cs_submission = queue->device->trace_bo ? 1 : RADV_MAX_IBS_PER_SUBMIT; const unsigned cs_offset = use_perf_counters ? 1 : 0; @@ -5572,7 +5569,10 @@ radv_queue_submit_normal(struct radv_queue *queue, struct vk_queue_submit *submi struct radeon_cmdbuf **cs_array = malloc(sizeof(struct radeon_cmdbuf *) * cmd_buffer_count); if (!cs_array) - goto fail; + return VK_ERROR_OUT_OF_HOST_MEMORY; + + if (queue->device->trace_bo) + simple_mtx_lock(&queue->device->trace_mtx); for (uint32_t j = 0; j < submission->command_buffer_count; j++) { struct radv_cmd_buffer *cmd_buffer = (struct radv_cmd_buffer *)submission->command_buffers[j];