mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
tests: Import trigonometry tests from Wine.
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
97af69bebd
commit
c3ac07efa7
@ -61,7 +61,8 @@ vkd3d_shader_tests = \
|
||||
tests/swizzle-4.shader_test \
|
||||
tests/swizzle-5.shader_test \
|
||||
tests/swizzle-6.shader_test \
|
||||
tests/swizzle-7.shader_test
|
||||
tests/swizzle-7.shader_test \
|
||||
tests/trigonometry.shader_test
|
||||
|
||||
vkd3d_test_headers = \
|
||||
tests/d3d12_crosstest.h \
|
||||
@ -192,7 +193,8 @@ XFAIL_TESTS = \
|
||||
tests/swizzle-4.shader_test \
|
||||
tests/swizzle-5.shader_test \
|
||||
tests/swizzle-6.shader_test \
|
||||
tests/swizzle-7.shader_test
|
||||
tests/swizzle-7.shader_test \
|
||||
tests/trigonometry.shader_test
|
||||
endif
|
||||
|
||||
if BUILD_DEMOS
|
||||
|
@ -190,6 +190,29 @@ static void parse_test_directive(struct shader_context *context, const char *lin
|
||||
release_resource_readback(&rb);
|
||||
reset_command_list(context->c.list, context->c.allocator);
|
||||
}
|
||||
else if (match_string(line, "probe rgba", &line))
|
||||
{
|
||||
struct resource_readback rb;
|
||||
unsigned int x, y, ulps;
|
||||
struct vec4 v;
|
||||
RECT rect;
|
||||
int ret;
|
||||
|
||||
ret = sscanf(line, "( %u , %u ) ( %f , %f , %f , %f ) %u", &x, &y, &v.x, &v.y, &v.z, &v.w, &ulps);
|
||||
if (ret < 6)
|
||||
goto err;
|
||||
if (ret < 7)
|
||||
ulps = 0;
|
||||
|
||||
get_texture_readback_with_command_list(context->c.render_target, 0, &rb, context->c.queue, context->c.list);
|
||||
rect.left = x;
|
||||
rect.right = x + 1;
|
||||
rect.top = y;
|
||||
rect.bottom = y + 1;
|
||||
check_readback_data_vec4(&rb, &rect, &v, ulps);
|
||||
release_resource_readback(&rb);
|
||||
reset_command_list(context->c.list, context->c.allocator);
|
||||
}
|
||||
else if (match_string(line, "uniform", &line))
|
||||
{
|
||||
unsigned int offset;
|
||||
|
24
tests/trigonometry.shader_test
Normal file
24
tests/trigonometry.shader_test
Normal file
@ -0,0 +1,24 @@
|
||||
[pixel shader]
|
||||
float4 main(float4 pos : SV_POSITION) : SV_TARGET
|
||||
{
|
||||
return float4(sin(pos.x - 0.5), cos(pos.x - 0.5), 0, 0);
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe rgba ( 0, 0) ( 0.00000000, 1.00000000, 0.0, 0.0)
|
||||
probe rgba ( 1, 0) ( 0.84147098, 0.54030231, 0.0, 0.0) 1024
|
||||
probe rgba ( 2, 0) ( 0.90929743, -0.41614684, 0.0, 0.0) 1024
|
||||
probe rgba ( 3, 0) ( 0.14112001, -0.98999250, 0.0, 0.0) 1024
|
||||
probe rgba ( 4, 0) (-0.75680250, -0.65364362, 0.0, 0.0) 1024
|
||||
probe rgba ( 5, 0) (-0.95892427, 0.28366219, 0.0, 0.0) 1024
|
||||
probe rgba ( 6, 0) (-0.27941550, 0.96017029, 0.0, 0.0) 1024
|
||||
probe rgba ( 7, 0) ( 0.65698660, 0.75390225, 0.0, 0.0) 1024
|
||||
probe rgba ( 8, 0) ( 0.98935825, -0.14550003, 0.0, 0.0) 1024
|
||||
probe rgba ( 9, 0) ( 0.41211849, -0.91113026, 0.0, 0.0) 1024
|
||||
probe rgba (10, 0) (-0.54402111, -0.83907153, 0.0, 0.0) 1024
|
||||
probe rgba (11, 0) (-0.99999021, 0.00442570, 0.0, 0.0) 1024
|
||||
probe rgba (12, 0) (-0.53657292, 0.84385396, 0.0, 0.0) 1024
|
||||
probe rgba (13, 0) ( 0.42016704, 0.90744678, 0.0, 0.0) 1024
|
||||
probe rgba (14, 0) ( 0.99060736, 0.13673722, 0.0, 0.0) 1024
|
||||
probe rgba (15, 0) ( 0.65028784, -0.75968791, 0.0, 0.0) 1024
|
Loading…
Reference in New Issue
Block a user