From: Christoph Bumiller Date: Sun, 1 Nov 2009 13:04:54 +0000 (+0100) Subject: nv50: make IF condition safe X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=496c9eaacfabc4df4e6fb5ba230e60dc660554c8;p=mesa.git nv50: make IF condition safe Don't assume that a SET that writes to IF's argument directly precedes the IF. --- diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c index 5944a0b7ff1..66190f070da 100644 --- a/src/gallium/drivers/nv50/nv50_program.c +++ b/src/gallium/drivers/nv50/nv50_program.c @@ -2026,7 +2026,9 @@ nv50_program_tx_insn(struct nv50_pc *pc, case TGSI_OPCODE_IF: /* emitting a join_at may not be necessary */ assert(pc->if_lvl < MAX_IF_DEPTH); - set_pred_wr(pc, 1, 0, pc->if_cond); + /* set_pred_wr(pc, 1, 0, pc->if_cond); */ + emit_cvt(pc, NULL, src[0][0], 0, CVTOP_ABS | CVTOP_RN, + CVT_F32_F32); emit_branch(pc, 0, 2, &pc->br_join[pc->if_lvl]); pc->if_insn[pc->if_lvl++] = pc->p->exec_tail; terminate_mbb(pc);