From ce161ce4632992f2ebab307637f8ee0d2fc46dc0 Mon Sep 17 00:00:00 2001 From: Qiang Yu Date: Thu, 18 May 2023 20:15:17 +0800 Subject: [PATCH] radeonsi: fix uses_instanceid for merged mono shader stage MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit prev_shader.info.uses_instanceid is set by si_nir_lower_vs_inputs() when attribute divisor is used. Fixes: 894d92995cd ("radeonsi: monolithic VS emit prolog in nir directly") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9042 Reviewed-by: Marek Olšák Signed-off-by: Qiang Yu Part-of: --- src/gallium/drivers/radeonsi/si_shader_llvm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_shader_llvm.c b/src/gallium/drivers/radeonsi/si_shader_llvm.c index ad5663e..eac314e 100644 --- a/src/gallium/drivers/radeonsi/si_shader_llvm.c +++ b/src/gallium/drivers/radeonsi/si_shader_llvm.c @@ -1125,7 +1125,10 @@ bool si_llvm_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler * si_llvm_dispose(&ctx); return false; } - shader->info.uses_instanceid |= prev_shader.selector->info.uses_instanceid; + + shader->info.uses_instanceid |= + prev_shader.selector->info.uses_instanceid || prev_shader.info.uses_instanceid; + parts[0] = ctx.main_fn; /* Preserve main arguments. */ -- 2.7.4