Mesa (main): radv: use RADEON_FLAG_VA_UNCACHED for the trace BO

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jun 27 08:59:59 UTC 2022


Module: Mesa
Branch: main
Commit: 915bc6a179e3844afea05b4c5888601d88a859fc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=915bc6a179e3844afea05b4c5888601d88a859fc

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed Jun 22 09:38:24 2022 +0200

radv: use RADEON_FLAG_VA_UNCACHED for the trace BO

Figured this while debugging a GPU hang with a simple CTS test. This
is to make sure data written by the CP are coherent on the CPU.

This also explains spurious GPU hang reports generated for Hitman 3
that made no sense without it. Now it's clear that this game hangs
after a DRAW_INDEX_INDIRECT packet.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17183>

---

 src/amd/vulkan/radv_debug.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_debug.c b/src/amd/vulkan/radv_debug.c
index d20238f22bc..cf44269314b 100644
--- a/src/amd/vulkan/radv_debug.c
+++ b/src/amd/vulkan/radv_debug.c
@@ -71,8 +71,8 @@ radv_init_trace(struct radv_device *device)
 
    result = ws->buffer_create(
       ws, TRACE_BO_SIZE, 8, RADEON_DOMAIN_VRAM,
-      RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_ZERO_VRAM,
-      RADV_BO_PRIORITY_UPLOAD_BUFFER, 0, &device->trace_bo);
+      RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING | RADEON_FLAG_ZERO_VRAM |
+      RADEON_FLAG_VA_UNCACHED, RADV_BO_PRIORITY_UPLOAD_BUFFER, 0, &device->trace_bo);
    if (result != VK_SUCCESS)
       return false;
 



More information about the mesa-commit mailing list