diff options
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_pc_emit.c | 6 |
1 files changed, 5 insertions, 1 deletions
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); |