diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/spv.matrix2.frag')
-rw-r--r-- | chromium/third_party/glslang/src/Test/spv.matrix2.frag | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/spv.matrix2.frag b/chromium/third_party/glslang/src/Test/spv.matrix2.frag new file mode 100644 index 00000000000..b14d5b18faf --- /dev/null +++ b/chromium/third_party/glslang/src/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); +} |