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