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:
Zebediah Figura 2020-10-01 23:09:44 -05:00 committed by Alexandre Julliard
parent 97af69bebd
commit c3ac07efa7
3 changed files with 51 additions and 2 deletions

View File

@ -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

View File

@ -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;

View 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