diff options
author | Christoph Bumiller <[email protected]> | 2010-08-18 14:36:47 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2010-08-18 14:37:10 +0200 |
commit | eaab76457818fad0926b84c663440e8987e1f19f (patch) | |
tree | 882a5cee5f7953e3ae790bf6b920c47b97077ca7 | |
parent | 1bbbc8e0c8230d33cb1eae89cc47b5296edefc10 (diff) |
nv50: emit predicate for interp
-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 b5f4383aa1a..bc151c3a808 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); |