diff options
author | Trevor Davenport <[email protected]> | 2011-05-27 10:25:40 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2011-05-27 10:25:40 +0200 |
commit | 828b26b7ebe7e4c756a6cfde04646e8a112166ac (patch) | |
tree | af3b4e86bce100322bfb1807698839f8d1987d9a /src/gallium/drivers/nv50 | |
parent | 4609e80288bacf19af99b0ed7656eef9bb280912 (diff) |
nv50: fix emit_add_a16 to emit correct source reg
emit_add_a16 was using the incorrect source.
This caused adds in the form of:
add u16 $a0 s32 $a1 u32 0x00000200
to have a source AREG of $a0 instead of $a1.
Fixes World of Warcraft in OpenGL and D3D without GLSL.
Diffstat (limited to 'src/gallium/drivers/nv50')
-rw-r--r-- | src/gallium/drivers/nv50/nv50_pc_emit.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gallium/drivers/nv50/nv50_pc_emit.c b/src/gallium/drivers/nv50/nv50_pc_emit.c index 252c58dd8ff..600850da011 100644 --- a/src/gallium/drivers/nv50/nv50_pc_emit.c +++ b/src/gallium/drivers/nv50/nv50_pc_emit.c @@ -744,8 +744,8 @@ emit_add_a16(struct nv_pc *pc, struct nv_instruction *i) set_pred(pc, i); - if (i->src[1]) - set_a16_bits(pc, SREG(i->src[1])->id + 1); + if (s && i->src[0]) + set_a16_bits(pc, SREG(i->src[0])->id); } static void |