From: Conor McCarthy cmccarthy@codeweavers.com
--- libs/vkd3d-shader/d3d_asm.c | 1 + libs/vkd3d-shader/dxil.c | 4 ++++ libs/vkd3d-shader/vkd3d_shader_private.h | 1 + 3 files changed, 6 insertions(+)
diff --git a/libs/vkd3d-shader/d3d_asm.c b/libs/vkd3d-shader/d3d_asm.c index d9751945d..bf519ff31 100644 --- a/libs/vkd3d-shader/d3d_asm.c +++ b/libs/vkd3d-shader/d3d_asm.c @@ -282,6 +282,7 @@ static const char * const shader_opcode_names[] = [VKD3DSIH_SWITCH ] = "switch", [VKD3DSIH_SWITCH_MONOLITHIC ] = "switch", [VKD3DSIH_SYNC ] = "sync", + [VKD3DSIH_TAN ] = "tan", [VKD3DSIH_TEX ] = "texld", [VKD3DSIH_TEXBEM ] = "texbem", [VKD3DSIH_TEXBEML ] = "texbeml", diff --git a/libs/vkd3d-shader/dxil.c b/libs/vkd3d-shader/dxil.c index 7b9ec9dab..c2337aac8 100644 --- a/libs/vkd3d-shader/dxil.c +++ b/libs/vkd3d-shader/dxil.c @@ -330,6 +330,7 @@ enum dx_intrinsic_opcode DX_STORE_OUTPUT = 5, DX_COS = 12, DX_SIN = 13, + DX_TAN = 14, DX_EXP = 21, DX_FRC = 22, DX_LOG = 23, @@ -3496,6 +3497,8 @@ static enum vkd3d_shader_opcode map_dx_unary_op(enum dx_intrinsic_opcode op) { switch (op) { + case DX_TAN: + return VKD3DSIH_TAN; case DX_EXP: return VKD3DSIH_EXP; case DX_FRC: @@ -3876,6 +3879,7 @@ static const struct sm6_dx_opcode_info sm6_dx_op_table[] = [DX_SIN ] = {"g", "R", sm6_parser_emit_dx_sincos}, [DX_SQRT ] = {"g", "R", sm6_parser_emit_dx_unary}, [DX_STORE_OUTPUT ] = {"v", "ii8o", sm6_parser_emit_dx_store_output}, + [DX_TAN ] = {"g", "R", sm6_parser_emit_dx_unary}, [DX_UMAX ] = {"m", "RR", sm6_parser_emit_dx_binary}, [DX_UMIN ] = {"m", "RR", sm6_parser_emit_dx_binary}, }; diff --git a/libs/vkd3d-shader/vkd3d_shader_private.h b/libs/vkd3d-shader/vkd3d_shader_private.h index 9a00b7bc2..085c1a00e 100644 --- a/libs/vkd3d-shader/vkd3d_shader_private.h +++ b/libs/vkd3d-shader/vkd3d_shader_private.h @@ -476,6 +476,7 @@ enum vkd3d_shader_opcode VKD3DSIH_SWITCH, VKD3DSIH_SWITCH_MONOLITHIC, VKD3DSIH_SYNC, + VKD3DSIH_TAN, VKD3DSIH_TEX, VKD3DSIH_TEXBEM, VKD3DSIH_TEXBEML,