aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/glsl/ir_clone.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/glsl/ir_clone.cpp')
-rw-r--r--mesalib/src/glsl/ir_clone.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/mesalib/src/glsl/ir_clone.cpp b/mesalib/src/glsl/ir_clone.cpp
index dde22e018..105f9063a 100644
--- a/mesalib/src/glsl/ir_clone.cpp
+++ b/mesalib/src/glsl/ir_clone.cpp
@@ -44,6 +44,12 @@ ir_variable::clone(void *mem_ctx, struct hash_table *ht) const
(ir_variable_mode) this->mode);
var->max_array_access = this->max_array_access;
+ if (this->is_interface_instance()) {
+ var->max_ifc_array_access =
+ rzalloc_array(var, unsigned, this->interface_type->length);
+ memcpy(var->max_ifc_array_access, this->max_ifc_array_access,
+ this->interface_type->length * sizeof(unsigned));
+ }
var->read_only = this->read_only;
var->centroid = this->centroid;
var->invariant = this->invariant;