[Mesa-dev] [PATCH 6/8] i965/fs: Fix register unspills from a reg_offset.
Eric Anholt
eric at anholt.net
Tue Oct 29 21:28:11 CET 2013
We were clearing the reg_offset before trying to use it. Oops. Fixes
glsl-fs-texture2drect with the reg spilling debug enabled.
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
---
src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
index 3abe127..d2b1d2d 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp
@@ -678,13 +678,13 @@ fs_visitor::spill_reg(int spill_reg)
if (inst->src[i].file == GRF &&
inst->src[i].reg == spill_reg) {
int regs_read = inst->regs_read(this, i);
+ int subset_spill_offset = (spill_offset +
+ reg_size * inst->src[i].reg_offset);
inst->src[i].reg = virtual_grf_alloc(regs_read);
inst->src[i].reg_offset = 0;
- emit_unspill(inst, inst->src[i],
- spill_offset + reg_size * inst->src[i].reg_offset,
- regs_read);
+ emit_unspill(inst, inst->src[i], subset_spill_offset, regs_read);
}
}
--
1.8.4.rc3
More information about the mesa-dev
mailing list