Module: wine Branch: master Commit: aad0ab8101a1a0596916114919e585a190313b3c URL: http://source.winehq.org/git/wine.git/?a=commit;h=aad0ab8101a1a0596916114919...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Apr 15 11:07:12 2015 +0200
wined3d: Properly handle WINED3DSIH_DP2 in the GLSL shader backend.
---
dlls/wined3d/glsl_shader.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index e1867bf..b1a0f85 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -2665,13 +2665,13 @@ static void shader_glsl_dot(const struct wined3d_shader_instruction *ins) dst_write_mask = shader_glsl_append_dst(buffer, ins); dst_size = shader_glsl_get_write_mask_size(dst_write_mask);
- /* dp3 works on vec3, dp4 on vec4 */ + /* dp4 works on vec4, dp3 on vec3, etc. */ if (ins->handler_idx == WINED3DSIH_DP4) - { src_write_mask = WINED3DSP_WRITEMASK_ALL; - } else { + else if (ins->handler_idx == WINED3DSIH_DP3) src_write_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1 | WINED3DSP_WRITEMASK_2; - } + else + src_write_mask = WINED3DSP_WRITEMASK_0 | WINED3DSP_WRITEMASK_1;
shader_glsl_add_src_param(ins, &ins->src[0], src_write_mask, &src0_param); shader_glsl_add_src_param(ins, &ins->src[1], src_write_mask, &src1_param);