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 {