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

Shader version: 130
0:? Sequence
0:7  Sequence
0:7    move second child to first child (temp float)
0:7      'h' (global float)
0:7      Constant:
0:7        0.000000
0:9  Function Definition: foo(vf4; (global float)
0:9    Function Parameters: 
0:9      'bar' (in 4-component vector of float)
0:11    Sequence
0:11      Branch: Return with expression
0:11        add (temp float)
0:11          direct index (temp float)
0:11            'bar' (in 4-component vector of float)
0:11            Constant:
0:11              0 (const int)
0:11          direct index (temp float)
0:11            'bar' (in 4-component vector of float)
0:11            Constant:
0:11              1 (const int)
0:14  Function Definition: bar( (global void)
0:14    Function Parameters: 
0:18  Function Definition: unreachableReturn( (global float)
0:18    Function Parameters: 
0:20    Sequence
0:20      Test condition and select (temp void)
0:20        Condition
0:20        Compare Less Than (temp bool)
0:20          'd' (uniform float)
0:20          Constant:
0:20            4.200000
0:20        true case
0:21        Branch: Return with expression
0:21          Constant:
0:21            1.200000
0:20        false case
0:23        Branch: Return with expression
0:23          Constant:
0:23            4.500000
0:27  Function Definition: missingReturn( (global float)
0:27    Function Parameters: 
0:29    Sequence
0:29      Test condition and select (temp void)
0:29        Condition
0:29        Compare Less Than (temp bool)
0:29          'd' (uniform float)
0:29          Constant:
0:29            4.500000
0:29        true case
0:30        Sequence
0:30          move second child to first child (temp float)
0:30            'h' (global float)
0:30            'd' (uniform float)
0:31          Branch: Return with expression
0:31            Constant:
0:31              3.900000
0:35  Function Definition: main( (global void)
0:35    Function Parameters: 
0:37    Sequence
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of float)
0:37          'color' (temp 4-component vector of float)
0:37          Construct vec4 (temp 4-component vector of float)
0:37            Function Call: foo(vf4; (global float)
0:37              'BaseColor' (smooth in 4-component vector of float)
0:39      Function Call: bar( (global void)
0:40      Sequence
0:40        move second child to first child (temp float)
0:40          'f' (temp float)
0:40          Function Call: unreachableReturn( (global float)
0:41      Sequence
0:41        move second child to first child (temp float)
0:41          'g' (temp float)
0:41          Function Call: missingReturn( (global float)
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          vector-scale (temp 4-component vector of float)
0:43            'color' (temp 4-component vector of float)
0:43            'f' (temp float)
0:43          'h' (global float)
0:?   Linker Objects
0:?     'bigColor' (uniform 4-component vector of float)
0:?     'BaseColor' (smooth in 4-component vector of float)
0:?     'd' (uniform float)
0:?     'h' (global float)


Linked fragment stage:


Shader version: 130
0:? Sequence
0:7  Sequence
0:7    move second child to first child (temp float)
0:7      'h' (global float)
0:7      Constant:
0:7        0.000000
0:9  Function Definition: foo(vf4; (global float)
0:9    Function Parameters: 
0:9      'bar' (in 4-component vector of float)
0:11    Sequence
0:11      Branch: Return with expression
0:11        add (temp float)
0:11          direct index (temp float)
0:11            'bar' (in 4-component vector of float)
0:11            Constant:
0:11              0 (const int)
0:11          direct index (temp float)
0:11            'bar' (in 4-component vector of float)
0:11            Constant:
0:11              1 (const int)
0:14  Function Definition: bar( (global void)
0:14    Function Parameters: 
0:18  Function Definition: unreachableReturn( (global float)
0:18    Function Parameters: 
0:20    Sequence
0:20      Test condition and select (temp void)
0:20        Condition
0:20        Compare Less Than (temp bool)
0:20          'd' (uniform float)
0:20          Constant:
0:20            4.200000
0:20        true case
0:21        Branch: Return with expression
0:21          Constant:
0:21            1.200000
0:20        false case
0:23        Branch: Return with expression
0:23          Constant:
0:23            4.500000
0:27  Function Definition: missingReturn( (global float)
0:27    Function Parameters: 
0:29    Sequence
0:29      Test condition and select (temp void)
0:29        Condition
0:29        Compare Less Than (temp bool)
0:29          'd' (uniform float)
0:29          Constant:
0:29            4.500000
0:29        true case
0:30        Sequence
0:30          move second child to first child (temp float)
0:30            'h' (global float)
0:30            'd' (uniform float)
0:31          Branch: Return with expression
0:31            Constant:
0:31              3.900000
0:35  Function Definition: main( (global void)
0:35    Function Parameters: 
0:37    Sequence
0:37      Sequence
0:37        move second child to first child (temp 4-component vector of float)
0:37          'color' (temp 4-component vector of float)
0:37          Construct vec4 (temp 4-component vector of float)
0:37            Function Call: foo(vf4; (global float)
0:37              'BaseColor' (smooth in 4-component vector of float)
0:39      Function Call: bar( (global void)
0:40      Sequence
0:40        move second child to first child (temp float)
0:40          'f' (temp float)
0:40          Function Call: unreachableReturn( (global float)
0:41      Sequence
0:41        move second child to first child (temp float)
0:41          'g' (temp float)
0:41          Function Call: missingReturn( (global float)
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          vector-scale (temp 4-component vector of float)
0:43            'color' (temp 4-component vector of float)
0:43            'f' (temp float)
0:43          'h' (global float)
0:?   Linker Objects
0:?     'bigColor' (uniform 4-component vector of float)
0:?     'BaseColor' (smooth in 4-component vector of float)
0:?     'd' (uniform float)
0:?     'h' (global float)

