From 96fd5f74f9ace156d7635a4539584a8c1558e812 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Fri, 17 Sep 2021 16:06:38 -0500 Subject: [PATCH] vkd3d-shader/hlsl: Write SM4 absolute value instructions. Signed-off-by: Zebediah Figura Signed-off-by: Henri Verbeet Signed-off-by: Giovanni Mascellani Signed-off-by: Matteo Bruni Signed-off-by: Alexandre Julliard --- Makefile.am | 1 - libs/vkd3d-shader/hlsl_sm4.c | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 3287ec75..32b76e19 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 \ diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c index 8a1d3632..5aefc7e8 100644 --- a/libs/vkd3d-shader/hlsl_sm4.c +++ b/libs/vkd3d-shader/hlsl_sm4.c @@ -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;