wined3d: Use a more appropriate mask for masking out the write mask.

Henri Verbeet hverbeet at codeweavers.com
Mon Apr 6 03:10:05 CDT 2009


---
 dlls/wined3d/glsl_shader.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 965f688..9f79950 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1940,14 +1940,14 @@ static void shader_glsl_cmp(const struct wined3d_shader_instruction *ins)
             (src1reg == dstreg && src1regtype == dstregtype) ||
             (src2reg == dstreg && src2regtype == dstregtype)) {
 
-                write_mask = shader_glsl_get_write_mask(ins->dst[0].token & (~WINED3DSP_SWIZZLE_MASK | write_mask),
+                write_mask = shader_glsl_get_write_mask(ins->dst[0].token & (~WINED3DSP_WRITEMASK_ALL | write_mask),
                         mask_char);
                 if (!write_mask) continue;
                 shader_addline(ins->buffer, "tmp0%s = (", mask_char);
                 temp_destination = TRUE;
             } else {
                 write_mask = shader_glsl_append_dst_ext(ins->buffer, ins,
-                        ins->dst[0].token & (~WINED3DSP_SWIZZLE_MASK | write_mask));
+                        ins->dst[0].token & (~WINED3DSP_WRITEMASK_ALL | write_mask));
                 if (!write_mask) continue;
             }
 
@@ -2008,7 +2008,7 @@ static void shader_glsl_cnd(const struct wined3d_shader_instruction *ins)
             }
         }
         write_mask = shader_glsl_append_dst_ext(ins->buffer, ins,
-                ins->dst[0].token & (~WINED3DSP_SWIZZLE_MASK | write_mask));
+                ins->dst[0].token & (~WINED3DSP_WRITEMASK_ALL | write_mask));
         if (!write_mask) continue;
 
         shader_glsl_add_src_param(ins, ins->src[0], ins->src_addr[0], cmp_channel, &src0_param);
-- 
1.6.0.6



--------------020009040707010605090605--



More information about the wine-patches mailing list