From eaab76457818fad0926b84c663440e8987e1f19f Mon Sep 17 00:00:00 2001 From: Christoph Bumiller Date: Wed, 18 Aug 2010 14:36:47 +0200 Subject: nv50: emit predicate for interp --- src/gallium/drivers/nv50/nv50_pc_emit.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/gallium') diff --git a/src/gallium/drivers/nv50/nv50_pc_emit.c b/src/gallium/drivers/nv50/nv50_pc_emit.c index b5f4383aa1..bc151c3a80 100644 --- a/src/gallium/drivers/nv50/nv50_pc_emit.c +++ b/src/gallium/drivers/nv50/nv50_pc_emit.c @@ -596,8 +596,12 @@ emit_interp(struct nv_pc *pc, struct nv_instruction *i) if (i->centroid) pc->emit[0] |= 1 << 24; + assert(i->is_long || !i->flags_src); + if (i->is_long) { - pc->emit[1] |= 0x0780 | + set_pred(pc, i); + + pc->emit[1] |= (pc->emit[0] & (3 << 24)) >> (24 - 16) | (pc->emit[0] & (1 << 8)) >> (18 - 8); -- cgit v1.2.3