tests/shader_runner: Use read_f32() to parse "uniform" directives.

This commit is contained in:
Henri Verbeet
2025-08-21 11:43:41 +02:00
parent f732fb7889
commit 31136ead05
Notes: Henri Verbeet 2025-08-21 16:34:21 +02:00
Approved-by: Elizabeth Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1000
2 changed files with 7 additions and 6 deletions

View File

@@ -24,7 +24,7 @@ draw quad
probe (0, 0) rgba (4.0, 8.0, 16.0, 3.0) 8
% Degenerate cases
uniform 0 float4 0.0 -0.0 1.0e39 -1.0e39
uniform 0 float4 0.0 -0.0 INF -INF
draw quad
probe (0, 0) rgba (1.0e39, -1.0e39, 0.0, -0.0) 8
@@ -47,7 +47,7 @@ uniform 0 float4 7.604 3.1415 2.72 9.876
draw quad
probe (0, 0) rgba (7.604, 3.1415, 2.72, 9.876) 8
uniform 0 float4 0.0 -0.0 1.0e39 -1.0e39
uniform 0 float4 0.0 -0.0 INF -INF
draw quad
probe (0, 0) rgba (0.0, -0.0, 1.0e39, -1.0e39)

View File

@@ -1442,16 +1442,17 @@ static void parse_test_directive(struct shader_runner *runner, const char *line)
{
struct vec4 v;
if (sscanf(line, "%f %f %f %f", &v.x, &v.y, &v.z, &v.w) < 4)
fatal_error("Malformed float4 constant '%s'.\n", line);
read_f32(&line, &v.x);
read_f32(&line, &v.y);
read_f32(&line, &v.z);
read_f32(&line, &v.w);
set_uniforms(runner, offset, 4, &v);
}
else if (match_string(line, "float", &line))
{
float f;
if (sscanf(line, "%f", &f) < 1)
fatal_error("Malformed float constant '%s'.\n", line);
read_f32(&line, &f);
set_uniforms(runner, offset, 1, &f);
}
else if (match_string(line, "double2", &line))