summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2013-01-01 15:09:26 -0800
committerKenneth Graunke <[email protected]>2013-11-16 09:12:57 -0800
commitec8cc65926de3e7391f3bcec8ee26fc8f4d36159 (patch)
treef7c2620ca7b9829000a3a14b29840928dd2ec4d3
parent02fdb5cb51fdbe63261ffeb7d5ca0fa10838899b (diff)
i965/fs: Remove force_sechalf stack
Only Gen4 color write setup uses the force_sechalf flag, and it only sets it on a single instruction. It also already has to get a pointer to the instruction and manually set the saturate flag, so we may as well just set force_sechalf the same way and avoid the complexity of a stack. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Chris Forbes <[email protected]> Acked-by: Anuj Phogat <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.cpp14
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs.h3
-rw-r--r--src/mesa/drivers/dri/i965/brw_fs_visitor.cpp6
3 files changed, 1 insertions, 22 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 795e01efdfb..8b3f8df26f9 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -691,19 +691,6 @@ fs_visitor::pop_force_uncompressed()
assert(force_uncompressed_stack >= 0);
}
-void
-fs_visitor::push_force_sechalf()
-{
- force_sechalf_stack++;
-}
-
-void
-fs_visitor::pop_force_sechalf()
-{
- force_sechalf_stack--;
- assert(force_sechalf_stack >= 0);
-}
-
/**
* Returns true if the instruction has a flag that means it won't
* update an entire destination register.
@@ -3311,7 +3298,6 @@ fs_visitor::run()
}
}
assert(force_uncompressed_stack == 0);
- assert(force_sechalf_stack == 0);
/* This must come after all optimization and register allocation, since
* it inserts dead code that happens to have side effects, and it does
diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index 529bd3a558a..7991b870a99 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -331,8 +331,6 @@ public:
void push_force_uncompressed();
void pop_force_uncompressed();
- void push_force_sechalf();
- void pop_force_sechalf();
void emit_dummy_fs();
fs_reg *emit_fragcoord_interpolation(ir_variable *ir);
@@ -489,7 +487,6 @@ public:
const unsigned dispatch_width; /**< 8 or 16 */
int force_uncompressed_stack;
- int force_sechalf_stack;
};
/**
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index 4f1036a12cb..9eb9a9d07ac 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -2393,8 +2393,6 @@ fs_visitor::emit(fs_inst *inst)
{
if (force_uncompressed_stack > 0)
inst->force_uncompressed = true;
- else if (force_sechalf_stack > 0)
- inst->force_sechalf = true;
inst->annotation = this->current_annotation;
inst->ir = this->base_ir;
@@ -2599,12 +2597,11 @@ fs_visitor::emit_color_write(int target, int index, int first_color_mrf)
inst->saturate = c->key.clamp_fragment_color;
pop_force_uncompressed();
- push_force_sechalf();
color.sechalf = true;
inst = emit(MOV(fs_reg(MRF, first_color_mrf + index + 4, color.type),
color));
+ inst->force_sechalf = true;
inst->saturate = c->key.clamp_fragment_color;
- pop_force_sechalf();
color.sechalf = false;
}
}
@@ -2923,7 +2920,6 @@ fs_visitor::fs_visitor(struct brw_context *brw,
this->nr_params_remap = 0;
this->force_uncompressed_stack = 0;
- this->force_sechalf_stack = 0;
this->spilled_any_registers = false;