aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2013-04-28 14:35:01 -0700
committerMatt Turner <[email protected]>2013-04-28 14:38:14 -0700
commita8eed0299df3b233a80031ebe86cac785458eade (patch)
tree1d05049b46da695886980dbe290be235f8600119
parent3bba7878793b38dbc5075e5f7aa77f8c10a25559 (diff)
i965/vs: Fix order of source arguments to LRP.
The order or arguments matches DirectX, and is backwards from GLSL's mix() built-in. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63983
-rw-r--r--src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
index 88c435ca292..31da01f143b 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
@@ -1631,7 +1631,10 @@ vec4_visitor::visit(ir_expression *ir)
op[0] = fix_3src_operand(op[0]);
op[1] = fix_3src_operand(op[1]);
op[2] = fix_3src_operand(op[2]);
- emit(LRP(result_dst, op[0], op[1], op[2]));
+ /* Note that the instruction's argument order is reversed from GLSL
+ * and the IR.
+ */
+ emit(LRP(result_dst, op[2], op[1], op[0]));
break;
case ir_quadop_vector: