310.geom
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
ERROR: 0:29: 'fromVertex' : block instance name redefinition 
ERROR: 0:33: 'fromVertex' : redefinition 
ERROR: 0:35: 'fooC' : block instance name redefinition 
ERROR: 0:43: 'EmitStreamVertex' : no matching overloaded function found 
ERROR: 0:44: 'EndStreamPrimitive' : no matching overloaded function found 
ERROR: 0:47: 'gl_ClipDistance' : undeclared identifier 
ERROR: 0:47: 'gl_ClipDistance' :  left of '[' is not of type array, matrix, or vector  
ERROR: 0:48: 'gl_ClipDistance' : no such field in structure 
ERROR: 0:48: 'expression' :  left of '[' is not of type array, matrix, or vector  
ERROR: 0:47: 'assign' :  l-value required (can't modify a const)
ERROR: 0:55: 'selecting output stream' : not supported with this profile: es
ERROR: 0:62: 'max_vertices' : too large, must be less than gl_MaxGeometryOutputVertices 
ERROR: 0:62: 'max_vertices' : cannot change previously set layout value 
ERROR: 0:63: 'max_vertices' : can only apply to a standalone qualifier 
ERROR: 0:68: 'points' : cannot change previously set output primitive 
ERROR: 0:69: 'points' : cannot change previously set output primitive 
ERROR: 0:70: 'triangle_strip' : cannot apply to input 
ERROR: 0:71: 'triangle_strip' : cannot apply to: uniform
ERROR: 0:72: 'triangle_strip' : can only apply to a standalone qualifier 
ERROR: 0:73: 'triangle_strip' : can only apply to a standalone qualifier 
ERROR: 0:74: 'invocations' : can only apply to a standalone qualifier 
ERROR: 0:76: 'invocations' : can only apply to a standalone qualifier 
ERROR: 0:77: 'max_vertices' : can only apply to a standalone qualifier 
ERROR: 0:78: 'triangle_strip' : can only apply to a standalone qualifier 
ERROR: 0:81: 'lines' : cannot apply to 'out' 
ERROR: 0:83: 'triangles' : cannot change previously set input primitive 
ERROR: 0:84: 'triangles_adjacency' : cannot change previously set input primitive 
ERROR: 0:116: 'gl_ViewportIndex' : undeclared identifier 
ERROR: 0:117: 'gl_MaxViewports' : undeclared identifier 
ERROR: 0:123: 'lines_adjacency' : inconsistent input primitive for array size of explArrayBad
ERROR: 0:124: 'in' : type must be an array: nonArrayed
ERROR: 0:128: 'sample' : Reserved word. 
ERROR: 0:132: 'component' : not supported with this profile: es
ERROR: 0:136: 'gl_MaxGeometryVaryingComponents' : undeclared identifier 
ERROR: 0:137: 'gl_VerticesIn' : undeclared identifier 
ERROR: 0:142: 'gl_PointSize' : required extension not requested: Possible extensions include:
GL_EXT_geometry_point_size
GL_OES_geometry_point_size
ERROR: 0:143: 'gl_PointSize' : required extension not requested: Possible extensions include:
GL_EXT_geometry_point_size
GL_OES_geometry_point_size
ERROR: 37 compilation errors.  No code generated.


Shader version: 310
Requested GL_EXT_geometry_shader
Requested GL_EXT_shader_io_blocks
Requested GL_OES_geometry_point_size
invocations = 4
max_vertices = 200
input primitive = lines_adjacency
output primitive = triangle_strip
ERROR: node is still EOpNull!
0:39  Function Definition: main( (global void)
0:39    Function Parameters: 
0:41    Sequence
0:41      EmitVertex (global void)
0:42      EndPrimitive (global void)
0:43      Constant:
0:43        0.000000
0:44      Constant:
0:44        0.000000
0:46      move second child to first child (temp mediump 3-component vector of float)
0:46        color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
0:46          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
0:46          Constant:
0:46            0 (const uint)
0:46        color: direct index for structure (in mediump 3-component vector of float)
0:46          direct index (temp block{in mediump 3-component vector of float color})
0:46            'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:46            Constant:
0:46              0 (const int)
0:46          Constant:
0:46            0 (const int)
0:47      move second child to first child (temp float)
0:47        Constant:
0:47          0.000000
0:48        Constant:
0:48          0.000000
0:49      move second child to first child (temp highp 4-component vector of float)
0:49        gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
0:49          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:49          Constant:
0:49            0 (const uint)
0:49        gl_Position: direct index for structure (in highp 4-component vector of float Position)
0:49          direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:49            'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:49            Constant:
0:49              0 (const int)
0:49          Constant:
0:49            0 (const int)
0:51      move second child to first child (temp highp int)
0:51        'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
0:51        'gl_PrimitiveIDIn' (in highp int PrimitiveID)
0:52      move second child to first child (temp highp int)
0:52        'gl_Layer' (layout(stream=0 ) out highp int Layer)
0:52        Constant:
0:52          2 (const int)
0:63  Function Definition: foo(i1; (global void)
0:63    Function Parameters: 
0:63      'a' (in highp int)
0:65    Sequence
0:65      move second child to first child (temp mediump 4-component vector of float)
0:65        a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
0:65          'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:65          Constant:
0:65            0 (const int)
0:65        Constant:
0:65          1.000000
0:65          1.000000
0:65          1.000000
0:65          1.000000
0:114  Function Definition: fooe1( (global void)
0:114    Function Parameters: 
0:116    Sequence
0:116      'gl_ViewportIndex' (temp float)
0:117      'gl_MaxViewports' (temp float)
0:118      Constant:
0:118        4 (const int)
0:119      Sequence
0:119        move second child to first child (temp highp int)
0:119          'inv' (temp highp int)
0:119          'gl_InvocationID' (in highp int InvocationID)
0:134  Function Definition: notHere( (global void)
0:134    Function Parameters: 
0:136    Sequence
0:136      'gl_MaxGeometryVaryingComponents' (temp float)
0:137      'gl_VerticesIn' (temp float)
0:140  Function Definition: pointSize1( (global void)
0:140    Function Parameters: 
0:142    Sequence
0:142      Sequence
0:142        move second child to first child (temp highp float)
0:142          'ps' (temp highp float)
0:142          gl_PointSize: direct index for structure (in highp float PointSize)
0:142            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142              'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142              Constant:
0:142                3 (const int)
0:142            Constant:
0:142              1 (const int)
0:143      move second child to first child (temp highp float)
0:143        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:143          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:143          Constant:
0:143            1 (const uint)
0:143        'ps' (temp highp float)
0:148  Function Definition: pointSize2( (global void)
0:148    Function Parameters: 
0:150    Sequence
0:150      Sequence
0:150        move second child to first child (temp highp float)
0:150          'ps' (temp highp float)
0:150          gl_PointSize: direct index for structure (in highp float PointSize)
0:150            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150              'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150              Constant:
0:150                3 (const int)
0:150            Constant:
0:150              1 (const int)
0:151      move second child to first child (temp highp float)
0:151        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:151          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:151          Constant:
0:151            1 (const uint)
0:151        'ps' (temp highp float)
0:?   Linker Objects
0:?     'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:?     'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
0:?     'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:?     'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
0:?     'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:?     'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
0:?     'bad2v4' (in 4-element array of mediump 4-component vector of float)
0:?     'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
0:?     'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
0:?     'insn' (in 4-element array of block{in highp int a15})
0:?     'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
0:?     'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
0:?     'summ' (const highp int)
0:?       2752 (const int)
0:?     'explArray' (in 4-element array of mediump 4-component vector of float)
0:?     'explArrayBad' (in 5-element array of mediump 4-component vector of float)
0:?     'nonArrayed' (in mediump 4-component vector of float)
0:?     'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
0:?     'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
0:?     'centr' (centroid in 4-element array of mediump 3-component vector of float)
0:?     'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
0:?     'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)


Linked geometry stage:


Shader version: 310
Requested GL_EXT_geometry_shader
Requested GL_EXT_shader_io_blocks
Requested GL_OES_geometry_point_size
invocations = 4
max_vertices = 200
input primitive = lines_adjacency
output primitive = triangle_strip
ERROR: node is still EOpNull!
0:39  Function Definition: main( (global void)
0:39    Function Parameters: 
0:41    Sequence
0:41      EmitVertex (global void)
0:42      EndPrimitive (global void)
0:43      Constant:
0:43        0.000000
0:44      Constant:
0:44        0.000000
0:46      move second child to first child (temp mediump 3-component vector of float)
0:46        color: direct index for structure (layout(stream=0 ) out mediump 3-component vector of float)
0:46          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
0:46          Constant:
0:46            0 (const uint)
0:46        color: direct index for structure (in mediump 3-component vector of float)
0:46          direct index (temp block{in mediump 3-component vector of float color})
0:46            'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:46            Constant:
0:46              0 (const int)
0:46          Constant:
0:46            0 (const int)
0:47      move second child to first child (temp float)
0:47        Constant:
0:47          0.000000
0:48        Constant:
0:48          0.000000
0:49      move second child to first child (temp highp 4-component vector of float)
0:49        gl_Position: direct index for structure (layout(stream=0 ) gl_Position highp 4-component vector of float Position)
0:49          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:49          Constant:
0:49            0 (const uint)
0:49        gl_Position: direct index for structure (in highp 4-component vector of float Position)
0:49          direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:49            'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:49            Constant:
0:49              0 (const int)
0:49          Constant:
0:49            0 (const int)
0:51      move second child to first child (temp highp int)
0:51        'gl_PrimitiveID' (layout(stream=0 ) out highp int PrimitiveID)
0:51        'gl_PrimitiveIDIn' (in highp int PrimitiveID)
0:52      move second child to first child (temp highp int)
0:52        'gl_Layer' (layout(stream=0 ) out highp int Layer)
0:52        Constant:
0:52          2 (const int)
0:63  Function Definition: foo(i1; (global void)
0:63    Function Parameters: 
0:63      'a' (in highp int)
0:65    Sequence
0:65      move second child to first child (temp mediump 4-component vector of float)
0:65        a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
0:65          'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:65          Constant:
0:65            0 (const int)
0:65        Constant:
0:65          1.000000
0:65          1.000000
0:65          1.000000
0:65          1.000000
0:114  Function Definition: fooe1( (global void)
0:114    Function Parameters: 
0:116    Sequence
0:116      'gl_ViewportIndex' (temp float)
0:117      'gl_MaxViewports' (temp float)
0:118      Constant:
0:118        4 (const int)
0:119      Sequence
0:119        move second child to first child (temp highp int)
0:119          'inv' (temp highp int)
0:119          'gl_InvocationID' (in highp int InvocationID)
0:134  Function Definition: notHere( (global void)
0:134    Function Parameters: 
0:136    Sequence
0:136      'gl_MaxGeometryVaryingComponents' (temp float)
0:137      'gl_VerticesIn' (temp float)
0:140  Function Definition: pointSize1( (global void)
0:140    Function Parameters: 
0:142    Sequence
0:142      Sequence
0:142        move second child to first child (temp highp float)
0:142          'ps' (temp highp float)
0:142          gl_PointSize: direct index for structure (in highp float PointSize)
0:142            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142              'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:142              Constant:
0:142                3 (const int)
0:142            Constant:
0:142              1 (const int)
0:143      move second child to first child (temp highp float)
0:143        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:143          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:143          Constant:
0:143            1 (const uint)
0:143        'ps' (temp highp float)
0:148  Function Definition: pointSize2( (global void)
0:148    Function Parameters: 
0:150    Sequence
0:150      Sequence
0:150        move second child to first child (temp highp float)
0:150          'ps' (temp highp float)
0:150          gl_PointSize: direct index for structure (in highp float PointSize)
0:150            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150              'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:150              Constant:
0:150                3 (const int)
0:150            Constant:
0:150              1 (const int)
0:151      move second child to first child (temp highp float)
0:151        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
0:151          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
0:151          Constant:
0:151            1 (const uint)
0:151        'ps' (temp highp float)
0:?   Linker Objects
0:?     'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
0:?     'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)
0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 3-component vector of float color})
0:?     'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
0:?     'ov4' (layout(stream=4 ) out mediump 4-component vector of float)
0:?     'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
0:?     'badv4' (layout(stream=0 ) out mediump 4-component vector of float)
0:?     'bad2v4' (in 4-element array of mediump 4-component vector of float)
0:?     'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a})
0:?     'outbi' (layout(stream=0 ) out block{layout(stream=0 ) out highp int a, layout(stream=0 ) out highp int b, layout(stream=0 ) out highp int c})
0:?     'insn' (in 4-element array of block{in highp int a15})
0:?     'anon@2' (layout(stream=0 ) out block{layout(stream=0 ) out mediump float f15})
0:?     'anon@3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})
0:?     'summ' (const highp int)
0:?       2752 (const int)
0:?     'explArray' (in 4-element array of mediump 4-component vector of float)
0:?     'explArrayBad' (in 5-element array of mediump 4-component vector of float)
0:?     'nonArrayed' (in mediump 4-component vector of float)
0:?     'myColor1' (layout(stream=0 ) flat out mediump 3-component vector of float)
0:?     'myColor2' (layout(stream=0 ) centroid out mediump 3-component vector of float)
0:?     'centr' (centroid in 4-element array of mediump 3-component vector of float)
0:?     'perSampleColor' (layout(stream=0 ) sample out mediump 4-component vector of float)
0:?     'comp' (layout(location=7 component=2 ) in 4-element array of mediump float)

