Mesa (staging/20.3): radeonsi: properly set SPI_SHADER_PGM_HI_ES
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Mar 11 22:01:33 UTC 2021
Module: Mesa
Branch: staging/20.3
Commit: 5ad7edf8af3345f957fc839917ff282c9709f05b
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ad7edf8af3345f957fc839917ff282c9709f05b
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Date: Tue Feb 23 11:08:20 2021 +0100
radeonsi: properly set SPI_SHADER_PGM_HI_ES
When not using S_00B324_MEM_BASE the value isn't properly truncated.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9277>
(cherry picked from commit 0e97d817f520653548f1dee1db28bd2d92d28027)
---
.pick_status.json | 2 +-
src/gallium/drivers/radeonsi/si_state_shaders.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.pick_status.json b/.pick_status.json
index f943ac5d963..f632aefddbc 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -2038,7 +2038,7 @@
"description": "radeonsi: properly set SPI_SHADER_PGM_HI_ES",
"nominated": true,
"nomination_type": 0,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": null
},
diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c b/src/gallium/drivers/radeonsi/si_state_shaders.c
index 8370ed7db10..4ae05720b1d 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -1142,7 +1142,7 @@ static void gfx10_shader_ngg(struct si_screen *sscreen, struct si_shader *shader
unsigned wave_size = si_get_shader_wave_size(shader);
si_pm4_set_reg(pm4, R_00B320_SPI_SHADER_PGM_LO_ES, va >> 8);
- si_pm4_set_reg(pm4, R_00B324_SPI_SHADER_PGM_HI_ES, va >> 40);
+ si_pm4_set_reg(pm4, R_00B324_SPI_SHADER_PGM_HI_ES, S_00B324_MEM_BASE(va >> 40));
si_pm4_set_reg(
pm4, R_00B228_SPI_SHADER_PGM_RSRC1_GS,
S_00B228_VGPRS((shader->config.num_vgprs - 1) / (wave_size == 32 ? 8 : 4)) |
More information about the mesa-commit
mailing list