aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_fs.cpp
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2011-03-23 14:00:01 -0700
committerEric Anholt <[email protected]>2011-04-26 12:19:30 -0700
commitaf20328271425c217630b5114ee172bd8387a91a (patch)
tree37fe6dcfabebc240179c990d075cacc9b365a5ee /src/mesa/drivers/dri/i965/brw_fs.cpp
parent8575d1836249309048d77d342671aad65c7fa7ff (diff)
i965/fs: Disable some optimization passes under 16-wide for now.
These are fixable for 16, but that can wait until after it's basically working. Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_fs.cpp')
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 19dbf418df9..17f4435a1ac 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2910,6 +2910,10 @@ fs_visitor::propagate_constants()
{
bool progress = false;
+ /* Need to update the MRF tracking for compressed instructions. */
+ if (c->dispatch_width == 16)
+ return false;
+
calculate_live_intervals();
foreach_iter(exec_list_iterator, iter, this->instructions) {
@@ -3171,6 +3175,10 @@ fs_visitor::compute_to_mrf()
bool progress = false;
int next_ip = 0;
+ /* Need to update the MRF tracking for compressed instructions. */
+ if (c->dispatch_width == 16)
+ return false;
+
calculate_live_intervals();
foreach_iter(exec_list_iterator, iter, this->instructions) {
@@ -3302,6 +3310,10 @@ fs_visitor::remove_duplicate_mrf_writes()
fs_inst *last_mrf_move[16];
bool progress = false;
+ /* Need to update the MRF tracking for compressed instructions. */
+ if (c->dispatch_width == 16)
+ return false;
+
memset(last_mrf_move, 0, sizeof(last_mrf_move));
foreach_iter(exec_list_iterator, iter, this->instructions) {