From b4ef9e0d56841ee13a7206a4afc36d7f82286747 Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Mon, 31 Mar 2014 22:20:47 +0000 Subject: [PATCH] Track which extensions were enabled or required, in the intermediate representation, for reflection of the consumer. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26155 e7fa87d3-cd2b-0410-9028-fcbf551c1848 --- Test/baseResults/100.frag.out | 12 ++++++++++++ Test/baseResults/100Limits.vert.out | 2 ++ Test/baseResults/100scope.vert.out | 2 ++ Test/baseResults/110scope.vert.out | 2 ++ Test/baseResults/120.frag.out | 2 ++ Test/baseResults/120.vert.out | 2 ++ Test/baseResults/130.frag.out | 12 ++++++++++++ Test/baseResults/140.frag.out | 4 ++++ Test/baseResults/150.frag.out | 2 ++ Test/baseResults/150.geom.out | 2 ++ Test/baseResults/150.tesc.out | 18 ++++++++++++++++++ Test/baseResults/150.vert.out | 2 ++ Test/baseResults/300.frag.out | 2 ++ Test/baseResults/300.vert.out | 2 ++ Test/baseResults/300BuiltIns.frag.out | 2 ++ Test/baseResults/300block.frag.out | 2 ++ Test/baseResults/300layout.frag.out | 2 ++ Test/baseResults/300layout.vert.out | 2 ++ Test/baseResults/300link.frag.out | 2 ++ Test/baseResults/300link2.frag.out | 2 ++ Test/baseResults/300link3.frag.out | 2 ++ Test/baseResults/300operations.frag.out | 2 ++ Test/baseResults/300scope.vert.out | 2 ++ Test/baseResults/330.frag.out | 6 ++++++ Test/baseResults/330comp.frag.out | 2 ++ Test/baseResults/400.frag.out | 4 ++++ Test/baseResults/400.geom.out | 4 ++++ Test/baseResults/410.geom.out | 2 ++ Test/baseResults/420.geom.out | 2 ++ Test/baseResults/420.vert.out | 2 ++ Test/baseResults/420_size_gl_in.geom.out | 2 ++ Test/baseResults/430.comp.out | 2 ++ Test/baseResults/430.vert.out | 4 ++++ Test/baseResults/430scope.vert.out | 2 ++ Test/baseResults/440.frag.out | 2 ++ Test/baseResults/440.vert.out | 2 ++ Test/baseResults/Operations.frag.out | 2 ++ Test/baseResults/aggOps.frag.out | 2 ++ Test/baseResults/always-discard.frag.out | 2 ++ Test/baseResults/always-discard2.frag.out | 2 ++ Test/baseResults/array.frag.out | 2 ++ Test/baseResults/array100.frag.out | 2 ++ Test/baseResults/comment.frag.out | 2 ++ Test/baseResults/conditionalDiscard.frag.out | 2 ++ Test/baseResults/constErrors.frag.out | 2 ++ Test/baseResults/constFold.frag.out | 2 ++ Test/baseResults/conversion.frag.out | 2 ++ Test/baseResults/cppComplexExpr.vert.out | 2 ++ Test/baseResults/cppIndent.vert.out | 2 ++ Test/baseResults/cppNest.vert.out | 2 ++ Test/baseResults/cppSimple.vert.out | 2 ++ Test/baseResults/dataOut.frag.out | 2 ++ Test/baseResults/dataOutIndirect.frag.out | 2 ++ Test/baseResults/dce.frag.out | 2 ++ Test/baseResults/decls.frag.out | 2 ++ Test/baseResults/deepRvalue.frag.out | 2 ++ Test/baseResults/depthOut.frag.out | 2 ++ Test/baseResults/discard-dce.frag.out | 2 ++ Test/baseResults/doWhileLoop.frag.out | 2 ++ Test/baseResults/earlyReturnDiscard.frag.out | 2 ++ Test/baseResults/empty.frag.out | 4 ++++ Test/baseResults/errors.frag.out | 2 ++ Test/baseResults/flowControl.frag.out | 2 ++ Test/baseResults/forLoop.frag.out | 2 ++ Test/baseResults/forwardRef.frag.out | 2 ++ Test/baseResults/functionCall.frag.out | 2 ++ Test/baseResults/functionSemantics.frag.out | 2 ++ Test/baseResults/length.frag.out | 2 ++ Test/baseResults/lineContinuation.vert.out | 2 ++ Test/baseResults/lineContinuation100.vert.out | 2 ++ Test/baseResults/link1.frag.out | 12 ++++++++++++ Test/baseResults/localAggregates.frag.out | 2 ++ Test/baseResults/loops.frag.out | 2 ++ Test/baseResults/loopsArtificial.frag.out | 2 ++ Test/baseResults/mains1.frag.out | 6 ++++++ Test/baseResults/matrix.frag.out | 2 ++ Test/baseResults/matrix2.frag.out | 2 ++ Test/baseResults/matrixError.vert.out | 2 ++ Test/baseResults/newTexture.frag.out | 2 ++ Test/baseResults/noMain.vert.out | 4 ++++ Test/baseResults/nonSquare.vert.out | 2 ++ Test/baseResults/numeral.frag.out | 2 ++ Test/baseResults/pointCoord.frag.out | 2 ++ Test/baseResults/precision.frag.out | 2 ++ Test/baseResults/precision.vert.out | 2 ++ Test/baseResults/prepost.frag.out | 2 ++ Test/baseResults/recurse1.vert.out | 5 +++++ Test/baseResults/sample.frag.out | 2 ++ Test/baseResults/sample.vert.out | 2 ++ Test/baseResults/simpleFunctionCall.frag.out | 2 ++ Test/baseResults/specExamples.frag.out | 4 ++++ Test/baseResults/specExamples.vert.out | 4 ++++ Test/baseResults/structAssignment.frag.out | 2 ++ Test/baseResults/structDeref.frag.out | 2 ++ Test/baseResults/structure.frag.out | 2 ++ Test/baseResults/switch.frag.out | 2 ++ Test/baseResults/swizzle.frag.out | 2 ++ Test/baseResults/syntaxError.frag.out | 2 ++ Test/baseResults/test.frag.out | 2 ++ Test/baseResults/texture.frag.out | 2 ++ Test/baseResults/tokenLength.vert.out | 2 ++ Test/baseResults/types.frag.out | 2 ++ Test/baseResults/uint.frag.out | 2 ++ Test/baseResults/uniformArray.frag.out | 2 ++ Test/baseResults/variableArrayIndex.frag.out | 2 ++ Test/baseResults/varyingArray.frag.out | 2 ++ Test/baseResults/varyingArrayIndirect.frag.out | 2 ++ Test/baseResults/versionsClean.frag.out | 2 ++ Test/baseResults/versionsClean.vert.out | 2 ++ Test/baseResults/versionsErrors.frag.out | 2 ++ Test/baseResults/versionsErrors.vert.out | 4 ++++ Test/baseResults/voidFunction.frag.out | 2 ++ Test/baseResults/whileLoop.frag.out | 2 ++ Test/link2.frag | 3 +++ Test/link3.frag | 4 ++++ glslang/MachineIndependent/Versions.cpp | 2 ++ glslang/MachineIndependent/intermOut.cpp | 6 ++++++ glslang/MachineIndependent/linkValidate.cpp | 11 ++++++++--- glslang/MachineIndependent/localintermediate.h | 5 ++++- 119 files changed, 328 insertions(+), 4 deletions(-) diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out index cc0679241..703c629ba 100644 --- a/Test/baseResults/100.frag.out +++ b/Test/baseResults/100.frag.out @@ -71,6 +71,12 @@ ERROR: 0:181: '' : syntax error ERROR: 62 compilation errors. No code generated. +Shader version: 100 +Requested GL_EXT_frag_depth +Requested GL_EXT_shader_texture_lod +Requested GL_OES_EGL_image_external +Requested GL_OES_standard_derivatives +Requested GL_OES_texture_3D ERROR: node is still EOpNull! 0:3 Sequence 0:3 move second child to first child (3-element array of mediump int) @@ -349,4 +355,10 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 100 +Requested GL_EXT_frag_depth +Requested GL_EXT_shader_texture_lod +Requested GL_OES_EGL_image_external +Requested GL_OES_standard_derivatives +Requested GL_OES_texture_3D diff --git a/Test/baseResults/100Limits.vert.out b/Test/baseResults/100Limits.vert.out index e561fcc4b..2c02af176 100644 --- a/Test/baseResults/100Limits.vert.out +++ b/Test/baseResults/100Limits.vert.out @@ -1,5 +1,6 @@ 100Limits.vert +Shader version: 100 0:? Sequence 0:15 Function Definition: foo(f1; (void) 0:15 Function Parameters: @@ -445,4 +446,5 @@ Linked vertex stage: +Shader version: 100 diff --git a/Test/baseResults/100scope.vert.out b/Test/baseResults/100scope.vert.out index edf9cd34d..dcdc1d9a0 100644 --- a/Test/baseResults/100scope.vert.out +++ b/Test/baseResults/100scope.vert.out @@ -14,6 +14,7 @@ ERROR: 0:76: 'vertex-shader struct output' : not supported for this version or t ERROR: 12 compilation errors. No code generated. +Shader version: 100 ERROR: node is still EOpNull! 0:3 Function Definition: f(i1;i1;i1; (highp int) 0:3 Function Parameters: @@ -126,4 +127,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 100 diff --git a/Test/baseResults/110scope.vert.out b/Test/baseResults/110scope.vert.out index 26b2e4065..339715446 100644 --- a/Test/baseResults/110scope.vert.out +++ b/Test/baseResults/110scope.vert.out @@ -5,6 +5,7 @@ ERROR: 0:57: 'z' : redefinition ERROR: 3 compilation errors. No code generated. +Shader version: 110 ERROR: node is still EOpNull! 0:3 Function Definition: f(i1;i1;i1; (int) 0:3 Function Parameters: @@ -119,4 +120,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 110 diff --git a/Test/baseResults/120.frag.out b/Test/baseResults/120.frag.out index 898015daa..4c2dde930 100644 --- a/Test/baseResults/120.frag.out +++ b/Test/baseResults/120.frag.out @@ -37,6 +37,7 @@ ERROR: 0:153: '=' : cannot convert from 'const float' to '3X4 matrix of float' ERROR: 35 compilation errors. No code generated. +Shader version: 120 ERROR: node is still EOpNull! 0:21 Function Definition: main( (void) 0:21 Function Parameters: @@ -395,4 +396,5 @@ Linked fragment stage: ERROR: Linking fragment stage: Recursion detected: foo(f1; calling foo(f1; +Shader version: 120 diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out index 663e59465..61f152a74 100644 --- a/Test/baseResults/120.vert.out +++ b/Test/baseResults/120.vert.out @@ -48,6 +48,7 @@ ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords ( ERROR: 46 compilation errors. No code generated. +Shader version: 120 ERROR: node is still EOpNull! 0:15 Function Definition: main( (void) 0:15 Function Parameters: @@ -298,4 +299,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 120 diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out index 52be46365..7cd6b0d99 100644 --- a/Test/baseResults/130.frag.out +++ b/Test/baseResults/130.frag.out @@ -24,6 +24,12 @@ ERROR: 0:132: 'gl_MaxProgramTexelOffset' : undeclared identifier ERROR: 18 compilation errors. No code generated. +Shader version: 130 +Requested GL_ARB_gpu_shader5 +Requested GL_ARB_shading_language_420pack +Requested GL_ARB_texture_cube_map_array +Requested GL_ARB_texture_gather +Requested GL_ARB_texture_rectangle ERROR: node is still EOpNull! 0:16 Function Definition: main( (void) 0:16 Function Parameters: @@ -351,4 +357,10 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 130 +Requested GL_ARB_gpu_shader5 +Requested GL_ARB_shading_language_420pack +Requested GL_ARB_texture_cube_map_array +Requested GL_ARB_texture_gather +Requested GL_ARB_texture_rectangle diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out index 526c8b791..cd5f20b24 100644 --- a/Test/baseResults/140.frag.out +++ b/Test/baseResults/140.frag.out @@ -10,6 +10,8 @@ ERROR: 0:32: 'out' : Non-L-value cannot be passed for 'out' or 'inout' parameter ERROR: 6 compilation errors. No code generated. +Shader version: 140 +Requested GL_ARB_separate_shader_objects ERROR: node is still EOpNull! 0:10 Function Definition: main( (void) 0:10 Function Parameters: @@ -80,4 +82,6 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 140 +Requested GL_ARB_separate_shader_objects diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out index 49ef96830..be2205ef2 100644 --- a/Test/baseResults/150.frag.out +++ b/Test/baseResults/150.frag.out @@ -7,6 +7,7 @@ ERROR: 0:14: 'gl_FragCoord' : cannot redeclare after use ERROR: 4 compilation errors. No code generated. +Shader version: 150 gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! @@ -33,6 +34,7 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 150 gl_FragCoord pixel center is integer gl_FragCoord origin is upper left diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out index 30fd4babc..53ada90bf 100644 --- a/Test/baseResults/150.geom.out +++ b/Test/baseResults/150.geom.out @@ -34,6 +34,7 @@ ERROR: 0:91: 'stream' : can only be used on an output ERROR: 31 compilation errors. No code generated. +Shader version: 150 invocations = 4 max_vertices = 300 input primitive = lines_adjancency @@ -151,6 +152,7 @@ ERROR: node is still EOpNull! Linked geometry stage: +Shader version: 150 invocations = 4 max_vertices = 300 input primitive = lines_adjancency diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out index 30646f91b..378bd58fb 100644 --- a/Test/baseResults/150.tesc.out +++ b/Test/baseResults/150.tesc.out @@ -1,6 +1,8 @@ 150.tesc Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 150 +Requested GL_ARB_tessellation_shader vertices = 4 0:? Sequence 0:10 Function Definition: main( (void) @@ -112,6 +114,8 @@ ERROR: 0:12: 'barrier' : no matching overloaded function found ERROR: 1 compilation errors. No code generated. +Shader version: 150 +Requested GL_ARB_tessellation_shader input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw @@ -226,6 +230,8 @@ ERROR: 0:60: 'location' : overlapping use of location 4 ERROR: 11 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! 0:13 Function Definition: main( (void) @@ -386,6 +392,8 @@ ERROR: 0:99: 'location' : overlapping use of location 24 ERROR: 29 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw @@ -509,6 +517,7 @@ ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout q ERROR: 1 compilation errors. No code generated. +Shader version: 400 vertices = 0 ERROR: node is still EOpNull! 0:8 Function Definition: main( (void) @@ -528,6 +537,8 @@ ERROR: 0:29: 'out' : type must be an array: outf ERROR: 6 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects vertices = 4 ERROR: node is still EOpNull! 0:15 Function Definition: main( (void) @@ -616,6 +627,7 @@ ERROR: 0:58: 'initializer list' : wrong number of structure members ERROR: 13 compilation errors. No code generated. +Shader version: 420 input primitive = none vertex spacing = none triangle order = none @@ -793,6 +805,9 @@ ERROR: Linking tessellation evaluation stage: Multiple function bodies in multip ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage: main( +Shader version: 400 +Requested GL_ARB_separate_shader_objects +Requested GL_ARB_tessellation_shader vertices = 4 0:? Sequence 0:10 Function Definition: main( (void) @@ -1083,6 +1098,9 @@ vertices = 4 0:? 'outb' (out 5-element array of int) 0:? 'outc' (out 4-element array of int) 0:? 'outf' (out float) +Shader version: 420 +Requested GL_ARB_separate_shader_objects +Requested GL_ARB_tessellation_shader input primitive = quads vertex spacing = fractional_odd_spacing triangle order = cw diff --git a/Test/baseResults/150.vert.out b/Test/baseResults/150.vert.out index 62f775039..2cbc9c640 100644 --- a/Test/baseResults/150.vert.out +++ b/Test/baseResults/150.vert.out @@ -4,6 +4,7 @@ ERROR: 0:22: 'a' : cannot redeclare a user-block member array ERROR: 1 compilation errors. No code generated. +Shader version: 150 ERROR: node is still EOpNull! 0:9 Function Definition: main( (void) 0:9 Function Parameters: @@ -50,4 +51,5 @@ Linked vertex stage: ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred) +Shader version: 150 diff --git a/Test/baseResults/300.frag.out b/Test/baseResults/300.frag.out index f9124a02b..a08ecbdff 100644 --- a/Test/baseResults/300.frag.out +++ b/Test/baseResults/300.frag.out @@ -39,6 +39,7 @@ ERROR: 0:150: '' : syntax error ERROR: 37 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:53 Function Definition: main( (void) 0:53 Function Parameters: @@ -392,4 +393,5 @@ Linked fragment stage: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers +Shader version: 300 diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out index 3b2deac9e..bd3f26f28 100644 --- a/Test/baseResults/300.vert.out +++ b/Test/baseResults/300.vert.out @@ -41,6 +41,7 @@ ERROR: 0:170: 'Bfoo' : cannot add storage, auxiliary, memory, interpolation, lay ERROR: 39 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:27 Function Definition: main( (void) 0:27 Function Parameters: @@ -298,4 +299,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/300BuiltIns.frag.out b/Test/baseResults/300BuiltIns.frag.out index 650d6228d..ab6646719 100644 --- a/Test/baseResults/300BuiltIns.frag.out +++ b/Test/baseResults/300BuiltIns.frag.out @@ -4,6 +4,7 @@ ERROR: 0:70: 'noise2' : no matching overloaded function found ERROR: 2 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:26 Function Definition: main( (void) 0:26 Function Parameters: @@ -210,4 +211,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/300block.frag.out b/Test/baseResults/300block.frag.out index 98c3c2f46..0b21bf76b 100644 --- a/Test/baseResults/300block.frag.out +++ b/Test/baseResults/300block.frag.out @@ -6,6 +6,7 @@ ERROR: 0:45: 'variable indexing block array' : not supported with this profile: ERROR: 4 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:42 Function Definition: main( (void) 0:42 Function Parameters: @@ -60,4 +61,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/300layout.frag.out b/Test/baseResults/300layout.frag.out index 0c952e44c..11674a83e 100644 --- a/Test/baseResults/300layout.frag.out +++ b/Test/baseResults/300layout.frag.out @@ -5,6 +5,7 @@ ERROR: 0:19: 'location' : overlapping use of location 40 ERROR: 3 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:10 Function Definition: main( (void) 0:10 Function Parameters: @@ -35,4 +36,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/300layout.vert.out b/Test/baseResults/300layout.vert.out index 4d2c3a5b9..302d41db2 100644 --- a/Test/baseResults/300layout.vert.out +++ b/Test/baseResults/300layout.vert.out @@ -20,6 +20,7 @@ ERROR: 0:57: 'location' : overlapping use of location 40 ERROR: 18 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:44 Function Definition: main( (void) 0:44 Function Parameters: @@ -83,4 +84,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/300link.frag.out b/Test/baseResults/300link.frag.out index 7ce563a41..e22cd8cdb 100644 --- a/Test/baseResults/300link.frag.out +++ b/Test/baseResults/300link.frag.out @@ -1,5 +1,6 @@ 300link.frag +Shader version: 300 0:? Sequence 0:8 Function Definition: main( (void) 0:8 Function Parameters: @@ -12,4 +13,5 @@ Linked fragment stage: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers +Shader version: 300 diff --git a/Test/baseResults/300link2.frag.out b/Test/baseResults/300link2.frag.out index bf264ecb0..7146bd19c 100644 --- a/Test/baseResults/300link2.frag.out +++ b/Test/baseResults/300link2.frag.out @@ -1,5 +1,6 @@ 300link2.frag +Shader version: 300 0:? Sequence 0:9 Function Definition: main( (void) 0:9 Function Parameters: @@ -13,4 +14,5 @@ Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/300link3.frag.out b/Test/baseResults/300link3.frag.out index 1317a2d61..8cb4c7637 100644 --- a/Test/baseResults/300link3.frag.out +++ b/Test/baseResults/300link3.frag.out @@ -1,5 +1,6 @@ 300link3.frag +Shader version: 300 0:? Sequence 0:7 Function Definition: main( (void) 0:7 Function Parameters: @@ -10,4 +11,5 @@ Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/300operations.frag.out b/Test/baseResults/300operations.frag.out index a4f8d376e..45995bda0 100644 --- a/Test/baseResults/300operations.frag.out +++ b/Test/baseResults/300operations.frag.out @@ -58,6 +58,7 @@ ERROR: 0:90: 'assign' : l-value required ERROR: 56 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:13 Function Definition: main( (void) 0:13 Function Parameters: @@ -239,4 +240,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/300scope.vert.out b/Test/baseResults/300scope.vert.out index cde7d2323..3dc931b63 100644 --- a/Test/baseResults/300scope.vert.out +++ b/Test/baseResults/300scope.vert.out @@ -21,6 +21,7 @@ ERROR: 0:73: 'degrees' : can't use function syntax on variable ERROR: 19 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:3 Function Definition: f(i1;i1;i1; (highp int) 0:3 Function Parameters: @@ -133,4 +134,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/330.frag.out b/Test/baseResults/330.frag.out index 9775500a5..f70d28ef0 100644 --- a/Test/baseResults/330.frag.out +++ b/Test/baseResults/330.frag.out @@ -30,6 +30,9 @@ ERROR: 0:119: 'location' : overlapping use of location 44 ERROR: 27 compilation errors. No code generated. +Shader version: 330 +Requested GL_ARB_enhanced_layouts +Requested GL_ARB_separate_shader_objects ERROR: node is still EOpNull! 0:8 Function Definition: main( (void) 0:8 Function Parameters: @@ -95,4 +98,7 @@ Linked fragment stage: ERROR: Linking fragment stage: Cannot use gl_FragColor or gl_FragData when using user-defined outputs ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData +Shader version: 330 +Requested GL_ARB_enhanced_layouts +Requested GL_ARB_separate_shader_objects diff --git a/Test/baseResults/330comp.frag.out b/Test/baseResults/330comp.frag.out index 3e8852f90..3a2aae8c8 100644 --- a/Test/baseResults/330comp.frag.out +++ b/Test/baseResults/330comp.frag.out @@ -1,6 +1,7 @@ 330comp.frag Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 330 0:? Sequence 0:8 Function Definition: main( (void) 0:8 Function Parameters: @@ -26,4 +27,5 @@ Linked fragment stage: ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData +Shader version: 330 diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out index 6e2de57eb..0f7f26f33 100644 --- a/Test/baseResults/400.frag.out +++ b/Test/baseResults/400.frag.out @@ -18,6 +18,8 @@ ERROR: 0:58: 'patch' : not supported in this stage: fragment ERROR: 15 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! @@ -238,6 +240,8 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 400 +Requested GL_ARB_separate_shader_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out index 163ebfd3f..bc16de229 100644 --- a/Test/baseResults/400.geom.out +++ b/Test/baseResults/400.geom.out @@ -21,6 +21,8 @@ ERROR: 0:71: 'triangles' : inconsistent input primitive for array size of inbla ERROR: 18 compilation errors. No code generated. +Shader version: 400 +Requested GL_ARB_separate_shader_objects invocations = 4 max_vertices = 127 input primitive = triangles @@ -93,6 +95,8 @@ Linked geometry stage: ERROR: Linking geometry stage: At least one shader must specify an output layout primitive +Shader version: 400 +Requested GL_ARB_separate_shader_objects invocations = 4 max_vertices = 127 input primitive = triangles diff --git a/Test/baseResults/410.geom.out b/Test/baseResults/410.geom.out index e67c8f26a..2e5c0694a 100644 --- a/Test/baseResults/410.geom.out +++ b/Test/baseResults/410.geom.out @@ -10,6 +10,7 @@ ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' ERROR: 7 compilation errors. No code generated. +Shader version: 410 invocations = 0 max_vertices = 0 input primitive = none @@ -56,6 +57,7 @@ ERROR: Linking geometry stage: At least one shader must specify an input layout ERROR: Linking geometry stage: At least one shader must specify an output layout primitive ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value) +Shader version: 410 invocations = 0 max_vertices = 0 input primitive = none diff --git a/Test/baseResults/420.geom.out b/Test/baseResults/420.geom.out index e374160f3..844791d24 100644 --- a/Test/baseResults/420.geom.out +++ b/Test/baseResults/420.geom.out @@ -9,6 +9,7 @@ ERROR: 0:49: 'gl_ClipDistance' : cannot change arrayness of redeclared block mem ERROR: 6 compilation errors. No code generated. +Shader version: 420 invocations = 0 max_vertices = 0 input primitive = triangles @@ -129,6 +130,7 @@ ERROR: Linking geometry stage: Missing entry point: Each stage requires one "voi ERROR: Linking geometry stage: At least one shader must specify an output layout primitive ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value) +Shader version: 420 invocations = 0 max_vertices = 0 input primitive = triangles diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out index 8b8e3239a..c7d6ddbaf 100644 --- a/Test/baseResults/420.vert.out +++ b/Test/baseResults/420.vert.out @@ -34,6 +34,7 @@ ERROR: 0:86: 'patch' : not supported in this stage: vertex ERROR: 30 compilation errors. No code generated. +Shader version: 420 ERROR: node is still EOpNull! 0:20 Function Definition: foo( (const int) 0:20 Function Parameters: @@ -143,4 +144,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 420 diff --git a/Test/baseResults/420_size_gl_in.geom.out b/Test/baseResults/420_size_gl_in.geom.out index aa5a866ce..4482d92b5 100644 --- a/Test/baseResults/420_size_gl_in.geom.out +++ b/Test/baseResults/420_size_gl_in.geom.out @@ -4,6 +4,7 @@ ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and befo ERROR: 1 compilation errors. No code generated. +Shader version: 420 invocations = 0 max_vertices = 0 input primitive = triangles @@ -42,6 +43,7 @@ ERROR: Linking geometry stage: Missing entry point: Each stage requires one "voi ERROR: Linking geometry stage: At least one shader must specify an output layout primitive ERROR: Linking geometry stage: At least one shader must specify a layout(max_vertices = value) +Shader version: 420 invocations = 0 max_vertices = 0 input primitive = triangles diff --git a/Test/baseResults/430.comp.out b/Test/baseResults/430.comp.out index fc4f4edfc..2621bf91b 100644 --- a/Test/baseResults/430.comp.out +++ b/Test/baseResults/430.comp.out @@ -4,6 +4,7 @@ ERROR: 0:12: 'location qualifier on input' : not supported in this stage: comput ERROR: 1 compilation errors. No code generated. +Shader version: 430 ERROR: node is still EOpNull! 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -20,4 +21,5 @@ ERROR: node is still EOpNull! Linked compute stage: +Shader version: 430 diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out index 8c5ad3b9a..7c40c9632 100644 --- a/Test/baseResults/430.vert.out +++ b/Test/baseResults/430.vert.out @@ -47,6 +47,8 @@ ERROR: 0:93: 'transform feedback qualifier' : not supported for this version or ERROR: 44 compilation errors. No code generated. +Shader version: 430 +Requested GL_ARB_enhanced_layouts in xfb mode ERROR: node is still EOpNull! 0:14 Function Definition: foo( (void) @@ -117,5 +119,7 @@ ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void ERROR: Linking vertex stage: xfb_stride is too small to hold all buffer entries: ERROR: xfb_buffer 3, xfb_stride 64, minimum stride needed: 80 +Shader version: 430 +Requested GL_ARB_enhanced_layouts in xfb mode diff --git a/Test/baseResults/430scope.vert.out b/Test/baseResults/430scope.vert.out index 8bfdb1036..a2d12303b 100644 --- a/Test/baseResults/430scope.vert.out +++ b/Test/baseResults/430scope.vert.out @@ -11,6 +11,7 @@ ERROR: 0:73: 'degrees' : can't use function syntax on variable ERROR: 8 compilation errors. No code generated. +Shader version: 430 ERROR: node is still EOpNull! 0:3 Function Definition: f(i1;i1;i1; (int) 0:3 Function Parameters: @@ -127,4 +128,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 430 diff --git a/Test/baseResults/440.frag.out b/Test/baseResults/440.frag.out index 0da5c066a..158871b49 100644 --- a/Test/baseResults/440.frag.out +++ b/Test/baseResults/440.frag.out @@ -48,6 +48,7 @@ ERROR: 0:104: 'offset' : must be a multiple of the member's alignment ERROR: 45 compilation errors. No code generated. +Shader version: 440 ERROR: node is still EOpNull! 0:? Linker Objects 0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float) @@ -90,4 +91,5 @@ Linked fragment stage: ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point +Shader version: 440 diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out index c385efa73..3d3f582f2 100644 --- a/Test/baseResults/440.vert.out +++ b/Test/baseResults/440.vert.out @@ -45,6 +45,7 @@ ERROR: 0:157: 'xfb_buffer' : buffer is too large: gl_MaxTransformFeedbackBuffers ERROR: 42 compilation errors. No code generated. +Shader version: 440 in xfb mode ERROR: node is still EOpNull! 0:? Linker Objects @@ -112,5 +113,6 @@ ERROR: xfb_buffer 5, xfb_stride 6 ERROR: Linking vertex stage: xfb_stride is too large: ERROR: xfb_buffer 7, components (1/4 stride) needed are 66, gl_MaxTransformFeedbackInterleavedComponents is 64 +Shader version: 440 in xfb mode diff --git a/Test/baseResults/Operations.frag.out b/Test/baseResults/Operations.frag.out index e764d49cf..e0834bd28 100644 --- a/Test/baseResults/Operations.frag.out +++ b/Test/baseResults/Operations.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/Operations.frag Warning, version 130 is not yet complete; most features are present, but a few are missing. +Shader version: 130 0:? Sequence 0:15 Function Definition: main( (void) 0:15 Function Parameters: @@ -437,4 +438,5 @@ Warning, version 130 is not yet complete; most features are present, but a few a Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/aggOps.frag.out b/Test/baseResults/aggOps.frag.out index 57b402f3a..b3916c67e 100644 --- a/Test/baseResults/aggOps.frag.out +++ b/Test/baseResults/aggOps.frag.out @@ -3,6 +3,7 @@ Warning, version 130 is not yet complete; most features are present, but a few a WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:6: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:23 Function Definition: main( (void) 0:23 Function Parameters: @@ -151,4 +152,5 @@ WARNING: 0:6: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/always-discard.frag.out b/Test/baseResults/always-discard.frag.out index 99f24654f..ba2c58ea4 100644 --- a/Test/baseResults/always-discard.frag.out +++ b/Test/baseResults/always-discard.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/always-discard.frag +Shader version: 110 0:? Sequence 0:4 Function Definition: main( (void) 0:4 Function Parameters: @@ -120,4 +121,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/always-discard2.frag.out b/Test/baseResults/always-discard2.frag.out index fe9c9c338..199d1ae18 100644 --- a/Test/baseResults/always-discard2.frag.out +++ b/Test/baseResults/always-discard2.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/always-discard2.frag +Shader version: 110 0:? Sequence 0:4 Function Definition: main( (void) 0:4 Function Parameters: @@ -61,4 +62,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/array.frag.out b/Test/baseResults/array.frag.out index 8f5d6dcc0..e117e57db 100644 --- a/Test/baseResults/array.frag.out +++ b/Test/baseResults/array.frag.out @@ -20,6 +20,7 @@ ERROR: 0:63: '' : array size required ERROR: 17 compilation errors. No code generated. +Shader version: 130 ERROR: node is still EOpNull! 0:9 Function Definition: foo(f1[5]; (4-element array of float) 0:9 Function Parameters: @@ -195,4 +196,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/array100.frag.out b/Test/baseResults/array100.frag.out index 835332a48..ba18ffc9e 100644 --- a/Test/baseResults/array100.frag.out +++ b/Test/baseResults/array100.frag.out @@ -24,6 +24,7 @@ ERROR: 0:69: 'array initializer' : not supported for this version or the enabled ERROR: 22 compilation errors. No code generated. +Shader version: 100 ERROR: node is still EOpNull! 0:9 Function Definition: foo(f1[5]; (4-element array of mediump float) 0:9 Function Parameters: @@ -160,4 +161,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 100 diff --git a/Test/baseResults/comment.frag.out b/Test/baseResults/comment.frag.out index c3a548c1b..4a9247ddb 100644 --- a/Test/baseResults/comment.frag.out +++ b/Test/baseResults/comment.frag.out @@ -3,6 +3,7 @@ Warning, version 430 is not yet complete; some version-specific features are pre WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment +Shader version: 430 0:? Sequence 0:17 Function Definition: main( (void) 0:17 Function Parameters: @@ -13,4 +14,5 @@ WARNING: 0:12: 'line continuation' : used at end of comment; the following line Linked fragment stage: +Shader version: 430 diff --git a/Test/baseResults/conditionalDiscard.frag.out b/Test/baseResults/conditionalDiscard.frag.out index f3df2e741..0bdc74cb5 100644 --- a/Test/baseResults/conditionalDiscard.frag.out +++ b/Test/baseResults/conditionalDiscard.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/conditionalDiscard.frag +Shader version: 110 0:? Sequence 0:6 Function Definition: main( (void) 0:6 Function Parameters: @@ -32,4 +33,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/constErrors.frag.out b/Test/baseResults/constErrors.frag.out index d62d4aad8..de219e51b 100644 --- a/Test/baseResults/constErrors.frag.out +++ b/Test/baseResults/constErrors.frag.out @@ -12,6 +12,7 @@ ERROR: 0:33: '=' : global const initializers must be constant 'const structure{3 ERROR: 9 compilation errors. No code generated. +Shader version: 330 ERROR: node is still EOpNull! 0:10 Function Definition: main( (void) 0:10 Function Parameters: @@ -35,4 +36,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 330 diff --git a/Test/baseResults/constFold.frag.out b/Test/baseResults/constFold.frag.out index 28306e0b8..84c2661a6 100644 --- a/Test/baseResults/constFold.frag.out +++ b/Test/baseResults/constFold.frag.out @@ -9,6 +9,7 @@ ERROR: 0:114: '[' : matrix index out of range '3' ERROR: 6 compilation errors. No code generated. +Shader version: 430 ERROR: node is still EOpNull! 0:28 Function Definition: main( (void) 0:28 Function Parameters: @@ -309,4 +310,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 430 diff --git a/Test/baseResults/conversion.frag.out b/Test/baseResults/conversion.frag.out index b6f480aeb..f2a42913f 100644 --- a/Test/baseResults/conversion.frag.out +++ b/Test/baseResults/conversion.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/conversion.frag Warning, version 130 is not yet complete; most features are present, but a few are missing. +Shader version: 130 0:? Sequence 0:33 Function Definition: main( (void) 0:33 Function Parameters: @@ -479,4 +480,5 @@ Warning, version 130 is not yet complete; most features are present, but a few a Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/cppComplexExpr.vert.out b/Test/baseResults/cppComplexExpr.vert.out index 4671f207d..e72230e90 100644 --- a/Test/baseResults/cppComplexExpr.vert.out +++ b/Test/baseResults/cppComplexExpr.vert.out @@ -37,6 +37,7 @@ ERROR: 0:10002: '' : missing #endif ERROR: 35 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:4 Sequence 0:4 move second child to first child (highp float) @@ -112,4 +113,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/cppIndent.vert.out b/Test/baseResults/cppIndent.vert.out index d2d43fb74..3ac19ca57 100644 --- a/Test/baseResults/cppIndent.vert.out +++ b/Test/baseResults/cppIndent.vert.out @@ -4,6 +4,7 @@ ERROR: 0:61: '' : syntax error ERROR: 2 compilation errors. No code generated. +Shader version: 110 ERROR: node is still EOpNull! 0:5 Sequence 0:5 move second child to first child (float) @@ -44,4 +45,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 110 diff --git a/Test/baseResults/cppNest.vert.out b/Test/baseResults/cppNest.vert.out index 3a1d03596..d2b00ad32 100644 --- a/Test/baseResults/cppNest.vert.out +++ b/Test/baseResults/cppNest.vert.out @@ -8,6 +8,7 @@ ERROR: 0:178: '' : syntax error ERROR: 6 compilation errors. No code generated. +Shader version: 110 ERROR: node is still EOpNull! 0:5 Sequence 0:5 move second child to first child (float) @@ -75,4 +76,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 110 diff --git a/Test/baseResults/cppSimple.vert.out b/Test/baseResults/cppSimple.vert.out index 640f2514f..1e08ea0f9 100644 --- a/Test/baseResults/cppSimple.vert.out +++ b/Test/baseResults/cppSimple.vert.out @@ -86,6 +86,7 @@ ERROR: 12:10003: '' : missing #endif ERROR: 79 compilation errors. No code generated. +Shader version: 400 ERROR: node is still EOpNull! 0:5 Sequence 0:5 move second child to first child (float) @@ -196,4 +197,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 400 diff --git a/Test/baseResults/dataOut.frag.out b/Test/baseResults/dataOut.frag.out index 311c10d32..60cc7e2f8 100644 --- a/Test/baseResults/dataOut.frag.out +++ b/Test/baseResults/dataOut.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:5 Function Definition: main( (void) 0:5 Function Parameters: @@ -19,4 +20,5 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/dataOutIndirect.frag.out b/Test/baseResults/dataOutIndirect.frag.out index 80c45cfbe..aa454d162 100644 --- a/Test/baseResults/dataOutIndirect.frag.out +++ b/Test/baseResults/dataOutIndirect.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:7 Function Definition: main( (void) 0:7 Function Parameters: @@ -19,4 +20,5 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/dce.frag.out b/Test/baseResults/dce.frag.out index 0a861806d..5756f3c25 100644 --- a/Test/baseResults/dce.frag.out +++ b/Test/baseResults/dce.frag.out @@ -1,6 +1,7 @@ dce.frag Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 400 0:? Sequence 0:5 Sequence 0:5 move second child to first child (int) @@ -139,4 +140,5 @@ Linked fragment stage: ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point +Shader version: 400 diff --git a/Test/baseResults/decls.frag.out b/Test/baseResults/decls.frag.out index 0a72ab716..eb3e6da9c 100644 --- a/Test/baseResults/decls.frag.out +++ b/Test/baseResults/decls.frag.out @@ -27,6 +27,7 @@ WARNING: 0:49: 'foob__vp' : identifiers containing consecutive underscores ("__" ERROR: 18 compilation errors. No code generated. +Shader version: 120 ERROR: node is still EOpNull! 0:5 Sequence 0:5 move second child to first child (int) @@ -271,4 +272,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/deepRvalue.frag.out b/Test/baseResults/deepRvalue.frag.out index 0bbb5b27a..d10c0bd82 100644 --- a/Test/baseResults/deepRvalue.frag.out +++ b/Test/baseResults/deepRvalue.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/deepRvalue.frag +Shader version: 120 0:? Sequence 0:5 Sequence 0:5 move second child to first child (4-component vector of float) @@ -143,4 +144,5 @@ Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/depthOut.frag.out b/Test/baseResults/depthOut.frag.out index 5e858452c..7401c0786 100644 --- a/Test/baseResults/depthOut.frag.out +++ b/Test/baseResults/depthOut.frag.out @@ -3,6 +3,7 @@ Warning, version 130 is not yet complete; most features are present, but a few a WARNING: 0:3: varying deprecated in version 130; may be removed in future release WARNING: 0:4: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:6 Function Definition: main( (void) 0:6 Function Parameters: @@ -21,4 +22,5 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/discard-dce.frag.out b/Test/baseResults/discard-dce.frag.out index 35630f089..7329ca1a9 100644 --- a/Test/baseResults/discard-dce.frag.out +++ b/Test/baseResults/discard-dce.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/discard-dce.frag +Shader version: 110 0:? Sequence 0:4 Function Definition: main( (void) 0:4 Function Parameters: @@ -120,4 +121,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/doWhileLoop.frag.out b/Test/baseResults/doWhileLoop.frag.out index 331c35b0b..fdb4237e1 100644 --- a/Test/baseResults/doWhileLoop.frag.out +++ b/Test/baseResults/doWhileLoop.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/doWhileLoop.frag +Shader version: 110 0:? Sequence 0:7 Function Definition: main( (void) 0:7 Function Parameters: @@ -33,4 +34,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/earlyReturnDiscard.frag.out b/Test/baseResults/earlyReturnDiscard.frag.out index c712fbbf9..c7e8a81c4 100644 --- a/Test/baseResults/earlyReturnDiscard.frag.out +++ b/Test/baseResults/earlyReturnDiscard.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/earlyReturnDiscard.frag +Shader version: 110 0:? Sequence 0:19 Function Definition: main( (void) 0:19 Function Parameters: @@ -129,4 +130,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/empty.frag.out b/Test/baseResults/empty.frag.out index 683b29db9..d431ff949 100644 --- a/Test/baseResults/empty.frag.out +++ b/Test/baseResults/empty.frag.out @@ -1,15 +1,18 @@ empty.frag +Shader version: 100 0:? Sequence 0:? Linker Objects empty2.frag +Shader version: 100 0:? Sequence 0:? Linker Objects empty3.frag +Shader version: 110 0:? Sequence 0:? Linker Objects @@ -22,6 +25,7 @@ ERROR: Linking fragment stage: Cannot mix ES profile with non-ES profile shaders ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point +Shader version: 110 0:? Sequence 0:? Linker Objects diff --git a/Test/baseResults/errors.frag.out b/Test/baseResults/errors.frag.out index dbf630091..215f235bf 100644 --- a/Test/baseResults/errors.frag.out +++ b/Test/baseResults/errors.frag.out @@ -4,6 +4,7 @@ ERROR: 0:1: 'int' : main function cannot return a value ERROR: 2 compilation errors. No code generated. +Shader version: 100 ERROR: node is still EOpNull! 0:1 Function Definition: main(i1; (mediump int) 0:1 Function Parameters: @@ -18,4 +19,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 100 diff --git a/Test/baseResults/flowControl.frag.out b/Test/baseResults/flowControl.frag.out index 3755e8d6a..cf1c01600 100644 --- a/Test/baseResults/flowControl.frag.out +++ b/Test/baseResults/flowControl.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/flowControl.frag +Shader version: 120 0:? Sequence 0:10 Function Definition: main( (void) 0:10 Function Parameters: @@ -41,4 +42,5 @@ Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/forLoop.frag.out b/Test/baseResults/forLoop.frag.out index 08f317444..dbb1bdb47 100644 --- a/Test/baseResults/forLoop.frag.out +++ b/Test/baseResults/forLoop.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/forLoop.frag +Shader version: 120 0:? Sequence 0:8 Function Definition: main( (void) 0:8 Function Parameters: @@ -39,4 +40,5 @@ Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/forwardRef.frag.out b/Test/baseResults/forwardRef.frag.out index 4769eb9eb..62140dc62 100644 --- a/Test/baseResults/forwardRef.frag.out +++ b/Test/baseResults/forwardRef.frag.out @@ -1,5 +1,6 @@ forwardRef.frag +Shader version: 110 0:? Sequence 0:11 Function Definition: main( (void) 0:11 Function Parameters: @@ -63,4 +64,5 @@ forwardRef.frag Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/functionCall.frag.out b/Test/baseResults/functionCall.frag.out index 48f6a63c8..6362de12d 100644 --- a/Test/baseResults/functionCall.frag.out +++ b/Test/baseResults/functionCall.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:7 Sequence 0:7 move second child to first child (float) @@ -93,4 +94,5 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/functionSemantics.frag.out b/Test/baseResults/functionSemantics.frag.out index 4780bf870..82858688d 100644 --- a/Test/baseResults/functionSemantics.frag.out +++ b/Test/baseResults/functionSemantics.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/functionSemantics.frag Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 400 0:? Sequence 0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (int) 0:5 Function Parameters: @@ -193,4 +194,5 @@ Warning, version 400 is not yet complete; some version-specific features are pre Linked fragment stage: +Shader version: 400 diff --git a/Test/baseResults/length.frag.out b/Test/baseResults/length.frag.out index 6f1699b8f..218ca0796 100644 --- a/Test/baseResults/length.frag.out +++ b/Test/baseResults/length.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/length.frag +Shader version: 120 0:? Sequence 0:11 Function Definition: main( (void) 0:11 Function Parameters: @@ -31,4 +32,5 @@ Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/lineContinuation.vert.out b/Test/baseResults/lineContinuation.vert.out index 87af5b453..ad3da79b3 100644 --- a/Test/baseResults/lineContinuation.vert.out +++ b/Test/baseResults/lineContinuation.vert.out @@ -23,6 +23,7 @@ ERROR: 0:150: '' : syntax error ERROR: 19 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:20 Function Definition: main( (void) 0:20 Function Parameters: @@ -188,4 +189,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/lineContinuation100.vert.out b/Test/baseResults/lineContinuation100.vert.out index 642c2ae2d..4313aae84 100644 --- a/Test/baseResults/lineContinuation100.vert.out +++ b/Test/baseResults/lineContinuation100.vert.out @@ -23,6 +23,7 @@ ERROR: 0:55: 'line continuation' : not supported for this version or the enabled ERROR: 20 compilation errors. No code generated. +Shader version: 100 ERROR: node is still EOpNull! 0:20 Function Definition: main( (void) 0:20 Function Parameters: @@ -95,4 +96,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 100 diff --git a/Test/baseResults/link1.frag.out b/Test/baseResults/link1.frag.out index 693be9876..0bdcabb9b 100644 --- a/Test/baseResults/link1.frag.out +++ b/Test/baseResults/link1.frag.out @@ -1,6 +1,7 @@ link1.frag Warning, version 130 is not yet complete; most features are present, but a few are missing. +Shader version: 130 0:? Sequence 0:8 Sequence 0:8 move second child to first child (4-component vector of float) @@ -82,6 +83,9 @@ Warning, version 130 is not yet complete; most features are present, but a few a link2.frag Warning, version 130 is not yet complete; most features are present, but a few are missing. +Shader version: 130 +Requested GL_OES_standard_derivatives +Requested GL_OES_texture_3D 0:? Sequence 0:8 Sequence 0:8 move second child to first child (4-component vector of float) @@ -151,6 +155,10 @@ Warning, version 130 is not yet complete; most features are present, but a few a link3.frag +Shader version: 300 +Requested GL_OES_EGL_image_external +Requested GL_OES_standard_derivatives +Requested GL_OES_texture_3D 0:? Sequence 0:? Linker Objects 0:? 'iv3' (smooth in highp 2-component vector of float) @@ -174,6 +182,10 @@ ERROR: Linking fragment stage: Types must match: ERROR: Linking fragment stage: Precision qualifiers must match: iv3: "smooth in 3-component vector of float" versus "smooth in highp 2-component vector of float" +Shader version: 300 +Requested GL_OES_EGL_image_external +Requested GL_OES_standard_derivatives +Requested GL_OES_texture_3D 0:? Sequence 0:8 Sequence 0:8 move second child to first child (4-component vector of float) diff --git a/Test/baseResults/localAggregates.frag.out b/Test/baseResults/localAggregates.frag.out index 95f72bb03..9a3c6c849 100644 --- a/Test/baseResults/localAggregates.frag.out +++ b/Test/baseResults/localAggregates.frag.out @@ -3,6 +3,7 @@ Warning, version 130 is not yet complete; most features are present, but a few a WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:5: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:34 Function Definition: main( (void) 0:34 Function Parameters: @@ -209,4 +210,5 @@ WARNING: 0:5: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/loops.frag.out b/Test/baseResults/loops.frag.out index db286d937..4ebdc5b24 100644 --- a/Test/baseResults/loops.frag.out +++ b/Test/baseResults/loops.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:14: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:53 Function Definition: main( (void) 0:53 Function Parameters: @@ -969,4 +970,5 @@ WARNING: 0:14: varying deprecated in version 130; may be removed in future relea Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/loopsArtificial.frag.out b/Test/baseResults/loopsArtificial.frag.out index 6a6aef899..b4ae4bea0 100644 --- a/Test/baseResults/loopsArtificial.frag.out +++ b/Test/baseResults/loopsArtificial.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:14: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:53 Function Definition: main( (void) 0:53 Function Parameters: @@ -218,4 +219,5 @@ WARNING: 0:14: varying deprecated in version 130; may be removed in future relea Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/mains1.frag.out b/Test/baseResults/mains1.frag.out index 4510d7469..7dbcb3524 100644 --- a/Test/baseResults/mains1.frag.out +++ b/Test/baseResults/mains1.frag.out @@ -1,5 +1,6 @@ mains1.frag +Shader version: 110 0:? Sequence 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -7,6 +8,7 @@ mains1.frag mains2.frag +Shader version: 110 0:? Sequence 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -18,6 +20,7 @@ Warning, version 150 is not yet complete; some version-specific features are pre ERROR: 1 compilation errors. No code generated. +Shader version: 150 invocations = 0 max_vertices = 0 input primitive = none @@ -30,6 +33,7 @@ ERROR: node is still EOpNull! noMain2.geom Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 150 invocations = 0 max_vertices = 0 input primitive = none @@ -52,6 +56,7 @@ Linked fragment stage: ERROR: Linking fragment stage: Multiple function bodies in multiple compilation units for the same signature in the same stage: main( +Shader version: 150 invocations = 0 max_vertices = 0 input primitive = none @@ -62,6 +67,7 @@ ERROR: node is still EOpNull! 0:3 Function Definition: bar( (void) 0:3 Function Parameters: 0:? Linker Objects +Shader version: 110 0:? Sequence 0:3 Function Definition: main( (void) 0:3 Function Parameters: diff --git a/Test/baseResults/matrix.frag.out b/Test/baseResults/matrix.frag.out index c0ad3eba1..640d48332 100644 --- a/Test/baseResults/matrix.frag.out +++ b/Test/baseResults/matrix.frag.out @@ -4,6 +4,7 @@ WARNING: 0:6: varying deprecated in version 130; may be removed in future releas WARNING: 0:17: varying deprecated in version 130; may be removed in future release WARNING: 0:22: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:25 Function Definition: main( (void) 0:25 Function Parameters: @@ -256,4 +257,5 @@ WARNING: 0:22: varying deprecated in version 130; may be removed in future relea Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/matrix2.frag.out b/Test/baseResults/matrix2.frag.out index abcdbb0da..bac7a5c48 100644 --- a/Test/baseResults/matrix2.frag.out +++ b/Test/baseResults/matrix2.frag.out @@ -4,6 +4,7 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas WARNING: 0:13: varying deprecated in version 130; may be removed in future release WARNING: 0:15: varying deprecated in version 130; may be removed in future release +Shader version: 150 0:? Sequence 0:19 Function Definition: main( (void) 0:19 Function Parameters: @@ -164,4 +165,5 @@ WARNING: 0:15: varying deprecated in version 130; may be removed in future relea Linked fragment stage: +Shader version: 150 diff --git a/Test/baseResults/matrixError.vert.out b/Test/baseResults/matrixError.vert.out index b3d120ae1..ecfc69cbb 100644 --- a/Test/baseResults/matrixError.vert.out +++ b/Test/baseResults/matrixError.vert.out @@ -9,6 +9,7 @@ ERROR: 0:21: '[' : vector index out of range '4' ERROR: 7 compilation errors. No code generated. +Shader version: 120 ERROR: node is still EOpNull! 0:12 Function Definition: main( (void) 0:12 Function Parameters: @@ -40,4 +41,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 120 diff --git a/Test/baseResults/newTexture.frag.out b/Test/baseResults/newTexture.frag.out index 4eec70a6d..4bf62c5ca 100644 --- a/Test/baseResults/newTexture.frag.out +++ b/Test/baseResults/newTexture.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/newTexture.frag Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 430 0:? Sequence 0:34 Function Definition: main( (void) 0:34 Function Parameters: @@ -230,4 +231,5 @@ Warning, version 430 is not yet complete; some version-specific features are pre Linked fragment stage: +Shader version: 430 diff --git a/Test/baseResults/noMain.vert.out b/Test/baseResults/noMain.vert.out index fa97a7d9a..47068a17a 100644 --- a/Test/baseResults/noMain.vert.out +++ b/Test/baseResults/noMain.vert.out @@ -1,5 +1,6 @@ noMain.vert +Shader version: 300 0:? Sequence 0:3 Function Definition: foo( (void) 0:3 Function Parameters: @@ -12,6 +13,7 @@ ERROR: 0:7: 'main' : function already has a body ERROR: 1 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -27,4 +29,6 @@ ERROR: Linking vertex stage: Missing entry point: Each stage requires one "void Linked fragment stage: +Shader version: 300 +Shader version: 300 diff --git a/Test/baseResults/nonSquare.vert.out b/Test/baseResults/nonSquare.vert.out index 23bb0685d..88bcc9cb3 100644 --- a/Test/baseResults/nonSquare.vert.out +++ b/Test/baseResults/nonSquare.vert.out @@ -1,5 +1,6 @@ nonSquare.vert +Shader version: 120 0:? Sequence 0:15 Function Definition: main( (void) 0:15 Function Parameters: @@ -92,4 +93,5 @@ nonSquare.vert Linked vertex stage: +Shader version: 120 diff --git a/Test/baseResults/numeral.frag.out b/Test/baseResults/numeral.frag.out index f1c619631..f276931ba 100644 --- a/Test/baseResults/numeral.frag.out +++ b/Test/baseResults/numeral.frag.out @@ -13,6 +13,7 @@ ERROR: 0:88: '' : float literal needs a decimal point or exponent ERROR: 10 compilation errors. No code generated. +Shader version: 400 ERROR: node is still EOpNull! 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -384,4 +385,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 400 diff --git a/Test/baseResults/pointCoord.frag.out b/Test/baseResults/pointCoord.frag.out index 2813257d8..0ad8c8315 100644 --- a/Test/baseResults/pointCoord.frag.out +++ b/Test/baseResults/pointCoord.frag.out @@ -1,5 +1,6 @@ pointCoord.frag +Shader version: 100 0:? Sequence 0:5 Function Definition: main( (void) 0:5 Function Parameters: @@ -35,4 +36,5 @@ pointCoord.frag Linked fragment stage: +Shader version: 100 diff --git a/Test/baseResults/precision.frag.out b/Test/baseResults/precision.frag.out index 54daf0219..2c961aad9 100644 --- a/Test/baseResults/precision.frag.out +++ b/Test/baseResults/precision.frag.out @@ -9,6 +9,7 @@ ERROR: 0:76: 'bool' : type cannot have precision qualifier ERROR: 7 compilation errors. No code generated. +Shader version: 100 ERROR: node is still EOpNull! 0:5 Function Definition: foo(vf3; (lowp 2-component vector of float) 0:5 Function Parameters: @@ -127,4 +128,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 100 diff --git a/Test/baseResults/precision.vert.out b/Test/baseResults/precision.vert.out index 529b6280a..0d9600dce 100644 --- a/Test/baseResults/precision.vert.out +++ b/Test/baseResults/precision.vert.out @@ -5,6 +5,7 @@ ERROR: 0:14: 'sampler/image' : type requires declaration of default precision qu ERROR: 3 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:18 Function Definition: main( (void) 0:18 Function Parameters: @@ -52,4 +53,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/prepost.frag.out b/Test/baseResults/prepost.frag.out index daaacfb4b..7492a04f4 100644 --- a/Test/baseResults/prepost.frag.out +++ b/Test/baseResults/prepost.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/prepost.frag Warning, version 140 is not yet complete; most features are present, but a few are missing. +Shader version: 140 0:? Sequence 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -137,4 +138,5 @@ Warning, version 140 is not yet complete; most features are present, but a few a Linked fragment stage: +Shader version: 140 diff --git a/Test/baseResults/recurse1.vert.out b/Test/baseResults/recurse1.vert.out index c095a4256..3c5005321 100644 --- a/Test/baseResults/recurse1.vert.out +++ b/Test/baseResults/recurse1.vert.out @@ -1,6 +1,7 @@ recurse1.vert Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 330 0:? Sequence 0:3 Function Definition: main( (void) 0:3 Function Parameters: @@ -71,6 +72,7 @@ Warning, version 330 is not yet complete; some version-specific features are pre recurse1.frag Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 330 0:? Sequence 0:5 Function Definition: main( (void) 0:5 Function Parameters: @@ -159,6 +161,7 @@ Warning, version 330 is not yet complete; some version-specific features are pre recurse2.frag Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 330 0:? Sequence 0:9 Function Definition: cbar(i1; (float) 0:9 Function Parameters: @@ -217,6 +220,8 @@ ERROR: Linking fragment stage: Recursion detected: ERROR: Linking fragment stage: Recursion detected: cfoo(f1; calling cbar(i1; +Shader version: 330 +Shader version: 330 0:? Sequence 0:5 Function Definition: main( (void) 0:5 Function Parameters: diff --git a/Test/baseResults/sample.frag.out b/Test/baseResults/sample.frag.out index ad427f799..2d2bce9c4 100644 --- a/Test/baseResults/sample.frag.out +++ b/Test/baseResults/sample.frag.out @@ -1,5 +1,6 @@ sample.frag +Shader version: 110 0:? Sequence 0:38 Function Definition: main( (void) 0:38 Function Parameters: @@ -17,4 +18,5 @@ sample.frag Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/sample.vert.out b/Test/baseResults/sample.vert.out index bd073fd6e..41797401a 100644 --- a/Test/baseResults/sample.vert.out +++ b/Test/baseResults/sample.vert.out @@ -1,5 +1,6 @@ sample.vert +Shader version: 110 0:? Sequence 0:38 Function Definition: main( (void) 0:38 Function Parameters: @@ -22,4 +23,5 @@ sample.vert Linked vertex stage: +Shader version: 110 diff --git a/Test/baseResults/simpleFunctionCall.frag.out b/Test/baseResults/simpleFunctionCall.frag.out index 50fcb95b4..440dc97a0 100644 --- a/Test/baseResults/simpleFunctionCall.frag.out +++ b/Test/baseResults/simpleFunctionCall.frag.out @@ -2,6 +2,7 @@ Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release +Shader version: 150 0:? Sequence 0:7 Function Definition: foo( (4-component vector of float) 0:7 Function Parameters: @@ -23,4 +24,5 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 150 diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out index 9c0c1c526..4c3fbd08e 100644 --- a/Test/baseResults/specExamples.frag.out +++ b/Test/baseResults/specExamples.frag.out @@ -52,6 +52,8 @@ ERROR: 0:232: 'out' : not allowed in nested scope ERROR: 49 compilation errors. No code generated. +Shader version: 430 +Requested GL_3DL_array_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left ERROR: node is still EOpNull! @@ -302,6 +304,8 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 430 +Requested GL_3DL_array_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out index dded395c6..d8ab03e50 100644 --- a/Test/baseResults/specExamples.vert.out +++ b/Test/baseResults/specExamples.vert.out @@ -47,6 +47,8 @@ ERROR: 0:194: 'constructor' : constructing from a non-dereferenced array ERROR: 42 compilation errors. No code generated. +Shader version: 430 +Requested GL_3DL_array_objects ERROR: node is still EOpNull! 0:134 Function Definition: funcA(I21; (4-component vector of float) 0:134 Function Parameters: @@ -321,4 +323,6 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 430 +Requested GL_3DL_array_objects diff --git a/Test/baseResults/structAssignment.frag.out b/Test/baseResults/structAssignment.frag.out index 4cf5d3e20..32db99d17 100644 --- a/Test/baseResults/structAssignment.frag.out +++ b/Test/baseResults/structAssignment.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:29 Function Definition: main( (void) 0:29 Function Parameters: @@ -53,4 +54,5 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/structDeref.frag.out b/Test/baseResults/structDeref.frag.out index c646d58b6..23890a181 100644 --- a/Test/baseResults/structDeref.frag.out +++ b/Test/baseResults/structDeref.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:41 Function Definition: main( (void) 0:41 Function Parameters: @@ -174,4 +175,5 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/structure.frag.out b/Test/baseResults/structure.frag.out index 735e0e0bb..90650a5d4 100644 --- a/Test/baseResults/structure.frag.out +++ b/Test/baseResults/structure.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:20 Function Definition: main( (void) 0:20 Function Parameters: @@ -84,4 +85,5 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/switch.frag.out b/Test/baseResults/switch.frag.out index 87666194f..0f0da26a4 100644 --- a/Test/baseResults/switch.frag.out +++ b/Test/baseResults/switch.frag.out @@ -20,6 +20,7 @@ ERROR: 0:140: 'nestedX' : undeclared identifier ERROR: 18 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:6 Function Definition: main( (void) 0:6 Function Parameters: @@ -337,4 +338,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/swizzle.frag.out b/Test/baseResults/swizzle.frag.out index b4e22b28f..70806a667 100644 --- a/Test/baseResults/swizzle.frag.out +++ b/Test/baseResults/swizzle.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/swizzle.frag +Shader version: 110 0:? Sequence 0:9 Function Definition: main( (void) 0:9 Function Parameters: @@ -212,4 +213,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/syntaxError.frag.out b/Test/baseResults/syntaxError.frag.out index 40c1f5a73..7bdd729bf 100644 --- a/Test/baseResults/syntaxError.frag.out +++ b/Test/baseResults/syntaxError.frag.out @@ -4,6 +4,7 @@ ERROR: 0:9: '' : syntax error ERROR: 2 compilation errors. No code generated. +Shader version: 120 ERROR: node is still EOpNull! 0:? Linker Objects 0:? 'bigColor' (uniform 4-component vector of float) @@ -14,4 +15,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/test.frag.out b/Test/baseResults/test.frag.out index 8e61b4487..9b7c57a6f 100644 --- a/Test/baseResults/test.frag.out +++ b/Test/baseResults/test.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/test.frag +Shader version: 110 0:? Sequence 0:13 Function Definition: main( (void) 0:13 Function Parameters: @@ -58,4 +59,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/texture.frag.out b/Test/baseResults/texture.frag.out index 15a5482a0..d4a44f113 100644 --- a/Test/baseResults/texture.frag.out +++ b/Test/baseResults/texture.frag.out @@ -3,6 +3,7 @@ Warning, version 130 is not yet complete; most features are present, but a few a WARNING: 0:14: varying deprecated in version 130; may be removed in future release WARNING: 0:15: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:17 Function Definition: main( (void) 0:17 Function Parameters: @@ -284,4 +285,5 @@ WARNING: 0:15: varying deprecated in version 130; may be removed in future relea Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/tokenLength.vert.out b/Test/baseResults/tokenLength.vert.out index a75d43bfc..973df475e 100644 --- a/Test/baseResults/tokenLength.vert.out +++ b/Test/baseResults/tokenLength.vert.out @@ -16,6 +16,7 @@ ERROR: 0:36: '' : float literal too long ERROR: 14 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:9 Sequence 0:9 move second child to first child (highp int) @@ -111,4 +112,5 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 300 diff --git a/Test/baseResults/types.frag.out b/Test/baseResults/types.frag.out index cbd55e041..793d08535 100644 --- a/Test/baseResults/types.frag.out +++ b/Test/baseResults/types.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/types.frag Warning, version 130 is not yet complete; most features are present, but a few are missing. +Shader version: 130 0:? Sequence 0:33 Function Definition: main( (void) 0:33 Function Parameters: @@ -340,4 +341,5 @@ Warning, version 130 is not yet complete; most features are present, but a few a Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/uint.frag.out b/Test/baseResults/uint.frag.out index 155aa9cc5..de344774e 100644 --- a/Test/baseResults/uint.frag.out +++ b/Test/baseResults/uint.frag.out @@ -11,6 +11,7 @@ ERROR: 0:63: 'float' : type requires declaration of default precision qualifier ERROR: 9 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:15 Function Definition: main( (void) 0:15 Function Parameters: @@ -309,4 +310,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/uniformArray.frag.out b/Test/baseResults/uniformArray.frag.out index 6156ddb0e..2d2cce1fb 100644 --- a/Test/baseResults/uniformArray.frag.out +++ b/Test/baseResults/uniformArray.frag.out @@ -1,6 +1,7 @@ ../../LunarGLASS/test/uniformArray.frag Warning, version 130 is not yet complete; most features are present, but a few are missing. +Shader version: 130 0:? Sequence 0:7 Function Definition: main( (void) 0:7 Function Parameters: @@ -50,4 +51,5 @@ Warning, version 130 is not yet complete; most features are present, but a few a Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/variableArrayIndex.frag.out b/Test/baseResults/variableArrayIndex.frag.out index 565373edb..eae4a6a8c 100644 --- a/Test/baseResults/variableArrayIndex.frag.out +++ b/Test/baseResults/variableArrayIndex.frag.out @@ -2,6 +2,7 @@ Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:29 Function Definition: main( (void) 0:29 Function Parameters: @@ -114,4 +115,5 @@ WARNING: 0:3: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out index e930a0d0a..f6b108969 100644 --- a/Test/baseResults/varyingArray.frag.out +++ b/Test/baseResults/varyingArray.frag.out @@ -5,6 +5,7 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas WARNING: 0:6: varying deprecated in version 130; may be removed in future release WARNING: 0:8: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:10 Function Definition: main( (void) 0:10 Function Parameters: @@ -63,4 +64,5 @@ WARNING: 0:8: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out index b23fb63eb..6f9731817 100644 --- a/Test/baseResults/varyingArrayIndirect.frag.out +++ b/Test/baseResults/varyingArrayIndirect.frag.out @@ -5,6 +5,7 @@ WARNING: 0:4: varying deprecated in version 130; may be removed in future releas WARNING: 0:6: varying deprecated in version 130; may be removed in future release WARNING: 0:8: varying deprecated in version 130; may be removed in future release +Shader version: 130 0:? Sequence 0:12 Function Definition: main( (void) 0:12 Function Parameters: @@ -66,4 +67,5 @@ WARNING: 0:8: varying deprecated in version 130; may be removed in future releas Linked fragment stage: +Shader version: 130 diff --git a/Test/baseResults/versionsClean.frag.out b/Test/baseResults/versionsClean.frag.out index 1a738472b..d66a9f950 100644 --- a/Test/baseResults/versionsClean.frag.out +++ b/Test/baseResults/versionsClean.frag.out @@ -4,6 +4,7 @@ ERROR: 0:34: '#version' : must occur first in shader ERROR: 2 compilation errors. No code generated. +Shader version: 300 ERROR: node is still EOpNull! 0:41 Function Definition: main( (void) 0:41 Function Parameters: @@ -24,4 +25,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 300 diff --git a/Test/baseResults/versionsClean.vert.out b/Test/baseResults/versionsClean.vert.out index 1f7b5d569..16cf56dfa 100644 --- a/Test/baseResults/versionsClean.vert.out +++ b/Test/baseResults/versionsClean.vert.out @@ -1,6 +1,7 @@ versionsClean.vert Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Shader version: 420 0:? Sequence 0:40 Function Definition: main( (void) 0:40 Function Parameters: @@ -24,4 +25,5 @@ Warning, version 420 is not yet complete; some version-specific features are pre Linked vertex stage: +Shader version: 420 diff --git a/Test/baseResults/versionsErrors.frag.out b/Test/baseResults/versionsErrors.frag.out index 91f035bc4..0547d2435 100644 --- a/Test/baseResults/versionsErrors.frag.out +++ b/Test/baseResults/versionsErrors.frag.out @@ -6,6 +6,7 @@ ERROR: 0:44: 'floating-point suffix' : not supported for this version or the ena ERROR: 4 compilation errors. No code generated. +Shader version: 110 ERROR: node is still EOpNull! 0:42 Function Definition: main( (void) 0:42 Function Parameters: @@ -25,4 +26,5 @@ ERROR: node is still EOpNull! Linked fragment stage: +Shader version: 110 diff --git a/Test/baseResults/versionsErrors.vert.out b/Test/baseResults/versionsErrors.vert.out index 77d062fb9..39640853f 100644 --- a/Test/baseResults/versionsErrors.vert.out +++ b/Test/baseResults/versionsErrors.vert.out @@ -6,6 +6,8 @@ ERROR: 0:45: 'discard' : not supported in this stage: vertex ERROR: 2 compilation errors. No code generated. +Shader version: 420 +Requested GL_ARB_texture_rectangle ERROR: node is still EOpNull! 0:42 Function Definition: main( (void) 0:42 Function Parameters: @@ -30,4 +32,6 @@ ERROR: node is still EOpNull! Linked vertex stage: +Shader version: 420 +Requested GL_ARB_texture_rectangle diff --git a/Test/baseResults/voidFunction.frag.out b/Test/baseResults/voidFunction.frag.out index 2a408ff1c..8e071fc04 100644 --- a/Test/baseResults/voidFunction.frag.out +++ b/Test/baseResults/voidFunction.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/voidFunction.frag +Shader version: 120 0:? Sequence 0:7 Sequence 0:7 move second child to first child (float) @@ -46,4 +47,5 @@ Linked fragment stage: +Shader version: 120 diff --git a/Test/baseResults/whileLoop.frag.out b/Test/baseResults/whileLoop.frag.out index fc1377e56..9539e2ca7 100644 --- a/Test/baseResults/whileLoop.frag.out +++ b/Test/baseResults/whileLoop.frag.out @@ -1,5 +1,6 @@ ../../LunarGLASS/test/whileLoop.frag +Shader version: 110 0:? Sequence 0:7 Function Definition: main( (void) 0:7 Function Parameters: @@ -33,4 +34,5 @@ Linked fragment stage: +Shader version: 110 diff --git a/Test/link2.frag b/Test/link2.frag index 3eb265ea6..7c698917e 100644 --- a/Test/link2.frag +++ b/Test/link2.frag @@ -31,3 +31,6 @@ struct S { uniform S s = S(82, 3.9); uniform S sn = S(82, 3.9); uniform S se = S(81, 3.9); + +#extension GL_OES_texture_3D : enable +#extension GL_OES_standard_derivatives : enable diff --git a/Test/link3.frag b/Test/link3.frag index a9604c4eb..f886b23f9 100644 --- a/Test/link3.frag +++ b/Test/link3.frag @@ -3,3 +3,7 @@ precision highp float; in vec2 iv3; + +#extension GL_OES_standard_derivatives : enable +#extension GL_OES_EGL_image_external : require +#extension GL_OES_texture_3D : enable diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp index f4ba5b3d2..e5721e39c 100644 --- a/glslang/MachineIndependent/Versions.cpp +++ b/glslang/MachineIndependent/Versions.cpp @@ -457,6 +457,8 @@ void TParseContext::updateExtensionBehavior(const char* extension, const char* b } else { if (iter->second == EBhDisablePartial) warn(getCurrentLoc(), "extension is only partially supported:", "#extension", extension); + if (behavior == EBhEnable || behavior == EBhRequire) + intermediate.addRequestedExtension(extension); iter->second = behavior; } } diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp index 9f89cadba..36de1237d 100644 --- a/glslang/MachineIndependent/intermOut.cpp +++ b/glslang/MachineIndependent/intermOut.cpp @@ -579,6 +579,12 @@ bool TOutputTraverser::visitSwitch(TVisit /* visit */, TIntermSwitch* node) // void TIntermediate::output(TInfoSink& infoSink, bool tree) { + infoSink.debug << "Shader version: " << version << "\n"; + if (requestedExtensions.size() > 0) { + for (std::set::const_iterator extIt = requestedExtensions.begin(); extIt != requestedExtensions.end(); ++extIt) + infoSink.debug << "Requested " << *extIt << "\n"; + } + if (xfbMode) infoSink.debug << "in xfb mode\n"; diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp index 44b350e9c..7674aa908 100644 --- a/glslang/MachineIndependent/linkValidate.cpp +++ b/glslang/MachineIndependent/linkValidate.cpp @@ -131,11 +131,16 @@ void TIntermediate::merge(TInfoSink& infoSink, TIntermediate& unit) return; if (treeRoot == 0) { - version = unit.version; treeRoot = unit.treeRoot; + version = unit.version; + requestedExtensions = unit.requestedExtensions; return; - } else - version = std::max(version, unit.version); + } + + // Getting this far means we have two existing trees to merge... + + version = std::max(version, unit.version); + requestedExtensions.insert(unit.requestedExtensions.begin(), unit.requestedExtensions.end()); // Get the top-level globals of each unit TIntermSequence& globals = treeRoot->getAsAggregate()->getSequence(); diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h index aad8135c3..621772f9e 100644 --- a/glslang/MachineIndependent/localintermediate.h +++ b/glslang/MachineIndependent/localintermediate.h @@ -127,6 +127,9 @@ public: void setProfile(EProfile p) { profile = p; } EProfile getProfile() const { return profile; } EShLanguage getStage() const { return language; } + void addRequestedExtension(const char* extension) { requestedExtensions.insert(extension); } + const std::set& getRequestedExtensions() const { return requestedExtensions; } + void setTreeRoot(TIntermNode* r) { treeRoot = r; } TIntermNode* getTreeRoot() const { return treeRoot; } void addMainCount() { ++numMains; } @@ -255,11 +258,11 @@ protected: bool userOutputUsed() const; int getBaseAlignmentScalar(const TType&, int& size) const; -protected: const EShLanguage language; TIntermNode* treeRoot; EProfile profile; int version; + std::set requestedExtensions; // cumulation of all enabled or required extensions; not connected to what subset of the shader used them TBuiltInResource resources; int numMains; int numErrors;