Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/vkd3d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZebediah Figura <zfigura@codeweavers.com>2022-03-30 00:50:33 +0300
committerGiovanni Mascellani <gmascellani@codeweavers.com>2022-07-26 15:48:53 +0300
commitded17b8544e60d70d687e8a13f6b20199ed6172f (patch)
treeba9685689235c79f5d04c7828b851338d4809419
parent153e5cb6c7d3057a3b0838c3c22a4094ebe1ea2e (diff)
tests: Add more tests for majority modifier syntax.
-rw-r--r--Makefile.am1
-rw-r--r--tests/hlsl-invalid.shader_test18
-rw-r--r--tests/majority-syntax.shader_test108
3 files changed, 109 insertions, 18 deletions
diff --git a/Makefile.am b/Makefile.am
index b9d85114..5dc99bea 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -116,6 +116,7 @@ vkd3d_shader_tests = \
tests/hlsl-vector-indexing.shader_test \
tests/hlsl-vector-indexing-uniform.shader_test \
tests/logic-operations.shader_test \
+ tests/majority-syntax.shader_test \
tests/math.shader_test \
tests/matrix-semantics.shader_test \
tests/multiple-rt.shader_test \
diff --git a/tests/hlsl-invalid.shader_test b/tests/hlsl-invalid.shader_test
index eca996d5..642b4582 100644
--- a/tests/hlsl-invalid.shader_test
+++ b/tests/hlsl-invalid.shader_test
@@ -87,15 +87,6 @@ uniform float4 main() : sv_target
}
[pixel shader fail]
-typedef row_major float4x4 matrix_t;
-typedef column_major matrix_t matrix2_t;
-
-float4 main() : sv_target
-{
- return 0;
-}
-
-[pixel shader fail]
float4 main()
{
return 0;
@@ -229,15 +220,6 @@ float4 main() : sv_target
}
[pixel shader fail]
-typedef row_major float4x4 mat_t;
-column_major mat_t m;
-
-float4 main() : sv_target
-{
- return float4(0, 0, 0, 0);
-}
-
-[pixel shader fail]
typedef struct apple
{
float a;
diff --git a/tests/majority-syntax.shader_test b/tests/majority-syntax.shader_test
new file mode 100644
index 00000000..63ba18f3
--- /dev/null
+++ b/tests/majority-syntax.shader_test
@@ -0,0 +1,108 @@
+[pixel shader]
+typedef row_major float2x2 mat_t;
+
+row_major mat_t m;
+
+float4 main() : sv_target
+{
+ return float4(m[0], m[1]);
+}
+
+[test]
+uniform 0 float4 0.1 0.3 0.0 0.0
+uniform 4 float4 0.2 0.4 0.0 0.0
+draw quad
+probe all rgba (0.1, 0.3, 0.2, 0.4)
+
+[pixel shader fail]
+row_major row_major float4x4 m;
+
+float4 main() : sv_target
+{
+ return float4(0, 0, 0, 0);
+}
+
+[pixel shader fail]
+typedef row_major float4x4 mat_t;
+column_major mat_t m;
+
+float4 main() : sv_target
+{
+ return float4(0, 0, 0, 0);
+}
+
+[pixel shader fail]
+typedef row_major float4x4 matrix_t;
+typedef column_major matrix_t matrix2_t;
+
+float4 main() : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail]
+typedef column_major float4 myfloat_t;
+
+float4 main() : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail todo]
+column_major float4 f;
+
+float4 main() : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail]
+struct apple
+{
+ float4x4 m;
+};
+typedef column_major struct apple apple_t;
+
+float4 main() : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail todo]
+struct apple
+{
+ float4x4 m;
+};
+column_major struct apple a;
+
+float4 main() : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail todo]
+typedef float4x4 myarray_t[2];
+
+row_major myarray_t a;
+
+float4 main() : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail todo]
+float4 main(uniform row_major float4 f) : sv_target
+{
+ return 0;
+}
+
+[pixel shader fail todo]
+struct apple
+{
+ row_major float4 f;
+};
+
+float4 main() : sv_target
+{
+ return 0;
+}