Mesa (main): radeonsi: clean up compute_wave_size use in si_compute_blit.c
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Nov 26 11:57:31 UTC 2021
Module: Mesa
Branch: main
Commit: 913e1b9138cd6d5b5bda02a2fdbba321aa6d65e0
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=913e1b9138cd6d5b5bda02a2fdbba321aa6d65e0
Author: Marek Olšák <marek.olsak at amd.com>
Date: Fri Nov 19 04:31:54 2021 -0500
radeonsi: clean up compute_wave_size use in si_compute_blit.c
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13878>
---
src/gallium/drivers/radeonsi/si_compute_blit.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_compute_blit.c b/src/gallium/drivers/radeonsi/si_compute_blit.c
index cfd1b8263cd..42f293fafca 100644
--- a/src/gallium/drivers/radeonsi/si_compute_blit.c
+++ b/src/gallium/drivers/radeonsi/si_compute_blit.c
@@ -220,14 +220,14 @@ void si_compute_clear_buffer_rmw(struct si_context *sctx, struct pipe_resource *
/* Use buffer_load_dwordx4 and buffer_store_dwordx4 per thread. */
unsigned dwords_per_instruction = 4;
- unsigned wave_size = sctx->screen->compute_wave_size;
- unsigned dwords_per_wave = dwords_per_instruction * wave_size;
+ unsigned block_size = 64; /* it's always 64x1x1 */
+ unsigned dwords_per_wave = dwords_per_instruction * block_size;
unsigned num_dwords = size / 4;
unsigned num_instructions = DIV_ROUND_UP(num_dwords, dwords_per_instruction);
struct pipe_grid_info info = {};
- info.block[0] = MIN2(wave_size, num_instructions);
+ info.block[0] = MIN2(block_size, num_instructions);
info.block[1] = 1;
info.block[2] = 1;
info.grid[0] = DIV_ROUND_UP(num_dwords, dwords_per_wave);
@@ -305,14 +305,14 @@ static void si_compute_do_clear_or_copy(struct si_context *sctx, struct pipe_res
src ? SI_COMPUTE_COPY_DW_PER_THREAD : SI_COMPUTE_CLEAR_DW_PER_THREAD;
unsigned instructions_per_thread = MAX2(1, dwords_per_thread / 4);
unsigned dwords_per_instruction = dwords_per_thread / instructions_per_thread;
- unsigned wave_size = sctx->screen->compute_wave_size;
- unsigned dwords_per_wave = dwords_per_thread * wave_size;
+ unsigned block_size = sctx->screen->compute_wave_size;
+ unsigned dwords_per_wave = dwords_per_thread * block_size;
unsigned num_dwords = size / 4;
unsigned num_instructions = DIV_ROUND_UP(num_dwords, dwords_per_instruction);
struct pipe_grid_info info = {};
- info.block[0] = MIN2(wave_size, num_instructions);
+ info.block[0] = MIN2(block_size, num_instructions);
info.block[1] = 1;
info.block[2] = 1;
info.grid[0] = DIV_ROUND_UP(num_dwords, dwords_per_wave);
More information about the mesa-commit
mailing list