[PATCH 4/5] wined3d: Recognize the SM4 dp2 opcode.

Henri Verbeet hverbeet at codeweavers.com
Tue May 20 00:38:46 CDT 2014


---
 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,
-- 
1.7.10.4




More information about the wine-patches mailing list