Mesa (master): i965: Move lower_output_reads to brw_link_shader().

Kenneth Graunke kwg at kemper.freedesktop.org
Sat Apr 11 19:39:54 UTC 2015


Module: Mesa
Branch: master
Commit: f41f07f685e7f585e433b5fd1fadf602e74f0f1e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f41f07f685e7f585e433b5fd1fadf602e74f0f1e

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Apr  7 15:05:12 2015 -0700

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 <kenneth at whitecape.org>
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 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




More information about the mesa-commit mailing list