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})

