Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com> --- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index c94c0f339f..e7ad9d7f6b 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -605,11 +605,7 @@ static int radv_amdgpu_create_bo_list(struct radv_amdgpu_winsys *ws, pthread_mutex_lock(&ws->global_bo_list_lock); - handles = malloc(sizeof(handles[0]) * ws->num_buffers); - if (!handles) { - pthread_mutex_unlock(&ws->global_bo_list_lock); - return -ENOMEM; - } + handles = alloca(sizeof(handles[0]) * ws->num_buffers); LIST_FOR_EACH_ENTRY(bo, &ws->global_bo_list, global_list_item) { assert(num < ws->num_buffers); @@ -619,7 +615,7 @@ static int radv_amdgpu_create_bo_list(struct radv_amdgpu_winsys *ws, r = amdgpu_bo_list_create(ws->dev, ws->num_buffers, handles, NULL, bo_list); - free(handles); + pthread_mutex_unlock(&ws->global_bo_list_lock); } else if (count == 1 && !num_extra_bo && !extra_cs && !radv_bo_list && !radv_amdgpu_cs(cs_array[0])->num_virtual_buffers) { @@ -652,11 +648,7 @@ static int radv_amdgpu_create_bo_list(struct radv_amdgpu_winsys *ws, *bo_list = 0; return 0; } - amdgpu_bo_handle *handles = malloc(sizeof(amdgpu_bo_handle) * total_buffer_count); - if (!handles) { - free(handles); - return -ENOMEM; - } + amdgpu_bo_handle *handles = alloca(sizeof(amdgpu_bo_handle) * total_buffer_count); for (unsigned i = 0; i < num_extra_bo; i++) { handles[i] = extra_bo_array[i]->bo; @@ -735,8 +727,6 @@ static int radv_amdgpu_create_bo_list(struct radv_amdgpu_winsys *ws, } else { *bo_list = 0; } - - free(handles); } return r; -- 2.18.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev