H. Verbeet : wined3d: Fix the nvrc implementation of WINED3DTOP_MULTIPLYADD and WINED3DTOP_LERP.

Alexandre Julliard julliard at winehq.org
Tue May 27 06:03:39 CDT 2008


Module: wine
Branch: master
Commit: 8e6c7aaf1fe6d99f3bfee4b4752da318c000486f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8e6c7aaf1fe6d99f3bfee4b4752da318c000486f

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Sat May 24 10:33:31 2008 +0200

wined3d: Fix the nvrc implementation of WINED3DTOP_MULTIPLYADD and WINED3DTOP_LERP.

---

 dlls/wined3d/utils.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index f51a9ab..bcd7b24 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -1446,15 +1446,15 @@ void set_tex_op_nvrc(IWineD3DDevice *iface, BOOL is_alpha, int stage, WINED3DTEX
             break;
 
         case WINED3DTOP_MULTIPLYADD:
-            /* Input, arg1*1+arg2*arg3 */
+            /* Input, arg3*1+arg1*arg2 */
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_A_NV,
-                    tex_op_args.input[0], tex_op_args.mapping[0], tex_op_args.component_usage[0]));
+                    tex_op_args.input[2], tex_op_args.mapping[2], tex_op_args.component_usage[2]));
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_B_NV,
                     GL_ZERO, GL_UNSIGNED_INVERT_NV, portion));
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_C_NV,
-                    tex_op_args.input[1], tex_op_args.mapping[1], tex_op_args.component_usage[1]));
+                    tex_op_args.input[0], tex_op_args.mapping[0], tex_op_args.component_usage[0]));
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_D_NV,
-                    tex_op_args.input[2], tex_op_args.mapping[2], tex_op_args.component_usage[2]));
+                    tex_op_args.input[1], tex_op_args.mapping[1], tex_op_args.component_usage[1]));
 
             /* Output */
             GL_EXTCALL(glCombinerOutputNV(target, portion, GL_DISCARD_NV, GL_DISCARD_NV,
@@ -1462,15 +1462,15 @@ void set_tex_op_nvrc(IWineD3DDevice *iface, BOOL is_alpha, int stage, WINED3DTEX
             break;
 
         case WINED3DTOP_LERP:
-            /* Input, arg1*arg2+(1-arg1)*arg3 */
+            /* Input, arg3*arg1+(1-arg3)*arg2 */
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_A_NV,
-                    tex_op_args.input[0], tex_op_args.mapping[0], tex_op_args.component_usage[0]));
+                    tex_op_args.input[2], tex_op_args.mapping[2], tex_op_args.component_usage[2]));
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_B_NV,
-                    tex_op_args.input[1], tex_op_args.mapping[1], tex_op_args.component_usage[1]));
+                    tex_op_args.input[0], tex_op_args.mapping[0], tex_op_args.component_usage[0]));
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_C_NV,
-                    tex_op_args.input[0], invert_mapping(tex_op_args.mapping[0]), tex_op_args.component_usage[0]));
+                    tex_op_args.input[2], invert_mapping(tex_op_args.mapping[2]), tex_op_args.component_usage[2]));
             GL_EXTCALL(glCombinerInputNV(target, portion, GL_VARIABLE_D_NV,
-                    tex_op_args.input[2], tex_op_args.mapping[2], tex_op_args.component_usage[2]));
+                    tex_op_args.input[1], tex_op_args.mapping[1], tex_op_args.component_usage[1]));
 
             /* Output */
             GL_EXTCALL(glCombinerOutputNV(target, portion, GL_DISCARD_NV, GL_DISCARD_NV,




More information about the wine-cvs mailing list