diff options
author | Bas Nieuwenhuizen <[email protected]> | 2019-04-10 01:42:31 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2019-04-15 20:39:38 +0200 |
commit | f6fdd39eabc61b973fcc84fce2ccc86493085917 (patch) | |
tree | 91876c4ce3413a61a5018f0e7545eeed69a20cf6 /src/amd/vulkan/winsys | |
parent | af9534b9f3f687f3603e621bf282f4c546240afa (diff) |
radv: Use local buffers for the global bo list.
Even if we don't use local buffers in general. Turns out that even
though the performance is not the best the kernel still does it
better than our own list.
We still have to keep the radv bo list for buffers that are shared
externally.
This improves Talos on lowest quality setting (so as CPU bound as
possible) by ~10% if the global bo list is enabled.
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd/vulkan/winsys')
-rw-r--r-- | src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c index 79958cdd7cb..568716aa90d 100644 --- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c +++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c @@ -368,7 +368,8 @@ radv_amdgpu_winsys_bo_create(struct radeon_winsys *_ws, if (!(flags & RADEON_FLAG_IMPLICIT_SYNC) && ws->info.drm_minor >= 22) request.flags |= AMDGPU_GEM_CREATE_EXPLICIT_SYNC; if (flags & RADEON_FLAG_NO_INTERPROCESS_SHARING && - ws->info.has_local_buffers && ws->use_local_bos) { + ws->info.has_local_buffers && + (ws->use_local_bos || (flags & RADEON_FLAG_PREFER_LOCAL_BO))) { bo->base.is_local = true; request.flags |= AMDGPU_GEM_CREATE_VM_ALWAYS_VALID; } |