mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-06 05:40:30 +01:00
nir: move callsite of lower_outputs_to_temporaries
Going to convert this pass to parameterized lower_io_to_temporaries, and we want the user to be able to specify whether to lower outputs or inputs or both. The restriction of running this pass before validate to avoid output reads no longer applies. Signed-off-by: Rob Clark <robclark@freedesktop.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
5261947260
commit
47fcef9a20
3 changed files with 1 additions and 6 deletions
|
|
@ -143,8 +143,6 @@ glsl_to_nir(const struct gl_shader_program *shader_prog,
|
|||
v2.run(sh->ir);
|
||||
visit_exec_list(sh->ir, &v1);
|
||||
|
||||
nir_lower_outputs_to_temporaries(shader, nir_shader_get_entrypoint(shader));
|
||||
|
||||
shader->info.name = ralloc_asprintf(shader, "GLSL%d", shader_prog->Name);
|
||||
if (shader_prog->Label)
|
||||
shader->info.label = ralloc_strdup(shader, shader_prog->Label);
|
||||
|
|
|
|||
|
|
@ -25,10 +25,6 @@
|
|||
* Implements a pass that lowers output variables to a temporary plus an
|
||||
* output variable with a single copy at each exit point of the shader.
|
||||
* This way the output variable is only ever written.
|
||||
*
|
||||
* Because valid NIR requires that output variables are never read, this
|
||||
* pass is more of a helper for NIR producers and must be run before the
|
||||
* shader is ever validated.
|
||||
*/
|
||||
|
||||
#include "nir.h"
|
||||
|
|
|
|||
|
|
@ -563,6 +563,7 @@ brw_create_nir(struct brw_context *brw,
|
|||
/* First, lower the GLSL IR or Mesa IR to NIR */
|
||||
if (shader_prog) {
|
||||
nir = glsl_to_nir(shader_prog, stage, options);
|
||||
OPT_V(nir_lower_outputs_to_temporaries, nir_shader_get_entrypoint(nir));
|
||||
} else {
|
||||
nir = prog_to_nir(prog, options);
|
||||
OPT_V(nir_convert_to_ssa); /* turn registers into SSA */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue