mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07: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:
committed by
Alexandre Julliard
parent
68ef1de6ec
commit
e26a0f95d6
21
Makefile.am
21
Makefile.am
@@ -49,6 +49,16 @@ vkd3d_cross_tests = \
|
|||||||
vkd3d_shader_runners = \
|
vkd3d_shader_runners = \
|
||||||
tests/shader_runner_d3d12
|
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 = \
|
vkd3d_test_headers = \
|
||||||
tests/d3d12_crosstest.h \
|
tests/d3d12_crosstest.h \
|
||||||
tests/d3d12_test_utils.h
|
tests/d3d12_test_utils.h
|
||||||
@@ -159,13 +169,22 @@ TEST_EXTENSIONS = .shader_test
|
|||||||
|
|
||||||
if BUILD_TESTS
|
if BUILD_TESTS
|
||||||
check_PROGRAMS = $(vkd3d_tests) $(vkd3d_cross_tests) $(vkd3d_shader_runners)
|
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_LDADD = $(LDADD) @PTHREAD_LIBS@ @VULKAN_LIBS@
|
||||||
tests_d3d12_invalid_usage_LDADD = $(LDADD) @VULKAN_LIBS@
|
tests_d3d12_invalid_usage_LDADD = $(LDADD) @VULKAN_LIBS@
|
||||||
tests_shader_runner_d3d12_LDADD = $(LDADD) @VULKAN_LIBS@
|
tests_shader_runner_d3d12_LDADD = $(LDADD) @VULKAN_LIBS@
|
||||||
tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@
|
tests_vkd3d_api_LDADD = libvkd3d.la @VULKAN_LIBS@
|
||||||
tests_vkd3d_shader_api_LDADD = libvkd3d-shader.la
|
tests_vkd3d_shader_api_LDADD = libvkd3d-shader.la
|
||||||
SHADER_TEST_LOG_COMPILER = tests/shader_runner_d3d12
|
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
|
endif
|
||||||
|
|
||||||
if BUILD_DEMOS
|
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)
|
Reference in New Issue
Block a user