tests/shader_runner: Handle the "rgba" probe format as an alias for "f32".

This commit is contained in:
Henri Verbeet
2025-10-06 14:18:04 +02:00
parent 6b7e4453d5
commit c522db8ce8
Notes: Henri Verbeet 2025-10-07 13:18:39 +02:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1771
5 changed files with 9 additions and 24 deletions

View File

@@ -88,8 +88,7 @@ float4 main() : SV_TARGET
[test]
uniform 0 float4 1.0 0.0 0.0 0.0
draw quad
probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99)
probe (0, 0) f32(inf, inf, inf, inf)
% d3dx9/d3dcompiler < 41 does not have mad().
[pixel shader fail(sm<2)]

View File

@@ -74,5 +74,5 @@ float4 main() : SV_TARGET
[test]
draw quad
if(sm<2) probe (0, 0) rgba (0, 0, 0, 0)
if(sm>=4) probe (0, 0) rgba (1e99, 1e99, 1e99, 1e99)
if(sm<2) probe (0, 0) f32(0, 0, 0, 0)
if(sm>=4) probe (0, 0) f32(inf, inf, inf, inf)

View File

@@ -26,8 +26,7 @@ probe (0, 0) rgba (4.0, 8.0, 16.0, 3.0) 8
% Degenerate cases
uniform 0 float4 0.0 -0.0 INF -INF
draw quad
probe (0, 0) rgba (1.0e39, -1.0e39, 0.0, -0.0) 8
probe (0, 0) f32(inf, -inf, 0.0, -0.0) 8
[pixel shader]
% Check invertibility
@@ -49,8 +48,7 @@ probe (0, 0) rgba (7.604, 3.1415, 2.72, 9.876) 8
uniform 0 float4 0.0 -0.0 INF -INF
draw quad
probe (0, 0) rgba (0.0, -0.0, 1.0e39, -1.0e39)
probe (0, 0) f32(0.0, -0.0, inf, -inf)
[pixel shader]
% Make sure swizzling works

View File

@@ -20,7 +20,7 @@ float4 main() : sv_target
[test]
draw quad
probe (0, 0) rgba (22.0, -22.0, 1.0e100, -1.0e100)
probe (0, 0) f32(22.0, -22.0, inf, -inf)
[pixel shader]
uint4 main() : sv_target
@@ -64,7 +64,7 @@ float4 main() : sv_target
[test]
todo(mvk & vulkan | msl) draw quad
todo(mvk) probe (0, 0) rgba (22.0, -22.0, 1.0e100, -1.0e100)
todo(mvk) probe (0, 0) f32(22.0, -22.0, inf, -inf)
[pixel shader]
uint4 main() : sv_target
@@ -108,7 +108,7 @@ float4 main() : sv_target
[test]
todo(mvk & vulkan | msl) draw quad
todo(mvk) probe (0, 0) rgba (22.0, -22.0, 1.0e100, -1.0e100)
todo(mvk) probe (0, 0) f32(22.0, -22.0, inf, -inf)
[pixel shader]
uint4 main() : sv_target

View File

@@ -1441,7 +1441,7 @@ static void parse_test_directive(struct shader_runner *runner, const char *line)
check_readback_data_uint(rb, &box, v.x, 0);
}
}
else if (match_string(line, "f32", &line))
else if (match_string(line, "f32", &line) || match_string(line, "rgba", &line))
{
struct vec4 v;
@@ -1491,18 +1491,6 @@ static void parse_test_directive(struct shader_runner *runner, const char *line)
check_readback_data_float(rb, &rect, v.x, ulps);
}
}
else if (match_string(line, "rgba", &line))
{
struct vec4 v;
ret = sscanf(line, "( %f , %f , %f , %f ) %u", &v.x, &v.y, &v.z, &v.w, &ulps);
if (ret < 4)
fatal_error("Malformed probe arguments '%s'.\n", line);
if (ret < 5)
ulps = 0;
todo_if(runner->is_todo) bug_if(runner->is_bug)
check_readback_data_vec4(rb, &rect, &v, ulps);
}
else
{
fatal_error("Malformed probe arguments '%s'.\n", line);