wined3d: Store the relative addressing mode in struct wined3d_shader_dst_param.

This commit is contained in:
Henri Verbeet 2009-04-10 09:15:06 +02:00 committed by Alexandre Julliard
parent 22e57d025c
commit 62d9dc2177
4 changed files with 4 additions and 2 deletions

View File

@ -220,6 +220,7 @@ static void shader_parse_dst_param(DWORD param, DWORD addr_param, struct wined3d
dst->write_mask = param & WINED3DSP_WRITEMASK_ALL; dst->write_mask = param & WINED3DSP_WRITEMASK_ALL;
dst->modifiers = param & WINED3DSP_DSTMOD_MASK; dst->modifiers = param & WINED3DSP_DSTMOD_MASK;
dst->shift = (param & WINED3DSP_DSTSHIFT_MASK) >> WINED3DSP_DSTSHIFT_SHIFT; dst->shift = (param & WINED3DSP_DSTSHIFT_MASK) >> WINED3DSP_DSTSHIFT_SHIFT;
dst->has_rel_addr = param & WINED3DSHADER_ADDRMODE_RELATIVE;
dst->token = param; dst->token = param;
dst->addr_token = addr_param; dst->addr_token = addr_param;
} }

View File

@ -1278,8 +1278,7 @@ static DWORD shader_glsl_add_dst_param(const struct wined3d_shader_instruction *
glsl_dst->reg_name[0] = '\0'; glsl_dst->reg_name[0] = '\0';
shader_glsl_get_register_name(wined3d_dst->register_type, wined3d_dst->register_idx, shader_glsl_get_register_name(wined3d_dst->register_type, wined3d_dst->register_idx,
wined3d_dst->token & WINED3DSHADER_ADDRMODE_RELATIVE, wined3d_dst->addr_token, wined3d_dst->has_rel_addr, wined3d_dst->addr_token, glsl_dst->reg_name, &is_color, ins);
glsl_dst->reg_name, &is_color, ins);
return shader_glsl_get_write_mask(wined3d_dst, glsl_dst->mask_str); return shader_glsl_get_write_mask(wined3d_dst, glsl_dst->mask_str);
} }

View File

@ -185,6 +185,7 @@ static void vshader_set_input(
This->semantics_in[regnum].reg.write_mask = WINED3DSP_WRITEMASK_ALL; This->semantics_in[regnum].reg.write_mask = WINED3DSP_WRITEMASK_ALL;
This->semantics_in[regnum].reg.modifiers = 0; This->semantics_in[regnum].reg.modifiers = 0;
This->semantics_in[regnum].reg.shift = 0; This->semantics_in[regnum].reg.shift = 0;
This->semantics_in[regnum].reg.has_rel_addr = FALSE;
This->semantics_in[regnum].reg.token = reg_token; This->semantics_in[regnum].reg.token = reg_token;
This->semantics_in[regnum].reg.addr_token = 0; This->semantics_in[regnum].reg.addr_token = 0;
} }

View File

@ -451,6 +451,7 @@ struct wined3d_shader_dst_param
DWORD write_mask; DWORD write_mask;
DWORD modifiers; DWORD modifiers;
DWORD shift; DWORD shift;
BOOL has_rel_addr;
DWORD token; DWORD token;
DWORD addr_token; DWORD addr_token;
}; };