Module: wine Branch: master Commit: 40278d5b33f4d34b839ef066c7f17a141bef79d0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=40278d5b33f4d34b839ef066c7...
Author: Józef Kucia jkucia@codeweavers.com Date: Fri Jul 15 11:16:23 2016 +0200
wined3d: Recognize SM5 ubfe opcode.
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 | 1 + dlls/wined3d/shader.c | 1 + dlls/wined3d/shader_sm4.c | 4 +++- dlls/wined3d/wined3d_private.h | 1 + 5 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index 1760d6f..945abe5 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -5396,6 +5396,7 @@ static const SHADER_HANDLER shader_arb_instruction_handler_table[WINED3DSIH_TABL /* WINED3DSIH_TEXREG2AR */ pshader_hw_texreg2ar, /* WINED3DSIH_TEXREG2GB */ pshader_hw_texreg2gb, /* WINED3DSIH_TEXREG2RGB */ pshader_hw_texreg2rgb, + /* WINED3DSIH_UBFE */ NULL, /* WINED3DSIH_UDIV */ NULL, /* WINED3DSIH_UGE */ NULL, /* WINED3DSIH_ULT */ NULL, diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index ef3adbd..ff0fd2b 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -8814,6 +8814,7 @@ static const SHADER_HANDLER shader_glsl_instruction_handler_table[WINED3DSIH_TAB /* WINED3DSIH_TEXREG2AR */ shader_glsl_texreg2ar, /* WINED3DSIH_TEXREG2GB */ shader_glsl_texreg2gb, /* WINED3DSIH_TEXREG2RGB */ shader_glsl_texreg2rgb, + /* WINED3DSIH_UBFE */ NULL, /* WINED3DSIH_UDIV */ shader_glsl_udiv, /* WINED3DSIH_UGE */ shader_glsl_relop, /* WINED3DSIH_ULT */ shader_glsl_relop, diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 7ccc1d4..5192b18 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -226,6 +226,7 @@ static const char * const shader_opcode_names[] = /* WINED3DSIH_TEXREG2AR */ "texreg2ar", /* WINED3DSIH_TEXREG2GB */ "texreg2gb", /* WINED3DSIH_TEXREG2RGB */ "texreg2rgb", + /* WINED3DSIH_UBFE */ "ubfe", /* WINED3DSIH_UDIV */ "udiv", /* WINED3DSIH_UGE */ "uge", /* WINED3DSIH_ULT */ "ult", diff --git a/dlls/wined3d/shader_sm4.c b/dlls/wined3d/shader_sm4.c index 7b82bbb..256bcc7 100644 --- a/dlls/wined3d/shader_sm4.c +++ b/dlls/wined3d/shader_sm4.c @@ -219,6 +219,7 @@ enum wined3d_sm4_opcode WINED3D_SM5_OP_DERIV_RTY_COARSE = 0x7c, WINED3D_SM5_OP_DERIV_RTY_FINE = 0x7d, WINED3D_SM5_OP_GATHER4_C = 0x7e, + WINED3D_SM5_OP_UBFE = 0x8a, WINED3D_SM5_OP_BFI = 0x8c, WINED3D_SM5_OP_BFREV = 0x8d, WINED3D_SM5_OP_SWAPC = 0x8e, @@ -820,7 +821,8 @@ static const struct wined3d_sm4_opcode_info opcode_table[] = {WINED3D_SM5_OP_DERIV_RTY_COARSE, WINED3DSIH_DSY_COARSE, "f", "f"}, {WINED3D_SM5_OP_DERIV_RTY_FINE, WINED3DSIH_DSY_FINE, "f", "f"}, {WINED3D_SM5_OP_GATHER4_C, WINED3DSIH_GATHER4_C, "f", "fRSf"}, - {WINED3D_SM5_OP_BFI, WINED3DSIH_BFI, "u", "uuuu"}, + {WINED3D_SM5_OP_UBFE, WINED3DSIH_UBFE, "u", "iiu"}, + {WINED3D_SM5_OP_BFI, WINED3DSIH_BFI, "u", "iiuu"}, {WINED3D_SM5_OP_BFREV, WINED3DSIH_BFREV, "u", "u"}, {WINED3D_SM5_OP_SWAPC, WINED3DSIH_SWAPC, "ff", "uff"}, {WINED3D_SM5_OP_DCL_STREAM, WINED3DSIH_DCL_STREAM, "", "f"}, diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 0450181..bb71740 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -743,6 +743,7 @@ enum WINED3D_SHADER_INSTRUCTION_HANDLER WINED3DSIH_TEXREG2AR, WINED3DSIH_TEXREG2GB, WINED3DSIH_TEXREG2RGB, + WINED3DSIH_UBFE, WINED3DSIH_UDIV, WINED3DSIH_UGE, WINED3DSIH_ULT,