Module: wine Branch: master Commit: 7cc36e71b2c04fafc175d6fa1eb65a8c404fb279 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7cc36e71b2c04fafc175d6fa1e...
Author: Józef Kucia jkucia@codeweavers.com Date: Fri Jun 3 11:33:06 2016 +0200
wined3d: Implement SM4 endswitch instruction.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 c85c917..2c510b7 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5269,6 +5269,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_ENDIF */ shader_hw_endif, /* WINED3DSIH_ENDLOOP */ shader_hw_endloop, /* WINED3DSIH_ENDREP */ shader_hw_endrep, + /* WINED3DSIH_ENDSWITCH */ NULL, /* WINED3DSIH_EQ */ NULL, /* WINED3DSIH_EXP */ shader_hw_scalar_op, /* WINED3DSIH_EXPP */ shader_hw_scalar_op, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 97f7fa8..92849db 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -8603,6 +8603,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_ENDIF */ shader_glsl_end, /* WINED3DSIH_ENDLOOP */ shader_glsl_end, /* WINED3DSIH_ENDREP */ shader_glsl_end, + /* WINED3DSIH_ENDSWITCH */ shader_glsl_end, /* WINED3DSIH_EQ */ shader_glsl_relop, /* WINED3DSIH_EXP */ shader_glsl_scalar_op, /* WINED3DSIH_EXPP */ shader_glsl_expp, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 27242ae..bd8d55d 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -101,6 +101,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_ENDIF */ "endif", /* WINED3DSIH_ENDLOOP */ "endloop", /* WINED3DSIH_ENDREP */ "endrep", + /* WINED3DSIH_ENDSWITCH */ "endswitch", /* WINED3DSIH_EQ */ "eq", /* WINED3DSIH_EXP */ "exp", /* WINED3DSIH_EXPP */ "expp", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index 809f39c..ef5fcd2 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -125,6 +125,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_EMIT = 0x13, WINED3D_SM4_OP_ENDIF = 0x15, WINED3D_SM4_OP_ENDLOOP = 0x16, + WINED3D_SM4_OP_ENDSWITCH = 0x17, WINED3D_SM4_OP_EQ = 0x18, WINED3D_SM4_OP_EXP = 0x19, WINED3D_SM4_OP_FRC = 0x1a, @@ -639,6 +640,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_EMIT, WINED3DSIH_EMIT, "", ""}, {WINED3D_SM4_OP_ENDIF, WINED3DSIH_ENDIF, "", ""}, {WINED3D_SM4_OP_ENDLOOP, WINED3DSIH_ENDLOOP, "", ""}, + {WINED3D_SM4_OP_ENDSWITCH, WINED3DSIH_ENDSWITCH, "", ""}, {WINED3D_SM4_OP_EQ, WINED3DSIH_EQ, "u", "ff"}, {WINED3D_SM4_OP_EXP, WINED3DSIH_EXP, "f", "f"}, {WINED3D_SM4_OP_FRC, WINED3DSIH_FRC, "f", "f"}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 50548a1..f9a8ffa 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -608,6 +608,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_ENDIF, WINED3DSIH_ENDLOOP, WINED3DSIH_ENDREP, + WINED3DSIH_ENDSWITCH, WINED3DSIH_EQ, WINED3DSIH_EXP, WINED3DSIH_EXPP,