Module: Mesa
Branch: main
Commit: 8cbd52f0015a13eefefd8e40b826485139c605fd
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8cbd52f0015a13eefefd8e40b826485139c605fd

Author: Qiang Yu <[email protected]>
Date:   Tue Aug 29 15:41:38 2023 +0800

radeonsi: add vs prolog args needed by aco ls vgpr fix

Reviewed-by: Marek Olšák <[email protected]>
Signed-off-by: Qiang Yu <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25632>

---

 src/gallium/drivers/radeonsi/si_shader.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c 
b/src/gallium/drivers/radeonsi/si_shader.c
index 65cd51325fa..aaca2c4c1ea 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -3647,8 +3647,15 @@ void si_get_vs_prolog_args(enum amd_gfx_level gfx_level,
    args->ac.vertex_id = input_vgprs[vertex_id_vgpr];
    args->ac.instance_id = input_vgprs[instance_id_vgpr];
 
-   if (key->vs_prolog.as_ls && gfx_level < GFX11)
-      args->ac.vs_rel_patch_id = input_vgprs[first_vs_vgpr + 1];
+   if (key->vs_prolog.as_ls) {
+      if (gfx_level < GFX11)
+         args->ac.vs_rel_patch_id = input_vgprs[first_vs_vgpr + 1];
+
+      if (gfx_level >= GFX9) {
+         args->ac.tcs_patch_id = input_vgprs[0];
+         args->ac.tcs_rel_ids = input_vgprs[1];
+      }
+   }
 
    unsigned user_sgpr_base = key->vs_prolog.num_merged_next_stage_vgprs ? 8 : 
0;
    args->internal_bindings = input_sgprs[user_sgpr_base + 
SI_SGPR_INTERNAL_BINDINGS];

Reply via email to