From 14cf780fde834cadee7fd0ca87b73345323572ed Mon Sep 17 00:00:00 2001 From: Henri Verbeet <hverbeet@codeweavers.com> 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 03b525f53c7..451d34ae260 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 b1c9b610b65..68e2f8fe544 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 5f2448cd8c8..d7ba8188de8 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 5c675c278a2..25bb72a4275 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 72ffe739291..ee299347798 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 }; -- GitLab