Mesa (master): glsl: Don' t consider read-only fragment outputs to be written to.

Francisco Jerez currojerez at kemper.freedesktop.org
Wed Aug 24 20:31:43 UTC 2016


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

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Tue Jul 19 20:29:55 2016 -0700

glsl: Don't consider read-only fragment outputs to be written to.

Since they cannot be written.  This prevents adding fragment outputs
to the OutputsWritten set that are only read from via the
gl_LastFragData array but never written to.

Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

---

 src/compiler/glsl/ir_set_program_inouts.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ir_set_program_inouts.cpp b/src/compiler/glsl/ir_set_program_inouts.cpp
index 060bea8..a6475b5 100644
--- a/src/compiler/glsl/ir_set_program_inouts.cpp
+++ b/src/compiler/glsl/ir_set_program_inouts.cpp
@@ -137,7 +137,7 @@ mark(struct gl_program *prog, ir_variable *var, int offset, int len,
          assert(var->data.mode == ir_var_shader_out);
          if (is_patch_generic)
             prog->PatchOutputsWritten |= bitfield;
-         else
+         else if (!var->data.read_only)
             prog->OutputsWritten |= bitfield;
       }
    }




More information about the mesa-commit mailing list