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
