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 <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3095>
This commit is contained in:
Marek Olšák 2019-12-05 21:29:32 -05:00 committed by Marge Bot
parent 451bc91158
commit db67e51903

View file

@ -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;
}