Mesa (master): Revert "glsl: don' t try to lower non-gl builtins as if they were gl_FragData"

Marek Olšák mareko at kemper.freedesktop.org
Mon Aug 8 21:24:31 UTC 2016


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Aug  8 22:05:29 2016 +0200

Revert "glsl: don't try to lower non-gl builtins as if they were gl_FragData"

This reverts commit a37e46323c7e18bec4160f2f66847c10b7041dc1.

It broke the game Overlord such that it hung a GCN GNU. While I don't know
how the hang happened because of its randomness and gfx corruption precedes
it, many of the shaders contain this:

out vec4 FragData[gl_MaxDrawBuffers];

---

 src/compiler/glsl/opt_dead_builtin_varyings.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/compiler/glsl/opt_dead_builtin_varyings.cpp b/src/compiler/glsl/opt_dead_builtin_varyings.cpp
index 900a096..33648d7 100644
--- a/src/compiler/glsl/opt_dead_builtin_varyings.cpp
+++ b/src/compiler/glsl/opt_dead_builtin_varyings.cpp
@@ -85,8 +85,7 @@ public:
    {
       ir_variable *var = ir->variable_referenced();
 
-      if (!var || var->data.mode != this->mode || !var->type->is_array() ||
-          !is_gl_identifier(var->name))
+      if (!var || var->data.mode != this->mode || !var->type->is_array())
          return visit_continue;
 
       /* Only match gl_FragData[], not gl_SecondaryFragDataEXT[] */




More information about the mesa-commit mailing list