xref: /aosp_15_r20/external/skia/tests/sksl/folding/MatrixNoOpFolding.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1
2uniform mat2 testMatrix2x2;
3uniform mat3 testMatrix3x3;
4uniform vec4 testInputs;
5uniform vec4 colorRed;
6uniform vec4 colorGreen;
7uniform float unknownInput;
8bool test_mat3_mat3_b() {
9    mat3 m;
10    mat3 mm;
11    const mat3 z = mat3(0.0);
12    m = testMatrix3x3;
13    m = testMatrix3x3;
14    m = -m;
15    mm = mat3(0.0);
16    mm = mat3(0.0);
17    return m == -testMatrix3x3 && mm == z;
18}
19bool test_mat4_mat4_b() {
20    mat4 testMatrix4x4 = mat4(testInputs, testInputs, testInputs, testInputs);
21    mat4 m;
22    mat4 mm;
23    const mat4 z = mat4(0.0);
24    m = testMatrix4x4;
25    m = testMatrix4x4;
26    m = -m;
27    mm = mat4(0.0);
28    mm = mat4(0.0);
29    return m == -testMatrix4x4 && mm == z;
30}
31vec4 main() {
32    mat2 _0_m;
33    mat2 _1_mm;
34    const mat2 _3_z = mat2(0.0);
35    _0_m = testMatrix2x2;
36    _0_m = testMatrix2x2;
37    _0_m = -_0_m;
38    _1_mm = mat2(0.0);
39    _1_mm = mat2(0.0);
40    return ((_0_m == -testMatrix2x2 && _1_mm == _3_z) && test_mat3_mat3_b()) && test_mat4_mat4_b() ? colorGreen : colorRed;
41}
42