diff --git a/src/amd/vulkan/radv_radeon_winsys.h b/src/amd/vulkan/radv_radeon_winsys.h index 2e79b71bea4..2350efaafb3 100644 --- a/src/amd/vulkan/radv_radeon_winsys.h +++ b/src/amd/vulkan/radv_radeon_winsys.h @@ -165,6 +165,7 @@ struct radeon_winsys_bo { uint64_t va; bool is_local; bool vram_no_cpu_access; + enum radeon_bo_domain initial_domain; }; struct radv_winsys_sem_counts { uint32_t syncobj_count; diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c index 1928108e1e7..9c60c01d86a 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c @@ -345,7 +345,7 @@ static void radv_amdgpu_winsys_bo_destroy(struct radeon_winsys_bo *_bo) amdgpu_bo_free(bo->bo); } - if (bo->initial_domain & RADEON_DOMAIN_VRAM) { + if (bo->base.initial_domain & RADEON_DOMAIN_VRAM) { if (bo->base.vram_no_cpu_access) { p_atomic_add(&ws->allocated_vram, -align64(bo->size, ws->info.gart_page_size)); @@ -355,7 +355,7 @@ static void radv_amdgpu_winsys_bo_destroy(struct radeon_winsys_bo *_bo) } } - if (bo->initial_domain & RADEON_DOMAIN_GTT) + if (bo->base.initial_domain & RADEON_DOMAIN_GTT) p_atomic_add(&ws->allocated_gtt, -align64(bo->size, ws->info.gart_page_size)); @@ -495,7 +495,7 @@ radv_amdgpu_winsys_bo_create(struct radeon_winsys *_ws, goto error_va_map; bo->bo = buf_handle; - bo->initial_domain = initial_domain; + bo->base.initial_domain = initial_domain; bo->is_shared = false; bo->priority = priority; @@ -624,7 +624,7 @@ radv_amdgpu_winsys_bo_from_ptr(struct radeon_winsys *_ws, bo->ref_count = 1; bo->ws = ws; bo->bo = buf_handle; - bo->initial_domain = RADEON_DOMAIN_GTT; + bo->base.initial_domain = RADEON_DOMAIN_GTT; bo->priority = priority; ASSERTED int r = amdgpu_bo_export(buf_handle, amdgpu_bo_handle_type_kms, &bo->bo_handle); @@ -698,7 +698,7 @@ radv_amdgpu_winsys_bo_from_fd(struct radeon_winsys *_ws, bo->bo = result.buf_handle; bo->base.va = va; bo->va_handle = va_handle; - bo->initial_domain = initial; + bo->base.initial_domain = initial; bo->size = result.alloc_size; bo->is_shared = true; bo->ws = ws; @@ -708,10 +708,10 @@ radv_amdgpu_winsys_bo_from_fd(struct radeon_winsys *_ws, r = amdgpu_bo_export(result.buf_handle, amdgpu_bo_handle_type_kms, &bo->bo_handle); assert(!r); - if (bo->initial_domain & RADEON_DOMAIN_VRAM) + if (bo->base.initial_domain & RADEON_DOMAIN_VRAM) p_atomic_add(&ws->allocated_vram, align64(bo->size, ws->info.gart_page_size)); - if (bo->initial_domain & RADEON_DOMAIN_GTT) + if (bo->base.initial_domain & RADEON_DOMAIN_GTT) p_atomic_add(&ws->allocated_gtt, align64(bo->size, ws->info.gart_page_size)); diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.h b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.h index ad86e03ee00..0cced22bc56 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.h +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.h @@ -52,7 +52,6 @@ struct radv_amdgpu_winsys_bo { /* physical bo */ struct { amdgpu_bo_handle bo; - enum radeon_bo_domain initial_domain; bool is_shared; uint32_t bo_handle; struct list_head global_list_item;