Henri Verbeet : wined3d: Store the source modifiers in struct wined3d_shader_src_param.
Alexandre Julliard
julliard at winehq.org
Thu Apr 16 14:34:47 CDT 2009
Module: wine
Branch: master
Commit: 8ac4c98be20afd6ee4d82f4f01c7c7592f23f791
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8ac4c98be20afd6ee4d82f4f01c7c7592f23f791
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Apr 15 10:06:28 2009 +0200
wined3d: Store the source modifiers in struct wined3d_shader_src_param.
---
dlls/wined3d/arb_program_shader.c | 2 +-
dlls/wined3d/baseshader.c | 1 +
dlls/wined3d/glsl_shader.c | 4 ++--
dlls/wined3d/wined3d_private.h | 1 +
4 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index cd156ba..a7a79c1 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -1173,7 +1173,7 @@ static void pshader_hw_tex(const struct wined3d_shader_instruction *ins)
}
else if (shader_version < WINED3DPS_VERSION(2,0))
{
- DWORD src_mod = ins->src[0].token & WINED3DSP_SRCMOD_MASK;
+ DWORD src_mod = ins->src[0].modifiers;
if (src_mod == WINED3DSPSM_DZ) {
projected = TRUE;
} else if(src_mod == WINED3DSPSM_DW) {
diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 8ae6a19..e0cedbc 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -229,6 +229,7 @@ static void shader_parse_src_param(DWORD param, DWORD addr_param, struct wined3d
src->register_type = ((param & WINED3DSP_REGTYPE_MASK) >> WINED3DSP_REGTYPE_SHIFT)
| ((param & WINED3DSP_REGTYPE_MASK2) >> WINED3DSP_REGTYPE_SHIFT2);
src->register_idx = param & WINED3DSP_REGNUM_MASK;
+ src->modifiers = param & WINED3DSP_SRCMOD_MASK;
src->token = param;
src->addr_token = addr_param;
}
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0868b6c..3c8eac1 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -2459,7 +2459,7 @@ static void pshader_glsl_tex(const struct wined3d_shader_instruction *ins)
}
else if (shader_version < WINED3DPS_VERSION(2,0))
{
- DWORD src_mod = ins->src[0].token & WINED3DSP_SRCMOD_MASK;
+ DWORD src_mod = ins->src[0].modifiers;
if (src_mod == WINED3DSPSM_DZ) {
sample_flags |= WINED3D_GLSL_SAMPLE_PROJECTED;
@@ -2559,7 +2559,7 @@ static void pshader_glsl_texcoord(const struct wined3d_shader_instruction *ins)
ins->dst[0].register_idx, dst_mask);
} else {
DWORD reg = ins->src[0].register_idx;
- DWORD src_mod = ins->src[0].token & WINED3DSP_SRCMOD_MASK;
+ DWORD src_mod = ins->src[0].modifiers;
char dst_swizzle[6];
shader_glsl_get_swizzle(ins->src[0].token, FALSE, write_mask, dst_swizzle);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 9a476bc..11d69f3 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -466,6 +466,7 @@ struct wined3d_shader_src_param
{
WINED3DSHADER_PARAM_REGISTER_TYPE register_type;
UINT register_idx;
+ DWORD modifiers;
DWORD token;
DWORD addr_token;
};
More information about the wine-cvs
mailing list