Mesa (master): glsl: do not raise unitialized variable warnings on builtins/ reserved GL variables

Alejandro Pinheiro apinheiro at kemper.freedesktop.org
Fri Apr 1 07:56:33 UTC 2016


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

Author: Alejandro Piñeiro <apinheiro at igalia.com>
Date:   Fri Apr  1 09:11:15 2016 +0200

glsl: do not raise unitialized variable warnings on builtins/reserved GL variables

Needed because not all the built-in variables are marked as system
values, so they still have the mode ir_var_auto. Right now it fixes
raising the warning when gl_GlobalInvocationID and
gl_LocalInvocationIndex are used.

v2: use is_gl_identifier instead of filtering for some names (Ilia
    Mirkin)

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

---

 src/compiler/glsl/ast_to_hir.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index a031231..3fe9007 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -1905,7 +1905,8 @@ ast_expression::do_hir(exec_list *instructions,
 
          if ((var->data.mode == ir_var_auto || var->data.mode == ir_var_shader_out)
              && !this->is_lhs
-             && result->variable_referenced()->data.assigned != true) {
+             && result->variable_referenced()->data.assigned != true
+             && !is_gl_identifier(var->name)) {
             _mesa_glsl_warning(&loc, state, "`%s' used uninitialized",
                                this->primary_expression.identifier);
          }




More information about the mesa-commit mailing list