structAssignment.frag
WARNING: 0:4: 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:33      Test condition and select (temp void)
0:33        Condition
0:33        Compare Greater Than (temp bool)
0:33          i: direct index for structure (global int)
0:33            s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:33              'foo3' (uniform structure{global 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:33              Constant:
0:33                0 (const int)
0:33            Constant:
0:33              0 (const int)
0:33          Constant:
0:33            0 (const int)
0:33        true case
0:34        move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:34          'locals2' (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 structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:34            'foo3' (uniform structure{global 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:33        false case
0:36        move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:36          'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:36          'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:38      move second child to first child (temp 4-component vector of float)
0:38        'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:38        vector-scale (temp 4-component vector of float)
0:38          f: direct index for structure (global float)
0:38            s1_1: direct index for structure (global structure{global int i, global float f})
0:38              'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:38              Constant:
0:38                2 (const int)
0:38            Constant:
0:38              1 (const int)
0:38          texture (global 4-component vector of float)
0:38            'sampler' (uniform sampler2D)
0:38            '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 float f})
0:?     'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:?     'foo3' (uniform structure{global 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})


Linked fragment stage:


Shader version: 130
0:? Sequence
0:29  Function Definition: main( (global void)
0:29    Function Parameters: 
0:?     Sequence
0:33      Test condition and select (temp void)
0:33        Condition
0:33        Compare Greater Than (temp bool)
0:33          i: direct index for structure (global int)
0:33            s2_1: direct index for structure (global structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:33              'foo3' (uniform structure{global 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:33              Constant:
0:33                0 (const int)
0:33            Constant:
0:33              0 (const int)
0:33          Constant:
0:33            0 (const int)
0:33        true case
0:34        move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:34          'locals2' (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 structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:34            'foo3' (uniform structure{global 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:33        false case
0:36        move second child to first child (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:36          'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:36          'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:38      move second child to first child (temp 4-component vector of float)
0:38        'gl_FragColor' (fragColor 4-component vector of float FragColor)
0:38        vector-scale (temp 4-component vector of float)
0:38          f: direct index for structure (global float)
0:38            s1_1: direct index for structure (global structure{global int i, global float f})
0:38              'locals2' (temp structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:38              Constant:
0:38                2 (const int)
0:38            Constant:
0:38              1 (const int)
0:38          texture (global 4-component vector of float)
0:38            'sampler' (uniform sampler2D)
0:38            '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 float f})
0:?     'foo2' (uniform structure{global int i, global float f, global structure{global int i, global float f} s1_1})
0:?     'foo3' (uniform structure{global 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})

