From f41f07f685e7f585e433b5fd1fadf602e74f0f1e Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Tue, 7 Apr 2015 15:05:12 -0700 Subject: [PATCH] i965: Move lower_output_reads to brw_link_shader(). This makes it so emit_nir_code() doesn't modify the GLSL IR. Signed-off-by: Kenneth Graunke Reviewed-by: Jason Ekstrand Reviewed-by: Ian Romanick --- src/mesa/drivers/dri/i965/brw_fs_nir.cpp | 1 - src/mesa/drivers/dri/i965/brw_shader.cpp | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp index c179d71..6bb52eb 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_nir.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_nir.cpp @@ -90,7 +90,6 @@ fs_visitor::emit_nir_code() nir_shader *nir; /* First, lower the GLSL IR or Mesa IR to NIR */ if (shader_prog) { - lower_output_reads(shader->base.ir); nir = glsl_to_nir(&shader->base, options); } else { nir = prog_to_nir(prog, options); diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index bf9aceb..8700077 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -199,6 +199,9 @@ process_glsl_ir(struct brw_context *brw, options, ctx->Const.NativeIntegers) || progress; } while (progress); + if (options->NirOptions != NULL) + lower_output_reads(shader->ir); + validate_ir_tree(shader->ir); /* Now that we've finished altering the linked IR, reparent any live IR back -- 2.7.4