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];
