From af11214562c6850d20e1fa37f58b52d0bc99c56b Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Sun, 20 Nov 2011 20:27:09 +0100 Subject: [PATCH] wined3d: Recognize the SM4 eq 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 9b4659ebdfb..2399c822d8b 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5053,6 +5053,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_ENDIF */ shader_hw_endif, /* WINED3DSIH_ENDLOOP */ shader_hw_endloop, /* WINED3DSIH_ENDREP */ shader_hw_endrep, + /* WINED3DSIH_EQ */ NULL, /* WINED3DSIH_EXP */ shader_hw_scalar_op, /* WINED3DSIH_EXPP */ shader_hw_scalar_op, /* WINED3DSIH_FRC */ shader_hw_map2gl, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 1746cb44c64..3e5efadd9e1 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -5008,6 +5008,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_ENDIF */ shader_glsl_end, /* WINED3DSIH_ENDLOOP */ shader_glsl_end, /* WINED3DSIH_ENDREP */ shader_glsl_end, + /* WINED3DSIH_EQ */ NULL, /* WINED3DSIH_EXP */ shader_glsl_map2gl, /* WINED3DSIH_EXPP */ shader_glsl_expp, /* WINED3DSIH_FRC */ shader_glsl_map2gl, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 447de8f8ca5..3386070290d 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -64,6 +64,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_ENDIF */ "endif", /* WINED3DSIH_ENDLOOP */ "endloop", /* WINED3DSIH_ENDREP */ "endrep", + /* WINED3DSIH_EQ */ "eq", /* WINED3DSIH_EXP */ "exp", /* WINED3DSIH_EXPP */ "expp", /* WINED3DSIH_FRC */ "frc", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index 0e81b4e2cd7..5739e1d8120 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -65,6 +65,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_EMIT = 0x13, WINED3D_SM4_OP_ENDIF = 0x15, WINED3D_SM4_OP_ENDLOOP = 0x16, + WINED3D_SM4_OP_EQ = 0x18, WINED3D_SM4_OP_EXP = 0x19, WINED3D_SM4_OP_FRC = 0x1a, WINED3D_SM4_OP_FTOI = 0x1b, @@ -148,6 +149,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_EMIT, WINED3DSIH_EMIT, 0, 0}, {WINED3D_SM4_OP_ENDIF, WINED3DSIH_ENDIF, 0, 0}, {WINED3D_SM4_OP_ENDLOOP, WINED3DSIH_ENDLOOP, 0, 0}, + {WINED3D_SM4_OP_EQ, WINED3DSIH_EQ, 1, 2}, {WINED3D_SM4_OP_EXP, WINED3DSIH_EXP, 1, 1}, {WINED3D_SM4_OP_FRC, WINED3DSIH_FRC, 1, 1}, {WINED3D_SM4_OP_FTOI, WINED3DSIH_FTOI, 1, 1}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index cac3668b29e..5c4debc7a78 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -437,6 +437,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_ENDIF, WINED3DSIH_ENDLOOP, WINED3DSIH_ENDREP, + WINED3DSIH_EQ, WINED3DSIH_EXP, WINED3DSIH_EXPP, WINED3DSIH_FRC,