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