From 6174d1af5d80f9d8b1d3a376b895c9c095e55070 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 22 Sep 2025 17:54:51 +0200 Subject: [PATCH] vkd3d-shader/msl: Implement VSIR_OP_FREM. --- libs/vkd3d-shader/msl.c | 3 +++ tests/hlsl/arithmetic-float-uniform.shader_test | 15 ++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index e63585361..906392870 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -1543,6 +1543,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d case VSIR_OP_FRC: msl_intrinsic(gen, ins, "fract"); break; + case VSIR_OP_FREM: + msl_intrinsic(gen, ins, "fmod"); + break; case VSIR_OP_FTOI: msl_cast(gen, ins, "int"); break; diff --git a/tests/hlsl/arithmetic-float-uniform.shader_test b/tests/hlsl/arithmetic-float-uniform.shader_test index 280805756..c6f950f6f 100644 --- a/tests/hlsl/arithmetic-float-uniform.shader_test +++ b/tests/hlsl/arithmetic-float-uniform.shader_test @@ -43,9 +43,8 @@ float4 main() : SV_TARGET [test] uniform 0 float4 42.0 5.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) 16 - +draw quad +probe (0, 0) f32(2.0, -2.0, 2.0, -2.0) 16 [pixel shader fail(sm<2)] uniform float2 a; @@ -59,9 +58,8 @@ float4 main() : SV_TARGET [test] uniform 0 float4 45.0 5.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) - +draw quad +probe (0, 0) f32(0.0, 0.0, 0.0, 0.0) [pixel shader fail(sm<2)] float4 x, y; @@ -74,9 +72,8 @@ float4 main() : sv_target [test] uniform 0 float4 5.0 -42.1 4.0 45.0 uniform 4 float4 15.0 -5.0 4.1 5.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (5.0, -2.1, 4.0, 0.0) 6 - +draw quad +probe (0, 0) f32(5.0, -2.1, 4.0, 0.0) 6 [pixel shader notimpl(sm<2)] uniform float2 a;