vkd3d-shader/hlsl: Write SM4 absolute value instructions.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-09-17 16:06:38 -05:00 committed by Alexandre Julliard
parent c5e50ae658
commit 96fd5f74f9
2 changed files with 4 additions and 1 deletions

View File

@ -274,7 +274,6 @@ tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@
tests_vkd3d_shader_api_LDADD = libvkd3d-shader.la
SHADER_TEST_LOG_COMPILER = tests/shader_runner_d3d12
XFAIL_TESTS = \
tests/abs.shader_test \
tests/cast-to-float.shader_test \
tests/cast-to-half.shader_test \
tests/cast-to-int.shader_test \

View File

@ -982,6 +982,10 @@ static void write_sm4_expr(struct hlsl_ctx *ctx,
{
switch (expr->op)
{
case HLSL_OP1_ABS:
write_sm4_unary_op(buffer, VKD3D_SM4_OP_MOV, &expr->node, arg1, VKD3D_SM4_REGISTER_MODIFIER_ABS);
break;
case HLSL_OP1_CAST:
{
const struct hlsl_type *src_type = arg1->data_type;