From b53d346d35e49ea22f4ccfb887a0a2ca80e5b4cb Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Wed, 13 Oct 2010 12:26:29 +0200 Subject: [PATCH] wined3d: Recognize the SM4 div 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 c6092910543..e1f4be55bf5 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -4948,6 +4948,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_DEF */ NULL, /* WINED3DSIH_DEFB */ NULL, /* WINED3DSIH_DEFI */ NULL, + /* WINED3DSIH_DIV */ NULL, /* WINED3DSIH_DP2ADD */ pshader_hw_dp2add, /* WINED3DSIH_DP3 */ shader_hw_map2gl, /* WINED3DSIH_DP4 */ shader_hw_map2gl, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 33908481a21..62a4f7bce44 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -5006,6 +5006,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_DEF */ NULL, /* WINED3DSIH_DEFB */ NULL, /* WINED3DSIH_DEFI */ NULL, + /* WINED3DSIH_DIV */ NULL, /* WINED3DSIH_DP2ADD */ shader_glsl_dp2add, /* WINED3DSIH_DP3 */ shader_glsl_dot, /* WINED3DSIH_DP4 */ shader_glsl_dot, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 1febf56afd2..096fc134066 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -52,6 +52,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_DEF */ "def", /* WINED3DSIH_DEFB */ "defb", /* WINED3DSIH_DEFI */ "defi", + /* WINED3DSIH_DIV */ "div", /* WINED3DSIH_DP2ADD */ "dp2add", /* WINED3DSIH_DP3 */ "dp3", /* WINED3DSIH_DP4 */ "dp4", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index e32178e0d38..c0a8292d3cf 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -57,6 +57,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_BREAK = 0x02, WINED3D_SM4_OP_BREAKC = 0x03, WINED3D_SM4_OP_CUT = 0x09, + WINED3D_SM4_OP_DIV = 0x0e, WINED3D_SM4_OP_DP3 = 0x10, WINED3D_SM4_OP_DP4 = 0x11, WINED3D_SM4_OP_EMIT = 0x13, @@ -132,6 +133,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_BREAK, WINED3DSIH_BREAK, 0, 0}, {WINED3D_SM4_OP_BREAKC, WINED3DSIH_BREAKP, 0, 1}, {WINED3D_SM4_OP_CUT, WINED3DSIH_CUT, 0, 0}, + {WINED3D_SM4_OP_DIV, WINED3DSIH_DIV, 1, 2}, {WINED3D_SM4_OP_DP3, WINED3DSIH_DP3, 1, 2}, {WINED3D_SM4_OP_DP4, WINED3DSIH_DP4, 1, 2}, {WINED3D_SM4_OP_EMIT, WINED3DSIH_EMIT, 0, 0}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 7959c8e2c9b..13526f86519 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -421,6 +421,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_DEF, WINED3DSIH_DEFB, WINED3DSIH_DEFI, + WINED3DSIH_DIV, WINED3DSIH_DP2ADD, WINED3DSIH_DP3, WINED3DSIH_DP4, -- 2.11.4.GIT