From c82d1aac4dba0cfb3846877da206f383f096343b Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Sun, 25 May 2025 22:36:47 +0200 Subject: [PATCH] tests: Mark some tests in arithmetic-int-uniform.shader_test as buggy on MoltenVK < 1.2.11. The bug is already solved on recent MoltenVK versions, but the CI is stuck with 1.2.9, so it's useful to filter these failures out. --- tests/hlsl/arithmetic-int-uniform.shader_test | 8 ++++---- tests/shader_runner.c | 3 +++ tests/shader_runner_d3d12.c | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/hlsl/arithmetic-int-uniform.shader_test b/tests/hlsl/arithmetic-int-uniform.shader_test index dc7c43c71..1699c501f 100644 --- a/tests/hlsl/arithmetic-int-uniform.shader_test +++ b/tests/hlsl/arithmetic-int-uniform.shader_test @@ -56,7 +56,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 42.0 5.0 0.0 0.0 todo(glsl | msl) draw quad -probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) +bug(mvk<1.2.11) probe (0, 0) rgba (2.0, -2.0, 2.0, -2.0) [pixel shader] uniform float2 a; @@ -86,7 +86,7 @@ float4 main() : SV_TARGET [test] uniform 0 float4 45.0 5.0 0.0 0.0 todo(glsl | msl) draw quad -probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) +bug(mvk<1.2.11) probe (0, 0) rgba (0.0, 0.0, 0.0, 0.0) [pixel shader] uniform float4 a; @@ -135,7 +135,7 @@ float4 main() : sv_target uniform 0 float 10.0 todo(glsl | msl) draw quad if(sm<4) probe (0, 0) rgba(6, 6, -6, -6) -if(sm>=4) probe (0, 0) rgba(7, 7, -7, -7) +if(sm>=4) bug(mvk<1.2.11) probe (0, 0) rgba(7, 7, -7, -7) [pixel shader] float f; @@ -232,7 +232,7 @@ float4 main() : SV_TARGET [test] uniform 0 int64_t2 42000000000 5000000000 draw quad -probe (0, 0) rgba (2.0e9, -2.0e9, 2.0e9, -2.0e9) +bug(mvk<1.2.11) probe (0, 0) rgba (2.0e9, -2.0e9, 2.0e9, -2.0e9) [pixel shader] uniform int64_t2 a; diff --git a/tests/shader_runner.c b/tests/shader_runner.c index 64f40a508..fbb60bf2c 100644 --- a/tests/shader_runner.c +++ b/tests/shader_runner.c @@ -147,6 +147,8 @@ static bool match_tag(struct shader_runner *runner, const char *tag) static bool check_qualifier_args_conjunction(struct shader_runner *runner, const char *line, const char **const rest, uint32_t *model_mask) { + /* Tags are tested in this order, so tag X must appear before Y if Y is a + * prefix of X. */ static const char *const valid_tags[] = { "d3d12", @@ -154,6 +156,7 @@ static bool check_qualifier_args_conjunction(struct shader_runner *runner, "llvmpipe", "mesa<23.3", "msl", + "mvk<1.2.11", "mvk", "opengl", "vulkan", diff --git a/tests/shader_runner_d3d12.c b/tests/shader_runner_d3d12.c index e32c6469a..b16bb688e 100644 --- a/tests/shader_runner_d3d12.c +++ b/tests/shader_runner_d3d12.c @@ -1053,6 +1053,8 @@ static void d3d12_runner_init_caps(struct d3d12_shader_runner *runner, if (is_mvk_device(device)) { runner->caps.tags[runner->caps.tag_count++] = "mvk"; + if (is_mvk_device_lt(device, 1, 2, 11)) + runner->caps.tags[runner->caps.tag_count++] = "mvk<1.2.11"; } else {