From: Marek Olšák Date: Fri, 6 Dec 2019 02:29:32 +0000 (-0500) Subject: radeonsi: set is_monolithic for VS prologs when the shader is really monolithic X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=db67e51903521f03fc772761368266e2c2174f6b;p=mesa.git radeonsi: set is_monolithic for VS prologs when the shader is really monolithic This fixes a bug with NGG that is probably harmless. Basically, !is_monolithic makes the VS prolog emit llvm.amdgcn.init.exec.from.input, which sets the EXEC mask to only enable ES threads. In the NGG non-GS case, the GS threads <= ES threads, so it was never an issue. Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 03fc1bef2bf..4453976ef9b 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -6939,6 +6939,7 @@ int si_compile_tgsi_shader(struct si_screen *sscreen, shader->info.num_input_sgprs, &shader->key.part.vs.prolog, shader, &prolog_key); + prolog_key.vs_prolog.is_monolithic = true; si_build_vs_prolog_function(&ctx, &prolog_key); parts[0] = ctx.main_fn; }