Mesa (master): st/vega: Fix VG_BLEND_MULTIPLY.

Chia-I Wu olv at kemper.freedesktop.org
Sat Dec 4 15:47:19 UTC 2010


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

Author: Chia-I Wu <olv at lunarg.com>
Date:   Sat Dec  4 21:02:50 2010 +0800

st/vega: Fix VG_BLEND_MULTIPLY.

TEMP[1].w will be needed for OUT.w just below.  Use TEMP[0] to store the
intermediate value.

---

 src/gallium/state_trackers/vega/asm_fill.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/gallium/state_trackers/vega/asm_fill.h b/src/gallium/state_trackers/vega/asm_fill.h
index 566f7c9..5ff7697 100644
--- a/src/gallium/state_trackers/vega/asm_fill.h
+++ b/src/gallium/state_trackers/vega/asm_fill.h
@@ -367,7 +367,7 @@ blend_generic(struct ureg_program *ureg,
             ureg_scalar(dst, TGSI_SWIZZLE_W), ureg_negate(src), src);
       ureg_MAD(ureg, temp[1],
             src_channel_alpha, ureg_negate(dst), dst);
-      ureg_MAD(ureg, temp[1], src, dst, ureg_src(temp[1]));
+      ureg_MAD(ureg, temp[0], src, dst, ureg_src(temp[0]));
       ureg_ADD(ureg, out, ureg_src(temp[0]), ureg_src(temp[1]));
       /* alpha is src over */
       ureg_ADD(ureg, ureg_writemask(out, TGSI_WRITEMASK_W),




More information about the mesa-commit mailing list