vkd3d-shader/dxil: Handle DX intrinsic Tan in sm6_parser_emit_dx_unary().

This commit is contained in:
Conor McCarthy
2024-01-22 15:32:22 +10:00
committed by Alexandre Julliard
parent 2a260b8d56
commit 93d7c30395
Notes: Alexandre Julliard 2024-01-25 23:10:02 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/595
3 changed files with 6 additions and 0 deletions

View File

@ -285,6 +285,7 @@ static const char * const shader_opcode_names[] =
[VKD3DSIH_SWITCH ] = "switch", [VKD3DSIH_SWITCH ] = "switch",
[VKD3DSIH_SWITCH_MONOLITHIC ] = "switch", [VKD3DSIH_SWITCH_MONOLITHIC ] = "switch",
[VKD3DSIH_SYNC ] = "sync", [VKD3DSIH_SYNC ] = "sync",
[VKD3DSIH_TAN ] = "tan",
[VKD3DSIH_TEX ] = "texld", [VKD3DSIH_TEX ] = "texld",
[VKD3DSIH_TEXBEM ] = "texbem", [VKD3DSIH_TEXBEM ] = "texbem",
[VKD3DSIH_TEXBEML ] = "texbeml", [VKD3DSIH_TEXBEML ] = "texbeml",

View File

@ -333,6 +333,7 @@ enum dx_intrinsic_opcode
DX_ISFINITE = 10, DX_ISFINITE = 10,
DX_COS = 12, DX_COS = 12,
DX_SIN = 13, DX_SIN = 13,
DX_TAN = 14,
DX_EXP = 21, DX_EXP = 21,
DX_FRC = 22, DX_FRC = 22,
DX_LOG = 23, DX_LOG = 23,
@ -3505,6 +3506,8 @@ static enum vkd3d_shader_opcode map_dx_unary_op(enum dx_intrinsic_opcode op)
return VKD3DSIH_ISINF; return VKD3DSIH_ISINF;
case DX_ISFINITE: case DX_ISFINITE:
return VKD3DSIH_ISFINITE; return VKD3DSIH_ISFINITE;
case DX_TAN:
return VKD3DSIH_TAN;
case DX_EXP: case DX_EXP:
return VKD3DSIH_EXP; return VKD3DSIH_EXP;
case DX_FRC: case DX_FRC:
@ -3889,6 +3892,7 @@ static const struct sm6_dx_opcode_info sm6_dx_op_table[] =
[DX_SIN ] = {"g", "R", sm6_parser_emit_dx_sincos}, [DX_SIN ] = {"g", "R", sm6_parser_emit_dx_sincos},
[DX_SQRT ] = {"g", "R", sm6_parser_emit_dx_unary}, [DX_SQRT ] = {"g", "R", sm6_parser_emit_dx_unary},
[DX_STORE_OUTPUT ] = {"v", "ii8o", sm6_parser_emit_dx_store_output}, [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_UMAX ] = {"m", "RR", sm6_parser_emit_dx_binary},
[DX_UMIN ] = {"m", "RR", sm6_parser_emit_dx_binary}, [DX_UMIN ] = {"m", "RR", sm6_parser_emit_dx_binary},
}; };

View File

@ -480,6 +480,7 @@ enum vkd3d_shader_opcode
VKD3DSIH_SWITCH, VKD3DSIH_SWITCH,
VKD3DSIH_SWITCH_MONOLITHIC, VKD3DSIH_SWITCH_MONOLITHIC,
VKD3DSIH_SYNC, VKD3DSIH_SYNC,
VKD3DSIH_TAN,
VKD3DSIH_TEX, VKD3DSIH_TEX,
VKD3DSIH_TEXBEM, VKD3DSIH_TEXBEM,
VKD3DSIH_TEXBEML, VKD3DSIH_TEXBEML,