420.vert
Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:2: '#version' : must occur first in shader 
WARNING: 0:3: varying deprecated in version 130; may be removed in future release
ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420
ERROR: 0:7: '' : vertex input cannot be further qualified 
ERROR: 0:11: '' : can only have one interpolation qualifier (flat, smooth, noperspective) 
ERROR: 0:12: '' : can only have one auxiliary qualifier (centroid, patch, and sample) 
ERROR: 0:13: 'uniform' : too many storage qualifiers 
ERROR: 0:18: '=' : global const initializers must be constant 'const int'
ERROR: 0:20: 'const' : no qualifiers allowed for function return 
ERROR: 0:27: '' : constant expression required 
ERROR: 0:27: '' : array size must be a constant integer expression 
ERROR: 0:38: 'j' : undeclared identifier 
ERROR: 0:38: '=' :  cannot convert from 'temp float' to 'temp int'
ERROR: 0:39: 'k' : undeclared identifier 
ERROR: 0:39: '=' :  cannot convert from 'temp float' to 'temp int'
ERROR: 0:40: 'j' : undeclared identifier 
ERROR: 0:40: '=' :  cannot convert from 'temp float' to 'temp int'
ERROR: 0:44: 'jj' : undeclared identifier 
ERROR: 0:44: '=' :  cannot convert from 'temp float' to 'temp int'
ERROR: 0:54: 'y' : vector field selection out of range 
ERROR: 0:62: 'xxxxx' : illegal vector field selection 
ERROR: 0:63: 'xxy' : vector field selection out of range 
ERROR: 0:66: 'binding' : cannot declare a default, include a type or full declaration 
ERROR: 0:69: 'location/component/index' : cannot declare a default, use a full declaration 
ERROR: 0:70: 'input block' : not supported in this stage: vertex
ERROR: 0:70: 'binding' : requires uniform or buffer storage qualifier 
ERROR: 0:71: 'binding' : binding is too large 
ERROR: 0:74: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits 
ERROR: 0:76: 'binding' : sampler binding not less than gl_MaxCombinedTextureImageUnits (using array)
ERROR: 0:85: 'patch' : not supported in this stage: vertex
ERROR: 0:85: '' : vertex input cannot be further qualified 
ERROR: 0:86: 'patch' : not supported in this stage: vertex
ERROR: 0:100: '=' : global const initializers must be constant 'const int'
ERROR: 0:101: '' : constant expression required 
ERROR: 0:101: '' : array size must be a constant integer expression 
ERROR: 0:107: '' : image variables not declared 'writeonly' must have a format layout qualifier 
ERROR: 0:114: 'imageAtomicMin' : only supported on image with format r32i or r32ui 
ERROR: 0:115: 'imageAtomicMax' : no matching overloaded function found 
ERROR: 0:119: 'writeonly' : argument cannot drop memory qualifier when passed to formal parameter 
ERROR: 0:122: '' : memory qualifiers cannot be used on this type 
ERROR: 0:123: '' : memory qualifiers cannot be used on this type 
ERROR: 0:135: 'volatile' : argument cannot drop memory qualifier when passed to formal parameter 
ERROR: 0:139: 'rg8i' : does not apply to unsigned integer images 
ERROR: 0:140: 'rgba32i' : does not apply to floating point images 
ERROR: 0:141: 'rgba32f' : does not apply to unsigned integer images 
ERROR: 0:142: 'r8_snorm' : does not apply to signed integer images 
ERROR: 0:143: 'rgba32ui' : does not apply to signed integer images 
ERROR: 0:144: 'r8ui' : does not apply to signed integer images 
ERROR: 0:147: 'offset on block member' : not supported for this version or the enabled extensions 
ERROR: 48 compilation errors.  No code generated.


Shader version: 420
ERROR: node is still EOpNull!
0:20  Function Definition: foo( (const int)
0:20    Function Parameters: 
0:?     Sequence
0:23      Sequence
0:23        move second child to first child (temp int)
0:23          'b' (const (read only) int)
0:23          'anonconst' (global int)
0:25      Sequence
0:25        move second child to first child (temp int)
0:25          'd' (const (read only) int)
0:25          'b' (const (read only) int)
0:29      Branch: Return with expression
0:29        'b' (const (read only) int)
0:32  Function Definition: main( (global void)
0:32    Function Parameters: 
0:?     Sequence
0:35      Test condition and select (temp void)
0:35        Condition
0:35        Compare Equal (temp bool)
0:35          'i' (temp int)
0:35          Constant:
0:35            3 (const int)
0:35        true case
0:36        Sequence
0:36          move second child to first child (temp int)
0:36            'j' (temp int)
0:36            'i' (temp int)
0:42      Loop with condition tested first
0:42        Loop Condition
0:42        Constant:
0:42          true (const bool)
0:42        No loop body
0:50  Function Definition: bar(vf4; (global void)
0:50    Function Parameters: 
0:50      'v' (volatile in 4-component vector of float)
0:?     Sequence
0:53      's' (temp int)
0:54      's' (temp int)
0:55      Test condition and select (temp void)
0:55        Condition
0:55        Compare Equal (temp bool)
0:55          direct index (temp float)
0:55            direct index (temp 4-component vector of float)
0:55              'bad' (in 10-element array of 4-component vector of float)
0:55              Constant:
0:55                0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            4.200000
0:55        true case is null
0:57      Test condition and select (temp void)
0:57        Condition
0:57        Constant:
0:57          true (const bool)
0:57        true case
0:58        move second child to first child (temp 4-component vector of float)
0:58          'badorder3' (flat out 4-component vector of float)
0:58          direct index (temp 4-component vector of float)
0:58            'bad' (in 10-element array of 4-component vector of float)
0:58            Constant:
0:58              0 (const int)
0:61      Sequence
0:61        move second child to first child (temp 3-component vector of float)
0:61          'smeared' (temp 3-component vector of float)
0:61          Construct vec3 (temp 3-component vector of float)
0:61            'f' (temp float)
0:62      'f' (temp float)
0:63      'f' (temp float)
0:88  Function Definition: bar23444( (global void)
0:88    Function Parameters: 
0:?     Sequence
0:91      Sequence
0:91        move second child to first child (temp float)
0:91          'a1' (temp float)
0:91          direct index (temp float)
0:91            direct index (temp 3-component vector of float)
0:91              'm43' (temp 4X3 matrix of float)
0:91              Constant:
0:91                3 (const int)
0:91            Constant:
0:91              1 (const int)
0:93      Sequence
0:93        move second child to first child (temp int)
0:93          'a2' (temp int)
0:93          Constant:
0:93            4 (const int)
0:94      add second child into first child (temp int)
0:94        'a2' (temp int)
0:94        Constant:
0:94          3 (const int)
0:95      add second child into first child (temp int)
0:95        'a2' (temp int)
0:95        Constant:
0:95          3 (const int)
0:96      Sequence
0:96        move second child to first child (temp float)
0:96          'b' (const (read only) float)
0:96          component-wise multiply (temp float)
0:96            Constant:
0:96              2.000000
0:96            'a1' (temp float)
0:97      Sequence
0:97        move second child to first child (temp int)
0:97          'a' (temp int)
0:97          Constant:
0:97            -1 (const int)
0:109  Function Definition: qux( (global void)
0:109    Function Parameters: 
0:111    Sequence
0:111      Sequence
0:111        move second child to first child (temp int)
0:111          'i' (temp int)
0:111          aoeu: direct index for structure (layout(column_major shared ) uniform int)
0:111            'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:111            Constant:
0:111              0 (const uint)
0:112      imageAtomicCompSwap (global int)
0:112        'iimg2D' (layout(r32i ) uniform iimage2D)
0:112        Construct ivec2 (temp 2-component vector of int)
0:112          'i' (temp int)
0:112          'i' (temp int)
0:112        'i' (temp int)
0:112        'i' (temp int)
0:113      imageAtomicAdd (global uint)
0:113        'uimg2D' (layout(r32ui ) uniform uimage2D)
0:113        Construct ivec2 (temp 2-component vector of int)
0:113          'i' (temp int)
0:113          'i' (temp int)
0:113        Convert int to uint (temp uint)
0:113          'i' (temp int)
0:114      imageAtomicMin (global int)
0:114        'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:114        Construct ivec2 (temp 2-component vector of int)
0:114          'i' (temp int)
0:114          'i' (temp int)
0:114        'i' (temp int)
0:115      Constant:
0:115        0.000000
0:116      Sequence
0:116        move second child to first child (temp 4-component vector of int)
0:116          'pos' (temp 4-component vector of int)
0:116          imageLoad (global 4-component vector of int)
0:116            'iimg2D' (layout(r32i ) uniform iimage2D)
0:116            Construct ivec2 (temp 2-component vector of int)
0:116              'i' (temp int)
0:116              'i' (temp int)
0:117      Sequence
0:117        move second child to first child (temp 4-component vector of float)
0:117          'col' (temp 4-component vector of float)
0:117          imageLoad (global 4-component vector of float)
0:117            'img2DMS' (uniform image2DMS)
0:117            Construct ivec2 (temp 2-component vector of int)
0:117              'i' (temp int)
0:117              'i' (temp int)
0:117            'i' (temp int)
0:118      imageStore (global void)
0:118        'img2DMSWO' (writeonly uniform image2DMS)
0:118        Construct ivec2 (temp 2-component vector of int)
0:118          'i' (temp int)
0:118          'i' (temp int)
0:118        'i' (temp int)
0:118        Constant:
0:118          0.000000
0:118          0.000000
0:118          0.000000
0:118          0.000000
0:119      imageLoad (global 4-component vector of float)
0:119        'img2DMSWO' (writeonly uniform image2DMS)
0:119        Construct ivec2 (temp 2-component vector of int)
0:119          'i' (temp int)
0:119          'i' (temp int)
0:119        'i' (temp int)
0:125  Function Definition: passr(iI21; (global void)
0:125    Function Parameters: 
0:125      'image' (coherent readonly in iimage2D)
0:132  Function Definition: passrc( (global void)
0:132    Function Parameters: 
0:134    Sequence
0:134      Function Call: passr(iI21; (global void)
0:134        'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
0:135      Function Call: passr(iI21; (global void)
0:135        'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
0:136      Function Call: passr(iI21; (global void)
0:136        'iimg2D' (layout(r32i ) uniform iimage2D)
0:?   Linker Objects
0:?     'v2' (smooth out 2-component vector of float)
0:?     'bad' (in 10-element array of 4-component vector of float)
0:?     'badorder' (in 4-component vector of float)
0:?     'badorder2' (invariant smooth out 4-component vector of float)
0:?     'badorder4' (centroid in 4-component vector of float)
0:?     'badorder3' (flat out 4-component vector of float)
0:?     'rep' (smooth flat out 4-component vector of float)
0:?     'rep2' (centroid smooth sample out 4-component vector of float)
0:?     'rep3' (in 4-component vector of float)
0:?     'anonconst' (global int)
0:?     'aconst' (const int)
0:?       5 (const int)
0:?     'a' (const int)
0:?       5 (const int)
0:?     'b' (temp int)
0:?     'cx' (const float)
0:?       4.200000
0:?     'dx' (const float)
0:?       4.200000
0:?     'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:?     'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:?     'anon@1' (layout(binding=1 ) in block{in int aoeua})
0:?     'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
0:?     'sampb1' (layout(binding=4 ) uniform sampler2D)
0:?     'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)
0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)
0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
0:?     'anon@3' (out block{out implicitly-sized array of float ClipDistance gl_ClipDistance, })
0:?     'patchIn' (patch in 4-component vector of float)
0:?     'patchOut' (smooth patch out 4-component vector of float)
0:?     'comma0' (temp int)
0:?     'comma1' (global 1-element array of int)
0:?     'iimg2D' (layout(r32i ) uniform iimage2D)
0:?     'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:?     'img2Drgba' (layout(rgba32f ) uniform image2D)
0:?     'uimg2D' (layout(r32ui ) uniform uimage2D)
0:?     'img2DMS' (uniform image2DMS)
0:?     'img2DMSWO' (writeonly uniform image2DMS)
0:?     'vol' (volatile temp float)
0:?     'vol2' (readonly temp int)
0:?     'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
0:?     'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
0:?     'i1bad' (layout(rg8i ) uniform uimage2D)
0:?     'i2bad' (layout(rgba32i ) uniform image2D)
0:?     'i3bad' (layout(rgba32f ) uniform uimage2D)
0:?     'i4bad' (layout(r8_snorm ) uniform iimage2D)
0:?     'i5bad' (layout(rgba32ui ) uniform iimage2D)
0:?     'i6bad' (layout(r8ui ) uniform iimage2D)
0:?     'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)


Linked vertex stage:


Shader version: 420
ERROR: node is still EOpNull!
0:20  Function Definition: foo( (const int)
0:20    Function Parameters: 
0:?     Sequence
0:23      Sequence
0:23        move second child to first child (temp int)
0:23          'b' (const (read only) int)
0:23          'anonconst' (global int)
0:25      Sequence
0:25        move second child to first child (temp int)
0:25          'd' (const (read only) int)
0:25          'b' (const (read only) int)
0:29      Branch: Return with expression
0:29        'b' (const (read only) int)
0:32  Function Definition: main( (global void)
0:32    Function Parameters: 
0:?     Sequence
0:35      Test condition and select (temp void)
0:35        Condition
0:35        Compare Equal (temp bool)
0:35          'i' (temp int)
0:35          Constant:
0:35            3 (const int)
0:35        true case
0:36        Sequence
0:36          move second child to first child (temp int)
0:36            'j' (temp int)
0:36            'i' (temp int)
0:42      Loop with condition tested first
0:42        Loop Condition
0:42        Constant:
0:42          true (const bool)
0:42        No loop body
0:50  Function Definition: bar(vf4; (global void)
0:50    Function Parameters: 
0:50      'v' (volatile in 4-component vector of float)
0:?     Sequence
0:53      's' (temp int)
0:54      's' (temp int)
0:55      Test condition and select (temp void)
0:55        Condition
0:55        Compare Equal (temp bool)
0:55          direct index (temp float)
0:55            direct index (temp 4-component vector of float)
0:55              'bad' (in 10-element array of 4-component vector of float)
0:55              Constant:
0:55                0 (const int)
0:55            Constant:
0:55              0 (const int)
0:55          Constant:
0:55            4.200000
0:55        true case is null
0:57      Test condition and select (temp void)
0:57        Condition
0:57        Constant:
0:57          true (const bool)
0:57        true case
0:58        move second child to first child (temp 4-component vector of float)
0:58          'badorder3' (flat out 4-component vector of float)
0:58          direct index (temp 4-component vector of float)
0:58            'bad' (in 10-element array of 4-component vector of float)
0:58            Constant:
0:58              0 (const int)
0:61      Sequence
0:61        move second child to first child (temp 3-component vector of float)
0:61          'smeared' (temp 3-component vector of float)
0:61          Construct vec3 (temp 3-component vector of float)
0:61            'f' (temp float)
0:62      'f' (temp float)
0:63      'f' (temp float)
0:88  Function Definition: bar23444( (global void)
0:88    Function Parameters: 
0:?     Sequence
0:91      Sequence
0:91        move second child to first child (temp float)
0:91          'a1' (temp float)
0:91          direct index (temp float)
0:91            direct index (temp 3-component vector of float)
0:91              'm43' (temp 4X3 matrix of float)
0:91              Constant:
0:91                3 (const int)
0:91            Constant:
0:91              1 (const int)
0:93      Sequence
0:93        move second child to first child (temp int)
0:93          'a2' (temp int)
0:93          Constant:
0:93            4 (const int)
0:94      add second child into first child (temp int)
0:94        'a2' (temp int)
0:94        Constant:
0:94          3 (const int)
0:95      add second child into first child (temp int)
0:95        'a2' (temp int)
0:95        Constant:
0:95          3 (const int)
0:96      Sequence
0:96        move second child to first child (temp float)
0:96          'b' (const (read only) float)
0:96          component-wise multiply (temp float)
0:96            Constant:
0:96              2.000000
0:96            'a1' (temp float)
0:97      Sequence
0:97        move second child to first child (temp int)
0:97          'a' (temp int)
0:97          Constant:
0:97            -1 (const int)
0:109  Function Definition: qux( (global void)
0:109    Function Parameters: 
0:111    Sequence
0:111      Sequence
0:111        move second child to first child (temp int)
0:111          'i' (temp int)
0:111          aoeu: direct index for structure (layout(column_major shared ) uniform int)
0:111            'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:111            Constant:
0:111              0 (const uint)
0:112      imageAtomicCompSwap (global int)
0:112        'iimg2D' (layout(r32i ) uniform iimage2D)
0:112        Construct ivec2 (temp 2-component vector of int)
0:112          'i' (temp int)
0:112          'i' (temp int)
0:112        'i' (temp int)
0:112        'i' (temp int)
0:113      imageAtomicAdd (global uint)
0:113        'uimg2D' (layout(r32ui ) uniform uimage2D)
0:113        Construct ivec2 (temp 2-component vector of int)
0:113          'i' (temp int)
0:113          'i' (temp int)
0:113        Convert int to uint (temp uint)
0:113          'i' (temp int)
0:114      imageAtomicMin (global int)
0:114        'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:114        Construct ivec2 (temp 2-component vector of int)
0:114          'i' (temp int)
0:114          'i' (temp int)
0:114        'i' (temp int)
0:115      Constant:
0:115        0.000000
0:116      Sequence
0:116        move second child to first child (temp 4-component vector of int)
0:116          'pos' (temp 4-component vector of int)
0:116          imageLoad (global 4-component vector of int)
0:116            'iimg2D' (layout(r32i ) uniform iimage2D)
0:116            Construct ivec2 (temp 2-component vector of int)
0:116              'i' (temp int)
0:116              'i' (temp int)
0:117      Sequence
0:117        move second child to first child (temp 4-component vector of float)
0:117          'col' (temp 4-component vector of float)
0:117          imageLoad (global 4-component vector of float)
0:117            'img2DMS' (uniform image2DMS)
0:117            Construct ivec2 (temp 2-component vector of int)
0:117              'i' (temp int)
0:117              'i' (temp int)
0:117            'i' (temp int)
0:118      imageStore (global void)
0:118        'img2DMSWO' (writeonly uniform image2DMS)
0:118        Construct ivec2 (temp 2-component vector of int)
0:118          'i' (temp int)
0:118          'i' (temp int)
0:118        'i' (temp int)
0:118        Constant:
0:118          0.000000
0:118          0.000000
0:118          0.000000
0:118          0.000000
0:119      imageLoad (global 4-component vector of float)
0:119        'img2DMSWO' (writeonly uniform image2DMS)
0:119        Construct ivec2 (temp 2-component vector of int)
0:119          'i' (temp int)
0:119          'i' (temp int)
0:119        'i' (temp int)
0:125  Function Definition: passr(iI21; (global void)
0:125    Function Parameters: 
0:125      'image' (coherent readonly in iimage2D)
0:132  Function Definition: passrc( (global void)
0:132    Function Parameters: 
0:134    Sequence
0:134      Function Call: passr(iI21; (global void)
0:134        'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
0:135      Function Call: passr(iI21; (global void)
0:135        'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
0:136      Function Call: passr(iI21; (global void)
0:136        'iimg2D' (layout(r32i ) uniform iimage2D)
0:?   Linker Objects
0:?     'v2' (smooth out 2-component vector of float)
0:?     'bad' (in 10-element array of 4-component vector of float)
0:?     'badorder' (in 4-component vector of float)
0:?     'badorder2' (invariant smooth out 4-component vector of float)
0:?     'badorder4' (centroid in 4-component vector of float)
0:?     'badorder3' (flat out 4-component vector of float)
0:?     'rep' (smooth flat out 4-component vector of float)
0:?     'rep2' (centroid smooth sample out 4-component vector of float)
0:?     'rep3' (in 4-component vector of float)
0:?     'anonconst' (global int)
0:?     'aconst' (const int)
0:?       5 (const int)
0:?     'a' (const int)
0:?       5 (const int)
0:?     'b' (temp int)
0:?     'cx' (const float)
0:?       4.200000
0:?     'dx' (const float)
0:?       4.200000
0:?     'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:?     'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:?     'anon@1' (layout(binding=1 ) in block{in int aoeua})
0:?     'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
0:?     'sampb1' (layout(binding=4 ) uniform sampler2D)
0:?     'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)
0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)
0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
0:?     'anon@3' (out block{out 1-element array of float ClipDistance gl_ClipDistance, })
0:?     'patchIn' (patch in 4-component vector of float)
0:?     'patchOut' (smooth patch out 4-component vector of float)
0:?     'comma0' (temp int)
0:?     'comma1' (global 1-element array of int)
0:?     'iimg2D' (layout(r32i ) uniform iimage2D)
0:?     'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
0:?     'img2Drgba' (layout(rgba32f ) uniform image2D)
0:?     'uimg2D' (layout(r32ui ) uniform uimage2D)
0:?     'img2DMS' (uniform image2DMS)
0:?     'img2DMSWO' (writeonly uniform image2DMS)
0:?     'vol' (volatile temp float)
0:?     'vol2' (readonly temp int)
0:?     'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
0:?     'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
0:?     'i1bad' (layout(rg8i ) uniform uimage2D)
0:?     'i2bad' (layout(rgba32i ) uniform image2D)
0:?     'i3bad' (layout(rgba32f ) uniform uimage2D)
0:?     'i4bad' (layout(r8_snorm ) uniform iimage2D)
0:?     'i5bad' (layout(rgba32ui ) uniform iimage2D)
0:?     'i6bad' (layout(r8ui ) uniform iimage2D)
0:?     'offcheckI' (layout(column_major shared ) uniform block{layout(column_major shared offset=16 ) uniform int foo})
0:?     'gl_VertexID' (gl_VertexId int VertexId)
0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)

