summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>2021-02-08 12:10:50 +0100
committerMarge Bot <eric+marge@anholt.net>2021-02-08 15:03:25 +0000
commitac2bcb9e3ce3fbc7b8cff252252465a4a889fa2d (patch)
tree9b973e0037ef9b623a20e6f69f2573dc088d765d
parent568a66825912d17d5a1a7f9a0dea188c079c51fc (diff)
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@basnieuwenhuizen.nl> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8914>
-rw-r--r--src/gallium/drivers/radeonsi/si_state_draw.cpp6
1 files 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);
}