Module: wine Branch: master Commit: 512e6cec2c892ab34179f7720ed2092d47034e1b URL: http://source.winehq.org/git/wine.git/?a=commit;h=512e6cec2c892ab34179f7720e...
Author: Henri Verbeet hverbeet@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,