From ac897781ba463269e87118a95443e967ad84b75e Mon Sep 17 00:00:00 2001 From: Feifan He Date: Mon, 2 Dec 2024 23:52:13 +0800 Subject: [PATCH] vkd3d-shader/msl: Implement VKD3DSIH_IEQ. --- libs/vkd3d-shader/msl.c | 3 +++ tests/hlsl/expr-indexing.shader_test | 8 ++++---- tests/hlsl/matrix-indexing.shader_test | 2 +- tests/hlsl/non-const-indexing.shader_test | 8 ++++---- tests/hlsl/vector-indexing-uniform.shader_test | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index 2554e8de..58402aac 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -549,6 +549,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d case VKD3DSIH_DP4: msl_dot(gen, ins, VKD3DSP_WRITEMASK_ALL); break; + case VKD3DSIH_IEQ: + msl_relop(gen, ins, "=="); + break; case VKD3DSIH_FRC: msl_intrinsic(gen, ins, "fract"); break; diff --git a/tests/hlsl/expr-indexing.shader_test b/tests/hlsl/expr-indexing.shader_test index b7ef9186..ccc03605 100644 --- a/tests/hlsl/expr-indexing.shader_test +++ b/tests/hlsl/expr-indexing.shader_test @@ -26,7 +26,7 @@ float4 main() : sv_target uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float4 5.0 6.0 7.0 8.0 uniform 8 float 2 -todo(msl) draw quad +draw quad probe (0, 0) rgba (10.0, 10.0, 10.0, 10.0) @@ -56,10 +56,10 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float 0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (4.0, 4.0, 4.0, 4.0) uniform 4 float 2 -todo(msl) draw quad +draw quad probe (0, 0) rgba (1.0, 1.0, 1.0, 1.0) @@ -99,5 +99,5 @@ float4 main() : sv_target [test] uniform 0 float4 1.0 2.0 3.0 4.0 uniform 4 float 1 -todo(msl) draw quad +draw quad probe (0, 0) rgba (2.0, 2.0, 2.0, 2.0) diff --git a/tests/hlsl/matrix-indexing.shader_test b/tests/hlsl/matrix-indexing.shader_test index 5a4c71fa..421b4da2 100644 --- a/tests/hlsl/matrix-indexing.shader_test +++ b/tests/hlsl/matrix-indexing.shader_test @@ -120,7 +120,7 @@ float4 main() : sv_target [test] uniform 0 float 2 -todo(msl) draw quad +draw quad probe (0, 0) rgba (8, 9, 10, 11) diff --git a/tests/hlsl/non-const-indexing.shader_test b/tests/hlsl/non-const-indexing.shader_test index c43bc1ad..8f0e8fac 100644 --- a/tests/hlsl/non-const-indexing.shader_test +++ b/tests/hlsl/non-const-indexing.shader_test @@ -36,16 +36,16 @@ float4 main() : SV_TARGET [test] uniform 0 float 0 -todo(msl) draw quad +draw quad probe (0, 0) rgba (11.0, 11.0, 11.0, 11.0) uniform 0 float 1 -todo(msl) draw quad +draw quad probe (0, 0) rgba (12.0, 12.0, 12.0, 12.0) uniform 0 float 2 -todo(msl) draw quad +draw quad probe (0, 0) rgba (13.0, 13.0, 13.0, 13.0) uniform 0 float 3 -todo(msl) draw quad +draw quad probe (0, 0) rgba (14.0, 14.0, 14.0, 14.0) diff --git a/tests/hlsl/vector-indexing-uniform.shader_test b/tests/hlsl/vector-indexing-uniform.shader_test index e0b20f22..b57165fd 100644 --- a/tests/hlsl/vector-indexing-uniform.shader_test +++ b/tests/hlsl/vector-indexing-uniform.shader_test @@ -12,5 +12,5 @@ float4 main() : SV_TARGET [test] uniform 0 float 2 -todo(msl) draw quad +draw quad probe (0, 0) rgba (0.5, 0.3, 0.8, 0.2)