[PATCH vkd3d 1/7] tests: Test dot() intrinsic.

Giovanni Mascellani gmascellani at codeweavers.com
Thu Jun 23 02:31:26 CDT 2022


Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
---
 Makefile.am                |  1 +
 tests/hlsl-dot.shader_test | 94 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 95 insertions(+)
 create mode 100644 tests/hlsl-dot.shader_test

diff --git a/Makefile.am b/Makefile.am
index ad6a0a41..400e79e1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -68,6 +68,7 @@ vkd3d_shader_tests = \
 	tests/hlsl-clamp.shader_test \
 	tests/hlsl-comma.shader_test \
 	tests/hlsl-cross.shader_test \
+	tests/hlsl-dot.shader_test \
 	tests/hlsl-duplicate-modifiers.shader_test \
 	tests/hlsl-for.shader_test \
 	tests/hlsl-function.shader_test \
diff --git a/tests/hlsl-dot.shader_test b/tests/hlsl-dot.shader_test
new file mode 100644
index 00000000..123ee73e
--- /dev/null
+++ b/tests/hlsl-dot.shader_test
@@ -0,0 +1,94 @@
+[pixel shader]
+uniform float4 x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[test]
+uniform 0 float4 2.0 3.0 4.0 5.0
+uniform 4 float4 10.0 11.0 12.0 13.0
+todo draw quad
+probe all rgba (166.0, 166.0, 166.0, 166.0)
+
+[pixel shader]
+uniform float2 x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[test]
+uniform 0 float4 2.0 3.0 0.0 0.0
+uniform 4 float4 10.0 11.0 12.0 13.0
+todo draw quad
+probe all rgba (53.0, 53.0, 53.0, 53.0)
+
+[pixel shader]
+uniform float x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[test]
+uniform 0 float4 2.0 0.0 0.0 0.0
+uniform 4 float4 10.0 11.0 12.0 13.0
+todo draw quad
+probe all rgba (92.0, 92.0, 92.0, 92.0)
+
+[pixel shader]
+uniform float x;
+uniform float y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[test]
+uniform 0 float4 2.0 3.0 0.0 0.0
+todo draw quad
+probe all rgba (6.0, 6.0, 6.0, 6.0)
+
+[pixel shader fail]
+uniform float1x1 x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[pixel shader fail]
+uniform float1x4 x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[pixel shader fail]
+uniform float4x1 x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
+
+[pixel shader fail]
+uniform float4x4 x;
+uniform float4 y;
+
+float4 main() : SV_TARGET
+{
+    return dot(x, y);
+}
-- 
2.36.1




More information about the wine-devel mailing list