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@globallogic.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Danylo Piliaiev 2019-11-21 15:04:37 +02:00 committed by Danylo Piliaiev
parent 4c43b354c3
commit 25a00b449f

View file

@ -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 } };