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