glslang/Test/baseResults/420.vert.out
John Kessenich fc51d284aa Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.
If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.

If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.

Also, the old behavior is tagged as release 2.4.
2015-08-19 13:43:25 -06:00

541 lines
24 KiB
Plaintext

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)