summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2014-06-09 02:59:22 -0700
committerKenneth Graunke <[email protected]>2014-06-10 16:38:27 -0700
commit237aac39b1994b0fa1e8cd3490ad415b144a8b5f (patch)
tree06e575df6568dc00a1c94162909b63102a0ede03
parentecc78eab119ac8fa3df380a80bc94975e986523c (diff)
i965: Invalidate live intervals when inserting Gen4 SEND workarounds.
We need to invalidate the live intervals when inserting new instructions. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: [email protected]
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index b485e65adcf..be461ac20c1 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2482,6 +2482,8 @@ fs_visitor::insert_gen4_send_dependency_workarounds()
if (brw->gen != 4 || brw->is_g4x)
return;
+ bool progress = false;
+
/* Note that we're done with register allocation, so GRF fs_regs always
* have a .reg_offset of 0.
*/
@@ -2492,8 +2494,12 @@ fs_visitor::insert_gen4_send_dependency_workarounds()
if (inst->mlen != 0 && inst->dst.file == GRF) {
insert_gen4_pre_send_dependency_workarounds(inst);
insert_gen4_post_send_dependency_workarounds(inst);
+ progress = true;
}
}
+
+ if (progress)
+ invalidate_live_intervals();
}
/**