From: Xiang, Haihao Date: Fri, 29 Aug 2008 01:22:41 +0000 (+0800) Subject: i965: Push/pop instruction state. partial fix for #16882 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fd81433a4efbe658db742b36c0c30c17c6effea6;p=mesa.git i965: Push/pop instruction state. partial fix for #16882 --- diff --git a/src/mesa/drivers/dri/i965/brw_wm_glsl.c b/src/mesa/drivers/dri/i965/brw_wm_glsl.c index 305100f8833..8dce40f25b4 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_glsl.c +++ b/src/mesa/drivers/dri/i965/brw_wm_glsl.c @@ -850,20 +850,20 @@ static void emit_sop(struct brw_wm_compile *c, struct brw_reg dst, src0, src1; int i; - brw_push_insn_state(p); for (i = 0; i < 4; i++) { if (mask & (1<SrcReg[0], i, 1); src1 = get_src_reg(c, &inst->SrcReg[1], i, 1); + brw_push_insn_state(p); brw_CMP(p, brw_null_reg(), cond, src0, src1); brw_set_predicate_control(p, BRW_PREDICATE_NONE); brw_MOV(p, dst, brw_imm_f(0.0)); brw_set_predicate_control(p, BRW_PREDICATE_NORMAL); brw_MOV(p, dst, brw_imm_f(1.0)); + brw_pop_insn_state(p); } } - brw_pop_insn_state(p); } static void emit_slt(struct brw_wm_compile *c,