diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 81c30eb44b8..b026c15ebb7 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -4696,6 +4696,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_EXP */ shader_hw_scalar_op, /* WINED3DSIH_EXPP */ shader_hw_scalar_op, /* WINED3DSIH_FRC */ shader_hw_map2gl, + /* WINED3DSIH_IADD */ NULL, /* WINED3DSIH_IF */ NULL /* Hardcoded into the shader */, /* WINED3DSIH_IFC */ shader_hw_ifc, /* WINED3DSIH_IGE */ NULL, diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c index 9636a5921fa..65283050223 100644 --- a/dlls/wined3d/baseshader.c +++ b/dlls/wined3d/baseshader.c @@ -63,6 +63,7 @@ static const char *shader_opcode_names[] = /* WINED3DSIH_EXP */ "exp", /* WINED3DSIH_EXPP */ "expp", /* WINED3DSIH_FRC */ "frc", + /* WINED3DSIH_IADD */ "iadd", /* WINED3DSIH_IF */ "if", /* WINED3DSIH_IFC */ "ifc", /* WINED3DSIH_IGE */ "ige", diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index c247ec27491..e8c05448c12 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -4738,6 +4738,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_EXP */ shader_glsl_map2gl, /* WINED3DSIH_EXPP */ shader_glsl_expp, /* WINED3DSIH_FRC */ shader_glsl_map2gl, + /* WINED3DSIH_IADD */ NULL, /* WINED3DSIH_IF */ shader_glsl_if, /* WINED3DSIH_IFC */ shader_glsl_ifc, /* WINED3DSIH_IGE */ NULL, diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index 033ff02b29e..0327d800dcb 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -54,6 +54,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_DP4 = 0x11, WINED3D_SM4_OP_EMIT = 0x13, WINED3D_SM4_OP_EXP = 0x19, + WINED3D_SM4_OP_IADD = 0x1e, WINED3D_SM4_OP_IGE = 0x21, WINED3D_SM4_OP_LOG = 0x2f, WINED3D_SM4_OP_MIN = 0x33, @@ -110,6 +111,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_DP4, WINED3DSIH_DP4, 1, 2}, {WINED3D_SM4_OP_EMIT, WINED3DSIH_EMIT, 0, 0}, {WINED3D_SM4_OP_EXP, WINED3DSIH_EXP, 1, 1}, + {WINED3D_SM4_OP_IADD, WINED3DSIH_IADD, 1, 2}, {WINED3D_SM4_OP_IGE, WINED3DSIH_IGE, 1, 2}, {WINED3D_SM4_OP_LOG, WINED3DSIH_LOG, 1, 1}, {WINED3D_SM4_OP_MIN, WINED3DSIH_MIN, 1, 2}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 42aa2cc41e2..fb299c5ba00 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -428,6 +428,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_EXP, WINED3DSIH_EXPP, WINED3DSIH_FRC, + WINED3DSIH_IADD, WINED3DSIH_IF, WINED3DSIH_IFC, WINED3DSIH_IGE,