summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/glsl/ir_set_program_inouts.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/src/glsl/ir_set_program_inouts.cpp b/src/glsl/ir_set_program_inouts.cpp
index ef95cbeaeb7..351f65bd59d 100644
--- a/src/glsl/ir_set_program_inouts.cpp
+++ b/src/glsl/ir_set_program_inouts.cpp
@@ -110,14 +110,8 @@ ir_set_program_inouts_visitor::visit(ir_dereference_variable *ir)
if (!is_shader_inout(ir->var))
return visit_continue;
- if (ir->type->is_array()) {
- mark(this->prog, ir->var, 0,
- ir->type->length * ir->type->fields.array->matrix_columns,
- this->shader_type == GL_FRAGMENT_SHADER);
- } else {
- mark(this->prog, ir->var, 0, ir->type->matrix_columns,
- this->shader_type == GL_FRAGMENT_SHADER);
- }
+ mark(this->prog, ir->var, 0, ir->type->count_attribute_slots(),
+ this->shader_type == GL_FRAGMENT_SHADER);
return visit_continue;
}