glsl: Fix setting of OutputsWritten for whole array dereference.
We just want to mark the whole thing used, not mark from each element the whole size in use. Fixes undefined URB entry writes on i965, which blew up with debugging enabled. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
@@ -94,10 +94,8 @@ ir_set_program_inouts_visitor::visit(ir_dereference_variable *ir)
|
||||
return visit_continue;
|
||||
|
||||
if (ir->type->is_array()) {
|
||||
for (unsigned int i = 0; i < ir->type->length; i++) {
|
||||
mark(this->prog, ir->var, i,
|
||||
ir->type->length * ir->type->fields.array->matrix_columns);
|
||||
}
|
||||
mark(this->prog, ir->var, 0,
|
||||
ir->type->length * ir->type->fields.array->matrix_columns);
|
||||
} else {
|
||||
mark(this->prog, ir->var, 0, ir->type->matrix_columns);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user