From: Danylo Piliaiev Date: Thu, 21 Nov 2019 13:04:37 +0000 (+0200) Subject: glsl: Add varyings to "zero-init of uninitialized vars" workaround X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=25a00b449fbd877716f4732aa116640d58246182;p=mesa.git 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 --- 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 } };