From 828b26b7ebe7e4c756a6cfde04646e8a112166ac Mon Sep 17 00:00:00 2001 From: Trevor Davenport Date: Fri, 27 May 2011 10:25:40 +0200 Subject: [PATCH] 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. --- src/gallium/drivers/nv50/nv50_pc_emit.c | 4 ++-- 1 file 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 -- 2.30.2