[Mesa-dev] [PATCH 32/53] st/nine: Fix some fixed function pipeline operation

Axel Davy axel.davy at ens.fr
Wed Jan 7 08:36:42 PST 2015


Signed-off-by: Axel Davy <axel.davy at ens.fr>

Cc: "10.4" <mesa-stable at lists.freedesktop.org>
---
 src/gallium/state_trackers/nine/nine_ff.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/nine/nine_ff.c b/src/gallium/state_trackers/nine/nine_ff.c
index a6bd360..d2b30f8 100644
--- a/src/gallium/state_trackers/nine/nine_ff.c
+++ b/src/gallium/state_trackers/nine/nine_ff.c
@@ -1151,10 +1151,10 @@ ps_do_ts_op(struct ps_build_ctx *ps, unsigned top, struct ureg_dst dst, struct u
         ureg_MUL(ureg, ureg_saturate(dst), ureg_src(tmp), ureg_imm4f(ureg,4.0,4.0,4.0,4.0));
         break;
     case D3DTOP_MULTIPLYADD:
-        ureg_MAD(ureg, dst, arg[2], arg[0], arg[1]);
+        ureg_MAD(ureg, dst, arg[1], arg[2], arg[0]);
         break;
     case D3DTOP_LERP:
-        ureg_LRP(ureg, dst, arg[1], arg[2], arg[0]);
+        ureg_LRP(ureg, dst, arg[0], arg[1], arg[2]);
         break;
     case D3DTOP_DISABLE:
         /* no-op ? */
@@ -1278,6 +1278,8 @@ nine_ff_build_ps(struct NineDevice9 *device, struct nine_ff_ps_key *key)
             (key->ts[0].resultarg != 0 /* not current */ ||
              key->ts[0].colorop == D3DTOP_DISABLE ||
              key->ts[0].alphaop == D3DTOP_DISABLE ||
+             key->ts[0].colorop == D3DTOP_BLENDCURRENTALPHA ||
+             key->ts[0].alphaop == D3DTOP_BLENDCURRENTALPHA ||
              key->ts[0].colorarg0 == D3DTA_CURRENT ||
              key->ts[0].colorarg1 == D3DTA_CURRENT ||
              key->ts[0].colorarg2 == D3DTA_CURRENT ||
-- 
2.1.3



More information about the mesa-dev mailing list