From 14cf780fde834cadee7fd0ca87b73345323572ed Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 21 Nov 2011 18:48:39 +0100 Subject: [PATCH] wined3d: Recognize the SM4 xor 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(+) diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 03b525f53c..451d34ae26 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5130,6 +5130,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_UDIV */ NULL, /* WINED3DSIH_USHR */ NULL, /* WINED3DSIH_UTOF */ NULL, + /* WINED3DSIH_XOR */ NULL, }; static BOOL get_bool_const(const struct wined3d_shader_instruction *ins, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index b1c9b610b6..68e2f8fe54 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -5085,6 +5085,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_UDIV */ NULL, /* WINED3DSIH_USHR */ NULL, /* WINED3DSIH_UTOF */ NULL, + /* WINED3DSIH_XOR */ NULL, }; static void shader_glsl_handle_instruction(const struct wined3d_shader_instruction *ins) { diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 5f2448cd8c..d7ba8188de 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -141,6 +141,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_UDIV */ "udiv", /* WINED3DSIH_USHR */ "ushr", /* WINED3DSIH_UTOF */ "utof", + /* WINED3DSIH_XOR */ "xor", }; static const char * const semantic_names[] = diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index 5c675c278a..25bb72a427 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -97,6 +97,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_UDIV = 0x4e, WINED3D_SM4_OP_USHR = 0x55, WINED3D_SM4_OP_UTOF = 0x56, + WINED3D_SM4_OP_XOR = 0x57, }; enum wined3d_sm4_register_type @@ -185,6 +186,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_UDIV, WINED3DSIH_UDIV, 2, 2}, {WINED3D_SM4_OP_USHR, WINED3DSIH_USHR, 1, 2}, {WINED3D_SM4_OP_UTOF, WINED3DSIH_UTOF, 1, 1}, + {WINED3D_SM4_OP_XOR, WINED3DSIH_XOR, 1, 2}, }; static const enum wined3d_shader_register_type register_type_table[] = diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 72ffe73929..ee29934779 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -514,6 +514,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_UDIV, WINED3DSIH_USHR, WINED3DSIH_UTOF, + WINED3DSIH_XOR, WINED3DSIH_TABLE_SIZE }; -- 2.32.0.93.g670b81a890