wined3d: Properly handle scalar destinations in shader_glsl_conditional_move().

In particular, we modify dst.write_mask in the code further down in order to
mask out unused channels, but the writemask is ignored for scalar registers.
Since all that code is redundant anyway for scalar destinations, we can just
reuse the special case for scalar src0.
This commit is contained in:
Henri Verbeet 2012-11-26 22:52:40 +01:00 committed by Alexandre Julliard
parent acfdb0b02f
commit eefe6346a9
1 changed files with 1 additions and 1 deletions

View File

@ -2878,7 +2878,7 @@ static void shader_glsl_conditional_move(const struct wined3d_shader_instruction
break;
}
if (shader_is_scalar(&ins->src[0].reg))
if (shader_is_scalar(&ins->dst[0].reg) || shader_is_scalar(&ins->src[0].reg))
{
write_mask = shader_glsl_append_dst(ins->ctx->buffer, ins);
shader_glsl_add_src_param(ins, &ins->src[0], write_mask, &src0_param);