Henri Verbeet : wined3d: Properly handle WINED3DSIH_DP2 in the GLSL shader backend.
Module: wine Branch: master Commit: aad0ab8101a1a0596916114919e585a190313b3c URL: http://source.winehq.org/git/wine.git/?a=commit;h=aad0ab8101a1a0596916114919... Author: Henri Verbeet <hverbeet(a)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);
participants (1)
-
Alexandre Julliard