From 8cbd52f0015a13eefefd8e40b826485139c605fd Mon Sep 17 00:00:00 2001 From: Qiang Yu Date: Tue, 29 Aug 2023 15:41:38 +0800 Subject: [PATCH] radeonsi: add vs prolog args needed by aco ls vgpr fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Marek Olšák Signed-off-by: Qiang Yu Part-of: --- 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];