From ad1506c5ac61b75e45f24a2e18c91dc8a49a3bb0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 29 Sep 2010 16:20:48 -0700 Subject: [PATCH] i965: Remove my "safety counter" code from loops. I've screwed this up enough times that I don't think it's worth it. This time, it was that I was doing it once per top-level body instruction instead of just once at the end of the loop body. --- src/mesa/drivers/dri/i965/brw_fs.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index b00930d5cf4..efbb4c66920 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1400,12 +1400,6 @@ fs_visitor::visit(ir_loop *ir) } } - /* Start a safety counter. If the user messed up their loop - * counting, we don't want to hang the GPU. - */ - fs_reg max_iter = fs_reg(this, glsl_type::int_type); - emit(fs_inst(BRW_OPCODE_MOV, max_iter, fs_reg(10000))); - emit(fs_inst(BRW_OPCODE_DO)); if (ir->to) { @@ -1445,17 +1439,9 @@ fs_visitor::visit(ir_loop *ir) foreach_iter(exec_list_iterator, iter, ir->body_instructions) { ir_instruction *ir = (ir_instruction *)iter.get(); - fs_inst *inst; this->base_ir = ir; ir->accept(this); - - /* Check the maximum loop iters counter. */ - inst = emit(fs_inst(BRW_OPCODE_ADD, max_iter, max_iter, fs_reg(-1))); - inst->conditional_mod = BRW_CONDITIONAL_Z; - - inst = emit(fs_inst(BRW_OPCODE_BREAK)); - inst->predicated = true; } if (ir->increment) { -- 2.30.2