From 25a00b449fbd877716f4732aa116640d58246182 Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Thu, 21 Nov 2019 15:04:37 +0200 Subject: [PATCH] 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 Reviewed-by: Eric Anholt --- 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 } }; -- 2.30.2