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)

