* Code refine and adding missing features 1. Add new level for built in symbols. 2. Fix issues for structure members' qualifiers. 3. Global qualifier fix. 4. IO Mapper refine. Add support for checking with mangle names. * Additional missing features * Invariant member. (Only check non-interface). * Split block nesting level and struct nesting level. To fix issues of checking 'invariant' qualifier. Current grammar would check block/struct member without its parent class's information. So we split nesting level, and 'invariant' would only be checked within a struct. * Format anonymous block names. Refine codes for symbols from all kinds of resouces. * Fix writeonly check. * Use LValueBase to find operator. * Fix random null ptr issue. * invariant check, stage in io mapping, reference parameter should be used and remove wrong codes introduced with ordering vector. * Remained: to be fixed with double check link.vk.multiblocksValid * Fix version error. invariant * Revert loc modification.
		
			
				
	
	
		
			1335 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			1335 lines
		
	
	
		
			70 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
310.frag
 | 
						|
ERROR: 0:2: 'float' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:8: 'origin_upper_left' : not supported with this profile: es
 | 
						|
ERROR: 0:8: 'pixel_center_integer' : not supported with this profile: es
 | 
						|
ERROR: 0:8: 'gl_FragCoord' : identifiers starting with "gl_" are reserved 
 | 
						|
ERROR: 0:11: 'location' : overlapping use of location 2
 | 
						|
ERROR: 0:15: 'usampler2DRect' : Reserved word. 
 | 
						|
ERROR: 0:15: 'sampler/image' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:23: 'variable indexing sampler array' : not supported for this version or the enabled extensions 
 | 
						|
ERROR: 0:27: 'textureGatherOffsets' : no matching overloaded function found 
 | 
						|
ERROR: 0:27: '=' :  cannot convert from ' const float' to ' temp mediump 4-component vector of uint'
 | 
						|
ERROR: 0:30: 'textureGatherOffset(...)' : must be a compile-time constant: component argument
 | 
						|
ERROR: 0:31: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument
 | 
						|
ERROR: 0:34: 'non-constant offset argument' : not supported for this version or the enabled extensions 
 | 
						|
ERROR: 0:42: 'texel offset' : argument must be compile-time constant 
 | 
						|
ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
 | 
						|
ERROR: 0:44: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
 | 
						|
ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
 | 
						|
ERROR: 0:45: 'texel offset' : value is out of range: [gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]
 | 
						|
ERROR: 0:66: 'sampler/image' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:66: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
 | 
						|
ERROR: 0:67: 'sampler/image' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:67: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
 | 
						|
ERROR: 0:68: 'sampler/image' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:68: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
 | 
						|
ERROR: 0:69: 'sampler/image' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:69: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
 | 
						|
ERROR: 0:73: 'binding' : requires block, or sampler/image, or atomic-counter type 
 | 
						|
ERROR: 0:77: 'location' : location is too large 
 | 
						|
ERROR: 0:81: 'location' : too large for fragment output 
 | 
						|
ERROR: 0:82: 'location' : too large for fragment output 
 | 
						|
ERROR: 0:82: 'location' : overlapping use of location 40
 | 
						|
ERROR: 0:83: 'non-literal layout-id value' : not supported with this profile: es
 | 
						|
ERROR: 0:83: 'layout-id value' : cannot be negative 
 | 
						|
ERROR: 0:96: 'sampler/image' : type requires declaration of default precision qualifier 
 | 
						|
ERROR: 0:110: 'out' : cannot be bool 
 | 
						|
ERROR: 0:111: 'image2D' : sampler/image types can only be used in uniform variables or function parameters: imageOut
 | 
						|
ERROR: 0:111: 'image variables not declared 'writeonly' and without a format layout qualifier' : not supported with this profile: es
 | 
						|
ERROR: 0:112: 'out' : cannot be a matrix 
 | 
						|
ERROR: 0:114: 'in' : cannot be bool 
 | 
						|
ERROR: 0:115: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: ino
 | 
						|
ERROR: 0:117: 'fragment-shader array-of-array input' : not supported with this profile: es
 | 
						|
ERROR: 0:120: 'S' : A structure containing an array is not allowed as input in ES 
 | 
						|
ERROR: 0:120: 'fragment-shader array-of-struct input' : not supported with this profile: es
 | 
						|
ERROR: 0:121: 'S' : A structure containing an array is not allowed as input in ES 
 | 
						|
ERROR: 0:121: 'fragment-shader array-of-struct input' : not supported with this profile: es
 | 
						|
ERROR: 0:123: 'fragment-shader struct input containing an array' : not supported with this profile: es
 | 
						|
ERROR: 0:123: 'SA' : A structure containing an array is not allowed as input in ES 
 | 
						|
ERROR: 0:125: 'fragment-shader struct input containing structure' : not supported with this profile: es
 | 
						|
ERROR: 0:125: 'SS' : A structure containing an struct is not allowed as input in ES 
 | 
						|
ERROR: 0:133: 'output block' : not supported in this stage: fragment
 | 
						|
ERROR: 0:138: '' : cannot nest a structure definition inside a structure or block 
 | 
						|
ERROR: 0:146: 'location' : overlapping use of location 13
 | 
						|
ERROR: 0:148: 'inbname2' : Cannot reuse block name within the same interface: in
 | 
						|
ERROR: 0:153: 'badmember' : nameless block contains a member that already has a name at global scope 
 | 
						|
ERROR: 0:157: 'inbname' : redefinition 
 | 
						|
ERROR: 0:159: 'vAnon' : redefinition 
 | 
						|
ERROR: 0:173: 'origin_upper_left' : not supported with this profile: es
 | 
						|
ERROR: 0:173: 'pixel_center_integer' : not supported with this profile: es
 | 
						|
ERROR: 0:173: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord
 | 
						|
ERROR: 0:177: 'depth layout qualifier' : not supported with this profile: es
 | 
						|
ERROR: 0:181: 'assign' :  l-value required "gl_FragDepth" (can't modify gl_FragDepth if using early_fragment_tests)
 | 
						|
ERROR: 0:182: 'gl_Layer' : required extension not requested: Possible extensions include:
 | 
						|
GL_EXT_geometry_shader
 | 
						|
GL_OES_geometry_shader
 | 
						|
ERROR: 0:183: 'gl_PrimitiveID' : required extension not requested: Possible extensions include:
 | 
						|
GL_EXT_geometry_shader
 | 
						|
GL_OES_geometry_shader
 | 
						|
ERROR: 0:209: 'precise' : Reserved word. 
 | 
						|
ERROR: 0:209: 'precise' : not supported for this version or the enabled extensions 
 | 
						|
ERROR: 0:210: 'fma' : required extension not requested: Possible extensions include:
 | 
						|
GL_EXT_gpu_shader5
 | 
						|
GL_OES_gpu_shader5
 | 
						|
ERROR: 0:211: 'non-constant offset argument' : not supported for this version or the enabled extensions 
 | 
						|
ERROR: 0:212: 'textureGatherOffsets' : required extension not requested: Possible extensions include:
 | 
						|
GL_EXT_gpu_shader5
 | 
						|
GL_OES_gpu_shader5
 | 
						|
ERROR: 0:223: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument
 | 
						|
ERROR: 0:257: 'gl_SampleID' : required extension not requested: GL_OES_sample_variables
 | 
						|
ERROR: 0:258: 'gl_SamplePosition' : required extension not requested: GL_OES_sample_variables
 | 
						|
ERROR: 0:259: 'gl_SampleMaskIn' : required extension not requested: GL_OES_sample_variables
 | 
						|
ERROR: 0:260: 'gl_SampleMask' : required extension not requested: GL_OES_sample_variables
 | 
						|
ERROR: 0:261: 'gl_NumSamples' : required extension not requested: GL_OES_sample_variables
 | 
						|
ERROR: 0:289: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:290: 'imageAtomicAdd' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:291: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:292: 'imageAtomicMin' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:293: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:294: 'imageAtomicMax' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:295: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:296: 'imageAtomicAnd' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:297: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:298: 'imageAtomicOr' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:299: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:300: 'imageAtomicXor' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:301: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:302: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:303: 'imageAtomicExchange' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:304: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:305: 'imageAtomicCompSwap' : required extension not requested: GL_OES_shader_image_atomic
 | 
						|
ERROR: 0:312: 'rgba32f' : format requires readonly or writeonly memory qualifier 
 | 
						|
ERROR: 0:313: 'rgba8ui' : format requires readonly or writeonly memory qualifier 
 | 
						|
ERROR: 0:314: 'rgba16i' : format requires readonly or writeonly memory qualifier 
 | 
						|
ERROR: 0:340: 'imageAtomicMax' : only supported on image with format r32i or r32ui 
 | 
						|
ERROR: 0:341: 'imageAtomicMax' : only supported on image with format r32i or r32ui 
 | 
						|
ERROR: 0:342: 'imageAtomicExchange' : only supported on image with format r32f 
 | 
						|
ERROR: 0:345: 'sample' : Reserved word. 
 | 
						|
ERROR: 0:346: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output 
 | 
						|
ERROR: 0:347: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output 
 | 
						|
ERROR: 0:348: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output 
 | 
						|
ERROR: 0:349: 'noperspective' : Reserved word. 
 | 
						|
ERROR: 0:349: 'noperspective' : not supported for this version or the enabled extensions 
 | 
						|
ERROR: 0:349: 'flat/smooth/noperspective' : can't use interpolation qualifier on a fragment output 
 | 
						|
ERROR: 0:355: 'interpolateAtCentroid' : required extension not requested: GL_OES_shader_multisample_interpolation
 | 
						|
ERROR: 0:356: 'interpolateAtSample' : required extension not requested: GL_OES_shader_multisample_interpolation
 | 
						|
ERROR: 0:357: 'interpolateAtOffset' : required extension not requested: GL_OES_shader_multisample_interpolation
 | 
						|
ERROR: 0:365: 'centroid/sample/patch' : can't use auxiliary qualifier on a fragment output 
 | 
						|
ERROR: 0:380: 'interpolateAtCentroid' : no matching overloaded function found 
 | 
						|
ERROR: 0:380: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
 | 
						|
ERROR: 0:382: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element 
 | 
						|
ERROR: 0:384: 'interpolateAtSample' : no matching overloaded function found 
 | 
						|
ERROR: 0:384: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
 | 
						|
ERROR: 0:386: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element 
 | 
						|
ERROR: 0:389: 'interpolateAtOffset' : no matching overloaded function found 
 | 
						|
ERROR: 0:389: 'assign' :  cannot convert from ' const float' to ' temp mediump 3-component vector of float'
 | 
						|
ERROR: 0:391: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element 
 | 
						|
ERROR: 0:392: 'interpolateAtOffset' : first argument must be an interpolant, or interpolant-array element 
 | 
						|
ERROR: 0:396: 'interpolateAtCentroid' : first argument must be an interpolant, or interpolant-array element 
 | 
						|
ERROR: 0:397: 'interpolateAtSample' : first argument must be an interpolant, or interpolant-array element 
 | 
						|
ERROR: 0:400: 'blend equation' : not supported for this version or the enabled extensions 
 | 
						|
ERROR: 0:423: 'blend equation' : can only apply to 'out' 
 | 
						|
ERROR: 0:424: 'blend equation' : can only apply to a standalone qualifier 
 | 
						|
ERROR: 0:425: 'blend equation' : can only apply to a standalone qualifier 
 | 
						|
ERROR: 0:426: 'blend equation' : can only apply to a standalone qualifier 
 | 
						|
ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier 
 | 
						|
ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier 
 | 
						|
ERROR: 0:429: 'blend_support' : unknown blend equation 
 | 
						|
ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
 | 
						|
ERROR: 0:435: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
 | 
						|
ERROR: 0:436: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
 | 
						|
ERROR: 0:461: 'func' : overloaded functions must have the same return type 
 | 
						|
ERROR: 0:461: 'func' : function already has a body 
 | 
						|
ERROR: 0:463: 'return' : void function cannot return a value 
 | 
						|
ERROR: 0:472: '=' :  cannot convert from ' temp mediump uint' to ' temp mediump int'
 | 
						|
ERROR: 0:485: '=' :  cannot convert from ' global mediump int' to ' temp mediump uint'
 | 
						|
ERROR: 136 compilation errors.  No code generated.
 | 
						|
 | 
						|
 | 
						|
Shader version: 310
 | 
						|
Requested GL_EXT_device_group
 | 
						|
Requested GL_EXT_multiview
 | 
						|
Requested GL_EXT_shader_implicit_conversions
 | 
						|
Requested GL_EXT_shader_io_blocks
 | 
						|
Requested GL_EXT_texture_cube_map_array
 | 
						|
Requested GL_KHR_blend_equation_advanced
 | 
						|
Requested GL_OES_geometry_shader
 | 
						|
Requested GL_OES_gpu_shader5
 | 
						|
Requested GL_OES_sample_variables
 | 
						|
Requested GL_OES_shader_image_atomic
 | 
						|
Requested GL_OES_shader_io_blocks
 | 
						|
Requested GL_OES_shader_multisample_interpolation
 | 
						|
gl_FragCoord pixel center is integer
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
using early_fragment_tests
 | 
						|
using depth_any
 | 
						|
using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
 | 
						|
ERROR: node is still EOpNull!
 | 
						|
0:21  Function Definition: main( ( global void)
 | 
						|
0:21    Function Parameters: 
 | 
						|
0:23    Sequence
 | 
						|
0:23      Sequence
 | 
						|
0:23        move second child to first child ( temp highp 4-component vector of float)
 | 
						|
0:23          'v' ( temp mediump 4-component vector of float)
 | 
						|
0:23          texture ( global highp 4-component vector of float)
 | 
						|
0:23            indirect index ( temp highp sampler2D)
 | 
						|
0:23              'arrayedSampler' ( uniform 5-element array of highp sampler2D)
 | 
						|
0:23              'i' ( uniform mediump int)
 | 
						|
0:23            'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child ( temp highp 4-component vector of float)
 | 
						|
0:28          'v4' ( temp mediump 4-component vector of float)
 | 
						|
0:28          textureGather ( global highp 4-component vector of float)
 | 
						|
0:28            direct index ( temp highp sampler2D)
 | 
						|
0:28              'arrayedSampler' ( uniform 5-element array of highp sampler2D)
 | 
						|
0:28              Constant:
 | 
						|
0:28                0 (const int)
 | 
						|
0:28            'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:29      Sequence
 | 
						|
0:29        move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:29          'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:29          textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:29            'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:29            Constant:
 | 
						|
0:29              0.100000
 | 
						|
0:29              0.100000
 | 
						|
0:29              0.100000
 | 
						|
0:29            Constant:
 | 
						|
0:29              1 (const int)
 | 
						|
0:29              1 (const int)
 | 
						|
0:29            Constant:
 | 
						|
0:29              3 (const int)
 | 
						|
0:30      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:30        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:30        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:30          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:30          Constant:
 | 
						|
0:30            0.100000
 | 
						|
0:30            0.100000
 | 
						|
0:30            0.100000
 | 
						|
0:30          Constant:
 | 
						|
0:30            1 (const int)
 | 
						|
0:30            1 (const int)
 | 
						|
0:30          'i' ( uniform mediump int)
 | 
						|
0:31      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:31        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:31        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:31          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:31          Constant:
 | 
						|
0:31            0.100000
 | 
						|
0:31            0.100000
 | 
						|
0:31            0.100000
 | 
						|
0:31          Constant:
 | 
						|
0:31            1 (const int)
 | 
						|
0:31            1 (const int)
 | 
						|
0:31          Constant:
 | 
						|
0:31            4 (const int)
 | 
						|
0:32      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:32        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:32        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:32          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:32          Constant:
 | 
						|
0:32            0.100000
 | 
						|
0:32            0.100000
 | 
						|
0:32            0.100000
 | 
						|
0:32          Constant:
 | 
						|
0:32            1 (const int)
 | 
						|
0:32            1 (const int)
 | 
						|
0:32          Constant:
 | 
						|
0:32            3 (const int)
 | 
						|
0:33      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:33        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:33        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:33          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:33          Constant:
 | 
						|
0:33            0.100000
 | 
						|
0:33            0.100000
 | 
						|
0:33            0.100000
 | 
						|
0:33          Constant:
 | 
						|
0:33            0 (const int)
 | 
						|
0:33            0 (const int)
 | 
						|
0:34      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:34        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:34        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:34          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:34          Constant:
 | 
						|
0:34            0.100000
 | 
						|
0:34            0.100000
 | 
						|
0:34            0.100000
 | 
						|
0:34          Construct ivec2 ( temp highp 2-component vector of int)
 | 
						|
0:34            'i' ( uniform mediump int)
 | 
						|
0:38  Function Definition: foo23( ( global void)
 | 
						|
0:38    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:42      textureProjGradOffset ( global highp 4-component vector of uint)
 | 
						|
0:42        'usamp2d' ( uniform highp usampler2D)
 | 
						|
0:42        'outp' ( out mediump 4-component vector of float)
 | 
						|
0:42        Constant:
 | 
						|
0:42          0.000000
 | 
						|
0:42          0.000000
 | 
						|
0:42        Constant:
 | 
						|
0:42          0.000000
 | 
						|
0:42          0.000000
 | 
						|
0:42        Convert float to int ( temp highp 2-component vector of int)
 | 
						|
0:42          'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:43      textureProjGradOffset ( global highp 4-component vector of uint)
 | 
						|
0:43        'usamp2d' ( uniform highp usampler2D)
 | 
						|
0:43        'outp' ( out mediump 4-component vector of float)
 | 
						|
0:43        Constant:
 | 
						|
0:43          0.000000
 | 
						|
0:43          0.000000
 | 
						|
0:43        Constant:
 | 
						|
0:43          0.000000
 | 
						|
0:43          0.000000
 | 
						|
0:43        Constant:
 | 
						|
0:43          3 (const int)
 | 
						|
0:43          4 (const int)
 | 
						|
0:44      textureProjGradOffset ( global highp 4-component vector of uint)
 | 
						|
0:44        'usamp2d' ( uniform highp usampler2D)
 | 
						|
0:44        'outp' ( out mediump 4-component vector of float)
 | 
						|
0:44        Constant:
 | 
						|
0:44          0.000000
 | 
						|
0:44          0.000000
 | 
						|
0:44        Constant:
 | 
						|
0:44          0.000000
 | 
						|
0:44          0.000000
 | 
						|
0:44        Constant:
 | 
						|
0:44          15 (const int)
 | 
						|
0:44          16 (const int)
 | 
						|
0:45      textureProjGradOffset ( global highp 4-component vector of uint)
 | 
						|
0:45        'usamp2d' ( uniform highp usampler2D)
 | 
						|
0:45        'outp' ( out mediump 4-component vector of float)
 | 
						|
0:45        Constant:
 | 
						|
0:45          0.000000
 | 
						|
0:45          0.000000
 | 
						|
0:45        Constant:
 | 
						|
0:45          0.000000
 | 
						|
0:45          0.000000
 | 
						|
0:45        Constant:
 | 
						|
0:45          -10 (const int)
 | 
						|
0:45          20 (const int)
 | 
						|
0:47      Test condition and select ( temp void)
 | 
						|
0:47        Condition
 | 
						|
0:47        'gl_HelperInvocation' ( in bool HelperInvocation)
 | 
						|
0:47        true case
 | 
						|
0:48        Pre-Increment ( temp mediump 4-component vector of float)
 | 
						|
0:48          'outp' ( out mediump 4-component vector of float)
 | 
						|
0:50      Sequence
 | 
						|
0:50        move second child to first child ( temp mediump int)
 | 
						|
0:50          'sum' ( temp mediump int)
 | 
						|
0:50          Constant:
 | 
						|
0:50            32 (const int)
 | 
						|
0:58      move second child to first child ( temp bool)
 | 
						|
0:58        'b1' ( temp bool)
 | 
						|
0:58        mix ( global bool)
 | 
						|
0:58          'b2' ( temp bool)
 | 
						|
0:58          'b3' ( temp bool)
 | 
						|
0:58          'b' ( temp bool)
 | 
						|
0:59      Sequence
 | 
						|
0:59        move second child to first child ( temp mediump 3-component vector of uint)
 | 
						|
0:59          'um3' ( temp mediump 3-component vector of uint)
 | 
						|
0:59          mix ( global mediump 3-component vector of uint)
 | 
						|
0:59            Construct uvec3 ( temp mediump 3-component vector of uint)
 | 
						|
0:59              Convert int to uint ( temp mediump uint)
 | 
						|
0:59                'i' ( uniform mediump int)
 | 
						|
0:59            Construct uvec3 ( temp mediump 3-component vector of uint)
 | 
						|
0:59              Convert int to uint ( temp mediump uint)
 | 
						|
0:59                'i' ( uniform mediump int)
 | 
						|
0:59            Construct bvec3 ( temp 3-component vector of bool)
 | 
						|
0:59              'b' ( temp bool)
 | 
						|
0:60      Sequence
 | 
						|
0:60        move second child to first child ( temp mediump 4-component vector of int)
 | 
						|
0:60          'im4' ( temp mediump 4-component vector of int)
 | 
						|
0:60          mix ( global mediump 4-component vector of int)
 | 
						|
0:60            Construct ivec4 ( temp mediump 4-component vector of int)
 | 
						|
0:60              'i' ( uniform mediump int)
 | 
						|
0:60            Construct ivec4 ( temp mediump 4-component vector of int)
 | 
						|
0:60              'i' ( uniform mediump int)
 | 
						|
0:60            Construct bvec4 ( temp 4-component vector of bool)
 | 
						|
0:60              'b' ( temp bool)
 | 
						|
0:61      left-shift ( temp int)
 | 
						|
0:61        Constant:
 | 
						|
0:61          1 (const int)
 | 
						|
0:61        mix ( global uint)
 | 
						|
0:61          Constant:
 | 
						|
0:61            1 (const uint)
 | 
						|
0:61          Constant:
 | 
						|
0:61            1 (const uint)
 | 
						|
0:61          Constant:
 | 
						|
0:61            false (const bool)
 | 
						|
0:98  Function Definition: foots( ( global void)
 | 
						|
0:98    Function Parameters: 
 | 
						|
0:100    Sequence
 | 
						|
0:100      Sequence
 | 
						|
0:100        move second child to first child ( temp highp 2-component vector of int)
 | 
						|
0:100          'v2' ( temp highp 2-component vector of int)
 | 
						|
0:100          textureSize ( global highp 2-component vector of int)
 | 
						|
0:100            's1' (layout( binding=3) uniform highp sampler2D)
 | 
						|
0:100            Constant:
 | 
						|
0:100              2 (const int)
 | 
						|
0:101      Sequence
 | 
						|
0:101        move second child to first child ( temp highp 3-component vector of int)
 | 
						|
0:101          'v3' ( temp highp 3-component vector of int)
 | 
						|
0:101          textureSize ( global highp 3-component vector of int)
 | 
						|
0:101            'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:101            Constant:
 | 
						|
0:101              3 (const int)
 | 
						|
0:102      move second child to first child ( temp highp 2-component vector of int)
 | 
						|
0:102        'v2' ( temp highp 2-component vector of int)
 | 
						|
0:102        textureSize ( global highp 2-component vector of int, operation at mediump)
 | 
						|
0:102          's2dms' ( uniform mediump sampler2DMS)
 | 
						|
0:103      move second child to first child ( temp highp 2-component vector of int)
 | 
						|
0:103        'v2' ( temp highp 2-component vector of int)
 | 
						|
0:103        imageQuerySize ( global highp 2-component vector of int)
 | 
						|
0:103          'i2D' (layout( binding=2) writeonly uniform highp image2D)
 | 
						|
0:104      move second child to first child ( temp highp 3-component vector of int)
 | 
						|
0:104        'v3' ( temp highp 3-component vector of int)
 | 
						|
0:104        imageQuerySize ( global highp 3-component vector of int, operation at mediump)
 | 
						|
0:104          'i3D' (layout( binding=4) readonly uniform mediump image3D)
 | 
						|
0:105      move second child to first child ( temp highp 2-component vector of int)
 | 
						|
0:105        'v2' ( temp highp 2-component vector of int)
 | 
						|
0:105        imageQuerySize ( global highp 2-component vector of int, operation at mediump)
 | 
						|
0:105          'iCube' (layout( binding=5) uniform mediump imageCube)
 | 
						|
0:106      move second child to first child ( temp highp 3-component vector of int)
 | 
						|
0:106        'v3' ( temp highp 3-component vector of int)
 | 
						|
0:106        imageQuerySize ( global highp 3-component vector of int, operation at mediump)
 | 
						|
0:106          'i2DA' (layout( binding=6) uniform mediump image2DArray)
 | 
						|
0:107      move second child to first child ( temp highp 2-component vector of int)
 | 
						|
0:107        'v2' ( temp highp 2-component vector of int)
 | 
						|
0:107        imageQuerySize ( global highp 2-component vector of int, operation at mediump)
 | 
						|
0:107          'i2Dqualified' (layout( binding=6) coherent volatile restrict uniform mediump image2D)
 | 
						|
0:165  Function Definition: fooIO( ( global void)
 | 
						|
0:165    Function Parameters: 
 | 
						|
0:167    Sequence
 | 
						|
0:167      Sequence
 | 
						|
0:167        move second child to first child ( temp mediump 4-component vector of float)
 | 
						|
0:167          'v' ( temp mediump 4-component vector of float)
 | 
						|
0:167          add ( temp mediump 4-component vector of float)
 | 
						|
0:167            v: direct index for structure ( in mediump 4-component vector of float)
 | 
						|
0:167              'inbinst' ( in block{ in mediump int a,  in mediump 4-component vector of float v,  in structure{ global mediump int b} s})
 | 
						|
0:167              Constant:
 | 
						|
0:167                1 (const int)
 | 
						|
0:167            vAnon: direct index for structure (layout( location=13) centroid in mediump 4-component vector of float)
 | 
						|
0:167              'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon})
 | 
						|
0:167              Constant:
 | 
						|
0:167                1 (const uint)
 | 
						|
0:168      vector scale second child into first child ( temp mediump 4-component vector of float)
 | 
						|
0:168        'v' ( temp mediump 4-component vector of float)
 | 
						|
0:168        f: direct index for structure ( in mediump float)
 | 
						|
0:168          direct index ( temp block{ in mediump float f})
 | 
						|
0:168            'arrayedInst' ( in 4-element array of block{ in mediump float f})
 | 
						|
0:168            Constant:
 | 
						|
0:168              2 (const int)
 | 
						|
0:168          Constant:
 | 
						|
0:168            0 (const int)
 | 
						|
0:169      vector scale second child into first child ( temp mediump 4-component vector of float)
 | 
						|
0:169        'v' ( temp mediump 4-component vector of float)
 | 
						|
0:169        f: direct index for structure ( in mediump float)
 | 
						|
0:169          indirect index ( temp block{ in mediump float f})
 | 
						|
0:169            'arrayedInst' ( in 4-element array of block{ in mediump float f})
 | 
						|
0:169            'i' ( uniform mediump int)
 | 
						|
0:169          Constant:
 | 
						|
0:169            0 (const int)
 | 
						|
0:179  Function Definition: foo_IO( ( global void)
 | 
						|
0:179    Function Parameters: 
 | 
						|
0:181    Sequence
 | 
						|
0:181      move second child to first child ( temp highp float)
 | 
						|
0:181        'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
 | 
						|
0:181        Constant:
 | 
						|
0:181          0.200000
 | 
						|
0:182      'gl_Layer' ( flat in highp int Layer)
 | 
						|
0:183      'gl_PrimitiveID' ( flat in highp int PrimitiveID)
 | 
						|
0:184      Sequence
 | 
						|
0:184        move second child to first child ( temp bool)
 | 
						|
0:184          'f' ( temp bool)
 | 
						|
0:184          'gl_FrontFacing' ( gl_FrontFacing bool Face)
 | 
						|
0:191  Function Definition: foo_GS( ( global void)
 | 
						|
0:191    Function Parameters: 
 | 
						|
0:193    Sequence
 | 
						|
0:193      Sequence
 | 
						|
0:193        move second child to first child ( temp highp int)
 | 
						|
0:193          'l' ( temp highp int)
 | 
						|
0:193          'gl_Layer' ( flat in highp int Layer)
 | 
						|
0:194      Sequence
 | 
						|
0:194        move second child to first child ( temp highp int)
 | 
						|
0:194          'p' ( temp highp int)
 | 
						|
0:194          'gl_PrimitiveID' ( flat in highp int PrimitiveID)
 | 
						|
0:207  Function Definition: pfooBad( ( global void)
 | 
						|
0:207    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:210      move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:210        'h' ( noContraction temp mediump 2-component vector of float)
 | 
						|
0:210        fma ( global mediump 2-component vector of float)
 | 
						|
0:210          'inf' ( smooth in mediump 2-component vector of float)
 | 
						|
0:210          'ing' ( smooth in mediump 2-component vector of float)
 | 
						|
0:210          'h' ( noContraction temp mediump 2-component vector of float)
 | 
						|
0:211      textureGatherOffset ( global highp 4-component vector of float)
 | 
						|
0:211        direct index ( temp highp sampler2D)
 | 
						|
0:211          'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:211          Constant:
 | 
						|
0:211            0 (const int)
 | 
						|
0:211        Constant:
 | 
						|
0:211          0.100000
 | 
						|
0:211          0.100000
 | 
						|
0:211        Convert float to int ( temp highp 2-component vector of int)
 | 
						|
0:211          'inf' ( smooth in mediump 2-component vector of float)
 | 
						|
0:212      textureGatherOffsets ( global highp 4-component vector of float)
 | 
						|
0:212        direct index ( temp highp sampler2D)
 | 
						|
0:212          'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:212          Constant:
 | 
						|
0:212            0 (const int)
 | 
						|
0:212        Constant:
 | 
						|
0:212          0.100000
 | 
						|
0:212          0.100000
 | 
						|
0:212        Constant:
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:212          0 (const int)
 | 
						|
0:217  Function Definition: pfoo( ( global void)
 | 
						|
0:217    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:220      move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:220        'h' ( noContraction temp mediump 2-component vector of float)
 | 
						|
0:220        fma ( global mediump 2-component vector of float)
 | 
						|
0:220          'inf' ( smooth in mediump 2-component vector of float)
 | 
						|
0:220          'ing' ( smooth in mediump 2-component vector of float)
 | 
						|
0:220          'h' ( noContraction temp mediump 2-component vector of float)
 | 
						|
0:221      textureGatherOffset ( global highp 4-component vector of float)
 | 
						|
0:221        direct index ( temp highp sampler2D)
 | 
						|
0:221          'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:221          Constant:
 | 
						|
0:221            0 (const int)
 | 
						|
0:221        Constant:
 | 
						|
0:221          0.100000
 | 
						|
0:221          0.100000
 | 
						|
0:221        Convert float to int ( temp highp 2-component vector of int)
 | 
						|
0:221          'inf' ( smooth in mediump 2-component vector of float)
 | 
						|
0:222      textureGatherOffsets ( global highp 4-component vector of float)
 | 
						|
0:222        direct index ( temp highp sampler2D)
 | 
						|
0:222          'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:222          Constant:
 | 
						|
0:222            0 (const int)
 | 
						|
0:222        Constant:
 | 
						|
0:222          0.100000
 | 
						|
0:222          0.100000
 | 
						|
0:222        Constant:
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:222          0 (const int)
 | 
						|
0:223      textureGatherOffsets ( global highp 4-component vector of float)
 | 
						|
0:223        direct index ( temp highp sampler2D)
 | 
						|
0:223          'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:223          Constant:
 | 
						|
0:223            0 (const int)
 | 
						|
0:223        Constant:
 | 
						|
0:223          0.100000
 | 
						|
0:223          0.100000
 | 
						|
0:223        'offsets' ( uniform 4-element array of mediump 2-component vector of int)
 | 
						|
0:248  Function Definition: CAT( ( global void)
 | 
						|
0:248    Function Parameters: 
 | 
						|
0:250    Sequence
 | 
						|
0:250      Sequence
 | 
						|
0:250        move second child to first child ( temp highp 4-component vector of float)
 | 
						|
0:250          'b4' ( temp highp 4-component vector of float)
 | 
						|
0:250          texture ( global highp 4-component vector of float)
 | 
						|
0:250            'CA4' ( uniform highp samplerCubeArray)
 | 
						|
0:250            Constant:
 | 
						|
0:250              0.500000
 | 
						|
0:250              0.500000
 | 
						|
0:250              0.500000
 | 
						|
0:250              0.500000
 | 
						|
0:250            Constant:
 | 
						|
0:250              0.240000
 | 
						|
0:251      Sequence
 | 
						|
0:251        move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:251          'b6' ( temp highp 4-component vector of int)
 | 
						|
0:251          texture ( global highp 4-component vector of int)
 | 
						|
0:251            'CA6' ( uniform highp isamplerCubeArray)
 | 
						|
0:251            Constant:
 | 
						|
0:251              0.500000
 | 
						|
0:251              0.500000
 | 
						|
0:251              0.500000
 | 
						|
0:251              0.500000
 | 
						|
0:251            Constant:
 | 
						|
0:251              0.260000
 | 
						|
0:252      Sequence
 | 
						|
0:252        move second child to first child ( temp highp 4-component vector of uint)
 | 
						|
0:252          'b7' ( temp highp 4-component vector of uint)
 | 
						|
0:252          texture ( global highp 4-component vector of uint)
 | 
						|
0:252            'CA7' ( uniform highp usamplerCubeArray)
 | 
						|
0:252            Constant:
 | 
						|
0:252              0.500000
 | 
						|
0:252              0.500000
 | 
						|
0:252              0.500000
 | 
						|
0:252              0.500000
 | 
						|
0:252            Constant:
 | 
						|
0:252              0.270000
 | 
						|
0:255  Function Definition: badSample( ( global void)
 | 
						|
0:255    Function Parameters: 
 | 
						|
0:257    Sequence
 | 
						|
0:257      Sequence
 | 
						|
0:257        move second child to first child ( temp lowp int)
 | 
						|
0:257          'a1' ( temp lowp int)
 | 
						|
0:257          'gl_SampleID' ( flat in lowp int SampleId)
 | 
						|
0:258      Sequence
 | 
						|
0:258        move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:258          'a2' ( temp mediump 2-component vector of float)
 | 
						|
0:258          'gl_SamplePosition' ( smooth in mediump 2-component vector of float SamplePosition)
 | 
						|
0:259      Sequence
 | 
						|
0:259        move second child to first child ( temp highp int)
 | 
						|
0:259          'a3' ( temp highp int)
 | 
						|
0:259          direct index ( flat temp highp int SampleMaskIn)
 | 
						|
0:259            'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
 | 
						|
0:259            Constant:
 | 
						|
0:259              0 (const int)
 | 
						|
0:260      move second child to first child ( temp highp int)
 | 
						|
0:260        direct index ( temp highp int SampleMaskIn)
 | 
						|
0:260          'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
 | 
						|
0:260          Constant:
 | 
						|
0:260            0 (const int)
 | 
						|
0:260        'a3' ( temp highp int)
 | 
						|
0:261      Sequence
 | 
						|
0:261        move second child to first child ( temp mediump int)
 | 
						|
0:261          'n' ( temp mediump int)
 | 
						|
0:261          'gl_NumSamples' ( uniform lowp int)
 | 
						|
0:268  Function Definition: goodSample( ( global void)
 | 
						|
0:268    Function Parameters: 
 | 
						|
0:270    Sequence
 | 
						|
0:270      Sequence
 | 
						|
0:270        move second child to first child ( temp lowp int)
 | 
						|
0:270          'a1' ( temp lowp int)
 | 
						|
0:270          'gl_SampleID' ( flat in lowp int SampleId)
 | 
						|
0:271      Sequence
 | 
						|
0:271        move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:271          'a2' ( temp mediump 2-component vector of float)
 | 
						|
0:271          'gl_SamplePosition' ( smooth in mediump 2-component vector of float SamplePosition)
 | 
						|
0:272      Sequence
 | 
						|
0:272        move second child to first child ( temp highp int)
 | 
						|
0:272          'a3' ( temp highp int)
 | 
						|
0:272          direct index ( flat temp highp int SampleMaskIn)
 | 
						|
0:272            'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
 | 
						|
0:272            Constant:
 | 
						|
0:272              0 (const int)
 | 
						|
0:273      move second child to first child ( temp highp int)
 | 
						|
0:273        direct index ( temp highp int SampleMaskIn)
 | 
						|
0:273          'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
 | 
						|
0:273          Constant:
 | 
						|
0:273            0 (const int)
 | 
						|
0:273        'a3' ( temp highp int)
 | 
						|
0:274      Sequence
 | 
						|
0:274        move second child to first child ( temp mediump int)
 | 
						|
0:274          'n1' ( temp mediump int)
 | 
						|
0:274          Constant:
 | 
						|
0:274            4 (const int)
 | 
						|
0:275      Sequence
 | 
						|
0:275        move second child to first child ( temp mediump int)
 | 
						|
0:275          'n2' ( temp mediump int)
 | 
						|
0:275          'gl_NumSamples' ( uniform lowp int)
 | 
						|
0:283  Function Definition: badImageAtom( ( global void)
 | 
						|
0:283    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:289      imageAtomicAdd ( global highp int)
 | 
						|
0:289        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:289        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:289        'dati' ( temp mediump int)
 | 
						|
0:290      imageAtomicAdd ( global highp uint)
 | 
						|
0:290        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:290        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:290        'datu' ( temp mediump uint)
 | 
						|
0:291      imageAtomicMin ( global highp int)
 | 
						|
0:291        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:291        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:291        'dati' ( temp mediump int)
 | 
						|
0:292      imageAtomicMin ( global highp uint)
 | 
						|
0:292        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:292        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:292        'datu' ( temp mediump uint)
 | 
						|
0:293      imageAtomicMax ( global highp int)
 | 
						|
0:293        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:293        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:293        'dati' ( temp mediump int)
 | 
						|
0:294      imageAtomicMax ( global highp uint)
 | 
						|
0:294        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:294        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:294        'datu' ( temp mediump uint)
 | 
						|
0:295      imageAtomicAnd ( global highp int)
 | 
						|
0:295        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:295        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:295        'dati' ( temp mediump int)
 | 
						|
0:296      imageAtomicAnd ( global highp uint)
 | 
						|
0:296        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:296        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:296        'datu' ( temp mediump uint)
 | 
						|
0:297      imageAtomicOr ( global highp int)
 | 
						|
0:297        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:297        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:297        'dati' ( temp mediump int)
 | 
						|
0:298      imageAtomicOr ( global highp uint)
 | 
						|
0:298        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:298        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:298        'datu' ( temp mediump uint)
 | 
						|
0:299      imageAtomicXor ( global highp int)
 | 
						|
0:299        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:299        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:299        'dati' ( temp mediump int)
 | 
						|
0:300      imageAtomicXor ( global highp uint)
 | 
						|
0:300        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:300        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:300        'datu' ( temp mediump uint)
 | 
						|
0:301      imageAtomicExchange ( global highp int)
 | 
						|
0:301        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:301        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:301        'dati' ( temp mediump int)
 | 
						|
0:302      imageAtomicExchange ( global highp uint)
 | 
						|
0:302        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:302        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:302        'datu' ( temp mediump uint)
 | 
						|
0:303      imageAtomicExchange ( global highp float)
 | 
						|
0:303        'im2Df' (layout( r32f) uniform highp image2D)
 | 
						|
0:303        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:303        'datf' ( temp mediump float)
 | 
						|
0:304      imageAtomicCompSwap ( global highp int)
 | 
						|
0:304        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:304        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:304        Constant:
 | 
						|
0:304          3 (const int)
 | 
						|
0:304        'dati' ( temp mediump int)
 | 
						|
0:305      imageAtomicCompSwap ( global highp uint)
 | 
						|
0:305        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:305        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:305        Constant:
 | 
						|
0:305          5 (const uint)
 | 
						|
0:305        'datu' ( temp mediump uint)
 | 
						|
0:316  Function Definition: goodImageAtom( ( global void)
 | 
						|
0:316    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:322      imageAtomicAdd ( global highp int)
 | 
						|
0:322        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:322        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:322        'dati' ( temp mediump int)
 | 
						|
0:323      imageAtomicAdd ( global highp uint)
 | 
						|
0:323        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:323        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:323        'datu' ( temp mediump uint)
 | 
						|
0:324      imageAtomicMin ( global highp int)
 | 
						|
0:324        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:324        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:324        'dati' ( temp mediump int)
 | 
						|
0:325      imageAtomicMin ( global highp uint)
 | 
						|
0:325        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:325        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:325        'datu' ( temp mediump uint)
 | 
						|
0:326      imageAtomicMax ( global highp int)
 | 
						|
0:326        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:326        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:326        'dati' ( temp mediump int)
 | 
						|
0:327      imageAtomicMax ( global highp uint)
 | 
						|
0:327        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:327        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:327        'datu' ( temp mediump uint)
 | 
						|
0:328      imageAtomicAnd ( global highp int)
 | 
						|
0:328        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:328        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:328        'dati' ( temp mediump int)
 | 
						|
0:329      imageAtomicAnd ( global highp uint)
 | 
						|
0:329        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:329        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:329        'datu' ( temp mediump uint)
 | 
						|
0:330      imageAtomicOr ( global highp int)
 | 
						|
0:330        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:330        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:330        'dati' ( temp mediump int)
 | 
						|
0:331      imageAtomicOr ( global highp uint)
 | 
						|
0:331        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:331        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:331        'datu' ( temp mediump uint)
 | 
						|
0:332      imageAtomicXor ( global highp int)
 | 
						|
0:332        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:332        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:332        'dati' ( temp mediump int)
 | 
						|
0:333      imageAtomicXor ( global highp uint)
 | 
						|
0:333        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:333        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:333        'datu' ( temp mediump uint)
 | 
						|
0:334      imageAtomicExchange ( global highp int)
 | 
						|
0:334        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:334        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:334        'dati' ( temp mediump int)
 | 
						|
0:335      imageAtomicExchange ( global highp uint)
 | 
						|
0:335        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:335        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:335        'datu' ( temp mediump uint)
 | 
						|
0:336      imageAtomicExchange ( global highp float)
 | 
						|
0:336        'im2Df' (layout( r32f) uniform highp image2D)
 | 
						|
0:336        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:336        'datf' ( temp mediump float)
 | 
						|
0:337      imageAtomicCompSwap ( global highp int)
 | 
						|
0:337        'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:337        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:337        Constant:
 | 
						|
0:337          3 (const int)
 | 
						|
0:337        'dati' ( temp mediump int)
 | 
						|
0:338      imageAtomicCompSwap ( global highp uint)
 | 
						|
0:338        'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:338        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:338        Constant:
 | 
						|
0:338          5 (const uint)
 | 
						|
0:338        'datu' ( temp mediump uint)
 | 
						|
0:340      imageAtomicMax ( global highp int)
 | 
						|
0:340        'badIm2Di' (layout( rgba16i) uniform highp iimage2D)
 | 
						|
0:340        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:340        'dati' ( temp mediump int)
 | 
						|
0:341      imageAtomicMax ( global highp uint)
 | 
						|
0:341        'badIm2Du' (layout( rgba8ui) uniform highp uimage2D)
 | 
						|
0:341        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:341        'datu' ( temp mediump uint)
 | 
						|
0:342      imageAtomicExchange ( global highp float)
 | 
						|
0:342        'badIm2Df' (layout( rgba32f) uniform highp image2D)
 | 
						|
0:342        'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:342        'datf' ( temp mediump float)
 | 
						|
0:353  Function Definition: badInterp( ( global void)
 | 
						|
0:353    Function Parameters: 
 | 
						|
0:355    Sequence
 | 
						|
0:355      interpolateAtCentroid ( global mediump 2-component vector of float)
 | 
						|
0:355        'colorfc' ( centroid flat in mediump 2-component vector of float)
 | 
						|
0:356      interpolateAtSample ( global mediump 2-component vector of float)
 | 
						|
0:356        'colorfc' ( centroid flat in mediump 2-component vector of float)
 | 
						|
0:356        Constant:
 | 
						|
0:356          1 (const int)
 | 
						|
0:357      interpolateAtOffset ( global mediump 2-component vector of float)
 | 
						|
0:357        'colorfc' ( centroid flat in mediump 2-component vector of float)
 | 
						|
0:357        Constant:
 | 
						|
0:357          0.200000
 | 
						|
0:357          0.200000
 | 
						|
0:369  Function Definition: interp( ( global void)
 | 
						|
0:369    Function Parameters: 
 | 
						|
0:?     Sequence
 | 
						|
0:376      move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:376        'res2' ( temp mediump 2-component vector of float)
 | 
						|
0:376        interpolateAtCentroid ( global mediump 2-component vector of float)
 | 
						|
0:376          'colorfc' ( centroid flat in mediump 2-component vector of float)
 | 
						|
0:377      move second child to first child ( temp mediump 4-component vector of float)
 | 
						|
0:377        'res4' ( temp mediump 4-component vector of float)
 | 
						|
0:377        interpolateAtCentroid ( global mediump 4-component vector of float)
 | 
						|
0:377          'colorSampIn' ( smooth sample in mediump 4-component vector of float)
 | 
						|
0:378      move second child to first child ( temp mediump 4-component vector of float)
 | 
						|
0:378        'res4' ( temp mediump 4-component vector of float)
 | 
						|
0:378        interpolateAtCentroid ( global mediump 4-component vector of float)
 | 
						|
0:378          'colorfsi' ( flat sample in mediump 4-component vector of float)
 | 
						|
0:379      move second child to first child ( temp mediump float)
 | 
						|
0:379        'res' ( temp mediump float)
 | 
						|
0:379        interpolateAtCentroid ( global mediump float)
 | 
						|
0:379          'scalarIn' ( smooth in mediump float)
 | 
						|
0:380      'res3' ( temp mediump 3-component vector of float)
 | 
						|
0:381      move second child to first child ( temp mediump 3-component vector of float)
 | 
						|
0:381        'res3' ( temp mediump 3-component vector of float)
 | 
						|
0:381        interpolateAtCentroid ( global mediump 3-component vector of float)
 | 
						|
0:381          direct index ( smooth sample temp mediump 3-component vector of float)
 | 
						|
0:381            'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:381            Constant:
 | 
						|
0:381              2 (const int)
 | 
						|
0:382      move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:382        'res2' ( temp mediump 2-component vector of float)
 | 
						|
0:382        interpolateAtCentroid ( global mediump 2-component vector of float)
 | 
						|
0:382          vector swizzle ( temp mediump 2-component vector of float)
 | 
						|
0:382            direct index ( smooth sample temp mediump 3-component vector of float)
 | 
						|
0:382              'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:382              Constant:
 | 
						|
0:382                2 (const int)
 | 
						|
0:382            Sequence
 | 
						|
0:382              Constant:
 | 
						|
0:382                0 (const int)
 | 
						|
0:382              Constant:
 | 
						|
0:382                1 (const int)
 | 
						|
0:384      'res3' ( temp mediump 3-component vector of float)
 | 
						|
0:385      move second child to first child ( temp mediump 3-component vector of float)
 | 
						|
0:385        'res3' ( temp mediump 3-component vector of float)
 | 
						|
0:385        interpolateAtSample ( global mediump 3-component vector of float)
 | 
						|
0:385          indirect index ( smooth sample temp mediump 3-component vector of float)
 | 
						|
0:385            'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:385            'i' ( uniform mediump int)
 | 
						|
0:385          Constant:
 | 
						|
0:385            0 (const int)
 | 
						|
0:386      move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:386        'res2' ( temp mediump 2-component vector of float)
 | 
						|
0:386        interpolateAtSample ( global mediump 2-component vector of float)
 | 
						|
0:386          vector swizzle ( temp mediump 2-component vector of float)
 | 
						|
0:386            direct index ( smooth sample temp mediump 3-component vector of float)
 | 
						|
0:386              'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:386              Constant:
 | 
						|
0:386                2 (const int)
 | 
						|
0:386            Sequence
 | 
						|
0:386              Constant:
 | 
						|
0:386                0 (const int)
 | 
						|
0:386              Constant:
 | 
						|
0:386                1 (const int)
 | 
						|
0:386          Constant:
 | 
						|
0:386            2 (const int)
 | 
						|
0:387      move second child to first child ( temp mediump float)
 | 
						|
0:387        'res' ( temp mediump float)
 | 
						|
0:387        interpolateAtSample ( global mediump float)
 | 
						|
0:387          'scalarIn' ( smooth in mediump float)
 | 
						|
0:387          Constant:
 | 
						|
0:387            1 (const int)
 | 
						|
0:389      'res3' ( temp mediump 3-component vector of float)
 | 
						|
0:390      move second child to first child ( temp mediump 3-component vector of float)
 | 
						|
0:390        'res3' ( temp mediump 3-component vector of float)
 | 
						|
0:390        interpolateAtOffset ( global mediump 3-component vector of float)
 | 
						|
0:390          direct index ( smooth sample temp mediump 3-component vector of float)
 | 
						|
0:390            'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:390            Constant:
 | 
						|
0:390              2 (const int)
 | 
						|
0:390          Constant:
 | 
						|
0:390            0.200000
 | 
						|
0:390            0.200000
 | 
						|
0:391      move second child to first child ( temp mediump 2-component vector of float)
 | 
						|
0:391        'res2' ( temp mediump 2-component vector of float)
 | 
						|
0:391        interpolateAtOffset ( global mediump 2-component vector of float)
 | 
						|
0:391          vector swizzle ( temp mediump 2-component vector of float)
 | 
						|
0:391            direct index ( smooth sample temp mediump 3-component vector of float)
 | 
						|
0:391              'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:391              Constant:
 | 
						|
0:391                2 (const int)
 | 
						|
0:391            Sequence
 | 
						|
0:391              Constant:
 | 
						|
0:391                0 (const int)
 | 
						|
0:391              Constant:
 | 
						|
0:391                1 (const int)
 | 
						|
0:391          Constant:
 | 
						|
0:391            0.200000
 | 
						|
0:391            0.200000
 | 
						|
0:392      move second child to first child ( temp mediump float)
 | 
						|
0:392        'res' ( temp mediump float)
 | 
						|
0:392        interpolateAtOffset ( global mediump float)
 | 
						|
0:392          add ( temp mediump float)
 | 
						|
0:392            'scalarIn' ( smooth in mediump float)
 | 
						|
0:392            'scalarIn' ( smooth in mediump float)
 | 
						|
0:392          Constant:
 | 
						|
0:392            0.200000
 | 
						|
0:392            0.200000
 | 
						|
0:393      move second child to first child ( temp mediump float)
 | 
						|
0:393        'res' ( temp mediump float)
 | 
						|
0:393        interpolateAtOffset ( global mediump float)
 | 
						|
0:393          'scalarIn' ( smooth in mediump float)
 | 
						|
0:393          Constant:
 | 
						|
0:393            0.200000
 | 
						|
0:393            0.200000
 | 
						|
0:396      move second child to first child ( temp mediump float)
 | 
						|
0:396        'res' ( temp mediump float)
 | 
						|
0:396        interpolateAtCentroid ( global mediump float)
 | 
						|
0:396          'f' ( temp mediump float)
 | 
						|
0:397      move second child to first child ( temp mediump 4-component vector of float)
 | 
						|
0:397        'res4' ( temp mediump 4-component vector of float)
 | 
						|
0:397        interpolateAtSample ( global mediump 4-component vector of float)
 | 
						|
0:397          'outp' ( out mediump 4-component vector of float)
 | 
						|
0:397          Constant:
 | 
						|
0:397            0 (const int)
 | 
						|
0:427  Function Definition: blendFoo( ( temp void)
 | 
						|
0:427    Function Parameters: 
 | 
						|
0:428  Function Definition: blendFoo(vf3; ( global void)
 | 
						|
0:428    Function Parameters: 
 | 
						|
0:428      'v' ( in mediump 3-component vector of float)
 | 
						|
0:433  Function Definition: devi( ( global void)
 | 
						|
0:433    Function Parameters: 
 | 
						|
0:435    Sequence
 | 
						|
0:435      'gl_DeviceIndex' ( flat in highp int DeviceIndex)
 | 
						|
0:436      'gl_ViewIndex' ( flat in highp int ViewIndex)
 | 
						|
0:447  Function Definition: devie( ( global void)
 | 
						|
0:447    Function Parameters: 
 | 
						|
0:449    Sequence
 | 
						|
0:449      'gl_DeviceIndex' ( flat in highp int DeviceIndex)
 | 
						|
0:450      'gl_ViewIndex' ( flat in highp int ViewIndex)
 | 
						|
0:456  Function Definition: func(u1;vu4; ( global void)
 | 
						|
0:456    Function Parameters: 
 | 
						|
0:456      'a' ( in mediump uint)
 | 
						|
0:456      'b' ( in mediump 4-component vector of uint)
 | 
						|
0:461  Function Definition: func(u1;vu4; ( global mediump int)
 | 
						|
0:461    Function Parameters: 
 | 
						|
0:461      'a' ( in mediump uint)
 | 
						|
0:461      'b' ( in mediump 4-component vector of uint)
 | 
						|
0:463    Sequence
 | 
						|
0:463      Branch: Return
 | 
						|
0:468  Function Definition: testimplicit( ( global void)
 | 
						|
0:468    Function Parameters: 
 | 
						|
0:470    Sequence
 | 
						|
0:470      Sequence
 | 
						|
0:470        move second child to first child ( temp mediump uint)
 | 
						|
0:470          'a' ( temp mediump uint)
 | 
						|
0:470          Convert int to uint ( temp mediump uint)
 | 
						|
0:470            'b' ( global mediump int)
 | 
						|
0:471      Sequence
 | 
						|
0:471        move second child to first child ( temp mediump 4-component vector of float)
 | 
						|
0:471          'col' ( temp mediump 4-component vector of float)
 | 
						|
0:471          Constant:
 | 
						|
0:471            1.000000
 | 
						|
0:471            2.000000
 | 
						|
0:471            3.000000
 | 
						|
0:471            4.000000
 | 
						|
0:475      Sequence
 | 
						|
0:475        move second child to first child ( temp mediump uint)
 | 
						|
0:475          'c' ( temp mediump uint)
 | 
						|
0:475          Convert int to uint ( temp mediump uint)
 | 
						|
0:475            component-wise multiply ( temp mediump int)
 | 
						|
0:475              'b' ( temp mediump int)
 | 
						|
0:475              Constant:
 | 
						|
0:475                3 (const int)
 | 
						|
0:476      Sequence
 | 
						|
0:476        move second child to first child ( temp mediump uint)
 | 
						|
0:476          'd' ( temp mediump uint)
 | 
						|
0:476          component-wise multiply ( temp mediump uint)
 | 
						|
0:476            Convert int to uint ( temp mediump uint)
 | 
						|
0:476              'b' ( temp mediump int)
 | 
						|
0:476            Constant:
 | 
						|
0:476              3 (const uint)
 | 
						|
0:477      Sequence
 | 
						|
0:477        move second child to first child ( temp mediump uint)
 | 
						|
0:477          'e' ( temp mediump uint)
 | 
						|
0:477          Convert int to uint ( temp mediump uint)
 | 
						|
0:477            mod ( temp mediump int)
 | 
						|
0:477              'b' ( temp mediump int)
 | 
						|
0:477              Constant:
 | 
						|
0:477                3 (const int)
 | 
						|
0:478      Sequence
 | 
						|
0:478        move second child to first child ( temp mediump uint)
 | 
						|
0:478          'f' ( temp mediump uint)
 | 
						|
0:478          Test condition and select ( temp mediump uint)
 | 
						|
0:478            Condition
 | 
						|
0:478            Compare Greater Than ( temp bool)
 | 
						|
0:478              'b' ( temp mediump int)
 | 
						|
0:478              Constant:
 | 
						|
0:478                3 (const int)
 | 
						|
0:478            true case
 | 
						|
0:478            Convert int to uint ( temp uint)
 | 
						|
0:478              'b' ( temp mediump int)
 | 
						|
0:478            false case
 | 
						|
0:478            'c' ( temp mediump uint)
 | 
						|
0:479      Function Call: func(u1;vu4; ( global void)
 | 
						|
0:479        Convert int to uint ( temp uint)
 | 
						|
0:479          'b' ( temp mediump int)
 | 
						|
0:479        Constant:
 | 
						|
0:479          1 (const uint)
 | 
						|
0:479          2 (const uint)
 | 
						|
0:479          3 (const uint)
 | 
						|
0:479          4 (const uint)
 | 
						|
0:484  Function Definition: testimplicitFail( ( global void)
 | 
						|
0:484    Function Parameters: 
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'gl_FragCoord' ( smooth in mediump 4-component vector of float)
 | 
						|
0:?     'v3' (layout( location=2) smooth in mediump 3-component vector of float)
 | 
						|
0:?     'yi' (layout( location=2) smooth in mediump 4X4 matrix of float)
 | 
						|
0:?     'arrayedSampler' ( uniform 5-element array of highp sampler2D)
 | 
						|
0:?     'usamp2d' ( uniform highp usampler2D)
 | 
						|
0:?     'samp2dr' ( uniform mediump usampler2DRect)
 | 
						|
0:?     'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:?     'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:?     'i' ( uniform mediump int)
 | 
						|
0:?     'outp' ( out mediump 4-component vector of float)
 | 
						|
0:?     's1' (layout( binding=3) uniform highp sampler2D)
 | 
						|
0:?     's2' (layout( binding=3) uniform highp sampler2D)
 | 
						|
0:?     'i2D' (layout( binding=2) writeonly uniform highp image2D)
 | 
						|
0:?     'i3D' (layout( binding=4) readonly uniform mediump image3D)
 | 
						|
0:?     'iCube' (layout( binding=5) uniform mediump imageCube)
 | 
						|
0:?     'i2DA' (layout( binding=6) uniform mediump image2DArray)
 | 
						|
0:?     'i2Dqualified' (layout( binding=6) coherent volatile restrict uniform mediump image2D)
 | 
						|
0:?     'bbi' (layout( binding=1 column_major shared) uniform block{layout( column_major shared) uniform mediump int foo, layout( binding=2 column_major shared) uniform mediump float f})
 | 
						|
0:?     'centroidIn' ( centroid smooth in mediump 4-component vector of float)
 | 
						|
0:?     'bigl' ( uniform mediump 4-component vector of float)
 | 
						|
0:?     'bigout1' (layout( location=40) out mediump 4-component vector of float)
 | 
						|
0:?     'bigout2' (layout( location=40) out mediump 4-component vector of float)
 | 
						|
0:?     'neg' ( out mediump 4-component vector of float)
 | 
						|
0:?     'b430i' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer mediump int i})
 | 
						|
0:?     'bshari' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int i})
 | 
						|
0:?     'smoothIn' ( smooth in mediump 4-component vector of float)
 | 
						|
0:?     'flatIn' ( flat in mediump int)
 | 
						|
0:?     's2dms' ( uniform mediump sampler2DMS)
 | 
						|
0:?     'bout' ( out bool)
 | 
						|
0:?     'imageOut' ( out highp image2D)
 | 
						|
0:?     'mout' ( out mediump 2X3 matrix of float)
 | 
						|
0:?     'inb' ( smooth in bool)
 | 
						|
0:?     'ino' ( smooth in highp sampler2D)
 | 
						|
0:?     'ina' ( smooth in 4-element array of mediump float)
 | 
						|
0:?     'inaa' ( smooth in 4-element array of 2-element array of mediump float)
 | 
						|
0:?     'ins' ( smooth in structure{ global mediump float f})
 | 
						|
0:?     'inasa' ( smooth in 4-element array of structure{ global mediump float f})
 | 
						|
0:?     'insa' ( smooth in 4-element array of structure{ global mediump float f})
 | 
						|
0:?     'inSA' ( smooth in structure{ global 4-element array of mediump float f})
 | 
						|
0:?     'inSS' ( smooth in structure{ global mediump float f,  global structure{ global mediump float f} s})
 | 
						|
0:?     'outbinst' ( out block{ out mediump int a})
 | 
						|
0:?     'inbinst' ( in block{ in mediump int a,  in mediump 4-component vector of float v,  in structure{ global mediump int b} s})
 | 
						|
0:?     'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon})
 | 
						|
0:?     'aliased' (layout( location=13) smooth in mediump 4-component vector of float)
 | 
						|
0:?     'arrayedInst' ( in 4-element array of block{ in mediump float f})
 | 
						|
0:?     'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
 | 
						|
0:?     'inf' ( smooth in mediump 2-component vector of float)
 | 
						|
0:?     'ing' ( smooth in mediump 2-component vector of float)
 | 
						|
0:?     'offsets' ( uniform 4-element array of mediump 2-component vector of int)
 | 
						|
0:?     'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:?     'sIndex' ( uniform mediump int)
 | 
						|
0:?     'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint)
 | 
						|
0:?     'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump int i})
 | 
						|
0:?     'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer mediump int i})
 | 
						|
0:?     'iArray' ( writeonly uniform 5-element array of highp image2D)
 | 
						|
0:?     'constOffsets' ( const 4-element array of mediump 2-component vector of int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?     'CA1' ( writeonly uniform highp imageCubeArray)
 | 
						|
0:?     'CA2' ( writeonly uniform highp iimageCubeArray)
 | 
						|
0:?     'CA3' ( writeonly uniform highp uimageCubeArray)
 | 
						|
0:?     'CA4' ( uniform highp samplerCubeArray)
 | 
						|
0:?     'CA5' ( uniform highp samplerCubeArrayShadow)
 | 
						|
0:?     'CA6' ( uniform highp isamplerCubeArray)
 | 
						|
0:?     'CA7' ( uniform highp usamplerCubeArray)
 | 
						|
0:?     'gl_SampleMaskIn' ( flat in unsized 1-element array of highp int SampleMaskIn)
 | 
						|
0:?     'gl_SampleMask' ( out unsized 1-element array of highp int SampleMaskIn)
 | 
						|
0:?     'im2Df' (layout( r32f) uniform highp image2D)
 | 
						|
0:?     'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:?     'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:?     'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:?     'badIm2Df' (layout( rgba32f) uniform highp image2D)
 | 
						|
0:?     'badIm2Du' (layout( rgba8ui) uniform highp uimage2D)
 | 
						|
0:?     'badIm2Di' (layout( rgba16i) uniform highp iimage2D)
 | 
						|
0:?     'colorSampInBad' ( smooth sample in mediump 4-component vector of float)
 | 
						|
0:?     'colorCentroidBad' ( centroid out mediump 4-component vector of float)
 | 
						|
0:?     'colorBadFlat' ( flat out mediump 4-component vector of float)
 | 
						|
0:?     'colorBadSmooth' ( smooth out mediump 4-component vector of float)
 | 
						|
0:?     'colorBadNo' ( noperspective out mediump 4-component vector of float)
 | 
						|
0:?     'colorfc' ( centroid flat in mediump 2-component vector of float)
 | 
						|
0:?     'scalarIn' ( smooth in mediump float)
 | 
						|
0:?     'colorSampIn' ( smooth sample in mediump 4-component vector of float)
 | 
						|
0:?     'colorSampleBad' ( sample out mediump 4-component vector of float)
 | 
						|
0:?     'colorfsi' ( flat sample in mediump 4-component vector of float)
 | 
						|
0:?     'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:?     'badout' ( out mediump 4-component vector of float)
 | 
						|
0:?     'outAA' ( out 2-element array of 2-element array of mediump 4-component vector of float)
 | 
						|
0:?     'b' ( global mediump int)
 | 
						|
 | 
						|
 | 
						|
Linked fragment stage:
 | 
						|
 | 
						|
ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
 | 
						|
 | 
						|
Shader version: 310
 | 
						|
Requested GL_EXT_device_group
 | 
						|
Requested GL_EXT_multiview
 | 
						|
Requested GL_EXT_shader_implicit_conversions
 | 
						|
Requested GL_EXT_shader_io_blocks
 | 
						|
Requested GL_EXT_texture_cube_map_array
 | 
						|
Requested GL_KHR_blend_equation_advanced
 | 
						|
Requested GL_OES_geometry_shader
 | 
						|
Requested GL_OES_gpu_shader5
 | 
						|
Requested GL_OES_sample_variables
 | 
						|
Requested GL_OES_shader_image_atomic
 | 
						|
Requested GL_OES_shader_io_blocks
 | 
						|
Requested GL_OES_shader_multisample_interpolation
 | 
						|
gl_FragCoord pixel center is integer
 | 
						|
gl_FragCoord origin is upper left
 | 
						|
using early_fragment_tests
 | 
						|
using depth_any
 | 
						|
using blend_support_multiply blend_support_screen blend_support_overlay blend_support_darken blend_support_lighten blend_support_colordodge blend_support_colorburn blend_support_hardlight blend_support_softlight blend_support_difference blend_support_exclusion blend_support_hsl_hue blend_support_hsl_saturation blend_support_hsl_color blend_support_hsl_luminosity blend_support_all_equations
 | 
						|
ERROR: node is still EOpNull!
 | 
						|
0:21  Function Definition: main( ( global void)
 | 
						|
0:21    Function Parameters: 
 | 
						|
0:23    Sequence
 | 
						|
0:23      Sequence
 | 
						|
0:23        move second child to first child ( temp highp 4-component vector of float)
 | 
						|
0:23          'v' ( temp mediump 4-component vector of float)
 | 
						|
0:23          texture ( global highp 4-component vector of float)
 | 
						|
0:23            indirect index ( temp highp sampler2D)
 | 
						|
0:23              'arrayedSampler' ( uniform 5-element array of highp sampler2D)
 | 
						|
0:23              'i' ( uniform mediump int)
 | 
						|
0:23            'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:28      Sequence
 | 
						|
0:28        move second child to first child ( temp highp 4-component vector of float)
 | 
						|
0:28          'v4' ( temp mediump 4-component vector of float)
 | 
						|
0:28          textureGather ( global highp 4-component vector of float)
 | 
						|
0:28            direct index ( temp highp sampler2D)
 | 
						|
0:28              'arrayedSampler' ( uniform 5-element array of highp sampler2D)
 | 
						|
0:28              Constant:
 | 
						|
0:28                0 (const int)
 | 
						|
0:28            'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:29      Sequence
 | 
						|
0:29        move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:29          'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:29          textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:29            'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:29            Constant:
 | 
						|
0:29              0.100000
 | 
						|
0:29              0.100000
 | 
						|
0:29              0.100000
 | 
						|
0:29            Constant:
 | 
						|
0:29              1 (const int)
 | 
						|
0:29              1 (const int)
 | 
						|
0:29            Constant:
 | 
						|
0:29              3 (const int)
 | 
						|
0:30      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:30        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:30        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:30          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:30          Constant:
 | 
						|
0:30            0.100000
 | 
						|
0:30            0.100000
 | 
						|
0:30            0.100000
 | 
						|
0:30          Constant:
 | 
						|
0:30            1 (const int)
 | 
						|
0:30            1 (const int)
 | 
						|
0:30          'i' ( uniform mediump int)
 | 
						|
0:31      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:31        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:31        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:31          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:31          Constant:
 | 
						|
0:31            0.100000
 | 
						|
0:31            0.100000
 | 
						|
0:31            0.100000
 | 
						|
0:31          Constant:
 | 
						|
0:31            1 (const int)
 | 
						|
0:31            1 (const int)
 | 
						|
0:31          Constant:
 | 
						|
0:31            4 (const int)
 | 
						|
0:32      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:32        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:32        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:32          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:32          Constant:
 | 
						|
0:32            0.100000
 | 
						|
0:32            0.100000
 | 
						|
0:32            0.100000
 | 
						|
0:32          Constant:
 | 
						|
0:32            1 (const int)
 | 
						|
0:32            1 (const int)
 | 
						|
0:32          Constant:
 | 
						|
0:32            3 (const int)
 | 
						|
0:33      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:33        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:33        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:33          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:33          Constant:
 | 
						|
0:33            0.100000
 | 
						|
0:33            0.100000
 | 
						|
0:33            0.100000
 | 
						|
0:33          Constant:
 | 
						|
0:33            0 (const int)
 | 
						|
0:33            0 (const int)
 | 
						|
0:34      move second child to first child ( temp highp 4-component vector of int)
 | 
						|
0:34        'iv4' ( temp mediump 4-component vector of int)
 | 
						|
0:34        textureGatherOffset ( global highp 4-component vector of int)
 | 
						|
0:34          'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:34          Constant:
 | 
						|
0:34            0.100000
 | 
						|
0:34            0.100000
 | 
						|
0:34            0.100000
 | 
						|
0:34          Construct ivec2 ( temp highp 2-component vector of int)
 | 
						|
0:34            'i' ( uniform mediump int)
 | 
						|
0:?   Linker Objects
 | 
						|
0:?     'gl_FragCoord' ( smooth in mediump 4-component vector of float)
 | 
						|
0:?     'v3' (layout( location=2) smooth in mediump 3-component vector of float)
 | 
						|
0:?     'yi' (layout( location=2) smooth in mediump 4X4 matrix of float)
 | 
						|
0:?     'arrayedSampler' ( uniform 5-element array of highp sampler2D)
 | 
						|
0:?     'usamp2d' ( uniform highp usampler2D)
 | 
						|
0:?     'samp2dr' ( uniform mediump usampler2DRect)
 | 
						|
0:?     'isamp2DA' ( uniform highp isampler2DArray)
 | 
						|
0:?     'c2D' ( smooth in mediump 2-component vector of float)
 | 
						|
0:?     'i' ( uniform mediump int)
 | 
						|
0:?     'outp' ( out mediump 4-component vector of float)
 | 
						|
0:?     's1' (layout( binding=3) uniform highp sampler2D)
 | 
						|
0:?     's2' (layout( binding=3) uniform highp sampler2D)
 | 
						|
0:?     'i2D' (layout( binding=2) writeonly uniform highp image2D)
 | 
						|
0:?     'i3D' (layout( binding=4) readonly uniform mediump image3D)
 | 
						|
0:?     'iCube' (layout( binding=5) uniform mediump imageCube)
 | 
						|
0:?     'i2DA' (layout( binding=6) uniform mediump image2DArray)
 | 
						|
0:?     'i2Dqualified' (layout( binding=6) coherent volatile restrict uniform mediump image2D)
 | 
						|
0:?     'bbi' (layout( binding=1 column_major shared) uniform block{layout( column_major shared) uniform mediump int foo, layout( binding=2 column_major shared) uniform mediump float f})
 | 
						|
0:?     'centroidIn' ( centroid smooth in mediump 4-component vector of float)
 | 
						|
0:?     'bigl' ( uniform mediump 4-component vector of float)
 | 
						|
0:?     'bigout1' (layout( location=40) out mediump 4-component vector of float)
 | 
						|
0:?     'bigout2' (layout( location=40) out mediump 4-component vector of float)
 | 
						|
0:?     'neg' ( out mediump 4-component vector of float)
 | 
						|
0:?     'b430i' (layout( column_major std430) buffer block{layout( column_major std430 offset=0) buffer mediump int i})
 | 
						|
0:?     'bshari' (layout( column_major shared) uniform block{layout( column_major shared) uniform mediump int i})
 | 
						|
0:?     'smoothIn' ( smooth in mediump 4-component vector of float)
 | 
						|
0:?     'flatIn' ( flat in mediump int)
 | 
						|
0:?     's2dms' ( uniform mediump sampler2DMS)
 | 
						|
0:?     'bout' ( out bool)
 | 
						|
0:?     'imageOut' ( out highp image2D)
 | 
						|
0:?     'mout' ( out mediump 2X3 matrix of float)
 | 
						|
0:?     'inb' ( smooth in bool)
 | 
						|
0:?     'ino' ( smooth in highp sampler2D)
 | 
						|
0:?     'ina' ( smooth in 4-element array of mediump float)
 | 
						|
0:?     'inaa' ( smooth in 4-element array of 2-element array of mediump float)
 | 
						|
0:?     'ins' ( smooth in structure{ global mediump float f})
 | 
						|
0:?     'inasa' ( smooth in 4-element array of structure{ global mediump float f})
 | 
						|
0:?     'insa' ( smooth in 4-element array of structure{ global mediump float f})
 | 
						|
0:?     'inSA' ( smooth in structure{ global 4-element array of mediump float f})
 | 
						|
0:?     'inSS' ( smooth in structure{ global mediump float f,  global structure{ global mediump float f} s})
 | 
						|
0:?     'outbinst' ( out block{ out mediump int a})
 | 
						|
0:?     'inbinst' ( in block{ in mediump int a,  in mediump 4-component vector of float v,  in structure{ global mediump int b} s})
 | 
						|
0:?     'anon@0' ( in block{layout( location=12) in mediump int aAnon, layout( location=13) centroid in mediump 4-component vector of float vAnon})
 | 
						|
0:?     'aliased' (layout( location=13) smooth in mediump 4-component vector of float)
 | 
						|
0:?     'arrayedInst' ( in 4-element array of block{ in mediump float f})
 | 
						|
0:?     'gl_FragDepth' ( gl_FragDepth highp float FragDepth)
 | 
						|
0:?     'inf' ( smooth in mediump 2-component vector of float)
 | 
						|
0:?     'ing' ( smooth in mediump 2-component vector of float)
 | 
						|
0:?     'offsets' ( uniform 4-element array of mediump 2-component vector of int)
 | 
						|
0:?     'sArray' ( uniform 4-element array of highp sampler2D)
 | 
						|
0:?     'sIndex' ( uniform mediump int)
 | 
						|
0:?     'auArray' (layout( binding=0 offset=0) uniform 2-element array of highp atomic_uint)
 | 
						|
0:?     'ubInst' (layout( column_major shared) uniform 4-element array of block{layout( column_major shared) uniform mediump int i})
 | 
						|
0:?     'bbInst' (layout( column_major shared) buffer 4-element array of block{layout( column_major shared) buffer mediump int i})
 | 
						|
0:?     'iArray' ( writeonly uniform 5-element array of highp image2D)
 | 
						|
0:?     'constOffsets' ( const 4-element array of mediump 2-component vector of int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?       0 (const int)
 | 
						|
0:?     'CA1' ( writeonly uniform highp imageCubeArray)
 | 
						|
0:?     'CA2' ( writeonly uniform highp iimageCubeArray)
 | 
						|
0:?     'CA3' ( writeonly uniform highp uimageCubeArray)
 | 
						|
0:?     'CA4' ( uniform highp samplerCubeArray)
 | 
						|
0:?     'CA5' ( uniform highp samplerCubeArrayShadow)
 | 
						|
0:?     'CA6' ( uniform highp isamplerCubeArray)
 | 
						|
0:?     'CA7' ( uniform highp usamplerCubeArray)
 | 
						|
0:?     'gl_SampleMaskIn' ( flat in 1-element array of highp int SampleMaskIn)
 | 
						|
0:?     'gl_SampleMask' ( out 1-element array of highp int SampleMaskIn)
 | 
						|
0:?     'im2Df' (layout( r32f) uniform highp image2D)
 | 
						|
0:?     'im2Du' (layout( r32ui) uniform highp uimage2D)
 | 
						|
0:?     'im2Di' (layout( r32i) uniform highp iimage2D)
 | 
						|
0:?     'P' ( uniform mediump 2-component vector of int)
 | 
						|
0:?     'badIm2Df' (layout( rgba32f) uniform highp image2D)
 | 
						|
0:?     'badIm2Du' (layout( rgba8ui) uniform highp uimage2D)
 | 
						|
0:?     'badIm2Di' (layout( rgba16i) uniform highp iimage2D)
 | 
						|
0:?     'colorSampInBad' ( smooth sample in mediump 4-component vector of float)
 | 
						|
0:?     'colorCentroidBad' ( centroid out mediump 4-component vector of float)
 | 
						|
0:?     'colorBadFlat' ( flat out mediump 4-component vector of float)
 | 
						|
0:?     'colorBadSmooth' ( smooth out mediump 4-component vector of float)
 | 
						|
0:?     'colorBadNo' ( noperspective out mediump 4-component vector of float)
 | 
						|
0:?     'colorfc' ( centroid flat in mediump 2-component vector of float)
 | 
						|
0:?     'scalarIn' ( smooth in mediump float)
 | 
						|
0:?     'colorSampIn' ( smooth sample in mediump 4-component vector of float)
 | 
						|
0:?     'colorSampleBad' ( sample out mediump 4-component vector of float)
 | 
						|
0:?     'colorfsi' ( flat sample in mediump 4-component vector of float)
 | 
						|
0:?     'sampInArray' ( smooth sample in 4-element array of mediump 3-component vector of float)
 | 
						|
0:?     'badout' ( out mediump 4-component vector of float)
 | 
						|
0:?     'outAA' ( out 2-element array of 2-element array of mediump 4-component vector of float)
 | 
						|
0:?     'b' ( global mediump int)
 | 
						|
 |