diff options
Diffstat (limited to 'chromium/third_party/glslang/src/Test/spv.matrix.frag')
-rw-r--r-- | chromium/third_party/glslang/src/Test/spv.matrix.frag | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/chromium/third_party/glslang/src/Test/spv.matrix.frag b/chromium/third_party/glslang/src/Test/spv.matrix.frag new file mode 100644 index 00000000000..9fa564a59c4 --- /dev/null +++ b/chromium/third_party/glslang/src/Test/spv.matrix.frag @@ -0,0 +1,46 @@ +#version 420 + +in mat3x4 m1; +in mat3x4 m2; +in float f; +in vec3 v3; +in vec4 v4; + +out vec4 color; + +void main() +{ + mat3x4 sum34; + dmat3x4 dm; + vec3 sum3; + vec4 sum4; + + sum34 = m1 - m2; + sum34 += m1 * f; + sum34 += f * m1; + sum34 /= matrixCompMult(m1, m2); + sum34 += m1 / f; + sum34 += f / m1; + sum34 += f; + sum34 -= f; + dm = dmat3x4(sum34); + sum34 = mat3x4(dm); + + sum3 = v4 * m2; + sum4 = m2 * v3; + + mat4x3 m43 = transpose(sum34); + mat4 m4 = m1 * m43; + + sum4 = v4 * m4; + + color = sum4; + + ++sum34; + --sum34; + + sum34 += mat3x4(f); + sum34 += mat3x4(v3, f, v3, f, v3, f); + + color += sum3 * m43 + sum4; +} |