mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
tests: Add a test for the "nointerpolation" modifier.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c7623262cc
commit
24a27daf98
@ -103,6 +103,7 @@ vkd3d_shader_tests = \
|
||||
tests/hlsl-vector-indexing-uniform.shader_test \
|
||||
tests/logic-operations.shader_test \
|
||||
tests/math.shader_test \
|
||||
tests/nointerpolation.shader_test \
|
||||
tests/pow.shader_test \
|
||||
tests/preproc-if.shader_test \
|
||||
tests/preproc-ifdef.shader_test \
|
||||
@ -351,6 +352,7 @@ XFAIL_TESTS = \
|
||||
tests/hlsl-vector-indexing-uniform.shader_test \
|
||||
tests/logic-operations.shader_test \
|
||||
tests/max.shader_test \
|
||||
tests/nointerpolation.shader_test \
|
||||
tests/sampler-offset.shader_test \
|
||||
tests/trigonometry.shader_test
|
||||
endif
|
||||
|
27
tests/nointerpolation.shader_test
Normal file
27
tests/nointerpolation.shader_test
Normal file
@ -0,0 +1,27 @@
|
||||
[require]
|
||||
shader model >= 4.0
|
||||
|
||||
[input layout]
|
||||
0 r32g32b32a32 float texcoord
|
||||
|
||||
[vertex buffer 0]
|
||||
0.0 1.0 0.0 1.0
|
||||
1.0 0.0 0.0 1.0
|
||||
0.0 0.0 1.0 1.0
|
||||
|
||||
[vertex shader]
|
||||
void main(uint id : sv_vertexid, nointerpolation inout float4 t : texcoord, out float4 pos : sv_position)
|
||||
{
|
||||
float2 coords = float2((id << 1) & 2, id & 2);
|
||||
pos = float4(coords * float2(2, -2) + float2(-1, 1), 0, 1);
|
||||
}
|
||||
|
||||
[pixel shader]
|
||||
float4 main(nointerpolation float4 t : texcoord) : sv_target
|
||||
{
|
||||
return t;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw triangle list 3
|
||||
probe all rgba (0.0, 1.0, 0.0, 1.0)
|
@ -336,6 +336,23 @@ static void parse_test_directive(struct shader_runner *runner, const char *line)
|
||||
|
||||
runner->ops->draw(runner, D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST, 3);
|
||||
}
|
||||
else if (match_string(line, "draw", &line))
|
||||
{
|
||||
D3D_PRIMITIVE_TOPOLOGY topology;
|
||||
unsigned int vertex_count;
|
||||
char *rest;
|
||||
|
||||
if (match_string(line, "triangle list", &line))
|
||||
topology = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST;
|
||||
else
|
||||
fatal_error("Unknown primitive topology '%s'.\n", line);
|
||||
|
||||
vertex_count = strtoul(line, &rest, 10);
|
||||
if (line == rest)
|
||||
fatal_error("Malformed vertex count '%s'.\n", line);
|
||||
|
||||
runner->ops->draw(runner, topology, vertex_count);
|
||||
}
|
||||
else if (match_string(line, "probe all rgba", &line))
|
||||
{
|
||||
static const RECT rect = {0, 0, RENDER_TARGET_WIDTH, RENDER_TARGET_HEIGHT};
|
||||
|
Loading…
Reference in New Issue
Block a user