structure.frag
WARNING: 0:3: varying deprecated in version 130; may be removed in future release

Shader version: 130
0:? Sequence
0:20  Function Definition: main( (global void)
0:20    Function Parameters: 
0:22    Sequence
0:22      Sequence
0:22        move second child to first child (temp float)
0:22          'scale' (temp float)
0:22          Constant:
0:22            0.000000
0:24      Test condition and select (temp void)
0:24        Condition
0:24        Compare Greater Than (temp bool)
0:24          direct index (temp int)
0:24            i: direct index for structure (global 5-element array of int)
0:24              direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:24                'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:24                Constant:
0:24                  3 (const int)
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              4 (const int)
0:24          Constant:
0:24            0 (const int)
0:24        true case
0:25        move second child to first child (temp float)
0:25          'scale' (temp float)
0:25          direct index (temp float)
0:25            direct index (temp 4-component vector of float)
0:25              color: direct index for structure (global 5-element array of 4-component vector of float)
0:25                direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:25                  s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:25                    direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:25                      'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:25                      Constant:
0:25                        3 (const int)
0:25                    Constant:
0:25                      2 (const int)
0:25                  Constant:
0:25                    2 (const int)
0:25                Constant:
0:25                  2 (const int)
0:25              Constant:
0:25                3 (const int)
0:25            Constant:
0:25              0 (const int)
0:24        false case
0:27        move second child to first child (temp float)
0:27          'scale' (temp float)
0:27          direct index (temp float)
0:27            f: direct index for structure (global 4-element array of float)
0:27              direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:27                s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:27                  direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:27                    'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:27                    Constant:
0:27                      3 (const int)
0:27                  Constant:
0:27                    2 (const int)
0:27                Constant:
0:27                  2 (const int)
0:27              Constant:
0:27                1 (const int)
0:27            Constant:
0:27              3 (const int)
0:29      move second child to first child (temp 4-component vector of float)
0:29        'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:29        vector-scale (temp 4-component vector of float)
0:29          'scale' (temp float)
0:29          texture (global 4-component vector of float)
0:29            'sampler' (uniform sampler2D)
0:29            'coord' (smooth in 2-component vector of float)
0:?   Linker Objects
0:?     'sampler' (uniform sampler2D)
0:?     'coord' (smooth in 2-component vector of float)
0:?     'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:?     'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})


Linked fragment stage:


Shader version: 130
0:? Sequence
0:20  Function Definition: main( (global void)
0:20    Function Parameters: 
0:22    Sequence
0:22      Sequence
0:22        move second child to first child (temp float)
0:22          'scale' (temp float)
0:22          Constant:
0:22            0.000000
0:24      Test condition and select (temp void)
0:24        Condition
0:24        Compare Greater Than (temp bool)
0:24          direct index (temp int)
0:24            i: direct index for structure (global 5-element array of int)
0:24              direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:24                'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:24                Constant:
0:24                  3 (const int)
0:24              Constant:
0:24                0 (const int)
0:24            Constant:
0:24              4 (const int)
0:24          Constant:
0:24            0 (const int)
0:24        true case
0:25        move second child to first child (temp float)
0:25          'scale' (temp float)
0:25          direct index (temp float)
0:25            direct index (temp 4-component vector of float)
0:25              color: direct index for structure (global 5-element array of 4-component vector of float)
0:25                direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:25                  s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:25                    direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:25                      'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:25                      Constant:
0:25                        3 (const int)
0:25                    Constant:
0:25                      2 (const int)
0:25                  Constant:
0:25                    2 (const int)
0:25                Constant:
0:25                  2 (const int)
0:25              Constant:
0:25                3 (const int)
0:25            Constant:
0:25              0 (const int)
0:24        false case
0:27        move second child to first child (temp float)
0:27          'scale' (temp float)
0:27          direct index (temp float)
0:27            f: direct index for structure (global 4-element array of float)
0:27              direct index (temp structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:27                s1_1: direct index for structure (global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:27                  direct index (temp structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:27                    'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})
0:27                    Constant:
0:27                      3 (const int)
0:27                  Constant:
0:27                    2 (const int)
0:27                Constant:
0:27                  2 (const int)
0:27              Constant:
0:27                1 (const int)
0:27            Constant:
0:27              3 (const int)
0:29      move second child to first child (temp 4-component vector of float)
0:29        'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:29        vector-scale (temp 4-component vector of float)
0:29          'scale' (temp float)
0:29          texture (global 4-component vector of float)
0:29            'sampler' (uniform sampler2D)
0:29            'coord' (smooth in 2-component vector of float)
0:?   Linker Objects
0:?     'sampler' (uniform sampler2D)
0:?     'coord' (smooth in 2-component vector of float)
0:?     'foo' (uniform structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color})
0:?     'foo2' (uniform 5-element array of structure{global 5-element array of int i, global float f, global 7-element array of structure{global int i, global 4-element array of float f, global 5-element array of 4-component vector of float color} s1_1})

