Mesa (master): glsl: Add varyings to "zero-init of uninitialized vars" workaround

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Nov 22 15:56:08 UTC 2019


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

Author: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Date:   Thu Nov 21 15:04:37 2019 +0200

glsl: Add varyings to "zero-init of uninitialized vars" workaround

Varyings are similar to already handled cases. And "glsl_zero_init"
name of the workaround already looks like it should include varyings.

The issue was observed in GiMark subtest from GpuTest.

Signed-off-by: Danylo Piliaiev <danylo.piliaiev at globallogic.com>
Reviewed-by: Eric Anholt <eric at anholt.net>

---

 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 214412bc30a..7b7f6aff62a 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -5195,7 +5195,8 @@ ast_declarator_list::hir(exec_list *instructions,
       apply_layout_qualifier_to_variable(&this->type->qualifier, var, state,
                                          &loc);
 
-      if ((var->data.mode == ir_var_auto || var->data.mode == ir_var_temporary)
+      if ((var->data.mode == ir_var_auto || var->data.mode == ir_var_temporary
+           || var->data.mode == ir_var_shader_out)
           && (var->type->is_numeric() || var->type->is_boolean())
           && state->zero_init) {
          const ir_constant_data data = { { 0 } };




More information about the mesa-commit mailing list