diff options
author | Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> | 2021-02-08 12:10:50 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-02-08 15:03:25 +0000 |
commit | ac2bcb9e3ce3fbc7b8cff252252465a4a889fa2d (patch) | |
tree | 9b973e0037ef9b623a20e6f69f2573dc088d765d | |
parent | 568a66825912d17d5a1a7f9a0dea188c079c51fc (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.cpp | 6 |
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); } |