From e2d099a14d29b3aa904cf8f7ccdc5ae3af22fc63 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Sun, 20 Nov 2011 20:27:11 +0100 Subject: [PATCH] wined3d: Recognize the SM4 round_ni 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 34775a5588f..32197d5f24f 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5093,6 +5093,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_RCP */ shader_hw_rcp, /* WINED3DSIH_REP */ shader_hw_rep, /* WINED3DSIH_RET */ shader_hw_ret, + /* WINED3DSIH_ROUND_NI */ NULL, /* WINED3DSIH_RSQ */ shader_hw_scalar_op, /* WINED3DSIH_SAMPLE */ NULL, /* WINED3DSIH_SAMPLE_GRAD */ NULL, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 5e4153f558c..9d88794bd80 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -5048,6 +5048,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_RCP */ shader_glsl_rcp, /* WINED3DSIH_REP */ shader_glsl_rep, /* WINED3DSIH_RET */ shader_glsl_ret, + /* WINED3DSIH_ROUND_NI */ NULL, /* WINED3DSIH_RSQ */ shader_glsl_rsq, /* WINED3DSIH_SAMPLE */ NULL, /* WINED3DSIH_SAMPLE_GRAD */ NULL, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index a82c13c037e..e182435ade5 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -104,6 +104,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_RCP */ "rcp", /* WINED3DSIH_REP */ "rep", /* WINED3DSIH_RET */ "ret", + /* WINED3DSIH_ROUND_NI */ "round_ni", /* WINED3DSIH_RSQ */ "rsq", /* WINED3DSIH_SAMPLE */ "sample", /* WINED3DSIH_SAMPLE_GRAD */ "sample_d", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index c9a96fc9ffe..973d6063410 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -87,6 +87,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_MOVC = 0x37, WINED3D_SM4_OP_MUL = 0x38, WINED3D_SM4_OP_RET = 0x3e, + WINED3D_SM4_OP_ROUND_NI = 0x41, WINED3D_SM4_OP_RSQ = 0x44, WINED3D_SM4_OP_SAMPLE = 0x45, WINED3D_SM4_OP_SAMPLE_LOD = 0x48, @@ -172,6 +173,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {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_ROUND_NI, WINED3DSIH_ROUND_NI, 1, 1}, {WINED3D_SM4_OP_RSQ, WINED3DSIH_RSQ, 1, 1}, {WINED3D_SM4_OP_SAMPLE, WINED3DSIH_SAMPLE, 1, 3}, {WINED3D_SM4_OP_SAMPLE_LOD, WINED3DSIH_SAMPLE_LOD, 1, 4}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 3a30c4d90dc..ad179f3295e 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -477,6 +477,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_RCP, WINED3DSIH_REP, WINED3DSIH_RET, + WINED3DSIH_ROUND_NI, WINED3DSIH_RSQ, WINED3DSIH_SAMPLE, WINED3DSIH_SAMPLE_GRAD,