vec4 c = gl_FragCoord;\r
}\r
\r
-layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;\r
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; // ERROR, declared after use\r
gl_Position = iv4;\r
gl_PointSize = ps;\r
gl_ClipDistance[2] = iv4.x;\r
+ gl_ClipVertex = iv4;\r
}\r
\r
float gl_ClipDistance[4];\r
void main()
{
- gl_FragColor = varyingVar;
- gl_FragData[1] = inVar;
+ gl_FragColor = varyingVar; // link ERROR: user output was used
+ gl_FragData[1] = inVar; // link ERROR: user output was used
int buffer = 4;
}
void foo()
{
vec4 c = gl_Color;
+ outVar = inVar;
}
layout(location = 5) in vec4 gl_Color; // ERROR, layout
noperspective in float gl_ClipDistance[4]; // ERROR, can't change qualifier
-layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord;
+layout(origin_upper_left, pixel_center_integer) in vec4 gl_FragCoord; // ERROR, declared after use
+100.frag\r
ERROR: 0:3: '{ } style initializers' : not supported with this profile: es\r
ERROR: 0:3: 'initializer' : not supported for this version or the enabled extensions \r
ERROR: 0:3: 'array initializer' : not supported for this version or the enabled extensions \r
ERROR: 0:152: '' : syntax error\r
ERROR: 56 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Sequence\r
0:3 move second child to first child (3-element array of mediump int)\r
0:? 'f123' (mediump float)\r
0:? 'f124' (mediump float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+100Limits.vert\r
+\r
0:? Sequence\r
0:15 Function Definition: foo(f1; (void)\r
0:15 Function Parameters: \r
0:? 2.000000\r
0:? 2.000000\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+100scope.vert\r
ERROR: 0:5: 'a' : redefinition \r
ERROR: 0:17: 'b' : redeclaration of existing name \r
ERROR: 0:19: 'f' : redefinition \r
ERROR: 0:54: 'z' : redefinition \r
ERROR: 8 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Function Definition: f(i1;i1;i1; (highp int)\r
0:3 Function Parameters: \r
0:? 'b' (bool)\r
0:? 'tan' (highp float)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+120.frag\r
ERROR: 0:9: 'in for stage inputs' : not supported for this version or the enabled extensions \r
ERROR: 0:10: 'out for stage outputs' : not supported for this version or the enabled extensions \r
ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type '2-component vector of float' and a right operand of type '3-component vector of float' (or there is no acceptable conversion)\r
ERROR: 0:125: 'gl_TexCoord' : redeclaration of array with size \r
ERROR: 31 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:21 Function Definition: main( (void)\r
0:21 Function Parameters: \r
0:? 'a' (int)\r
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+ERROR: Linking fragment stage: Recursion detected:\r
+ foo(f1; calling foo(f1;\r
+\r
+\r
+120.vert\r
ERROR: 0:3: 'in for stage inputs' : not supported for this version or the enabled extensions \r
ERROR: 0:4: 'out for stage outputs' : not supported for this version or the enabled extensions \r
ERROR: 0:11: 'gl_Position' : cannot add storage, auxiliary, memory, interpolation, or precision qualifier to an existing variable \r
ERROR: 0:117: 'overloadF' : no matching overloaded function found \r
ERROR: 44 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:15 Function Definition: main( (void)\r
0:15 Function Parameters: \r
0:? 'concall' (const float)\r
0:? 0.295520\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+130.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
ERROR: 0:25: 'texture gather function' : not supported for this version or the enabled extensions \r
ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color\r
ERROR: 0:64: '>=' : wrong operand types: no operation '>=' exists that takes a left-hand operand of type 'const 2-component vector of uint' and a right operand of type 'const 2-component vector of uint' (or there is no acceptable conversion)\r
ERROR: 7 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:16 Function Definition: main( (void)\r
0:16 Function Parameters: \r
0:? 'gl_Color' (smooth in 4-component vector of float)\r
0:? 'gl_Color' (flat in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+140.frag\r
Warning, version 140 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
ERROR: 0:17: '#error' : GL_ES is not set \r
ERROR: 1 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:10 Function Definition: main( (void)\r
0:10 Function Parameters: \r
0:? 'gl_ClipDistance' (smooth in 5-element array of float)\r
0:? 'gl_ClipDistance' (smooth in 5-element array of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+150.frag\r
Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:4: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord\r
ERROR: 0:5: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord\r
ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_center_origin to gl_FragCoord \r
-ERROR: 3 compilation errors. No code generated.\r
+ERROR: 0:14: 'gl_FragCoord' : cannot redeclare after use \r
+ERROR: 4 compilation errors. No code generated.\r
+\r
\r
gl_FragCoord pixel center is integer\r
gl_FragCoord origin is upper left\r
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
0:? 'foo' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+150.geom\r
Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:15: 'fromVertex' : block instance name redefinition \r
ERROR: 0:19: 'fromVertex' : redefinition \r
ERROR: 0:91: 'stream' : member cannot contradict block \r
ERROR: 28 compilation errors. No code generated.\r
\r
+\r
invocations = 4\r
max_vertices = 127\r
input primitive = lines_adjancency\r
0:? '__anon__3' (layout(stream=3 ) out block{f15})\r
0:? '__anon__4' (layout(column_major shared ) uniform block{b15})\r
\r
+\r
+Linked geometry stage:\r
+\r
+\r
+\r
+150.vert\r
Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
-ERROR: 0:21: 'a' : cannot redeclare a user-block member array \r
+ERROR: 0:22: 'a' : cannot redeclare a user-block member array \r
ERROR: 1 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:9 Function Definition: main( (void)\r
0:9 Function Parameters: \r
0:13 'iv4' (in 4-component vector of float)\r
0:13 Constant:\r
0:13 0 (const int)\r
+0:14 move second child to first child (4-component vector of float)\r
+0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)\r
+0:14 '__anon__0' (out block{gl_Position,gl_PointSize,gl_ClipDistance,gl_ClipVertex,gl_FrontColor,gl_BackColor,gl_FrontSecondaryColor,gl_BackSecondaryColor,gl_TexCoord,gl_FogFragCoord})\r
+0:14 Constant:\r
+0:14 3 (const uint)\r
+0:14 'iv4' (in 4-component vector of float)\r
0:? Linker Objects\r
0:? 'iv4' (in 4-component vector of float)\r
0:? 'ps' (uniform float)\r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)\r
+\r
+\r
+300.frag\r
ERROR: 0:30: 'noperspective' : Reserved word. \r
ERROR: 0:30: 'noperspective' : not supported with this profile: es\r
ERROR: 0:31: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: bads\r
ERROR: 0:126: '' : syntax error\r
ERROR: 28 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:53 Function Definition: main( (void)\r
0:53 Function Parameters: \r
0:? 'st1' (uniform structure{i,s})\r
0:? 'st2' (uniform structure{i,s})\r
\r
+\r
+Linked fragment stage:\r
+\r
+ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers\r
+\r
+\r
+300.vert\r
ERROR: 0:8: 'varying' : Reserved word. \r
ERROR: 0:8: 'varying' : no longer supported in es profile; removed in version 300\r
ERROR: 0:9: 'vertex input arrays' : not supported with this profile: es\r
ERROR: 0:65: '' : array size required \r
ERROR: 0:64: '' : array size required \r
ERROR: 0:67: '' : array size required \r
+ERROR: 0:76: 'invariant' : cannot change qualification after use \r
ERROR: 0:78: 'invariant' : can only apply to an output: invIn\r
ERROR: 0:88: 'ub2' : Cannot reuse block name within the same interface: uniform\r
ERROR: 0:92: 'ub2' : Cannot reuse block name within the same interface: uniform\r
ERROR: 0:96: 'ub2' : Cannot reuse block name within the same interface: uniform\r
ERROR: 0:104: 'ub3' : Cannot reuse block name within the same interface: uniform\r
-ERROR: 25 compilation errors. No code generated.\r
+ERROR: 26 compilation errors. No code generated.\r
+\r
\r
ERROR: node is still EOpNull!\r
0:27 Function Definition: main( (void)\r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+300BuiltIns.frag\r
ERROR: 0:6: 'float' : type requires declaration of default precision qualifier \r
ERROR: 0:70: 'noise2' : no matching overloaded function found \r
ERROR: 2 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:26 Function Definition: main( (void)\r
0:26 Function Parameters: \r
0:? 'v2b' (mediump 2-component vector of float)\r
0:? 'v4' (mediump 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+300block.frag\r
ERROR: 0:10: '' : cannot nest a structure definition inside a structure or block \r
ERROR: 0:21: '' : cannot nest a structure definition inside a structure or block \r
ERROR: 0:20: 'sampler' : member of block cannot be a sampler type \r
ERROR: 0:45: 'variable indexing block array' : not supported with this profile: es\r
ERROR: 4 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:42 Function Definition: main( (void)\r
0:42 Function Parameters: \r
0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{nbv,ni})\r
0:? '__anon__1' (layout(column_major shared ) uniform block{f,u})\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+300layout.frag\r
ERROR: 0:4: 'location qualifier on input' : not supported in this stage: fragment\r
ERROR: 1 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:10 Function Definition: main( (void)\r
0:10 Function Parameters: \r
0:? 'p' (layout(location=3 ) out mediump 4-component vector of float)\r
0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+300layout.vert\r
ERROR: 0:7: 'vertex input arrays' : not supported with this profile: es\r
ERROR: 0:8: 'in' : cannot be a structure or array \r
ERROR: 0:8: 'vertex input arrays' : not supported with this profile: es\r
ERROR: 0:47: 'shared' : not supported in this stage: vertex\r
ERROR: 12 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:41 Function Definition: main( (void)\r
0:41 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+300operations.frag\r
ERROR: 0:11: 'float' : type requires declaration of default precision qualifier \r
ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{f}' and a right operand of type 'layout(column_major shared ) uniform block{f}' (or there is no acceptable conversion)\r
ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'structure{i}' and a right operand of type 'structure{i}' (or there is no acceptable conversion)\r
ERROR: 0:90: 'assign' : l-value required \r
ERROR: 56 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:13 Function Definition: main( (void)\r
0:13 Function Parameters: \r
0:? 's' (structure{i})\r
0:? 'a' (5-element array of mediump float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+300scope.vert\r
ERROR: 0:5: 'a' : redefinition \r
ERROR: 0:17: 'b' : redeclaration of existing name \r
ERROR: 0:19: 'f' : redefinition \r
ERROR: 0:54: 'z' : redefinition \r
ERROR: 16 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Function Definition: f(i1;i1;i1; (highp int)\r
0:3 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+330.frag\r
Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:8 Function Definition: main( (void)\r
0:8 Function Parameters: \r
0:23 '__anon__0' (in block{gl_Color})\r
0:23 Constant:\r
0:23 0 (const uint)\r
+0:24 move second child to first child (4-component vector of float)\r
+0:24 'outVar' (out 4-component vector of float)\r
+0:24 'inVar' (smooth in 4-component vector of float)\r
0:? Linker Objects\r
0:? 'inVar' (smooth in 4-component vector of float)\r
0:? 'outVar' (out 4-component vector of float)\r
0:? 'varyingVar' (smooth in 4-component vector of float)\r
0:? '__anon__0' (in block{gl_Color})\r
\r
+\r
+Linked fragment stage:\r
+\r
+ERROR: Linking fragment stage: Cannot use gl_FragColor or gl_FragData when using user-defined outputs\r
+ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData\r
+\r
+\r
+330comp.frag\r
Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:8 Function Definition: main( (void)\r
0:8 Function Parameters: \r
0:? 'outVar' (out 4-component vector of float)\r
0:? 'varyingVar' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData\r
+\r
+\r
+400.frag\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:20: 'texture gather component' : must be a constant \r
ERROR: 0:21: 'texture gather component' : must be 0, 1, 2, or 3 \r
ERROR: 0:41: 'gl_FragCoord' : cannot redeclare after use \r
ERROR: 7 compilation errors. No code generated.\r
\r
+\r
gl_FragCoord pixel center is integer\r
gl_FragCoord origin is upper left\r
ERROR: node is still EOpNull!\r
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+400.geom\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:13: 'invocations' : can only apply to a standalone qualifier \r
ERROR: 0:24: 'length' : array must be declared with a size before using this method\r
ERROR: 0:43: 'triangles' : inconsistent input primitive for array size colorbad2\r
ERROR: 5 compilation errors. No code generated.\r
\r
+\r
invocations = 4\r
max_vertices = 127\r
input primitive = triangles\r
0:? 'colorBad' (in 4-element array of 4-component vector of float)\r
0:? 'colorbad2' (in 2-element array of 4-component vector of float)\r
\r
+\r
+Linked geometry stage:\r
+\r
+\r
+\r
+400.tesc\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:3 Function Definition: main( (void)\r
0:3 Function Parameters: \r
0:5 Barrier (void)\r
0:? Linker Objects\r
\r
+\r
+Linked tessellation control stage:\r
+\r
+\r
+\r
+400.tese\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:5: 'barrier' : no matching overloaded function found \r
ERROR: 1 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Function Definition: main( (void)\r
0:3 Function Parameters: \r
0:5 0.000000\r
0:? Linker Objects\r
\r
+\r
+Linked tessellation evaluation stage:\r
+\r
+\r
+\r
+410.geom\r
Warning, version 410 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name \r
ERROR: 0:8: 'gl_' : reserved built-in name \r
ERROR: 0:20: 'gl_' : reserved built-in name \r
ERROR: 5 compilation errors. No code generated.\r
\r
+\r
invocations = 0\r
max_vertices = 0\r
input primitive = none\r
0:? 'gl_in' (in unsized array of block{gl_PointSize})\r
0:? '__anon__0' (layout(stream=0 ) out block{gl_PointSize})\r
\r
+\r
+Linked geometry stage:\r
+\r
+\r
+\r
+420.geom\r
Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:9: 'length' : array must be declared with a size before using this method\r
ERROR: 0:11: '[' : array must be redeclared with a size before being indexed with a variable\r
ERROR: 0:43: 'assign' : l-value required "v4" (can't modify a uniform)\r
ERROR: 4 compilation errors. No code generated.\r
\r
+\r
invocations = 0\r
max_vertices = 0\r
input primitive = triangles\r
0:? 'coord' (in 2-component vector of float)\r
0:? 'v4' (uniform 4-component vector of float)\r
\r
+\r
+Linked geometry stage:\r
+\r
+ERROR: Linking geometry stage: Missing entry point: Each stage requires one "void main()" entry point\r
+\r
+\r
+420.tese\r
Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:7: '=' : cannot convert from '3-element array of float' to '2-element array of float'\r
ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): 2-component vector of float\r
ERROR: 0:58: 'initializer list' : wrong number of structure members \r
ERROR: 13 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:4 Sequence\r
0:4 move second child to first child (2X2 matrix of float)\r
0:? 'av3' (3-component vector of float)\r
0:? 'bv3' (3-component vector of float)\r
\r
+\r
+Linked tessellation evaluation stage:\r
+\r
+\r
+\r
+420.vert\r
Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420\r
ERROR: 0:71: 'binding' : binding is too large \r
ERROR: 24 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:20 Function Definition: foo( (const int)\r
0:20 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+430.comp\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:12: 'location qualifier on input' : not supported in this stage: compute\r
ERROR: 1 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Function Definition: main( (void)\r
0:3 Function Parameters: \r
0:? Linker Objects\r
0:? 'v3' (layout(location=2 ) in 3-component vector of float)\r
\r
+\r
+Linked compute stage:\r
+\r
+\r
+\r
+430.vert\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:3: 'v4' : location qualifiers only appy to uniform, buffer, in, or out storage qualifiers \r
ERROR: 0:7: 'location qualifier on input block' : not supported for this version or the enabled extensions \r
ERROR: 0:31: '' : cannot use auxiliary or interpolation qualifiers on a function parameter \r
ERROR: 11 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:14 Function Definition: foo( (void)\r
0:14 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void main()" entry point\r
+\r
+\r
+430scope.vert\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:5: 'a' : redefinition \r
ERROR: 0:17: 'b' : redeclaration of existing name \r
ERROR: 0:54: 'z' : redefinition \r
ERROR: 5 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Function Definition: f(i1;i1;i1; (int)\r
0:3 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/Operations.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
+\r
0:? Sequence\r
0:15 Function Definition: main( (void)\r
0:15 Function Parameters: \r
0:? 'uf' (uniform float)\r
0:? 'ui' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/aggOps.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:23 Function Definition: main( (void)\r
0:23 Function Parameters: \r
0:? 'foo2a' (uniform structure{i,f,s1_1})\r
0:? 'foo2b' (uniform structure{i,f,s1_1})\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/always-discard.frag\r
+\r
0:? Sequence\r
0:4 Function Definition: main( (void)\r
0:4 Function Parameters: \r
0:? Linker Objects\r
0:? 'tex_coord' (smooth in 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/always-discard2.frag\r
+\r
0:? Sequence\r
0:4 Function Definition: main( (void)\r
0:4 Function Parameters: \r
0:? Linker Objects\r
0:? 'tex_coord' (smooth in 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+array.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
ERROR: 0:21: '[' : array index out of range '2'\r
ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable\r
ERROR: 0:58: '[]' : scalar integer expression required \r
ERROR: 14 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:9 Function Definition: foo(f1[5]; (4-element array of float)\r
0:9 Function Parameters: \r
0:? 'g5' (5-element array of float)\r
0:? 'a' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+array100.frag\r
ERROR: 0:3: 'float' : type requires declaration of default precision qualifier \r
ERROR: 0:3: '' : array size required \r
ERROR: 0:9: 'arrayed type' : not supported for this version or the enabled extensions \r
ERROR: 0:69: 'array initializer' : not supported for this version or the enabled extensions \r
ERROR: 22 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:9 Function Definition: foo(f1[5]; (4-element array of mediump float)\r
0:9 Function Parameters: \r
0:? 'g5' (5-element array of mediump float)\r
0:? 'a' (uniform mediump int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+comment.frag\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:17 Function Definition: main( (void)\r
0:17 Function Parameters: \r
0:? Linker Objects\r
0:? 'v' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/conditionalDiscard.frag\r
+\r
0:? Sequence\r
0:6 Function Definition: main( (void)\r
0:6 Function Parameters: \r
0:? 'tex' (uniform sampler2D)\r
0:? 'coord' (smooth in 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+constErrors.frag\r
Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions \r
ERROR: 0:17: '' : constant expression required \r
ERROR: 0:33: '=' : global const initializers must be constant 'const structure{v3,iv2,m}'\r
ERROR: 9 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:10 Function Definition: main( (void)\r
0:10 Function Parameters: \r
0:? 'f' (const float)\r
0:? 3.000000\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+constFold.frag\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:109: '[' : index out of range '-1'\r
ERROR: 0:110: '[' : vector index out of range '4'\r
ERROR: 0:114: '[' : matrix index out of range '3'\r
ERROR: 6 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:28 Function Definition: main( (void)\r
0:28 Function Parameters: \r
0:? 5.000000\r
0:? 'a4' (2-element array of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/conversion.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
+\r
0:? Sequence\r
0:33 Function Definition: main( (void)\r
0:33 Function Parameters: \r
0:? 'i_f3' (smooth in 3-component vector of float)\r
0:? 'i_f4' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+cppComplexExpr.vert\r
ERROR: 0:46: 'xyxwx' : illegal vector field selection \r
ERROR: 0:46: 'xyxwx' : illegal vector field selection \r
ERROR: 0:66: '#define' : Macro redefined; different substitutions: BIG\r
ERROR: 0:79: '' : missing #endif \r
ERROR: 4 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:4 Sequence\r
0:4 move second child to first child (highp float)\r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+cppIndent.vert\r
+\r
0:? Sequence\r
0:5 Sequence\r
0:5 move second child to first child (float)\r
0:? Linker Objects\r
0:? 'sum' (float)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+cppNest.vert\r
+\r
0:? Sequence\r
0:5 Sequence\r
0:5 move second child to first child (float)\r
0:? 'selected2' (int)\r
0:? 'selected3' (int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+cppSimple.vert\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:77: '#error' : good1 \r
ERROR: 0:81: '#error' : good2 \r
ERROR: 0:209: '' : missing #endif \r
ERROR: 45 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:5 Sequence\r
0:5 move second child to first child (float)\r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/dataOut.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:5 Function Definition: main( (void)\r
0:5 Function Parameters: \r
0:? Linker Objects\r
0:? 'Color' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/dataOutIndirect.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:7 Function Definition: main( (void)\r
0:7 Function Parameters: \r
0:? 'Color' (smooth in 4-component vector of float)\r
0:? 'i' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+dce.frag\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:5 Sequence\r
0:5 move second child to first child (int)\r
0:? false (const bool)\r
0:? 'c' (int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point\r
+\r
+\r
+decls.frag\r
ERROR: 0:19: 'vi4' : illegal use of type 'void' \r
ERROR: 0:20: 'vj' : illegal use of type 'void' \r
ERROR: 0:20: 'vk5' : illegal use of type 'void' \r
ERROR: 0:43: 'gl_' : reserved built-in name \r
ERROR: 18 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:5 Sequence\r
0:5 move second child to first child (int)\r
0:? 'gl_vn8' (4-element array of int)\r
0:? 'gl_vp' (int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/deepRvalue.frag\r
+\r
0:? Sequence\r
0:5 Sequence\r
0:5 move second child to first child (4-component vector of float)\r
0:? 'v3' (4-component vector of float)\r
0:? 'v4' (4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/depthOut.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:8 Function Definition: main( (void)\r
0:8 Function Parameters: \r
0:? 'Depth' (smooth in float)\r
0:? 'foo' (out 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+ERROR: Linking fragment stage: Cannot use gl_FragColor or gl_FragData when using user-defined outputs\r
+\r
+\r
+../../LunarGLASS/test/discard-dce.frag\r
+\r
0:? Sequence\r
0:4 Function Definition: main( (void)\r
0:4 Function Parameters: \r
0:? Linker Objects\r
0:? 'tex_coord' (smooth in 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/doWhileLoop.frag\r
+\r
0:? Sequence\r
0:7 Function Definition: main( (void)\r
0:7 Function Parameters: \r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'd' (uniform float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/earlyReturnDiscard.frag\r
+\r
0:? Sequence\r
0:19 Function Definition: main( (void)\r
0:19 Function Parameters: \r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'b' (uniform bool)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+errors.frag\r
ERROR: 0:1: 'main' : function cannot take any parameter(s) \r
ERROR: 0:1: 'int' : main function cannot return a value\r
ERROR: 2 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:1 Function Definition: main(i1; (mediump int)\r
0:1 Function Parameters: \r
0:3 1 (const int)\r
0:? Linker Objects\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/flowControl.frag\r
+\r
0:? Sequence\r
0:10 Function Definition: main( (void)\r
0:10 Function Parameters: \r
0:? 'c' (smooth in float)\r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/forLoop.frag\r
+\r
0:? Sequence\r
0:8 Function Definition: main( (void)\r
0:8 Function Parameters: \r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'Count' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+forwardRef.frag\r
+\r
0:? Sequence\r
0:11 Function Definition: main( (void)\r
0:11 Function Parameters: \r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'd' (uniform float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/functionCall.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:7 Sequence\r
0:7 move second child to first child (float)\r
0:? 'd' (uniform float)\r
0:? 'h' (float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/functionSemantics.frag\r
+\r
0:? Sequence\r
0:3 Function Definition: foo(i1;i1;i1;i1;i1;i1; (mediump int)\r
0:3 Function Parameters: \r
0:35 'color' (mediump int)\r
0:? Linker Objects\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/length.frag\r
+\r
0:? Sequence\r
0:11 Function Definition: main( (void)\r
0:11 Function Parameters: \r
0:? 'u' (uniform 3-element array of 4-component vector of float)\r
0:? 'v' (smooth in 2-element array of 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+lineContinuation.vert\r
ERROR: 0:6: '#error' : e1 \r
ERROR: 0:11: '#error' : e2 \r
ERROR: 0:18: '#error' : e3 \r
ERROR: 3 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:20 Function Definition: main( (void)\r
0:20 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+lineContinuation100.vert\r
ERROR: 0:3: 'line continuation' : not supported for this version or the enabled extensions \r
ERROR: 0:6: '#error' : e1 \r
ERROR: 0:8: 'line continuation' : not supported for this version or the enabled extensions \r
ERROR: 0:24: 'line continuation' : not supported for this version or the enabled extensions \r
ERROR: 9 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:20 Function Definition: main( (void)\r
0:20 Function Parameters: \r
0:? Linker Objects\r
0:? 'foo' (highp float)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/localAggregates.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:5: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:34 Function Definition: main( (void)\r
0:34 Function Parameters: \r
0:? 'uFloatArray' (uniform 16-element array of float)\r
0:? 'condition' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/loops.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:14: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:53 Function Definition: main( (void)\r
0:53 Function Parameters: \r
0:? 'd34' (uniform float)\r
0:? 'Count' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/loopsArtificial.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:14: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:53 Function Definition: main( (void)\r
0:53 Function Parameters: \r
0:? 'd34' (uniform float)\r
0:? 'Count' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/matrix.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:17: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:22: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:25 Function Definition: main( (void)\r
0:25 Function Parameters: \r
0:? 'v' (smooth in 4-component vector of float)\r
0:? 'u' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/matrix2.frag\r
Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:13: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:15: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:19 Function Definition: main( (void)\r
0:19 Function Parameters: \r
0:? 'u' (smooth in 3-component vector of float)\r
0:? 'FragColor' (out 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+matrixError.vert\r
ERROR: 0:10: 'constructor' : too many arguments \r
ERROR: 0:7: 'const' : non-matching or non-convertible constant type for const initializer \r
ERROR: 0:17: 'assign' : cannot convert from '2-component vector of float' to '3-component vector of float'\r
ERROR: 0:21: '[' : vector index out of range '4'\r
ERROR: 7 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:12 Function Definition: main( (void)\r
0:12 Function Parameters: \r
0:? 'm32' (uniform 3X2 matrix of float)\r
0:? 'm24' (2X4 matrix of float)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/newTexture.frag\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:34 Function Definition: main( (void)\r
0:34 Function Parameters: \r
0:? 'ic4D' (flat in 4-component vector of int)\r
0:? 'FragData' (out 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+nonSquare.vert\r
+\r
0:? Sequence\r
0:15 Function Definition: main( (void)\r
0:15 Function Parameters: \r
0:? 7.000000\r
0:? 8.000000\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+numeral.frag\r
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:14: '' : octal literal digit too large \r
ERROR: 0:15: '' : octal literal digit too large \r
ERROR: 0:88: '' : float literal needs a decimal point or exponent \r
ERROR: 10 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:3 Function Definition: main( (void)\r
0:3 Function Parameters: \r
0:? 'c6' (layout(location=6 ) out 4-component vector of float)\r
0:? 'c7' (layout(location=7 ) out 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+pointCoord.frag\r
+\r
0:? Sequence\r
0:5 Function Definition: main( (void)\r
0:5 Function Parameters: \r
0:? Linker Objects\r
0:? 'sampler' (uniform lowp sampler2D)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+precision.frag\r
ERROR: 0:3: 'float' : type requires declaration of default precision qualifier \r
ERROR: 0:18: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type \r
ERROR: 0:19: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type \r
ERROR: 0:76: 'bool' : type cannot have precision qualifier \r
ERROR: 7 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:5 Function Definition: foo(vf3; (lowp 2-component vector of float)\r
0:5 Function Parameters: \r
0:? 'global_high' (highp int)\r
0:? 'b2' (mediump 2-component vector of bool)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+precision.vert\r
ERROR: 0:7: 'sampler/image' : type requires declaration of default precision qualifier \r
ERROR: 0:8: 'sampler/image' : type requires declaration of default precision qualifier \r
ERROR: 0:14: 'sampler/image' : type requires declaration of default precision qualifier \r
ERROR: 3 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:18 Function Definition: main( (void)\r
0:18 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/prepost.frag\r
Warning, version 140 is not yet complete; most features are present, but a few are missing.\r
+\r
0:? Sequence\r
0:3 Function Definition: main( (void)\r
0:3 Function Parameters: \r
0:37 'v' (4-component vector of float)\r
0:? Linker Objects\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+sample.frag\r
+\r
0:? Sequence\r
0:38 Function Definition: main( (void)\r
0:38 Function Parameters: \r
0:? Linker Objects\r
0:? 'color' (smooth in 3-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+sample.vert\r
+\r
0:? Sequence\r
0:38 Function Definition: main( (void)\r
0:38 Function Parameters: \r
0:? Linker Objects\r
0:? 'color' (smooth out 3-component vector of float)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/simpleFunctionCall.frag\r
Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:7 Function Definition: foo( (4-component vector of float)\r
0:7 Function Parameters: \r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'd' (uniform float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+specExamples.frag\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:6: '=' : cannot convert from 'const uint' to 'int'\r
ERROR: 0:20: '' : numeric literal too big \r
ERROR: 0:232: 'out' : not allowed in nested scope \r
ERROR: 48 compilation errors. No code generated.\r
\r
+\r
gl_FragCoord pixel center is integer\r
gl_FragCoord origin is upper left\r
ERROR: node is still EOpNull!\r
0:? '__anon__2' (in block{gl_FogFragCoord,gl_TexCoord,gl_Color,gl_SecondaryColor})\r
0:? '__anon__2' (in block{gl_FogFragCoord,gl_TexCoord,gl_Color,gl_SecondaryColor})\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+specExamples.vert\r
Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
ERROR: 0:23: 'transforms' : redeclaration of array with size \r
ERROR: 0:29: 's' : location qualifiers only appy to uniform, buffer, in, or out storage qualifiers \r
ERROR: 0:194: 'constructor' : constructing from a non-dereferenced array \r
ERROR: 42 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:134 Function Definition: funcA(I21; (4-component vector of float)\r
0:134 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/structAssignment.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:29 Function Definition: main( (void)\r
0:29 Function Parameters: \r
0:? 'foo2' (uniform structure{i,f,s1_1})\r
0:? 'foo3' (uniform structure{s2_1,i,f,s1_1})\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/structDeref.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:41 Function Definition: main( (void)\r
0:41 Function Parameters: \r
0:? 'foo3' (uniform structure{s2_1,i,f,s1_1})\r
0:? 'foo00' (uniform structure{s0_0})\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/structure.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:20 Function Definition: main( (void)\r
0:20 Function Parameters: \r
0:? 'foo' (uniform structure{i,f,color})\r
0:? 'foo2' (uniform 5-element array of structure{i,f,s1_1})\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+switch.frag\r
ERROR: 0:11: 'switch' : condition must be a scalar integer expression \r
ERROR: 0:14: 'switch' : condition must be a scalar integer expression \r
ERROR: 0:21: 'switch' : last case/default label must be followed by statements \r
ERROR: 0:89: '' : break statement only allowed in switch and loops \r
ERROR: 9 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:6 Function Definition: main( (void)\r
0:6 Function Parameters: \r
0:? 'd' (uniform mediump int)\r
0:? 'x' (smooth in highp float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/swizzle.frag\r
+\r
0:? Sequence\r
0:9 Function Definition: main( (void)\r
0:9 Function Parameters: \r
0:? 'p' (uniform bool)\r
0:? 't' (smooth in 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/syntaxError.frag\r
ERROR: 0:9: 'vec5' : undeclared identifier \r
ERROR: 0:9: '' : syntax error\r
ERROR: 2 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:? Linker Objects\r
0:? 'bigColor' (uniform 4-component vector of float)\r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'd' (uniform float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/test.frag\r
+\r
0:? Sequence\r
0:13 Function Definition: main( (void)\r
0:13 Function Parameters: \r
0:? 't' (smooth in 2-component vector of float)\r
0:? 'coords' (smooth in 3-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/texture.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:14: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:15: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:17 Function Definition: main( (void)\r
0:17 Function Parameters: \r
0:? 't' (smooth in 2-component vector of float)\r
0:? 'coords2D' (smooth in 2-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+tokenLength.vert\r
ERROR: 0:9: '' : numeric literal too big \r
ERROR: 0:10: '' : numeric literal too big \r
ERROR: 0:13: '' : octal literal too big \r
ERROR: 0:36: '' : float literal too long \r
ERROR: 14 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:9 Sequence\r
0:9 move second child to first child (highp int)\r
0:? 'gl_VertexID' (gl_VertexId highp int)\r
0:? 'gl_InstanceID' (gl_InstanceId highp int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/types.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
+\r
0:? Sequence\r
0:33 Function Definition: main( (void)\r
0:33 Function Parameters: \r
0:? 'i_f3' (smooth in 3-component vector of float)\r
0:? 'i_f4' (smooth in 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+uint.frag\r
ERROR: 0:2: 'uint' : must be qualified as flat in\r
ERROR: 0:6: 'in' : cannot be bool \r
ERROR: 0:20: 'const' : non-matching or non-convertible constant type for const initializer \r
ERROR: 0:63: 'float' : type requires declaration of default precision qualifier \r
ERROR: 9 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:15 Function Definition: main( (void)\r
0:15 Function Parameters: \r
0:? 'c' (out mediump 4-component vector of uint)\r
0:? 'usampler' (uniform lowp usampler2D)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/uniformArray.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
+\r
0:? Sequence\r
0:7 Function Definition: main( (void)\r
0:7 Function Parameters: \r
0:? 'color' (uniform 6-element array of 4-component vector of float)\r
0:? 'alpha' (uniform 16-element array of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/variableArrayIndex.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:29 Function Definition: main( (void)\r
0:29 Function Parameters: \r
0:? 'foo3' (uniform structure{s2_1,i,f,s1_1})\r
0:? 'Count' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/varyingArray.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:8: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:10 Function Definition: main( (void)\r
0:10 Function Parameters: \r
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
0:? 'foo' (smooth in 3-element array of 4-component vector of float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/varyingArrayIndirect.frag\r
Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
WARNING: 0:8: varying deprecated in version 130; may be removed in future release\r
+\r
0:? Sequence\r
0:12 Function Definition: main( (void)\r
0:12 Function Parameters: \r
0:? 'a' (uniform int)\r
0:? 'b' (uniform int)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+versionsClean.frag\r
ERROR: #version: statement must appear first in es-profile shader; before comments or newlines\r
ERROR: 0:34: '#version' : must occur first in shader \r
ERROR: 2 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:41 Function Definition: main( (void)\r
0:41 Function Parameters: \r
0:? 'foo' (out highp 4-component vector of float)\r
0:? 'bar' (uniform highp sampler2DArrayShadow)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+versionsClean.vert\r
Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+\r
0:? Sequence\r
0:40 Function Definition: main( (void)\r
0:40 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+versionsErrors.frag\r
ERROR: #version: versions before 150 do not allow a profile token\r
ERROR: 0:38: 'attribute' : not supported in this stage: fragment\r
ERROR: 0:40: 'sampler2DRect' : Reserved word. \r
ERROR: 0:44: 'floating-point suffix' : not supported for this version or the enabled extensions \r
ERROR: 5 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:42 Function Definition: main( (void)\r
0:42 Function Parameters: \r
0:? 'color' (smooth in 3-component vector of float)\r
0:? 'foo' (uniform sampler2DRect)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+versionsErrors.vert\r
Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
WARNING: 0:38: attribute deprecated in version 130; may be removed in future release\r
ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420\r
ERROR: 0:45: 'discard' : not supported in this stage: vertex\r
ERROR: 2 compilation errors. No code generated.\r
\r
+\r
ERROR: node is still EOpNull!\r
0:42 Function Definition: main( (void)\r
0:42 Function Parameters: \r
0:? 'gl_VertexID' (gl_VertexId int)\r
0:? 'gl_InstanceID' (gl_InstanceId int)\r
\r
+\r
+Linked vertex stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/voidFunction.frag\r
+\r
0:? Sequence\r
0:7 Sequence\r
0:7 move second child to first child (float)\r
0:? 'd' (uniform float)\r
0:? 'bar' (float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
+../../LunarGLASS/test/whileLoop.frag\r
+\r
0:? Sequence\r
0:7 Function Definition: main( (void)\r
0:7 Function Parameters: \r
0:? 'BaseColor' (smooth in 4-component vector of float)\r
0:? 'd' (uniform float)\r
\r
+\r
+Linked fragment stage:\r
+\r
+\r
+\r
echo running configuration file test
$EXE -c > $TARGETDIR/test.conf
diff -b $BASEDIR/test.conf $TARGETDIR/test.conf
-$EXE -i $TARGETDIR/test.conf specExamples.vert > $TARGETDIR/specExamples.vert.out
+$EXE -i -l $TARGETDIR/test.conf specExamples.vert > $TARGETDIR/specExamples.vert.out
diff -b $BASEDIR/specExamples.vert.out $TARGETDIR
$EXE 100Limits.vert 100.conf > $TARGETDIR/100LimitsConf.vert.out
diff -b $BASEDIR/100LimitsConf.vert.out $TARGETDIR/100LimitsConf.vert.out
while read t; do
echo Running $t...
b=`basename $t`
- $EXE -i $t > $TARGETDIR/$b.out
+ $EXE -i -l $t > $TARGETDIR/$b.out
diff -b $BASEDIR/$b.out $TARGETDIR/$b.out
done < testlist
- Non ES: binding overlap?
- Non ES: gl_TexCoord can only have a max array size of up to gl_MaxTextureCoords
+ Non ES: geometry shader input array sizes and input layout qualifier declaration
- - Non ES: read or write to both gl_ClipVertex and gl_ClipDistance
- - Non ES: write to only one of gl_FragColor, gl_FragData, or user-declared
+ + Non ES: read or write to both gl_ClipVertex and gl_ClipDistance
+ + Non ES: write to only one of gl_FragColor, gl_FragData, or user-declared
+ 1.50: match between all explicit input array sizes and input primitive
- 1.50: at least one geometry shader says input primitive and at least one says output primitive...
- 1.50: at least one geometry shader says max_vertices...
}
}
+ bool isIo() const
+ {
+ switch (storage) {
+ case EvqUniform:
+ case EvqBuffer:
+ case EvqVaryingIn:
+ case EvqFragCoord:
+ case EvqPointCoord:
+ case EvqFace:
+ case EvqVertexId:
+ case EvqInstanceId:
+ case EvqPosition:
+ case EvqPointSize:
+ case EvqClipVertex:
+ case EvqVaryingOut:
+ case EvqFragColor:
+ case EvqFragDepth:
+ return true;
+ default:
+ return false;
+ }
+ }
+
// Implementing an embedded layout-qualifier class here, since C++ can't have a real class bitfield
void clearLayout()
{
contextPragma(true, false), loopNestingLevel(0), structNestingLevel(0),
tokensBeforeEOF(false), currentScanner(0),
numErrors(0), parsingBuiltins(pb), afterEOF(false),
- anyIndexLimits(false), fragCoordUsedBeforeRedeclaration(false)
+ anyIndexLimits(false)
{
// ensure we always have a linkage node, even if empty, to simplify tree topology algorithms
linkage = new TIntermAggregate;
TIntermTyped* TParseContext::handleVariable(TSourceLoc loc, TSymbol* symbol, TString* string)
{
TIntermTyped* node = 0;
+ bool noteAccess = false;
// Error check for function requiring specific extensions present.
if (symbol && symbol->getNumExtensions())
node = intermediate.addIndex(EOpIndexDirectStruct, container, constNode, loc);
node->setType(*(*variable->getType().getStruct())[anon->getMemberNumber()].type);
+ if (variable->getType().getQualifier().isIo())
+ noteAccess = true;
+
+ // TODO: does this create any accidental type sharing with the built-in level?
} else {
// The symbol table search was done in the lexical phase, but
// if this is a new symbol, it wouldn't have found it.
TType* type;
if (variable->isReadOnly()) {
type = new TType;
- // break type sharing with built-ins
+ // break type sharing with built-ins; only costs if there are arrays or structures
type->deepCopy(variable->getType());
-
- // track use of unredeclared gl_FragCoord
- if (variable->getName() == "gl_FragCoord")
- fragCoordUsedBeforeRedeclaration = true;
} else
type = &variable->getWritableType();
node = intermediate.addSymbol(variable->getUniqueId(), variable->getName(), *type, loc);
+ if (type->getQualifier().isIo())
+ noteAccess = true;
}
}
+ if (noteAccess)
+ intermediate.addIoAccessed(*string);
+
return node;
}
symbolQualifier.storage != qualifier.storage)
error(loc, "cannot change qualification of", "redeclaration", symbol->getName().c_str());
} else if (identifier == "gl_FragCoord") {
- if (fragCoordUsedBeforeRedeclaration)
+ if (intermediate.inIoAccessed("gl_FragCoord"))
error(loc, "cannot redeclare after use", "gl_FragCoord", "");
- // Note: this did not catch the case of 1) declare, 2) use, 3) declare again, because the "use" was of a redeclaration, and so didn't set fragCoordUsedBeforeRedeclaration.
- // (and that's what the rules are too, as long as #3 matches #1)
if (qualifier.nopersp != symbolQualifier.nopersp || qualifier.flat != symbolQualifier.flat ||
qualifier.isMemory() || qualifier.isAuxiliary())
error(loc, "can only change layout qualification of", "redeclaration", symbol->getName().c_str());
symbol = symbolTable.copyUp(symbol);
if (qualifier.invariant) {
+ if (intermediate.inIoAccessed(identifier))
+ error(loc, "cannot change qualification after use", "invariant", "");
symbol->getWritableType().getQualifier().invariant = true;
invariantCheck(loc, symbol->getType(), identifier);
}
TIdSetType inductiveLoopIds;
bool anyIndexLimits;
TVector<TIntermTyped*> needsIndexLimitationChecking;
- bool fragCoordUsedBeforeRedeclaration;
//
// Geometry shader input arrays:
\r
mergeBodies(infoSink, globals, unitGlobals);\r
mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects);\r
+\r
+ ioAccessed.insert(unit.ioAccessed.begin(), unit.ioAccessed.end());\r
}\r
\r
//\r
\r
// overlap/alias/missing I/O, etc.\r
inOutLocationCheck(infoSink);\r
+\r
+ if (inIoAccessed("gl_ClipDistance") && inIoAccessed("gl_ClipVertex"))\r
+ error(infoSink, "Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)");\r
+\r
+ if (userOutputUsed() && (inIoAccessed("gl_FragColor") || inIoAccessed("gl_FragData")))\r
+ error(infoSink, "Cannot use gl_FragColor or gl_FragData when using user-defined outputs");\r
+ if (inIoAccessed("gl_FragColor") && inIoAccessed("gl_FragData"))\r
+ error(infoSink, "Cannot use both gl_FragColor and gl_FragData");\r
}\r
\r
//\r
} \r
}\r
\r
-TIntermSequence& TIntermediate::findLinkerObjects()\r
+TIntermSequence& TIntermediate::findLinkerObjects() const\r
{\r
// Get the top-level globals\r
TIntermSequence& globals = treeRoot->getAsAggregate()->getSequence();\r
return globals.back()->getAsAggregate()->getSequence();\r
}\r
\r
+// See if a variable was both a user-declared output and used.\r
+// Note: the spec discusses writing to one, but this looks at read or write, which \r
+// is more useful, and perhaps the spec should be changed to reflect that.\r
+bool TIntermediate::userOutputUsed() const\r
+{\r
+ const TIntermSequence& linkerObjects = findLinkerObjects();\r
+\r
+ bool found = false;\r
+ for (size_t i = 0; i < linkerObjects.size(); ++i) {\r
+ const TIntermSymbol& symbolNode = *linkerObjects[i]->getAsSymbolNode();\r
+ if (symbolNode.getQualifier().storage == EvqVaryingOut &&\r
+ symbolNode.getName().compare(0, 3, "gl_") != 0 &&\r
+ inIoAccessed(symbolNode.getName())) { \r
+ found = true;\r
+ break;\r
+ }\r
+ }\r
+\r
+ return found;\r
+}\r
+\r
} // end namespace glslang\r
#include "Versions.h"
#include <algorithm>
+#include <set>
class TInfoSink;
void merge(TInfoSink&, TIntermediate&);
void errorCheck(TInfoSink&);
+ void addIoAccessed(const TString& name) { ioAccessed.insert(name); }
+ bool inIoAccessed(const TString& name) const { return ioAccessed.find(name) != ioAccessed.end(); }
+
void outputTree(TInfoSink&);
void removeTree();
void mergeErrorCheck(TInfoSink&, const TIntermSymbol&, const TIntermSymbol&, bool crossStage);
void checkCallGraphCycles(TInfoSink&);
void inOutLocationCheck(TInfoSink&);
- TIntermSequence& findLinkerObjects();
+ TIntermSequence& findLinkerObjects() const;
+ bool userOutputUsed() const;
protected:
const EShLanguage language;
bool currentPath;
bool errorGiven;
};
- typedef std::list<TCall> TGraph;
+ typedef TList<TCall> TGraph;
TGraph callGraph;
+ std::set<TString> ioAccessed; // set of names of statically read/written I/O that might need extra checking
+
private:
void operator=(TIntermediate&); // prevent assignments
};