Signed-off-by: Giovanni Mascellani <gmascellani(a)codeweavers.com>
Signed-off-by: Francisco Casas <fcasas(a)codeweavers.com>
---
v2:
* Use the new single component syntax
---
Makefile.am | 1 +
tests/matrix-semantics.shader_test | 71 ++++++++++++++++++++++++++++++
2 files changed, 72 insertions(+)
create mode 100644 tests/matrix-semantics.shader_test
diff --git a/Makefile.am b/Makefile.am
index dd3ce1ff..74c23b2b 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/nointerpolation.shader_test \
tests/pow.shader_test \
tests/preproc-if.shader_test \
diff --git a/tests/matrix-semantics.shader_test b/tests/matrix-semantics.shader_test
new file mode 100644
index 00000000..6a089683
--- /dev/null
+++ b/tests/matrix-semantics.shader_test
@@ -0,0 +1,71 @@
+[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
+
+[pixel shader]
+row_major float4x1 main() : sv_target
+{
+ return float4(1.0, 2.0, 3.0, 4.0);
+}
+
+[test]
+todo draw quad
+probe all r (1.0)
+
+[pixel shader]
+float1x4 main() : sv_target
+{
+ return float4(1.0, 2.0, 3.0, 4.0);
+}
+
+[test]
+todo draw quad
+probe all r (1.0)
+
+[pixel shader]
+void main(out row_major float1x4 x : sv_target0, out float1x4 y : sv_target1)
+{
+ x = float4(1.0, 2.0, 3.0, 4.0);
+ y = float4(5.0, 6.0, 7.0, 8.0);
+}
+
+[test]
+todo draw quad
+probe all rgba (1.0, 2.0, 3.0, 4.0)
+
+[pixel shader fail todo]
+void main(out float1x4 x : sv_target0, out float1x4 y : sv_target1)
+{
+ x = float4(1.0, 2.0, 3.0, 4.0);
+ y = float4(5.0, 6.0, 7.0, 8.0);
+}
+
+[pixel shader]
+void main(out float1x4 x : sv_target0, out float1x4 y : sv_target4)
+{
+ x = float4(1.0, 2.0, 3.0, 4.0);
+ y = float4(5.0, 6.0, 7.0, 8.0);
+}
+
+[test]
+todo draw quad
+probe all r (1.0)
--
2.36.1