I found a shader with
DCL TEMP[0], LOCAL
DCL TEMP[1..256], ARRAY(1), LOCAL
DCL TEMP[257..512], ARRAY(2), LOCAL
DCL TEMP[513..768], ARRAY(3), LOCAL
DCL TEMP[769], LOCAL
This would remap badly, as it would add up all the spilled sizes
and subtract it from the temp for 0. If the current temp is less
than the array start break out.
Fixes: 1d871aa6 (r600g: Implement spilling of temp arrays (v2))
Signed-off-by: Dave Airlie <airlied@redhat.com>
}
}
+ if (tgsi_reg_index < ctx->array_infos[i].range.First)
+ break;
if (ctx->spilled_arrays[i]) {
spilled_size += ctx->array_infos[i].range.Last - ctx->array_infos[i].range.First + 1;
}