Module: wine Branch: master Commit: 3555eab8b9d18059ce0cb37b2595460164b4c1f2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3555eab8b9d18059ce0cb37b25...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue May 20 07:38:46 2014 +0200
wined3d: Recognize the SM4 dp2 opcode.
---
dlls/wined3d/arb_program_shader.c | 1 + dlls/wined3d/glsl_shader.c | 1 + dlls/wined3d/shader.c | 1 + dlls/wined3d/shader_sm4.c | 2 ++ dlls/wined3d/wined3d_private.h | 1 + 5 files changed, 6 insertions(+)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 195c3ae..ecbaec6 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5191,6 +5191,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_DEFB */ shader_hw_nop, /* WINED3DSIH_DEFI */ shader_hw_nop, /* WINED3DSIH_DIV */ NULL, + /* WINED3DSIH_DP2 */ NULL, /* WINED3DSIH_DP2ADD */ pshader_hw_dp2add, /* WINED3DSIH_DP3 */ shader_hw_map2gl, /* WINED3DSIH_DP4 */ shader_hw_map2gl, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index bce0097..84b638e 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -6650,6 +6650,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_DEFB */ shader_glsl_nop, /* WINED3DSIH_DEFI */ shader_glsl_nop, /* WINED3DSIH_DIV */ shader_glsl_binop, + /* WINED3DSIH_DP2 */ shader_glsl_dot, /* WINED3DSIH_DP2ADD */ shader_glsl_dp2add, /* WINED3DSIH_DP3 */ shader_glsl_dot, /* WINED3DSIH_DP4 */ shader_glsl_dot, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index a9b3d9f..05e7168 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -62,6 +62,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_DEFB */ "defb", /* WINED3DSIH_DEFI */ "defi", /* WINED3DSIH_DIV */ "div", + /* WINED3DSIH_DP2 */ "dp2", /* WINED3DSIH_DP2ADD */ "dp2add", /* WINED3DSIH_DP3 */ "dp3", /* WINED3DSIH_DP4 */ "dp4", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index b001aad..f01463b 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -80,6 +80,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_DERIV_RTY = 0x0c, WINED3D_SM4_OP_DISCARD = 0x0d, WINED3D_SM4_OP_DIV = 0x0e, + WINED3D_SM4_OP_DP2 = 0x0f, WINED3D_SM4_OP_DP3 = 0x10, WINED3D_SM4_OP_DP4 = 0x11, WINED3D_SM4_OP_EMIT = 0x13, @@ -215,6 +216,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_DERIV_RTY, WINED3DSIH_DSY, "F", "F"}, {WINED3D_SM4_OP_DISCARD, WINED3DSIH_TEXKILL, "", "U"}, {WINED3D_SM4_OP_DIV, WINED3DSIH_DIV, "F", "FF"}, + {WINED3D_SM4_OP_DP2, WINED3DSIH_DP2, "F", "FF"}, {WINED3D_SM4_OP_DP3, WINED3DSIH_DP3, "F", "FF"}, {WINED3D_SM4_OP_DP4, WINED3DSIH_DP4, "F", "FF"}, {WINED3D_SM4_OP_EMIT, WINED3DSIH_EMIT, "", ""}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 9233148..6e6534f 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -446,6 +446,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_DEFB, WINED3DSIH_DEFI, WINED3DSIH_DIV, + WINED3DSIH_DP2, WINED3DSIH_DP2ADD, WINED3DSIH_DP3, WINED3DSIH_DP4,