[PATCH vkd3d 10/17] vkd3d-shader/hlsl: Write SM4 integer negation.

Matteo Bruni mbruni at codeweavers.com
Wed Dec 1 10:14:59 CST 2021


From: Giovanni Mascellani <gmascellani at codeweavers.com>

Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
changelog: Fix XFAIL_TESTS, writemask-assignop-1.shader_test now
passes (thanks to some of the previous patches, I assume).

 Makefile.am                  | 3 +--
 libs/vkd3d-shader/hlsl_sm4.c | 4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 88bdc0ee..934d7e62 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -309,8 +309,7 @@ XFAIL_TESTS = \
 	tests/sampler.shader_test \
 	tests/texture-load.shader_test \
 	tests/texture-load-typed.shader_test \
-	tests/trigonometry.shader_test \
-	tests/writemask-assignop-1.shader_test
+	tests/trigonometry.shader_test
 endif
 
 if BUILD_DEMOS
diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c
index ef4a4320..7f2f9608 100644
--- a/libs/vkd3d-shader/hlsl_sm4.c
+++ b/libs/vkd3d-shader/hlsl_sm4.c
@@ -1416,6 +1416,10 @@ static void write_sm4_expr(struct hlsl_ctx *ctx,
                     break;
                 }
 
+                case HLSL_OP1_NEG:
+                    write_sm4_unary_op(buffer, VKD3D_SM4_OP_INEG, &expr->node, arg1, 0);
+                    break;
+
                 default:
                     hlsl_fixme(ctx, &expr->node.loc, "SM4 int \"%s\" expression.", debug_hlsl_expr_op(expr->op));
                     break;
-- 
2.26.3




More information about the wine-devel mailing list