Henri Verbeet : wined3d: Recognize the SM4 movc opcode.

Alexandre Julliard julliard at winehq.org
Thu Oct 7 11:24:28 CDT 2010


Module: wine
Branch: master
Commit: 512e6cec2c892ab34179f7720ed2092d47034e1b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=512e6cec2c892ab34179f7720ed2092d47034e1b

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Oct  7 12:18:00 2010 +0200

wined3d: Recognize the SM4 movc 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(+), 0 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 52b055b..7c10407 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -4983,6 +4983,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL
     /* WINED3DSIH_MIN           */ shader_hw_map2gl,
     /* WINED3DSIH_MOV           */ shader_hw_mov,
     /* WINED3DSIH_MOVA          */ shader_hw_mov,
+    /* WINED3DSIH_MOVC          */ NULL,
     /* WINED3DSIH_MUL           */ shader_hw_map2gl,
     /* WINED3DSIH_NOP           */ shader_hw_nop,
     /* WINED3DSIH_NRM           */ shader_hw_nrm,
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index fb6e2cb..d24260d 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -5041,6 +5041,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB
     /* WINED3DSIH_MIN           */ shader_glsl_map2gl,
     /* WINED3DSIH_MOV           */ shader_glsl_mov,
     /* WINED3DSIH_MOVA          */ shader_glsl_mov,
+    /* WINED3DSIH_MOVC          */ NULL,
     /* WINED3DSIH_MUL           */ shader_glsl_arith,
     /* WINED3DSIH_NOP           */ NULL,
     /* WINED3DSIH_NRM           */ shader_glsl_nrm,
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index ebb7d5c..854c4ad 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -87,6 +87,7 @@ static const char * const shader_opcode_names[] =
     /* WINED3DSIH_MIN           */ "min",
     /* WINED3DSIH_MOV           */ "mov",
     /* WINED3DSIH_MOVA          */ "mova",
+    /* WINED3DSIH_MOVC          */ "movc",
     /* WINED3DSIH_MUL           */ "mul",
     /* WINED3DSIH_NOP           */ "nop",
     /* WINED3DSIH_NRM           */ "nrm",
diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c
index 77af90c..0b9d6fd 100644
--- a/dlls/wined3d/shader_sm4.c
+++ b/dlls/wined3d/shader_sm4.c
@@ -70,6 +70,7 @@ enum wined3d_sm4_opcode
     WINED3D_SM4_OP_MIN      = 0x33,
     WINED3D_SM4_OP_MAX      = 0x34,
     WINED3D_SM4_OP_MOV      = 0x36,
+    WINED3D_SM4_OP_MOVC     = 0x37,
     WINED3D_SM4_OP_MUL      = 0x38,
     WINED3D_SM4_OP_RET      = 0x3e,
     WINED3D_SM4_OP_RSQ      = 0x44,
@@ -137,6 +138,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] =
     {WINED3D_SM4_OP_MIN,    WINED3DSIH_MIN,         1,  2},
     {WINED3D_SM4_OP_MAX,    WINED3DSIH_MAX,         1,  2},
     {WINED3D_SM4_OP_MOV,    WINED3DSIH_MOV,         1,  1},
+    {WINED3D_SM4_OP_MOVC,   WINED3DSIH_MOVC,        1,  3},
     {WINED3D_SM4_OP_MUL,    WINED3DSIH_MUL,         1,  2},
     {WINED3D_SM4_OP_RET,    WINED3DSIH_RET,         0,  0},
     {WINED3D_SM4_OP_RSQ,    WINED3DSIH_RSQ,         1,  1},
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 47d8b8b..36b7337 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -454,6 +454,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER
     WINED3DSIH_MIN,
     WINED3DSIH_MOV,
     WINED3DSIH_MOVA,
+    WINED3DSIH_MOVC,
     WINED3DSIH_MUL,
     WINED3DSIH_NOP,
     WINED3DSIH_NRM,




More information about the wine-cvs mailing list