Module: Mesa
Branch: master
Commit: 5f4f7ad965c40327f16297606ed4f425598bfc2c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f4f7ad965c40327f16297606ed4f425598bfc2c

Author: Christoph Bumiller <[email protected]>
Date:   Fri Sep 25 10:53:01 2009 +0200

nv50: fix TEX for WriteMask not equal 0xf

If you e.g. only need alpha, it ends up in the first reg,
not the last, as it would when reading rgb too.

---

 src/gallium/drivers/nv50/nv50_program.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/nv50/nv50_program.c 
b/src/gallium/drivers/nv50/nv50_program.c
index 272fd8d..576d075 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -1166,10 +1166,11 @@ emit_tex(struct nv50_pc *pc, struct nv50_reg **dst, 
unsigned mask,
        emit(pc, e);
 
 #if 1
-       if (mask & 1) emit_mov(pc, dst[0], t[0]);
-       if (mask & 2) emit_mov(pc, dst[1], t[1]);
-       if (mask & 4) emit_mov(pc, dst[2], t[2]);
-       if (mask & 8) emit_mov(pc, dst[3], t[3]);
+       c = 0;
+       if (mask & 1) emit_mov(pc, dst[0], t[c++]);
+       if (mask & 2) emit_mov(pc, dst[1], t[c++]);
+       if (mask & 4) emit_mov(pc, dst[2], t[c++]);
+       if (mask & 8) emit_mov(pc, dst[3], t[c]);
 
        free_temp4(pc, t);
 #else

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to