diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2013-01-01 15:09:26 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2013-11-16 09:12:57 -0800 |
commit | ec8cc65926de3e7391f3bcec8ee26fc8f4d36159 (patch) | |
tree | f7c2620ca7b9829000a3a14b29840928dd2ec4d3 | |
parent | 02fdb5cb51fdbe63261ffeb7d5ca0fa10838899b (diff) | |
download | mesa-ec8cc65926de3e7391f3bcec8ee26fc8f4d36159.tar.gz |
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 <kenneth@whitecape.org>
Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
Acked-by: Anuj Phogat <anuj.phogat@gmail.com>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 14 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.h | 3 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 6 |
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; |