From 77ed788a604464d866521b39f43d5714681b2b12 Mon Sep 17 00:00:00 2001 From: Feifan He Date: Fri, 22 Nov 2024 15:45:54 +0800 Subject: [PATCH] vkd3d-shader/msl: Implement VKD3DSIH_DP2. --- libs/vkd3d-shader/msl.c | 3 +++ tests/hlsl/dot.shader_test | 2 +- tests/hlsl/reflect.shader_test | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index 36ce17a0..28aa7d00 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -540,6 +540,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d case VKD3DSIH_DIV: msl_binop(gen, ins, "/"); break; + case VKD3DSIH_DP2: + msl_dot(gen, ins, vkd3d_write_mask_from_component_count(2)); + break; case VKD3DSIH_DP3: msl_dot(gen, ins, vkd3d_write_mask_from_component_count(3)); break; diff --git a/tests/hlsl/dot.shader_test b/tests/hlsl/dot.shader_test index b92b36f8..c3dae112 100644 --- a/tests/hlsl/dot.shader_test +++ b/tests/hlsl/dot.shader_test @@ -25,7 +25,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 2.0 3.0 0.0 0.0 uniform 4 float4 10.0 11.0 12.0 13.0 -todo(sm<4 | msl) draw quad +todo(sm<4) draw quad probe (0, 0) rgba (53.0, 53.0, 53.0, 53.0) [pixel shader] diff --git a/tests/hlsl/reflect.shader_test b/tests/hlsl/reflect.shader_test index 09dd57ad..c0ac201f 100644 --- a/tests/hlsl/reflect.shader_test +++ b/tests/hlsl/reflect.shader_test @@ -79,7 +79,7 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 -0.1 0.0 0.0 uniform 4 float4 0.6 0.4 -0.3 1.0 -todo(sm<4 | msl) draw quad +todo(sm<4) draw quad probe (0, 0) rgba (0.188, -0.308, 0.0, 0.0) 4 [pixel shader] @@ -97,5 +97,5 @@ float4 main() : sv_target [test] uniform 0 float4 0.5 -0.1 0.2 0.0 uniform 4 float4 0.6 0.4 0.0 0.0 -todo(sm<4 | msl) draw quad +todo(sm<4) draw quad probe (0, 0) rgba (0.188, -0.308, 0.0, 0.0) 4