summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
diff options
context:
space:
mode:
authorAxel Davy <[email protected]>2014-12-25 16:50:09 +0100
committerEmil Velikov <[email protected]>2015-01-22 22:16:21 +0000
commit6378d749379f7fedd668148e09dd032b8ce9a212 (patch)
tree14c274967b94cda8b589ec6e2323b8f86698f8a3 /src/gallium/state_trackers
parent018407b5d8ce894815f940480c52e9791beb9e97 (diff)
st/nine: Fix some fixed function pipeline operation
Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Axel Davy <[email protected]> Cc: "10.4" <[email protected]>
Diffstat (limited to 'src/gallium/state_trackers')
-rw-r--r--src/gallium/state_trackers/nine/nine_ff.c6
1 files 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 a6bd360cf33..d2b30f83a8f 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 ||