radv/winsys: set use_global_list to avoid adding a BO twice
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 8 Feb 2021 12:20:47 +0000 (13:20 +0100)
committerMarge Bot <eric+marge@anholt.net>
Tue, 9 Feb 2021 10:03:47 +0000 (10:03 +0000)
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8868>

src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c

index 1f06272..a23be0f 100644 (file)
@@ -341,6 +341,7 @@ static int radv_amdgpu_global_bo_list_add(struct radv_amdgpu_winsys *ws,
 
        ws->global_bo_list.bos[ws->global_bo_list.count++] = bo;
        u_rwlock_wrunlock(&ws->global_bo_list.lock);
+       bo->base.use_global_list = true;
        return VK_SUCCESS;
 }
 
@@ -352,6 +353,7 @@ static void radv_amdgpu_global_bo_list_del(struct radv_amdgpu_winsys *ws,
                if (ws->global_bo_list.bos[i] == bo) {
                        ws->global_bo_list.bos[i] = ws->global_bo_list.bos[ws->global_bo_list.count - 1];
                        --ws->global_bo_list.count;
+                       bo->base.use_global_list = false;
                        break;
                }
        }