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