[PATCH vkd3d 1/5] tests: Add a simple test for function overloads.

Zebediah Figura zfigura at codeweavers.com
Wed Sep 1 17:20:51 CDT 2021


Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
 Makefile.am                              |  2 ++
 tests/hlsl-function-overload.shader_test | 40 ++++++++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 tests/hlsl-function-overload.shader_test

diff --git a/Makefile.am b/Makefile.am
index f51233c2..721a6b66 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,6 +58,7 @@ vkd3d_shader_tests = \
 	tests/hlsl-array-dimension.shader_test \
 	tests/hlsl-comma.shader_test \
 	tests/hlsl-duplicate-modifiers.shader_test \
+	tests/hlsl-function-overload.shader_test \
 	tests/hlsl-invalid.shader_test \
 	tests/hlsl-majority-pragma.shader_test \
 	tests/hlsl-majority-typedef.shader_test \
@@ -266,6 +267,7 @@ XFAIL_TESTS = \
 	tests/hlsl-array-dimension.shader_test \
 	tests/hlsl-comma.shader_test \
 	tests/hlsl-duplicate-modifiers.shader_test \
+	tests/hlsl-function-overload.shader_test \
 	tests/hlsl-majority-pragma.shader_test \
 	tests/hlsl-majority-typedef.shader_test \
 	tests/hlsl-nested-arrays.shader_test \
diff --git a/tests/hlsl-function-overload.shader_test b/tests/hlsl-function-overload.shader_test
new file mode 100644
index 00000000..c6e0ccfe
--- /dev/null
+++ b/tests/hlsl-function-overload.shader_test
@@ -0,0 +1,40 @@
+[pixel shader fail]
+/* The same function signature cannot be defined twice. */
+
+float func(int arg)
+{
+    return 0.1;
+}
+
+float func(int arg)
+{
+    return 0.1;
+}
+
+float4 main() : sv_target
+{
+    return 0;
+}
+
+[pixel shader]
+/* Test a basic overload. */
+float func(int arg)
+{
+    return 0.1;
+}
+
+float func(uint arg)
+{
+    return 0.2;
+}
+
+float4 main() : sv_target
+{
+    int i = 1;
+    uint u = 1;
+    return float4(func(i), func(u), func(int2(1, 1)), func(uint2(1, 1)));
+}
+
+[test]
+draw quad
+probe all rgba (0.1, 0.2, 0.1, 0.2)
-- 
2.33.0




More information about the wine-devel mailing list