Module: wine Branch: master Commit: e8e27b1a2558a9c765afbd1102d1ad21fbbf351c URL: http://source.winehq.org/git/wine.git/?a=commit;h=e8e27b1a2558a9c765afbd1102...
Author: Józef Kucia jkucia@codeweavers.com Date: Mon Apr 4 11:26:36 2016 +0200
wined3d: Implement SM4 ult instruction.
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/arb_program_shader.c | 1 + dlls/wined3d/glsl_shader.c | 3 +++ dlls/wined3d/shader.c | 1 + dlls/wined3d/shader_sm4.c | 2 ++ dlls/wined3d/wined3d_private.h | 1 + 5 files changed, 8 insertions(+)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 059b5a1..afb47e1 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5375,6 +5375,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_TEXREG2RGB */ pshader_hw_texreg2rgb, /* WINED3DSIH_UDIV */ NULL, /* WINED3DSIH_UGE */ NULL, + /* WINED3DSIH_ULT */ NULL, /* WINED3DSIH_USHR */ NULL, /* WINED3DSIH_UTOF */ NULL, /* WINED3DSIH_XOR */ NULL, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index f16b5e7..cea5e5a 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -3048,6 +3048,7 @@ static void shader_glsl_relop(const struct wined3d_shader_instruction *ins) case WINED3DSIH_UGE: op = "greaterThanEqual"; break; case WINED3DSIH_LT: op = "lessThan"; break; case WINED3DSIH_ILT: op = "lessThan"; break; + case WINED3DSIH_ULT: op = "lessThan"; break; case WINED3DSIH_NE: op = "notEqual"; break; case WINED3DSIH_INE: op = "notEqual"; break; default: @@ -3070,6 +3071,7 @@ static void shader_glsl_relop(const struct wined3d_shader_instruction *ins) case WINED3DSIH_UGE: op = ">="; break; case WINED3DSIH_LT: op = "<"; break; case WINED3DSIH_ILT: op = "<"; break; + case WINED3DSIH_ULT: op = "<"; break; case WINED3DSIH_NE: op = "!="; break; case WINED3DSIH_INE: op = "!="; break; default: @@ -8293,6 +8295,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_TEXREG2RGB */ shader_glsl_texreg2rgb, /* WINED3DSIH_UDIV */ shader_glsl_udiv, /* WINED3DSIH_UGE */ shader_glsl_relop, + /* WINED3DSIH_ULT */ shader_glsl_relop, /* WINED3DSIH_USHR */ shader_glsl_binop, /* WINED3DSIH_UTOF */ shader_glsl_to_float, /* WINED3DSIH_XOR */ shader_glsl_binop, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index d8c37f5..50cafab 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -199,6 +199,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_TEXREG2RGB */ "texreg2rgb", /* WINED3DSIH_UDIV */ "udiv", /* WINED3DSIH_UGE */ "uge", + /* WINED3DSIH_ULT */ "ult", /* WINED3DSIH_USHR */ "ushr", /* WINED3DSIH_UTOF */ "utof", /* WINED3DSIH_XOR */ "xor", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index 0ce4d53..5933626 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -170,6 +170,7 @@ enum wined3d_sm4_opcode WINED3D_SM4_OP_SQRT = 0x4b, WINED3D_SM4_OP_SINCOS = 0x4d, WINED3D_SM4_OP_UDIV = 0x4e, + WINED3D_SM4_OP_ULT = 0x4f, WINED3D_SM4_OP_UGE = 0x50, WINED3D_SM4_OP_USHR = 0x55, WINED3D_SM4_OP_UTOF = 0x56, @@ -668,6 +669,7 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM4_OP_SQRT, WINED3DSIH_SQRT, "f", "f"}, {WINED3D_SM4_OP_SINCOS, WINED3DSIH_SINCOS, "ff", "f"}, {WINED3D_SM4_OP_UDIV, WINED3DSIH_UDIV, "uu", "uu"}, + {WINED3D_SM4_OP_ULT, WINED3DSIH_ULT, "u", "uu"}, {WINED3D_SM4_OP_UGE, WINED3DSIH_UGE, "u", "uu"}, {WINED3D_SM4_OP_USHR, WINED3DSIH_USHR, "u", "uu"}, {WINED3D_SM4_OP_UTOF, WINED3DSIH_UTOF, "f", "u"}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 36be9a6..c84a44d 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -685,6 +685,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_TEXREG2RGB, WINED3DSIH_UDIV, WINED3DSIH_UGE, + WINED3DSIH_ULT, WINED3DSIH_USHR, WINED3DSIH_UTOF, WINED3DSIH_XOR,