[Mesa-dev] [PATCH] nv50: fix emit_add_a16 to emit correct source reg

Trevor Davenport trevor.davenport at gmail.com
Thu May 26 23:59:27 PDT 2011


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 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 252c58d..f4af25a 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 (i->src[0])
+      set_a16_bits(pc, SREG(i->src[0])->id);
 }
 
 static void
-- 
1.7.5.2



More information about the mesa-dev mailing list