From b2aac3043011b78fc2c1c603445ad5684d14366e Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 22 Sep 2025 17:30:04 +0200 Subject: [PATCH] vkd3d-shader/msl: Implement VSIR_OP_ACOS. --- libs/vkd3d-shader/msl.c | 3 +++ tests/hlsl/inverse-trig.shader_test | 20 ++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/libs/vkd3d-shader/msl.c b/libs/vkd3d-shader/msl.c index aa8abeefb..10ed99283 100644 --- a/libs/vkd3d-shader/msl.c +++ b/libs/vkd3d-shader/msl.c @@ -1460,6 +1460,9 @@ static void msl_handle_instruction(struct msl_generator *gen, const struct vkd3d switch (ins->opcode) { + case VSIR_OP_ACOS: + msl_intrinsic(gen, ins, "acos"); + break; case VSIR_OP_ADD: case VSIR_OP_IADD: msl_binop(gen, ins, "+"); diff --git a/tests/hlsl/inverse-trig.shader_test b/tests/hlsl/inverse-trig.shader_test index 4572f42aa..3474e1b45 100644 --- a/tests/hlsl/inverse-trig.shader_test +++ b/tests/hlsl/inverse-trig.shader_test @@ -13,24 +13,24 @@ float4 main() : sv_target [test] uniform 0 float4 -1.0 0.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (3.14159274, 0.0, 0.0, 0.0) 128 +draw quad +probe (0, 0) f32(3.14159274, 0.0, 0.0, 0.0) 128 uniform 0 float4 -0.5 0.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (2.094441441, 0.0, 0.0, 0.0) 256 +draw quad +probe (0, 0) f32(2.094441441, 0.0, 0.0, 0.0) 256 uniform 0 float4 0.0 0.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (1.57072878, 0.0, 0.0, 0.0) 1024 +draw quad +probe (0, 0) f32(1.57072878, 0.0, 0.0, 0.0) 1024 uniform 0 float4 0.5 0.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (1.04715133, 0.0, 0.0, 0.0) 512 +draw quad +probe (0, 0) f32(1.04715133, 0.0, 0.0, 0.0) 512 uniform 0 float4 1.0 0.0 0.0 0.0 -todo(msl & sm>=6) draw quad -probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) 128 +draw quad +probe (0, 0) f32(0.0, 0.0, 0.0, 0.0) 128 [pixel shader] uniform float4 a;