summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/winsys
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-09-06 20:40:57 -0700
committerDave Airlie <[email protected]>2017-09-07 21:04:54 +0100
commite8d57802fea60d4b353761ba1bdb08545733c007 (patch)
treedd9e217b204d03b3d814a65f5d5fa9d0e947303f /src/amd/vulkan/winsys
parent76ac8fafadca86941f2723f7f7176b22112f5c0c (diff)
radv/gfx9: allocate events from uncached VA space
This copies what amdgpu-pro does, and allocates the memory for an event with an uncached mtype. This fixes hangs with: dEQP-VK.api.command_buffers.record_simul_use_primary Reviewed-by: Bas Nieuwenhuizen <[email protected]> Cc: "17.2" <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/winsys')
-rw-r--r--src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c6
1 files changed, 5 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 95290a468e7..325f8752874 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
@@ -340,7 +340,11 @@ radv_amdgpu_winsys_bo_create(struct radeon_winsys *_ws,
goto error_bo_alloc;
}
- r = radv_amdgpu_bo_va_op(ws->dev, buf_handle, 0, size, va, 0, AMDGPU_VA_OP_MAP);
+
+ uint32_t va_flags = 0;
+ if (flags & RADEON_FLAG_VA_UNCACHED)
+ va_flags |= AMDGPU_VM_MTYPE_UC;
+ r = radv_amdgpu_bo_va_op(ws->dev, buf_handle, 0, size, va, flags, AMDGPU_VA_OP_MAP);
if (r)
goto error_va_map;