From b2f520b5f06fdcb8642f39bdaa97e5fc50cd5bb6 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 11 Oct 2010 13:06:16 +0200 Subject: [PATCH] wined3d: Recognize the SM4 itof 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 c053e7faf10..ec13a6597f2 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -4967,6 +4967,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_IFC */ shader_hw_ifc, /* WINED3DSIH_IGE */ NULL, /* WINED3DSIH_IMUL */ NULL, + /* WINED3DSIH_ITOF */ NULL, /* WINED3DSIH_LABEL */ shader_hw_label, /* WINED3DSIH_LIT */ shader_hw_map2gl, /* WINED3DSIH_LOG */ shader_hw_log_pow, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 0b5bb3671d3..4b65d392e14 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -5025,6 +5025,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_IFC */ shader_glsl_ifc, /* WINED3DSIH_IGE */ NULL, /* WINED3DSIH_IMUL */ NULL, + /* WINED3DSIH_ITOF */ NULL, /* WINED3DSIH_LABEL */ shader_glsl_label, /* WINED3DSIH_LIT */ shader_glsl_lit, /* WINED3DSIH_LOG */ shader_glsl_log, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index bc39b3b2aa8..f3ae897341a 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -71,6 +71,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_IFC */ "ifc", /* WINED3DSIH_IGE */ "ige", /* WINED3DSIH_IMUL */ "imul", + /* WINED3DSIH_ITOF */ "itof", /* WINED3DSIH_LABEL */ "label", /* WINED3DSIH_LIT */ "lit", /* WINED3DSIH_LOG */ "log", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index a43861498bc..b94650c8b01 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -64,6 +64,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_IF = 0x1f, WINED3D_SM4_OP_IGE = 0x21, WINED3D_SM4_OP_IMUL = 0x26, + WINED3D_SM4_OP_ITOF = 0x2b, WINED3D_SM4_OP_LOG = 0x2f, WINED3D_SM4_OP_LOOP = 0x30, WINED3D_SM4_OP_LT = 0x31, @@ -134,6 +135,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_IF, WINED3DSIH_IF, 0, 1}, {WINED3D_SM4_OP_IGE, WINED3DSIH_IGE, 1, 2}, {WINED3D_SM4_OP_IMUL, WINED3DSIH_IMUL, 2, 2}, + {WINED3D_SM4_OP_ITOF, WINED3DSIH_ITOF, 1, 1}, {WINED3D_SM4_OP_LOG, WINED3DSIH_LOG, 1, 1}, {WINED3D_SM4_OP_LOOP, WINED3DSIH_LOOP, 0, 0}, {WINED3D_SM4_OP_LT, WINED3DSIH_LT, 1, 2}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 3651c321f11..9116687bd40 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -439,6 +439,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_IFC, WINED3DSIH_IGE, WINED3DSIH_IMUL, + WINED3DSIH_ITOF, WINED3DSIH_LABEL, WINED3DSIH_LIT, WINED3DSIH_LOG,