wined3d: Handle the source modifier shift in the frontend rather than the backend.

Henri Verbeet hverbeet at codeweavers.com
Wed Apr 22 03:48:34 CDT 2009


---
 dlls/wined3d/baseshader.c            |    4 ++--
 dlls/wined3d/wined3d_private_types.h |   28 ++++++++++++++--------------
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index d3e0e1e..31fffc5 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -246,7 +246,7 @@ static void shader_parse_src_param(DWORD param, const struct wined3d_shader_src_
             | ((param & WINED3DSP_REGTYPE_MASK2) >> WINED3DSP_REGTYPE_SHIFT2);
     src->register_idx = param & WINED3DSP_REGNUM_MASK;
     src->swizzle = (param & WINED3DSP_SWIZZLE_MASK) >> WINED3DSP_SWIZZLE_SHIFT;
-    src->modifiers = param & WINED3DSP_SRCMOD_MASK;
+    src->modifiers = (param & WINED3DSP_SRCMOD_MASK) >> WINED3DSP_SRCMOD_SHIFT;
     src->rel_addr = rel_addr;
 }
 
@@ -781,7 +781,7 @@ static void shader_dump_param(const DWORD param, const DWORD addr_token, int inp
                 case WINED3DSPSM_ABSNEG:  TRACE(")"); break;
                 case WINED3DSPSM_ABS:     TRACE(")"); break;
                 default:
-                    TRACE("_unknown_modifier(%#x)", modifier >> WINED3DSP_SRCMOD_SHIFT);
+                    TRACE("_unknown_modifier(%#x)", modifier);
             }
         }
 
diff --git a/dlls/wined3d/wined3d_private_types.h b/dlls/wined3d/wined3d_private_types.h
index 751cc43..8a52e39 100644
--- a/dlls/wined3d/wined3d_private_types.h
+++ b/dlls/wined3d/wined3d_private_types.h
@@ -107,20 +107,20 @@ typedef enum _WINED3DVS_RASTOUT_OFFSETS {
 #define WINED3DSP_SRCMOD_MASK       (0xF << WINED3DSP_SRCMOD_SHIFT)
 
 typedef enum _WINED3DSHADER_PARAM_SRCMOD_TYPE {
-  WINED3DSPSM_NONE         =  0 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_NEG          =  1 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_BIAS         =  2 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_BIASNEG      =  3 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_SIGN         =  4 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_SIGNNEG      =  5 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_COMP         =  6 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_X2           =  7 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_X2NEG        =  8 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_DZ           =  9 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_DW           = 10 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_ABS          = 11 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_ABSNEG       = 12 << WINED3DSP_SRCMOD_SHIFT,
-  WINED3DSPSM_NOT          = 13 << WINED3DSP_SRCMOD_SHIFT,
+  WINED3DSPSM_NONE         =  0,
+  WINED3DSPSM_NEG          =  1,
+  WINED3DSPSM_BIAS         =  2,
+  WINED3DSPSM_BIASNEG      =  3,
+  WINED3DSPSM_SIGN         =  4,
+  WINED3DSPSM_SIGNNEG      =  5,
+  WINED3DSPSM_COMP         =  6,
+  WINED3DSPSM_X2           =  7,
+  WINED3DSPSM_X2NEG        =  8,
+  WINED3DSPSM_DZ           =  9,
+  WINED3DSPSM_DW           = 10,
+  WINED3DSPSM_ABS          = 11,
+  WINED3DSPSM_ABSNEG       = 12,
+  WINED3DSPSM_NOT          = 13,
 
   WINED3DSPSM_FORCE_DWORD  = 0x7FFFFFFF
 } WINED3DSHADER_PARAM_SRCMOD_TYPE;
-- 
1.6.0.6



--------------040000040103020500030100--



More information about the wine-patches mailing list