Commit eefe6346 authored by Henri Verbeet's avatar Henri Verbeet Committed by Alexandre Julliard

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.
parent acfdb0b0
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment