From 28068c9d4c9b9f238c5a163baeee868a9050735e Mon Sep 17 00:00:00 2001 From: Feifan He Date: Tue, 3 Dec 2024 00:04:03 +0800 Subject: [PATCH] vkd3d-shader/msl: Implement VKD3DSIH_ROUND_NI. --- libs/vkd3d-shader/msl.c | 3 +++ tests/hlsl/floor.shader_test | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index 0406b8fb..385c713e 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -593,6 +593,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d case VKD3DSIH_RET: msl_ret(gen, ins); break; + case VKD3DSIH_ROUND_NI: + msl_intrinsic(gen, ins, "floor"); + break; case VKD3DSIH_ROUND_PI: msl_intrinsic(gen, ins, "ceil"); break; diff --git a/tests/hlsl/floor.shader_test b/tests/hlsl/floor.shader_test index 8f96a9a9..96a8aca2 100644 --- a/tests/hlsl/floor.shader_test +++ b/tests/hlsl/floor.shader_test @@ -18,7 +18,7 @@ float4 main() : sv_target [test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(msl) draw quad +draw quad probe (0, 0) rgba (-1.0, 6.0, 7.0, 3.0) 4 [pixel shader] @@ -34,7 +34,7 @@ float4 main() : sv_target [test] uniform 0 float4 -0.5 6.5 7.5 3.4 -todo(msl) draw quad +draw quad probe (0, 0) rgba (6.0, 7.0, -1.0, 3.0) 4 @@ -52,5 +52,5 @@ float4 main() : sv_target [test] if(sm<4) uniform 0 float4 -1 6 7 3 if(sm>=4) uniform 0 int4 -1 6 7 3 -todo(msl) draw quad +draw quad probe (0, 0) rgba (6.0, 7.0, -1.0, 3.0) 4