[PATCH 1/5] wined3d: Recognize the SM4 div opcode.

Henri Verbeet hverbeet at codeweavers.com
Wed Oct 13 05:26:29 CDT 2010


---
 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(+), 0 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index c609291..e1f4be5 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -4948,6 +4948,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL
     /* WINED3DSIH_DEF           */ NULL,
     /* WINED3DSIH_DEFB          */ NULL,
     /* WINED3DSIH_DEFI          */ NULL,
+    /* WINED3DSIH_DIV           */ 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 3390848..62a4f7b 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -5006,6 +5006,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB
     /* WINED3DSIH_DEF           */ NULL,
     /* WINED3DSIH_DEFB          */ NULL,
     /* WINED3DSIH_DEFI          */ NULL,
+    /* WINED3DSIH_DIV           */ NULL,
     /* 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 1febf56..096fc13 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -52,6 +52,7 @@ static const char * const shader_opcode_names[] =
     /* WINED3DSIH_DEF           */ "def",
     /* WINED3DSIH_DEFB          */ "defb",
     /* WINED3DSIH_DEFI          */ "defi",
+    /* WINED3DSIH_DIV           */ "div",
     /* WINED3DSIH_DP2ADD        */ "dp2add",
     /* WINED3DSIH_DP3           */ "dp3",
     /* WINED3DSIH_DP4           */ "dp4",
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index e32178e..c0a8292 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -57,6 +57,7 @@ enum wined3d_sm4_opcode
     WINED3D_SM4_OP_BREAK        = 0x02,
     WINED3D_SM4_OP_BREAKC       = 0x03,
     WINED3D_SM4_OP_CUT          = 0x09,
+    WINED3D_SM4_OP_DIV          = 0x0e,
     WINED3D_SM4_OP_DP3          = 0x10,
     WINED3D_SM4_OP_DP4          = 0x11,
     WINED3D_SM4_OP_EMIT         = 0x13,
@@ -132,6 +133,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] =
     {WINED3D_SM4_OP_BREAK,      WINED3DSIH_BREAK,       0,  0},
     {WINED3D_SM4_OP_BREAKC,     WINED3DSIH_BREAKP,      0,  1},
     {WINED3D_SM4_OP_CUT,        WINED3DSIH_CUT,         0,  0},
+    {WINED3D_SM4_OP_DIV,        WINED3DSIH_DIV,         1,  2},
     {WINED3D_SM4_OP_DP3,        WINED3DSIH_DP3,         1,  2},
     {WINED3D_SM4_OP_DP4,        WINED3DSIH_DP4,         1,  2},
     {WINED3D_SM4_OP_EMIT,       WINED3DSIH_EMIT,        0,  0},
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 7959c8e..13526f8 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -421,6 +421,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER
     WINED3DSIH_DEF,
     WINED3DSIH_DEFB,
     WINED3DSIH_DEFI,
+    WINED3DSIH_DIV,
     WINED3DSIH_DP2ADD,
     WINED3DSIH_DP3,
     WINED3DSIH_DP4,
-- 
1.7.2.2




More information about the wine-patches mailing list