wined3d: Simplify shader_glsl_color_correction().
Henri Verbeet
hverbeet at codeweavers.com
Tue Apr 7 04:09:12 CDT 2009
---
dlls/wined3d/glsl_shader.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 16f1f57..2080121 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1437,11 +1437,11 @@ static void shader_glsl_append_fixup_arg(char *arguments, const char *reg_name,
static void shader_glsl_color_correction(const struct wined3d_shader_instruction *ins, struct color_fixup_desc fixup)
{
+ struct wined3d_shader_dst_param dst;
unsigned int mask_size, remaining;
glsl_dst_param_t dst_param;
char arguments[256];
DWORD mask;
- BOOL dummy;
mask = 0;
if (fixup.x_sign_fixup || fixup.x_source != CHANNEL_SOURCE_X) mask |= WINED3DSP_WRITEMASK_0;
@@ -1461,11 +1461,10 @@ static void shader_glsl_color_correction(const struct wined3d_shader_instruction
mask_size = shader_glsl_get_write_mask_size(mask);
- dst_param.mask_str[0] = '\0';
- shader_glsl_get_write_mask(mask, dst_param.mask_str);
-
- dst_param.reg_name[0] = '\0';
- shader_glsl_get_register_name(ins->dst[0].token, ins->dst[0].addr_token, dst_param.reg_name, &dummy, ins);
+ dst = ins->dst[0];
+ dst.write_mask = mask;
+ dst.token = (dst.token & ~WINED3DSP_WRITEMASK_ALL) | dst.write_mask;
+ shader_glsl_add_dst_param(ins, &dst, &dst_param);
arguments[0] = '\0';
remaining = mask_size;
--
1.6.0.6
--------------080205090406080500050903--
More information about the wine-patches
mailing list