Skip to content
Snippets Groups Projects
Commit aa51bd5a authored by Danylo Piliaiev's avatar Danylo Piliaiev :flag_ua: Committed by Dylan Baker
Browse files

glsl: Initialize all fields of ir_variable in constructor

Better be safe, even if we could technically avoid this for
some fields.

Cc: <mesa-stable@lists.freedesktop.org>
Closes: mesa/mesa#1999


Signed-off-by: default avatarDanylo Piliaiev <danylo.piliaiev@globallogic.com>
Tested-by: default avatarWitold Baryluk <witold.baryluk@gmail.com>
Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
(cherry picked from commit 8818e0df)
parent 53787824
No related branches found
No related tags found
No related merge requests found
......@@ -1718,15 +1718,28 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name,
this->u.max_ifc_array_access = NULL;
this->data.explicit_location = false;
this->data.explicit_index = false;
this->data.explicit_binding = false;
this->data.explicit_component = false;
this->data.has_initializer = false;
this->data.is_unmatched_generic_inout = false;
this->data.is_xfb_only = false;
this->data.explicit_xfb_buffer = false;
this->data.explicit_xfb_offset = false;
this->data.explicit_xfb_stride = false;
this->data.location = -1;
this->data.location_frac = 0;
this->data.matrix_layout = GLSL_MATRIX_LAYOUT_INHERITED;
this->data.from_named_ifc_block = false;
this->data.must_be_shader_input = false;
this->data.index = 0;
this->data.binding = 0;
this->data.warn_extension_index = 0;
this->constant_value = NULL;
this->constant_initializer = NULL;
this->data.depth_layout = ir_depth_layout_none;
this->data.used = false;
this->data.assigned = false;
this->data.always_active_io = false;
this->data.read_only = false;
this->data.centroid = false;
......@@ -1734,6 +1747,7 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name,
this->data.patch = false;
this->data.explicit_invariant = false;
this->data.invariant = false;
this->data.precise = false;
this->data.how_declared = ir_var_declared_normally;
this->data.mode = mode;
this->data.interpolation = INTERP_MODE_NONE;
......@@ -1746,9 +1760,18 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name,
this->data.memory_volatile = false;
this->data.memory_restrict = false;
this->data.from_ssbo_unsized_array = false;
this->data.implicit_sized_array = false;
this->data.fb_fetch_output = false;
this->data.bindless = false;
this->data.bound = false;
this->data.image_format = GL_NONE;
this->data._num_state_slots = 0;
this->data.param_index = 0;
this->data.stream = 0;
this->data.xfb_buffer = -1;
this->data.xfb_stride = -1;
this->interface_type = NULL;
if (type != NULL) {
if (type->is_interface())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment