Francisco Casas : tests: Test struct initializers.
Alexandre Julliard
julliard at winehq.org
Fri Feb 4 16:06:36 CST 2022
Module: vkd3d
Branch: master
Commit: 40c9799d34995e98305ba71e27b3b358bfa601e8
URL: https://source.winehq.org/git/vkd3d.git/?a=commit;h=40c9799d34995e98305ba71e27b3b358bfa601e8
Author: Francisco Casas <fcasas at codeweavers.com>
Date: Thu Feb 3 23:44:18 2022 +0100
tests: Test struct initializers.
Signed-off-by: Francisco Casas <fcasas at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
Makefile.am | 2 +
tests/hlsl-initializer-struct.shader_test | 84 +++++++++++++++++++++++++++++++
2 files changed, 86 insertions(+)
diff --git a/Makefile.am b/Makefile.am
index 84c7b85..8cedf20 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -70,6 +70,7 @@ vkd3d_shader_tests = \
tests/hlsl-gather.shader_test \
tests/hlsl-initializer-local-array.shader_test \
tests/hlsl-initializer-static-array.shader_test \
+ tests/hlsl-initializer-struct.shader_test \
tests/hlsl-intrinsic-override.shader_test \
tests/hlsl-invalid.shader_test \
tests/hlsl-majority-pragma.shader_test \
@@ -299,6 +300,7 @@ XFAIL_TESTS = \
tests/hlsl-array-dimension.shader_test \
tests/hlsl-initializer-local-array.shader_test \
tests/hlsl-initializer-static-array.shader_test \
+ tests/hlsl-initializer-struct.shader_test \
tests/hlsl-bool-cast.shader_test \
tests/hlsl-duplicate-modifiers.shader_test \
tests/hlsl-for.shader_test \
diff --git a/tests/hlsl-initializer-struct.shader_test b/tests/hlsl-initializer-struct.shader_test
new file mode 100644
index 0000000..f4028b5
--- /dev/null
+++ b/tests/hlsl-initializer-struct.shader_test
@@ -0,0 +1,84 @@
+[pixel shader]
+struct stu
+{
+ int3 aaa;
+ float3 bbb;
+ int2 ccc;
+ float4 ddd;
+ int eee;
+};
+
+float4 main() : sv_target
+{
+ struct stu val =
+ {
+ 11, 12, 13,
+ 21, 22, 23,
+ 31, 32,
+ 41, 42, 43, 44,
+ 51
+ };
+ return val.ddd;
+}
+
+[test]
+draw quad
+probe all rgba (41, 42, 43, 44)
+
+
+[pixel shader]
+struct stu
+{
+ int3 aaa;
+ float3 bbb[2];
+ int2 ccc;
+ float4 ddd[3][2];
+ int eee;
+};
+
+float4 main() : sv_target
+{
+ struct stu val =
+ {
+ 11, 12, 13,
+ 211, 212, 213, 221, 222, 223,
+ 31, 32,
+ 4111, 4112, 4113, 4114, 4121, 4122, 4123, 4124,
+ 4211, 4212, 4213, 4214, 4221, 4222, 4223, 4224,
+ 4311, 4312, 4313, 4314, 4321, 4322, 4323, 4324,
+ 51
+ };
+ return val.ddd[2][0];
+}
+
+[test]
+draw quad
+probe all rgba (4311, 4312, 4313, 4314)
+
+
+[pixel shader]
+struct stu
+{
+ int3 aaa;
+ struct
+ {
+ float4 foo;
+ int2 bar;
+ } bbb[3];
+};
+
+float4 main() : sv_target
+{
+ struct stu val =
+ {
+ 1, 2, 3,
+ 11, 12, 13, 14, 15, 16,
+ 21, 22, 23, 24, 25, 26,
+ 31, 32, 33, 34, 35, 36
+ };
+ return val.bbb[1].foo;
+}
+
+[test]
+draw quad
+probe all rgba (21, 22, 23, 24)
More information about the wine-cvs
mailing list