summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix2.frag
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix2.frag')
-rw-r--r--3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix2.frag50
1 files changed, 50 insertions, 0 deletions
diff --git a/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix2.frag b/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix2.frag
new file mode 100644
index 00000000000..7fb6dd868f7
--- /dev/null
+++ b/3rdparty/bgfx/3rdparty/glslang/Test/spv.matrix2.frag
@@ -0,0 +1,50 @@
+#version 150
+
+in mat3 colorTransform;
+in vec3 Color;
+in mat4 m, n;
+
+in mat4x3 um43;
+in mat3x4 un34;
+in mat2 um2;
+in mat3 um3;
+in mat4 um4;
+
+in vec4 v;
+
+in vec3 u;
+
+out vec4 FragColor;
+
+void main()
+{
+ mat3x4 m34 = outerProduct(v, u);
+
+ m34 += mat3x4(4.3);
+
+ FragColor = vec4(Color, 1.0);
+ FragColor *= vec4(FragColor * m34, 1.0);
+
+ m34 *= v.x;
+
+ mat4 m44 = mat4(un34);
+
+ m44 += m34 * um43;
+
+ FragColor += (-m44) * v;
+
+ FragColor *= matrixCompMult(m44, m44);
+
+ m34 = transpose(um43);
+ FragColor *= vec4(FragColor * m34, 1.0);
+ FragColor *= vec4(determinant(um4));
+ mat2 inv = inverse(um2);
+ FragColor *= vec4(inv[0][0], inv[1][0], inv[0][1], inv[1][1]);
+ mat3 inv3 = inverse(um3);
+ FragColor *= vec4(inv3[2][1]);
+
+ mat4 inv4 = inverse(um4);
+ FragColor *= inv4;
+
+ FragColor = vec4(FragColor * matrixCompMult(un34, un34), FragColor.w);
+}