Henri Verbeet : wined3d: Correct some swizzles and write masks in arb_program_shader.

Alexandre Julliard julliard at winehq.org
Thu Oct 9 07:42:36 CDT 2008


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

Author: Henri Verbeet <hverbeet at gmail.com>
Date:   Wed Oct  8 17:34:51 2008 +0200

wined3d: Correct some swizzles and write masks in arb_program_shader.

---

 dlls/wined3d/arb_program_shader.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 233098b..3258e3e 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -722,9 +722,9 @@ static void gen_color_correction(SHADER_BUFFER *buffer, const char *reg, const c
                     /* Swap y and z (U and L), and do a sign conversion on x and the new y(V and U) */
                     shader_addline(buffer, "MOV TMP.g, %s.%c;\n",
                                    reg, writemask[2]);
-                    shader_addline(buffer, "MAD %s.%c%c, %s.%c%c, %s, -%s;\n",
-                                   reg, writemask[1], writemask[1],
-                                   reg, writemask[1], writemask[3],
+                    shader_addline(buffer, "MAD %s.%c%c, %s.%c%c%c%c, %s, -%s;\n",
+                                   reg, writemask[1], writemask[2],
+                                   reg, writemask[3], writemask[1], writemask[3], writemask[1],
                                    two, one);
                     shader_addline(buffer, "MOV %s.%c, TMP.g;\n", reg,
                                    writemask[3]);
@@ -2820,6 +2820,7 @@ static GLuint gen_arbfp_ffp_shader(struct ffp_settings *settings, IWineD3DStateB
     }
 
     shader_addline(&buffer, "PARAM const = {1, 2, 4, 0.5};\n");
+    shader_addline(&buffer, "TEMP TMP;\n");
     shader_addline(&buffer, "TEMP ret;\n");
     if(tempreg_used || settings->sRGB_write) shader_addline(&buffer, "TEMP tempreg;\n");
     shader_addline(&buffer, "TEMP arg0;\n");




More information about the wine-cvs mailing list