Giovanni Mascellani : vkd3d-shader/hlsl: Write SM4 logic or instructions.

Alexandre Julliard julliard at winehq.org
Tue Jul 5 15:52:01 CDT 2022


Module: vkd3d
Branch: master
Commit: 448f856c0982b00a4c49a87ca952f9f4427f2c43
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=448f856c0982b00a4c49a87ca952f9f4427f2c43

Author: Giovanni Mascellani <gmascellani at codeweavers.com>
Date:   Fri Jul  1 11:23:33 2022 +0200

vkd3d-shader/hlsl: Write SM4 logic or instructions.

Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 libs/vkd3d-shader/hlsl_sm4.c       | 5 +++++
 tests/logic-operations.shader_test | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/libs/vkd3d-shader/hlsl_sm4.c b/libs/vkd3d-shader/hlsl_sm4.c
index 0829c5e9..d2857e6a 100644
--- a/libs/vkd3d-shader/hlsl_sm4.c
+++ b/libs/vkd3d-shader/hlsl_sm4.c
@@ -1851,6 +1851,11 @@ static void write_sm4_expr(struct hlsl_ctx *ctx,
             write_sm4_binary_op(buffer, VKD3D_SM4_OP_AND, &expr->node, arg1, arg2);
             break;
 
+        case HLSL_OP2_LOGIC_OR:
+            assert(dst_type->base_type == HLSL_TYPE_BOOL);
+            write_sm4_binary_op(buffer, VKD3D_SM4_OP_OR, &expr->node, arg1, arg2);
+            break;
+
         case HLSL_OP2_LSHIFT:
             assert(type_is_integer(dst_type));
             assert(dst_type->base_type != HLSL_TYPE_BOOL);
diff --git a/tests/logic-operations.shader_test b/tests/logic-operations.shader_test
index 032b5b23..360ca03b 100644
--- a/tests/logic-operations.shader_test
+++ b/tests/logic-operations.shader_test
@@ -48,7 +48,7 @@ float4 main() : SV_TARGET
 }
 
 [test]
-todo draw quad
+draw quad
 probe all rgba (0.0, 1.0, 1.0, 1.0)
 
 [pixel shader]
@@ -101,7 +101,7 @@ float4 main() : SV_TARGET
 }
 
 [test]
-todo draw quad
+draw quad
 probe all rgba (0.0, 1.0, 1.0, 1.0)
 
 [pixel shader]
@@ -154,5 +154,5 @@ float4 main() : SV_TARGET
 }
 
 [test]
-todo draw quad
+draw quad
 probe all rgba (0.0, 1.0, 1.0, 1.0)




More information about the wine-cvs mailing list