aboutsummaryrefslogtreecommitdiff
path: root/tests/cases/compute_mat3x4.vkscript
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cases/compute_mat3x4.vkscript')
-rw-r--r--tests/cases/compute_mat3x4.vkscript85
1 files changed, 85 insertions, 0 deletions
diff --git a/tests/cases/compute_mat3x4.vkscript b/tests/cases/compute_mat3x4.vkscript
new file mode 100644
index 0000000..1b682aa
--- /dev/null
+++ b/tests/cases/compute_mat3x4.vkscript
@@ -0,0 +1,85 @@
+# Copyright 2019 The Amber Authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+[compute shader]
+#version 430
+
+layout(set = 0, binding = 0) buffer block0 {
+ mat3x4 transform0;
+};
+
+layout(set = 0, binding = 1) uniform block1 {
+ mat3x4 transform1;
+};
+
+layout(set = 0, binding = 2) buffer block3 {
+ vec3 test0;
+ vec3 test1;
+};
+
+void main() {
+ test0 = (transform0 * test0).xyz;
+ test1 = (transform1 * test1).xyz;
+}
+
+[test]
+
+# Fill mat3x4 using float
+# MatrixStride == 16
+ssbo 0:0 subdata float 0 1.0 0.0 0.0 0.0 \
+ 0.0 1.0 0.0 0.0 \
+ 0.0 0.0 1.0 1.0
+# MatrixStride == 16
+uniform ubo 0:1 float 0 1.0 0.0 0.0 0.0 \
+ 0.0 1.0 0.0 0.0 \
+ 0.0 0.0 1.0 1.0
+
+ssbo 0:2 subdata vec3 0 7.3 9.4 -5.8
+ssbo 0:2 subdata vec3 16 4.5 6.1 -3.8
+
+compute 1 1 1
+
+tolerance 0.1%
+
+probe ssbo vec3 0:2 0 ~= 7.3 9.4 -5.8
+probe ssbo vec3 0:2 16 ~= 4.5 6.1 -3.8
+
+
+# Clear matrices
+ssbo 0:0 subdata float 0 0.0 0.0 0.0 0.0 \
+ 0.0 0.0 0.0 0.0 \
+ 0.0 0.0 0.0 0.0
+uniform ubo 0:1 float 0 0.0 0.0 0.0 0.0 \
+ 0.0 0.0 0.0 0.0 \
+ 0.0 0.0 0.0 0.0
+
+# Fill mat3x4 using mat3x4
+# MatrixStride == 16
+ssbo 0:0 subdata mat3x4 0 1.0 0.0 0.0 0.0 \
+ 0.0 1.0 0.0 0.0 \
+ 0.0 0.0 1.0 1.0
+# MatrixStride == 16
+uniform ubo 0:1 mat3x4 0 1.0 0.0 0.0 0.0 \
+ 0.0 1.0 0.0 0.0 \
+ 0.0 0.0 1.0 1.0
+
+ssbo 0:2 subdata vec3 0 7.3 9.4 -5.8
+ssbo 0:2 subdata vec3 16 4.5 6.1 -3.8
+
+compute 1 1 1
+
+tolerance 0.1%
+
+probe ssbo vec3 0:2 0 ~= 7.3 9.4 -5.8
+probe ssbo vec3 0:2 16 ~= 4.5 6.1 -3.8