i965/vs: Fix GPU hangs in shaders with large virtual GRFs pre-gen6.
If you get your total GRF count wrong, you write over some other shader's g0, and the GPU fails shortly thereafter. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
@@ -216,7 +216,8 @@ vec4_visitor::reg_allocate()
|
||||
int reg = ra_get_node_reg(g, i);
|
||||
|
||||
hw_reg_mapping[i] = first_assigned_grf + brw->vs.ra_reg_to_grf[reg];
|
||||
prog_data->total_grf = MAX2(prog_data->total_grf, hw_reg_mapping[i] + 1);
|
||||
prog_data->total_grf = MAX2(prog_data->total_grf,
|
||||
hw_reg_mapping[i] + virtual_grf_sizes[i]);
|
||||
}
|
||||
|
||||
foreach_list(node, &this->instructions) {
|
||||
|
||||
Reference in New Issue
Block a user