variableArrayIndex.frag
WARNING: 0:3: varying deprecated in version 130; may be removed in future release

Shader version: 130
0:? Sequence
0:29  Function Definition: main( ( global void)
0:29    Function Parameters: 
0:?     Sequence
0:32      Sequence
0:32        move second child to first child ( temp int)
0:32          'iLocal' ( temp int)
0:32          'Count' ( uniform int)
0:34      Test condition and select ( temp void)
0:34        Condition
0:34        Compare Greater Than ( temp bool)
0:34          i: direct index for structure ( global int)
0:34            direct index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:34              s2_1: direct index for structure ( global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:34                'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:34                Constant:
0:34                  0 (const int)
0:34              Constant:
0:34                1 (const int)
0:34            Constant:
0:34              0 (const int)
0:34          Constant:
0:34            0 (const int)
0:34        true case
0:35        move second child to first child ( temp float)
0:35          'scale' ( temp float)
0:35          f: direct index for structure ( global float)
0:35            s1_1: direct index for structure ( global structure{ global int i,  global float f})
0:35              indirect index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                'foo2' ( uniform 5-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                add ( temp int)
0:35                  add ( temp int)
0:35                    i: direct index for structure ( global int)
0:35                      indirect index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                        s2_1: direct index for structure ( global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                          'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                          Constant:
0:35                            0 (const int)
0:35                        i: direct index for structure ( global int)
0:35                          'foo' ( uniform structure{ global int i,  global float f})
0:35                          Constant:
0:35                            0 (const int)
0:35                      Constant:
0:35                        0 (const int)
0:35                    Constant:
0:35                      2 (const int)
0:35                  Pre-Increment ( temp int)
0:35                    'iLocal' ( temp int)
0:35              Constant:
0:35                2 (const int)
0:35            Constant:
0:35              1 (const int)
0:34        false case
0:37        move second child to first child ( temp float)
0:37          'scale' ( temp float)
0:37          f: direct index for structure ( global float)
0:37            s1_1: direct index for structure ( global structure{ global int i,  global float f})
0:37              direct index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:37                s2_1: direct index for structure ( global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:37                  'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:37                  Constant:
0:37                    0 (const int)
0:37                Constant:
0:37                  0 (const int)
0:37              Constant:
0:37                2 (const int)
0:37            Constant:
0:37              1 (const int)
0:43      move second child to first child ( temp 4-component vector of float)
0:43        'gl_FragColor' ( fragColor 4-component vector of float FragColor)
0:43        vector-scale ( temp 4-component vector of float)
0:43          'scale' ( temp float)
0:43          texture ( global 4-component vector of float)
0:43            'sampler' ( uniform sampler2D)
0:43            'coord' ( smooth in 2-component vector of float)
0:45      Sequence
0:45        move second child to first child ( temp 3-element array of 2-component vector of float)
0:45          'constructed' ( temp 3-element array of 2-component vector of float)
0:45          Construct vec2 ( temp 3-element array of 2-component vector of float)
0:45            'coord' ( smooth in 2-component vector of float)
0:45            Construct vec2 ( temp 2-component vector of float)
0:45              'scale' ( temp float)
0:45            Constant:
0:45              1.000000
0:45              2.000000
0:46      add second child into first child ( temp 4-component vector of float)
0:46        'gl_FragColor' ( fragColor 4-component vector of float FragColor)
0:46        Construct vec4 ( temp 4-component vector of float)
0:46          indirect index ( temp 2-component vector of float)
0:46            'constructed' ( temp 3-element array of 2-component vector of float)
0:46            i: direct index for structure ( global int)
0:46              'foo' ( uniform structure{ global int i,  global float f})
0:46              Constant:
0:46                0 (const int)
0:46          indirect index ( temp 2-component vector of float)
0:46            'constructed' ( temp 3-element array of 2-component vector of float)
0:46            i: direct index for structure ( global int)
0:46              'foo' ( uniform structure{ global int i,  global float f})
0:46              Constant:
0:46                0 (const int)
0:?   Linker Objects
0:?     'sampler' ( uniform sampler2D)
0:?     'coord' ( smooth in 2-component vector of float)
0:?     'foo' ( uniform structure{ global int i,  global float f})
0:?     'foo2' ( uniform 5-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:?     'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:?     'Count' ( uniform int)


Linked fragment stage:


Shader version: 130
0:? Sequence
0:29  Function Definition: main( ( global void)
0:29    Function Parameters: 
0:?     Sequence
0:32      Sequence
0:32        move second child to first child ( temp int)
0:32          'iLocal' ( temp int)
0:32          'Count' ( uniform int)
0:34      Test condition and select ( temp void)
0:34        Condition
0:34        Compare Greater Than ( temp bool)
0:34          i: direct index for structure ( global int)
0:34            direct index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:34              s2_1: direct index for structure ( global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:34                'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:34                Constant:
0:34                  0 (const int)
0:34              Constant:
0:34                1 (const int)
0:34            Constant:
0:34              0 (const int)
0:34          Constant:
0:34            0 (const int)
0:34        true case
0:35        move second child to first child ( temp float)
0:35          'scale' ( temp float)
0:35          f: direct index for structure ( global float)
0:35            s1_1: direct index for structure ( global structure{ global int i,  global float f})
0:35              indirect index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                'foo2' ( uniform 5-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                add ( temp int)
0:35                  add ( temp int)
0:35                    i: direct index for structure ( global int)
0:35                      indirect index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                        s2_1: direct index for structure ( global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                          'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:35                          Constant:
0:35                            0 (const int)
0:35                        i: direct index for structure ( global int)
0:35                          'foo' ( uniform structure{ global int i,  global float f})
0:35                          Constant:
0:35                            0 (const int)
0:35                      Constant:
0:35                        0 (const int)
0:35                    Constant:
0:35                      2 (const int)
0:35                  Pre-Increment ( temp int)
0:35                    'iLocal' ( temp int)
0:35              Constant:
0:35                2 (const int)
0:35            Constant:
0:35              1 (const int)
0:34        false case
0:37        move second child to first child ( temp float)
0:37          'scale' ( temp float)
0:37          f: direct index for structure ( global float)
0:37            s1_1: direct index for structure ( global structure{ global int i,  global float f})
0:37              direct index ( temp structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:37                s2_1: direct index for structure ( global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:37                  'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:37                  Constant:
0:37                    0 (const int)
0:37                Constant:
0:37                  0 (const int)
0:37              Constant:
0:37                2 (const int)
0:37            Constant:
0:37              1 (const int)
0:43      move second child to first child ( temp 4-component vector of float)
0:43        'gl_FragColor' ( fragColor 4-component vector of float FragColor)
0:43        vector-scale ( temp 4-component vector of float)
0:43          'scale' ( temp float)
0:43          texture ( global 4-component vector of float)
0:43            'sampler' ( uniform sampler2D)
0:43            'coord' ( smooth in 2-component vector of float)
0:45      Sequence
0:45        move second child to first child ( temp 3-element array of 2-component vector of float)
0:45          'constructed' ( temp 3-element array of 2-component vector of float)
0:45          Construct vec2 ( temp 3-element array of 2-component vector of float)
0:45            'coord' ( smooth in 2-component vector of float)
0:45            Construct vec2 ( temp 2-component vector of float)
0:45              'scale' ( temp float)
0:45            Constant:
0:45              1.000000
0:45              2.000000
0:46      add second child into first child ( temp 4-component vector of float)
0:46        'gl_FragColor' ( fragColor 4-component vector of float FragColor)
0:46        Construct vec4 ( temp 4-component vector of float)
0:46          indirect index ( temp 2-component vector of float)
0:46            'constructed' ( temp 3-element array of 2-component vector of float)
0:46            i: direct index for structure ( global int)
0:46              'foo' ( uniform structure{ global int i,  global float f})
0:46              Constant:
0:46                0 (const int)
0:46          indirect index ( temp 2-component vector of float)
0:46            'constructed' ( temp 3-element array of 2-component vector of float)
0:46            i: direct index for structure ( global int)
0:46              'foo' ( uniform structure{ global int i,  global float f})
0:46              Constant:
0:46                0 (const int)
0:?   Linker Objects
0:?     'sampler' ( uniform sampler2D)
0:?     'coord' ( smooth in 2-component vector of float)
0:?     'foo' ( uniform structure{ global int i,  global float f})
0:?     'foo2' ( uniform 5-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:?     'foo3' ( uniform structure{ global 3-element array of structure{ global int i,  global float f,  global structure{ global int i,  global float f} s1_1} s2_1,  global int i,  global float f,  global structure{ global int i,  global float f} s1_1})
0:?     'Count' ( uniform int)