Giovanni Mascellani : tests: Test how matrix types interact with semantics.

Alexandre Julliard julliard at winehq.org
Thu Jun 9 16:21:03 CDT 2022


Module: vkd3d
Branch: master
Commit: 41df40b4ed791f14d6157ab62251363077faa029
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=41df40b4ed791f14d6157ab62251363077faa029

Author: Giovanni Mascellani <gmascellani at codeweavers.com>
Date:   Wed Jun  8 18:18:40 2022 -0500

tests: Test how matrix types interact with semantics.

Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 Makefile.am                        |   1 +
 tests/matrix-semantics.shader_test | 102 +++++++++++++++++++++++++++++++++++++
 2 files changed, 103 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index 6e827175..bdbf8e40 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -108,6 +108,7 @@ vkd3d_shader_tests = \
 	tests/hlsl-vector-indexing-uniform.shader_test \
 	tests/logic-operations.shader_test \
 	tests/math.shader_test \
+	tests/matrix-semantics.shader_test \
 	tests/multiple-rt.shader_test \
 	tests/nointerpolation.shader_test \
 	tests/pow.shader_test \
diff --git a/tests/matrix-semantics.shader_test b/tests/matrix-semantics.shader_test
new file mode 100644
index 00000000..1be50406
--- /dev/null
+++ b/tests/matrix-semantics.shader_test
@@ -0,0 +1,102 @@
+[pixel shader]
+float4x1 main() : sv_target
+{
+    return float4(1.0, 2.0, 3.0, 4.0);
+}
+
+[test]
+todo draw quad
+probe all rgba (1.0, 2.0, 3.0, 4.0)
+
+[pixel shader]
+row_major float1x4 main() : sv_target
+{
+    return float4(1.0, 2.0, 3.0, 4.0);
+}
+
+[test]
+todo draw quad
+probe all rgba (1.0, 2.0, 3.0, 4.0)
+
+[require]
+shader model >= 4.0
+
+[render target 0]
+format r32 float
+size (640, 480)
+
+[render target 1]
+format r32 float
+size (640, 480)
+
+[render target 2]
+format r32 float
+size (640, 480)
+
+[render target 3]
+format r32 float
+size (640, 480)
+
+[pixel shader]
+row_major float4x1 main() : sv_target
+{
+    return float4(1.0, 2.0, 3.0, 4.0);
+}
+
+[test]
+todo draw quad
+probe render target 0 all r (1.0)
+probe render target 1 all r (2.0)
+probe render target 2 all r (3.0)
+probe render target 3 all r (4.0)
+
+[pixel shader]
+float1x4 main() : sv_target
+{
+    return float4(1.0, 2.0, 3.0, 4.0);
+}
+
+[test]
+todo draw quad
+probe render target 0 all r (1.0)
+probe render target 1 all r (2.0)
+probe render target 2 all r (3.0)
+probe render target 3 all r (4.0)
+
+[pixel shader fail todo]
+void main(out float1x2 x : sv_target0, out float1x2 y : sv_target1)
+{
+    x = float2(1.0, 2.0);
+    y = float2(5.0, 6.0);
+}
+
+[pixel shader]
+void main(out float1x2 x : sv_target0, out float1x2 y : sv_target2)
+{
+    x = float2(1.0, 2.0);
+    y = float2(5.0, 6.0);
+}
+
+[test]
+todo draw quad
+probe render target 0 all r (1.0)
+probe render target 1 all r (2.0)
+probe render target 2 all r (5.0)
+probe render target 3 all r (6.0)
+
+[render target 0]
+format r32g32b32a32 float
+size (640, 480)
+
+[pixel shader]
+void main(out row_major float1x4 x : sv_target0, out float1x2 y : sv_target1)
+{
+    x = float4(1.0, 2.0, 3.0, 4.0);
+    y = float2(5.0, 6.0);
+}
+
+[test]
+todo draw quad
+probe render target 0 all rgba (1.0, 2.0, 3.0, 4.0)
+probe render target 1 all r (5.0)
+probe render target 2 all r (6.0)




More information about the wine-cvs mailing list