mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
tests: Import HLSL swizzle 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
68ef1de6ec
commit
e26a0f95d6
21
Makefile.am
21
Makefile.am
@ -49,6 +49,16 @@ vkd3d_cross_tests = \
|
||||
vkd3d_shader_runners = \
|
||||
tests/shader_runner_d3d12
|
||||
|
||||
vkd3d_shader_tests = \
|
||||
tests/swizzle-0.shader_test \
|
||||
tests/swizzle-1.shader_test \
|
||||
tests/swizzle-2.shader_test \
|
||||
tests/swizzle-3.shader_test \
|
||||
tests/swizzle-4.shader_test \
|
||||
tests/swizzle-5.shader_test \
|
||||
tests/swizzle-6.shader_test \
|
||||
tests/swizzle-7.shader_test
|
||||
|
||||
vkd3d_test_headers = \
|
||||
tests/d3d12_crosstest.h \
|
||||
tests/d3d12_test_utils.h
|
||||
@ -159,13 +169,22 @@ TEST_EXTENSIONS = .shader_test
|
||||
|
||||
if BUILD_TESTS
|
||||
check_PROGRAMS = $(vkd3d_tests) $(vkd3d_cross_tests) $(vkd3d_shader_runners)
|
||||
TESTS = $(vkd3d_tests) $(vkd3d_cross_tests)
|
||||
TESTS = $(vkd3d_tests) $(vkd3d_cross_tests) $(vkd3d_shader_tests)
|
||||
tests_d3d12_LDADD = $(LDADD) @PTHREAD_LIBS@ @VULKAN_LIBS@
|
||||
tests_d3d12_invalid_usage_LDADD = $(LDADD) @VULKAN_LIBS@
|
||||
tests_shader_runner_d3d12_LDADD = $(LDADD) @VULKAN_LIBS@
|
||||
tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@
|
||||
tests_vkd3d_shader_api_LDADD = libvkd3d-shader.la
|
||||
SHADER_TEST_LOG_COMPILER = tests/shader_runner_d3d12
|
||||
XFAIL_TESTS = \
|
||||
tests/swizzle-0.shader_test \
|
||||
tests/swizzle-1.shader_test \
|
||||
tests/swizzle-2.shader_test \
|
||||
tests/swizzle-3.shader_test \
|
||||
tests/swizzle-4.shader_test \
|
||||
tests/swizzle-5.shader_test \
|
||||
tests/swizzle-6.shader_test \
|
||||
tests/swizzle-7.shader_test
|
||||
endif
|
||||
|
||||
if BUILD_DEMOS
|
||||
|
15
tests/swizzle-0.shader_test
Normal file
15
tests/swizzle-0.shader_test
Normal file
@ -0,0 +1,15 @@
|
||||
[pixel shader]
|
||||
uniform float4 color;
|
||||
|
||||
float4 main() : sv_target
|
||||
{
|
||||
float4 ret = color;
|
||||
ret.gb = ret.ra;
|
||||
ret.ra = float2(0.0101, 0.0404);
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
uniform 0 float4 0.0303 0.08 0.07 0.0202
|
||||
draw quad
|
||||
probe all rgba (0.0101, 0.0303, 0.0202, 0.0404)
|
11
tests/swizzle-1.shader_test
Normal file
11
tests/swizzle-1.shader_test
Normal file
@ -0,0 +1,11 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret = float4(0.1, 0.2, 0.3, 0.4);
|
||||
ret.wyz.yx = float2(0.5, 0.6).yx;
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.1, 0.6, 0.3, 0.5)
|
11
tests/swizzle-2.shader_test
Normal file
11
tests/swizzle-2.shader_test
Normal file
@ -0,0 +1,11 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret;
|
||||
ret.zwyx = float4(0.1, 0.2, 0.3, 0.4);
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.4, 0.3, 0.1, 0.2)
|
14
tests/swizzle-3.shader_test
Normal file
14
tests/swizzle-3.shader_test
Normal file
@ -0,0 +1,14 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret;
|
||||
ret.yw.y = 0.1;
|
||||
ret.xzy.yz.y.x = 0.2;
|
||||
ret.yzwx.yzwx.wz.y = 0.3;
|
||||
ret.zxy.xyz.zxy.xy.y = 0.4;
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.3, 0.2, 0.4, 0.1)
|
13
tests/swizzle-4.shader_test
Normal file
13
tests/swizzle-4.shader_test
Normal file
@ -0,0 +1,13 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret;
|
||||
ret.yxz.yx = float2(0.1, 0.2);
|
||||
ret.w.x = 0.3;
|
||||
ret.wzyx.zyx.yx.x = 0.4;
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.1, 0.2, 0.4, 0.3)
|
10
tests/swizzle-5.shader_test
Normal file
10
tests/swizzle-5.shader_test
Normal file
@ -0,0 +1,10 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret = float4(0.1, 0.2, 0.3, 0.4).ywxz.zyyz;
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.1, 0.4, 0.4, 0.1)
|
12
tests/swizzle-6.shader_test
Normal file
12
tests/swizzle-6.shader_test
Normal file
@ -0,0 +1,12 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret = float4(0.1, 0.2, 0.3, 0.4);
|
||||
ret.yxwz = ret;
|
||||
ret = ret.wyzx;
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.3, 0.1, 0.4, 0.2)
|
11
tests/swizzle-7.shader_test
Normal file
11
tests/swizzle-7.shader_test
Normal file
@ -0,0 +1,11 @@
|
||||
[pixel shader]
|
||||
float4 main() : SV_target
|
||||
{
|
||||
float4 ret;
|
||||
ret.xyzw.xyzw = float4(0.1, 0.2, 0.3, 0.4);
|
||||
return ret;
|
||||
}
|
||||
|
||||
[test]
|
||||
draw quad
|
||||
probe all rgba (0.1, 0.2, 0.3, 0.4)
|
Loading…
Reference in New Issue
Block a user