Mesa (master): radeonsi: don't use cp_dma prefetch on GFX6

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Feb 8 15:24:23 UTC 2021


Module: Mesa
Branch: master
Commit: ac2bcb9e3ce3fbc7b8cff252252465a4a889fa2d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ac2bcb9e3ce3fbc7b8cff252252465a4a889fa2d

Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date:   Mon Feb  8 12:10:50 2021 +0100

radeonsi: don't use cp_dma prefetch on GFX6

It's not supported.

Fixes: 47587758f21 ("radeonsi: prefetch VB descriptors right after uploading")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4211
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8914>

---

 src/gallium/drivers/radeonsi/si_state_draw.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_draw.cpp b/src/gallium/drivers/radeonsi/si_state_draw.cpp
index 16a74214c3b..0259620ce69 100644
--- a/src/gallium/drivers/radeonsi/si_state_draw.cpp
+++ b/src/gallium/drivers/radeonsi/si_state_draw.cpp
@@ -1341,8 +1341,10 @@ static bool si_upload_and_prefetch_VB_descriptors(struct si_context *sctx)
          sctx->vb_descriptors_gpu_list = ptr;
          radeon_add_to_buffer_list(sctx, &sctx->gfx_cs, sctx->vb_descriptors_buffer,
                                    RADEON_USAGE_READ, RADEON_PRIO_DESCRIPTORS);
-         si_cp_dma_prefetch(sctx, &sctx->vb_descriptors_buffer->b.b, sctx->vb_descriptors_offset,
-                            alloc_size);
+         /* GFX6 doesn't support the L2 prefetch. */
+         if (GFX_VERSION >= GFX7)
+            si_cp_dma_prefetch(sctx, &sctx->vb_descriptors_buffer->b.b, sctx->vb_descriptors_offset,
+                               alloc_size);
       } else {
          si_resource_reference(&sctx->vb_descriptors_buffer, NULL);
       }



More information about the mesa-commit mailing list