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

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2018-05-04 10:43:34 +0300
committerHans-Kristian Arntzen <hans-kristian.arntzen@arm.com>2018-05-04 10:43:34 +0300
commitd2df067dd4d70745e0a7218fcb5f395c447aeb60 (patch)
tree84f9a93670697e1c2c2b41eb514666fcef4c75d1 /shaders
parent7b95168c3d8f70d1fabffbd582b483ccadd6a86b (diff)
Force recompile if we add row-major transpose functions in MSL.
Diffstat (limited to 'shaders')
-rw-r--r--shaders/vert/read-from-row-major-array.vert20
1 files changed, 20 insertions, 0 deletions
diff --git a/shaders/vert/read-from-row-major-array.vert b/shaders/vert/read-from-row-major-array.vert
new file mode 100644
index 00000000..792fb8e3
--- /dev/null
+++ b/shaders/vert/read-from-row-major-array.vert
@@ -0,0 +1,20 @@
+#version 310 es
+layout(location = 0) in highp vec4 a_position;
+layout(location = 0) out mediump float v_vtxResult;
+
+layout(set = 0, binding = 0, std140, row_major) uniform Block
+{
+ highp mat2x3 var[3][4];
+};
+
+mediump float compare_float (highp float a, highp float b) { return abs(a - b) < 0.05 ? 1.0 : 0.0; }
+mediump float compare_vec3 (highp vec3 a, highp vec3 b) { return compare_float(a.x, b.x)*compare_float(a.y, b.y)*compare_float(a.z, b.z); }
+mediump float compare_mat2x3 (highp mat2x3 a, highp mat2x3 b){ return compare_vec3(a[0], b[0])*compare_vec3(a[1], b[1]); }
+
+void main (void)
+{
+ gl_Position = a_position;
+ mediump float result = 1.0;
+ result *= compare_mat2x3(var[0][0], mat2x3(2.0, 6.0, -6.0, 0.0, 5.0, 5.0));
+ v_vtxResult = result;
+}