wined3d: Store the source modifiers in struct wined3d_shader_src_param.

This commit is contained in:
Henri Verbeet 2009-04-15 10:06:28 +02:00 committed by Alexandre Julliard
parent b6668b0296
commit 8ac4c98be2
4 changed files with 5 additions and 3 deletions

View File

@ -1173,7 +1173,7 @@ static void pshader_hw_tex(const struct wined3d_shader_instruction *ins)
} }
else if (shader_version < WINED3DPS_VERSION(2,0)) 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) { if (src_mod == WINED3DSPSM_DZ) {
projected = TRUE; projected = TRUE;
} else if(src_mod == WINED3DSPSM_DW) { } else if(src_mod == WINED3DSPSM_DW) {

View File

@ -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) src->register_type = ((param & WINED3DSP_REGTYPE_MASK) >> WINED3DSP_REGTYPE_SHIFT)
| ((param & WINED3DSP_REGTYPE_MASK2) >> WINED3DSP_REGTYPE_SHIFT2); | ((param & WINED3DSP_REGTYPE_MASK2) >> WINED3DSP_REGTYPE_SHIFT2);
src->register_idx = param & WINED3DSP_REGNUM_MASK; src->register_idx = param & WINED3DSP_REGNUM_MASK;
src->modifiers = param & WINED3DSP_SRCMOD_MASK;
src->token = param; src->token = param;
src->addr_token = addr_param; src->addr_token = addr_param;
} }

View File

@ -2459,7 +2459,7 @@ static void pshader_glsl_tex(const struct wined3d_shader_instruction *ins)
} }
else if (shader_version < WINED3DPS_VERSION(2,0)) 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) { if (src_mod == WINED3DSPSM_DZ) {
sample_flags |= WINED3D_GLSL_SAMPLE_PROJECTED; 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); ins->dst[0].register_idx, dst_mask);
} else { } else {
DWORD reg = ins->src[0].register_idx; 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]; char dst_swizzle[6];
shader_glsl_get_swizzle(ins->src[0].token, FALSE, write_mask, dst_swizzle); shader_glsl_get_swizzle(ins->src[0].token, FALSE, write_mask, dst_swizzle);

View File

@ -466,6 +466,7 @@ struct wined3d_shader_src_param
{ {
WINED3DSHADER_PARAM_REGISTER_TYPE register_type; WINED3DSHADER_PARAM_REGISTER_TYPE register_type;
UINT register_idx; UINT register_idx;
DWORD modifiers;
DWORD token; DWORD token;
DWORD addr_token; DWORD addr_token;
}; };