Module: Mesa Branch: master Commit: b7cc5dc8537af32df4270b252e989252004e674a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7cc5dc8537af32df4270b252e989252004e674a
Author: Bas Nieuwenhuizen <[email protected]> Date: Tue Dec 8 00:09:29 2020 +0100 radv: Put commandbuffers in VRAM if all VRAM is CPU visible. Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7979> --- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c | 8 ++++---- src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c | 1 + src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h | 1 + 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c index 082c46482e6..69943533e39 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_cs.c @@ -323,7 +323,7 @@ radv_amdgpu_cs_create(struct radeon_winsys *ws, if (cs->ws->use_ib_bos) { cs->ib_buffer = ws->buffer_create(ws, ib_size, 0, - RADEON_DOMAIN_GTT, + cs->ws->cs_bo_domain, RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_READ_ONLY | @@ -450,7 +450,7 @@ static void radv_amdgpu_cs_grow(struct radeon_cmdbuf *_cs, size_t min_size) cs->old_ib_buffers[cs->num_old_ib_buffers++] = cs->ib_buffer; cs->ib_buffer = cs->ws->base.buffer_create(&cs->ws->base, ib_size, 0, - RADEON_DOMAIN_GTT, + cs->ws->cs_bo_domain, RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_READ_ONLY | @@ -1138,7 +1138,7 @@ radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx, } bos[j] = ws->buffer_create(ws, 4 * size, 4096, - RADEON_DOMAIN_GTT, + aws->cs_bo_domain, RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_READ_ONLY, @@ -1181,7 +1181,7 @@ radv_amdgpu_winsys_cs_submit_sysmem(struct radeon_winsys_ctx *_ctx, assert(cnt); bos[0] = ws->buffer_create(ws, 4 * size, 4096, - RADEON_DOMAIN_GTT, + aws->cs_bo_domain, RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_READ_ONLY, diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c index 9510d547f36..cbceefb7894 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.c @@ -203,6 +203,7 @@ radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags) ws->use_local_bos = perftest_flags & RADV_PERFTEST_LOCAL_BOS; ws->zero_all_vram_allocs = debug_flags & RADV_DEBUG_ZERO_VRAM; ws->use_llvm = debug_flags & RADV_DEBUG_LLVM; + ws->cs_bo_domain = radv_cmdbuffer_domain(&ws->info, perftest_flags); list_inithead(&ws->global_bo_list); u_rwlock_init(&ws->global_bo_list_lock); list_inithead(&ws->log_bo_list); diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h index c316602af15..55f932b879c 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h @@ -46,6 +46,7 @@ struct radv_amdgpu_winsys { bool debug_all_bos; bool debug_log_bos; bool use_ib_bos; + enum radeon_bo_domain cs_bo_domain; bool zero_all_vram_allocs; bool use_local_bos; bool use_llvm; _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
