Răsfoiți Sursa

Updated glslang.

Branimir Karadžić 9 ani în urmă
părinte
comite
1c392b8c94
100 a modificat fișierele cu 4203 adăugiri și 9007 ștergeri
  1. 22 22
      3rdparty/glslang/SPIRV/GlslangToSpv.cpp
  2. 5 4
      3rdparty/glslang/SPIRV/SpvBuilder.cpp
  3. 1 1
      3rdparty/glslang/SPIRV/SpvBuilder.h
  4. 46 22
      3rdparty/glslang/StandAlone/StandAlone.cpp
  5. 0 186
      3rdparty/glslang/Test/baseResults/100.frag.out
  6. 0 4
      3rdparty/glslang/Test/baseResults/100LimitsConf.vert.out
  7. 2 14
      3rdparty/glslang/Test/baseResults/100scope.vert.out
  8. 5 16
      3rdparty/glslang/Test/baseResults/110scope.vert.out
  9. 0 528
      3rdparty/glslang/Test/baseResults/120.frag.out
  10. 0 279
      3rdparty/glslang/Test/baseResults/120.vert.out
  11. 0 320
      3rdparty/glslang/Test/baseResults/130.frag.out
  12. 0 17
      3rdparty/glslang/Test/baseResults/130.vert.out
  13. 0 52
      3rdparty/glslang/Test/baseResults/140.frag.out
  14. 0 65
      3rdparty/glslang/Test/baseResults/140.vert.out
  15. 0 84
      3rdparty/glslang/Test/baseResults/150.frag.out
  16. 0 28
      3rdparty/glslang/Test/baseResults/150.geom.out
  17. 5 64
      3rdparty/glslang/Test/baseResults/150.tesc.out
  18. 0 125
      3rdparty/glslang/Test/baseResults/300.frag.out
  19. 0 126
      3rdparty/glslang/Test/baseResults/300.vert.out
  20. 2 10
      3rdparty/glslang/Test/baseResults/300scope.vert.out
  21. 0 334
      3rdparty/glslang/Test/baseResults/310.comp.out
  22. 0 671
      3rdparty/glslang/Test/baseResults/310.frag.out
  23. 0 68
      3rdparty/glslang/Test/baseResults/310.geom.out
  24. 0 166
      3rdparty/glslang/Test/baseResults/310.tesc.out
  25. 0 13
      3rdparty/glslang/Test/baseResults/310.tese.out
  26. 0 687
      3rdparty/glslang/Test/baseResults/310.vert.out
  27. 1 272
      3rdparty/glslang/Test/baseResults/310AofA.vert.out
  28. 0 25
      3rdparty/glslang/Test/baseResults/330.frag.out
  29. 0 306
      3rdparty/glslang/Test/baseResults/400.frag.out
  30. 0 975
      3rdparty/glslang/Test/baseResults/400.geom.out
  31. 0 29
      3rdparty/glslang/Test/baseResults/400.tesc.out
  32. 0 18
      3rdparty/glslang/Test/baseResults/400.vert.out
  33. 0 29
      3rdparty/glslang/Test/baseResults/410.geom.out
  34. 0 105
      3rdparty/glslang/Test/baseResults/420.geom.out
  35. 0 35
      3rdparty/glslang/Test/baseResults/420.tesc.out
  36. 0 171
      3rdparty/glslang/Test/baseResults/420.vert.out
  37. 0 20
      3rdparty/glslang/Test/baseResults/420_size_gl_in.geom.out
  38. 0 71
      3rdparty/glslang/Test/baseResults/430.comp.out
  39. 0 129
      3rdparty/glslang/Test/baseResults/430.vert.out
  40. 1 29
      3rdparty/glslang/Test/baseResults/430AofA.frag.out
  41. 2 14
      3rdparty/glslang/Test/baseResults/430scope.vert.out
  42. 0 29
      3rdparty/glslang/Test/baseResults/440.frag.out
  43. 0 31
      3rdparty/glslang/Test/baseResults/440.vert.out
  44. 0 51
      3rdparty/glslang/Test/baseResults/450.frag.out
  45. 0 65
      3rdparty/glslang/Test/baseResults/array.frag.out
  46. 0 23
      3rdparty/glslang/Test/baseResults/array100.frag.out
  47. 0 32
      3rdparty/glslang/Test/baseResults/atomic_uint.frag.out
  48. 0 114
      3rdparty/glslang/Test/baseResults/constFold.frag.out
  49. 0 35
      3rdparty/glslang/Test/baseResults/cppComplexExpr.vert.out
  50. 0 11
      3rdparty/glslang/Test/baseResults/cppNest.vert.out
  51. 0 13
      3rdparty/glslang/Test/baseResults/cppSimple.vert.out
  52. 0 122
      3rdparty/glslang/Test/baseResults/dce.frag.out
  53. 0 13
      3rdparty/glslang/Test/baseResults/functionSemantics.frag.out
  54. 0 4
      3rdparty/glslang/Test/baseResults/glspv.esversion.vert.out
  55. 0 4
      3rdparty/glslang/Test/baseResults/glspv.frag.out
  56. 0 4
      3rdparty/glslang/Test/baseResults/glspv.version.frag.out
  57. 0 4
      3rdparty/glslang/Test/baseResults/glspv.version.vert.out
  58. 0 4
      3rdparty/glslang/Test/baseResults/glspv.vert.out
  59. 68 66
      3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out
  60. 25 0
      3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
  61. 119 0
      3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out
  62. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out
  63. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out
  64. 505 501
      3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out
  65. 184 0
      3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
  66. 1313 0
      3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out
  67. 337 0
      3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
  68. 510 506
      3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out
  69. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out
  70. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out
  71. 418 0
      3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out
  72. 109 0
      3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out
  73. 0 4
      3rdparty/glslang/Test/baseResults/hlsl.reflection.binding.frag.out
  74. 0 4
      3rdparty/glslang/Test/baseResults/hlsl.reflection.vert.out
  75. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out
  76. 197 0
      3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out
  77. 100 0
      3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out
  78. 113 85
      3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out
  79. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out
  80. 2 0
      3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out
  81. 0 29
      3rdparty/glslang/Test/baseResults/lineContinuation.vert.out
  82. 0 10
      3rdparty/glslang/Test/baseResults/lineContinuation100.vert.out
  83. 1 4
      3rdparty/glslang/Test/baseResults/mains1.frag.out
  84. 98 0
      3rdparty/glslang/Test/baseResults/missingBodies.vert.out
  85. 0 2
      3rdparty/glslang/Test/baseResults/noMain.vert.out
  86. 0 370
      3rdparty/glslang/Test/baseResults/precise.tesc.out
  87. 0 509
      3rdparty/glslang/Test/baseResults/precise_struct_block.vert.out
  88. 0 12
      3rdparty/glslang/Test/baseResults/precision.frag.out
  89. 0 168
      3rdparty/glslang/Test/baseResults/recurse1.vert.out
  90. 0 4
      3rdparty/glslang/Test/baseResults/reflection.vert.out
  91. 0 4
      3rdparty/glslang/Test/baseResults/remap.basic.dcefunc.frag.out
  92. 0 4
      3rdparty/glslang/Test/baseResults/remap.basic.everything.frag.out
  93. 0 4
      3rdparty/glslang/Test/baseResults/remap.basic.none.frag.out
  94. 0 4
      3rdparty/glslang/Test/baseResults/remap.basic.strip.frag.out
  95. 0 4
      3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
  96. 0 4
      3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
  97. 0 4
      3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
  98. 0 4
      3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
  99. 0 4
      3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
  100. 0 4
      3rdparty/glslang/Test/baseResults/remap.if.everything.frag.out

+ 22 - 22
3rdparty/glslang/SPIRV/GlslangToSpv.cpp

@@ -99,7 +99,7 @@ private:
 class TGlslangToSpvTraverser : public glslang::TIntermTraverser {
 public:
     TGlslangToSpvTraverser(const glslang::TIntermediate*, spv::SpvBuildLogger* logger);
-    virtual ~TGlslangToSpvTraverser();
+    virtual ~TGlslangToSpvTraverser() { }
 
     bool visitAggregate(glslang::TVisit, glslang::TIntermAggregate*);
     bool visitBinary(glslang::TVisit, glslang::TIntermBinary*);
@@ -111,6 +111,7 @@ public:
     bool visitLoop(glslang::TVisit, glslang::TIntermLoop*);
     bool visitBranch(glslang::TVisit visit, glslang::TIntermBranch*);
 
+    void finishSpv();
     void dumpSpv(std::vector<unsigned int>& out);
 
 protected:
@@ -181,8 +182,8 @@ protected:
 
     // There is a 1:1 mapping between a spv builder and a module; this is thread safe
     spv::Builder builder;
-    bool inMain;
-    bool mainTerminated;
+    bool inEntryPoint;
+    bool entryPointTerminated;
     bool linkageOnly;                  // true when visiting the set of objects in the AST present only for establishing interface, whether or not they were statically used
     std::set<spv::Id> iOSet;           // all input/output variables from either static use or declaration of interface
     const glslang::TIntermediate* glslangIntermediate;
@@ -768,7 +769,7 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* gls
     : TIntermTraverser(true, false, true), shaderEntry(nullptr), currentFunction(nullptr),
       sequenceDepth(0), logger(buildLogger),
       builder((glslang::GetKhronosToolId() << 16) | GeneratorVersion, logger),
-      inMain(false), mainTerminated(false), linkageOnly(false),
+      inEntryPoint(false), entryPointTerminated(false), linkageOnly(false),
       glslangIntermediate(glslangIntermediate)
 {
     spv::ExecutionModel executionModel = TranslateExecutionModel(glslangIntermediate->getStage());
@@ -896,27 +897,27 @@ TGlslangToSpvTraverser::TGlslangToSpvTraverser(const glslang::TIntermediate* gls
     default:
         break;
     }
-
 }
 
-// Finish everything and dump
-void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out)
+// Finish creating SPV, after the traversal is complete.
+void TGlslangToSpvTraverser::finishSpv()
 {
+    if (! entryPointTerminated) {
+        builder.setBuildPoint(shaderEntry->getLastBlock());
+        builder.leaveFunction();
+    }
+
     // finish off the entry-point SPV instruction by adding the Input/Output <id>
     for (auto it = iOSet.cbegin(); it != iOSet.cend(); ++it)
         entryPoint->addIdOperand(*it);
 
     builder.eliminateDeadDecorations();
-    builder.dump(out);
 }
 
-TGlslangToSpvTraverser::~TGlslangToSpvTraverser()
+// Write the SPV into 'out'.
+void TGlslangToSpvTraverser::dumpSpv(std::vector<unsigned int>& out)
 {
-    if (! mainTerminated) {
-        spv::Block* lastMainBlock = shaderEntry->getLastBlock();
-        builder.setBuildPoint(lastMainBlock);
-        builder.leaveFunction();
-    }
+    builder.dump(out);
 }
 
 //
@@ -1351,7 +1352,7 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
             // anything else gets there, so visit out of order, doing them all now.
             makeGlobalInitializers(node->getAsAggregate()->getSequence());
 
-            // Initializers are done, don't want to visit again, but functions link objects need to be processed,
+            // Initializers are done, don't want to visit again, but functions and link objects need to be processed,
             // so do them manually.
             visitFunctions(node->getAsAggregate()->getSequence());
 
@@ -1382,17 +1383,17 @@ bool TGlslangToSpvTraverser::visitAggregate(glslang::TVisit visit, glslang::TInt
     case glslang::EOpFunction:
         if (visit == glslang::EvPreVisit) {
             if (isShaderEntryPoint(node)) {
-                inMain = true;
+                inEntryPoint = true;
                 builder.setBuildPoint(shaderEntry->getLastBlock());
                 currentFunction = shaderEntry;
             } else {
                 handleFunctionEntry(node);
             }
         } else {
-            if (inMain)
-                mainTerminated = true;
+            if (inEntryPoint)
+                entryPointTerminated = true;
             builder.leaveFunction();
-            inMain = false;
+            inEntryPoint = false;
         }
 
         return true;
@@ -2633,7 +2634,7 @@ void TGlslangToSpvTraverser::visitFunctions(const glslang::TIntermSequence& glsl
 {
     for (int f = 0; f < (int)glslFunctions.size(); ++f) {
         glslang::TIntermAggregate* node = glslFunctions[f]->getAsAggregate();
-        if (node && (node->getOp() == glslang::EOpFunction || node->getOp() == glslang ::EOpLinkerObjects))
+        if (node && (node->getOp() == glslang::EOpFunction || node->getOp() == glslang::EOpLinkerObjects))
             node->traverse(this);
     }
 }
@@ -5120,9 +5121,8 @@ void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsign
     glslang::GetThreadPoolAllocator().push();
 
     TGlslangToSpvTraverser it(&intermediate, logger);
-
     root->traverse(&it);
-
+    it.finishSpv();
     it.dumpSpv(spirv);
 
     glslang::GetThreadPoolAllocator().pop();

+ 5 - 4
3rdparty/glslang/SPIRV/SpvBuilder.cpp

@@ -64,7 +64,7 @@ Builder::Builder(unsigned int magicNumber, SpvBuildLogger* buildLogger) :
     builderNumber(magicNumber),
     buildPoint(0),
     uniqueId(0),
-    mainFunction(0),
+    entryPointFunction(0),
     generatingOpCodeForSpecConst(false),
     logger(buildLogger)
 {
@@ -967,15 +967,15 @@ void Builder::addMemberDecoration(Id id, unsigned int member, Decoration decorat
 // Comments in header
 Function* Builder::makeEntryPoint(const char* entryPoint)
 {
-    assert(! mainFunction);
+    assert(! entryPointFunction);
 
     Block* entry;
     std::vector<Id> params;
     std::vector<Decoration> precisions;
 
-    mainFunction = makeFunctionEntry(NoPrecision, makeVoidType(), entryPoint, params, precisions, &entry);
+    entryPointFunction = makeFunctionEntry(NoPrecision, makeVoidType(), entryPoint, params, precisions, &entry);
 
-    return mainFunction;
+    return entryPointFunction;
 }
 
 // Comments in header
@@ -2144,6 +2144,7 @@ void Builder::accessChainPushSwizzle(std::vector<unsigned>& swizzle, Id preSwizz
         std::vector<unsigned> oldSwizzle = accessChain.swizzle;
         accessChain.swizzle.resize(0);
         for (unsigned int i = 0; i < swizzle.size(); ++i) {
+            assert(swizzle[i] < oldSwizzle.size());
             accessChain.swizzle.push_back(oldSwizzle[swizzle[i]]);
         }
     } else

+ 1 - 1
3rdparty/glslang/SPIRV/SpvBuilder.h

@@ -564,7 +564,7 @@ public:
     Module module;
     Block* buildPoint;
     Id uniqueId;
-    Function* mainFunction;
+    Function* entryPointFunction;
     bool generatingOpCodeForSpecConst;
     AccessChain accessChain;
 

+ 46 - 22
3rdparty/glslang/StandAlone/StandAlone.cpp

@@ -60,29 +60,30 @@ extern "C" {
 
 // Command-line options
 enum TOptions {
-    EOptionNone               = 0,
-    EOptionIntermediate       = (1 <<  0),
-    EOptionSuppressInfolog    = (1 <<  1),
-    EOptionMemoryLeakMode     = (1 <<  2),
-    EOptionRelaxedErrors      = (1 <<  3),
-    EOptionGiveWarnings       = (1 <<  4),
-    EOptionLinkProgram        = (1 <<  5),
-    EOptionMultiThreaded      = (1 <<  6),
-    EOptionDumpConfig         = (1 <<  7),
-    EOptionDumpReflection     = (1 <<  8),
-    EOptionSuppressWarnings   = (1 <<  9),
-    EOptionDumpVersions       = (1 << 10),
-    EOptionSpv                = (1 << 11),
-    EOptionHumanReadableSpv   = (1 << 12),
-    EOptionVulkanRules        = (1 << 13),
-    EOptionDefaultDesktop     = (1 << 14),
-    EOptionOutputPreprocessed = (1 << 15),
-    EOptionOutputHexadecimal  = (1 << 16),
-    EOptionReadHlsl           = (1 << 17),
-    EOptionCascadingErrors    = (1 << 18),
-    EOptionAutoMapBindings    = (1 << 19),
+    EOptionNone                 = 0,
+    EOptionIntermediate         = (1 <<  0),
+    EOptionSuppressInfolog      = (1 <<  1),
+    EOptionMemoryLeakMode       = (1 <<  2),
+    EOptionRelaxedErrors        = (1 <<  3),
+    EOptionGiveWarnings         = (1 <<  4),
+    EOptionLinkProgram          = (1 <<  5),
+    EOptionMultiThreaded        = (1 <<  6),
+    EOptionDumpConfig           = (1 <<  7),
+    EOptionDumpReflection       = (1 <<  8),
+    EOptionSuppressWarnings     = (1 <<  9),
+    EOptionDumpVersions         = (1 << 10),
+    EOptionSpv                  = (1 << 11),
+    EOptionHumanReadableSpv     = (1 << 12),
+    EOptionVulkanRules          = (1 << 13),
+    EOptionDefaultDesktop       = (1 << 14),
+    EOptionOutputPreprocessed   = (1 << 15),
+    EOptionOutputHexadecimal    = (1 << 16),
+    EOptionReadHlsl             = (1 << 17),
+    EOptionCascadingErrors      = (1 << 18),
+    EOptionAutoMapBindings      = (1 << 19),
     EOptionFlattenUniformArrays = (1 << 20),
-    EOptionNoStorageFormat    = (1 << 21),
+    EOptionNoStorageFormat      = (1 << 21),
+    EOptionKeepUncalled         = (1 << 22),
 };
 
 //
@@ -160,6 +161,7 @@ int Options = 0;
 const char* ExecutableName = nullptr;
 const char* binaryFileName = nullptr;
 const char* entryPointName = nullptr;
+const char* sourceEntryPointName = nullptr;
 const char* shaderStageName = nullptr;
 
 std::array<unsigned int, EShLangCount> baseSamplerBinding;
@@ -300,6 +302,18 @@ void ProcessArguments(int argc, char* argv[])
                     } else if (lowerword == "no-storage-format" || // synonyms
                                lowerword == "nsf") {
                         Options |= EOptionNoStorageFormat;
+                    } else if (lowerword == "source-entrypoint" || // synonyms
+                               lowerword == "sep") {
+                        sourceEntryPointName = argv[1];
+                        if (argc > 0) {
+                            argc--;
+                            argv++;
+                        } else
+                            Error("no <entry-point> provided for --source-entrypoint");
+                        break;
+                    } else if (lowerword == "keep-uncalled" || // synonyms
+                               lowerword == "ku") {
+                        Options |= EOptionKeepUncalled;
                     } else {
                         usage();
                     }
@@ -449,6 +463,8 @@ void SetMessageOptions(EShMessages& messages)
         messages = (EShMessages)(messages | EShMsgReadHlsl);
     if (Options & EOptionCascadingErrors)
         messages = (EShMessages)(messages | EShMsgCascadingErrors);
+    if (Options & EOptionKeepUncalled)
+        messages = (EShMessages)(messages | EShMsgKeepUncalled);
 }
 
 //
@@ -547,6 +563,8 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
         shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, 1);
         if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
             shader->setEntryPoint(entryPointName);
+        if (sourceEntryPointName)
+            shader->setSourceEntryPoint(sourceEntryPointName);
 
         shader->setShiftSamplerBinding(baseSamplerBinding[compUnit.stage]);
         shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]);
@@ -963,6 +981,12 @@ void usage()
            "\n"
            "  --no-storage-format                     use Unknown image format\n"
            "  --nsf                                   synonym for --no-storage-format\n"
+           "\n"
+           "  --source-entrypoint name                the given shader source function is renamed to be the entry point given in -e\n"
+           "  --sep                                   synonym for --source-entrypoint\n"
+           "\n"
+           "  --keep-uncalled                         don't eliminate uncalled functions when linking\n"
+           "  --ku                                    synonym for --keep-uncalled\n"
            );
 
     exit(EFailUsage);

+ 0 - 186
3rdparty/glslang/Test/baseResults/100.frag.out

@@ -507,123 +507,6 @@ ERROR: node is still EOpNull!
 0:38          's2' (temp structure{temp mediump float f, temp 10-element array of mediump float a})
 0:38        true case is null
 0:40      'b' (temp mediump int)
-0:54  Function Definition: foo10( (global void)
-0:54    Function Parameters: 
-0:67  Function Definition: f11(s21; (global void)
-0:67    Function Parameters: 
-0:67      'p2d' (in lowp sampler2D)
-0:87  Function Definition: foo234( (global void)
-0:87    Function Parameters: 
-0:89    Sequence
-0:89      texture (global highp 4-component vector of float)
-0:89        's3D2' (uniform highp sampler3D)
-0:89        Constant:
-0:89          0.200000
-0:89          0.200000
-0:89          0.200000
-0:89        Constant:
-0:89          0.200000
-0:90      textureProj (global highp 4-component vector of float)
-0:90        's3D2' (uniform highp sampler3D)
-0:90        direct index (smooth temp mediump 4-component vector of float)
-0:90          'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:90          Constant:
-0:90            1 (const int)
-0:90        Constant:
-0:90          0.400000
-0:91      dPdx (global mediump 4-component vector of float)
-0:91        direct index (smooth temp mediump 4-component vector of float)
-0:91          'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:91          Constant:
-0:91            0 (const int)
-0:92      Constant:
-0:92        0.000000
-0:93      fwidth (global mediump float)
-0:93        'f13' (invariant global mediump float)
-0:98  Function Definition: foo236( (global void)
-0:98    Function Parameters: 
-0:100    Sequence
-0:100      dPdx (global mediump 4-component vector of float)
-0:100        direct index (smooth temp mediump 4-component vector of float)
-0:100          'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:100          Constant:
-0:100            0 (const int)
-0:101      Constant:
-0:101        0.000000
-0:102      fwidth (global mediump float)
-0:102        'f13' (invariant global mediump float)
-0:103      move second child to first child (temp mediump float)
-0:103        'gl_FragDepth' (temp mediump float)
-0:103        'f13' (invariant global mediump float)
-0:104      move second child to first child (temp highp float)
-0:104        'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
-0:104        'f13' (invariant global mediump float)
-0:109  Function Definition: foo239( (global void)
-0:109    Function Parameters: 
-0:111    Sequence
-0:111      move second child to first child (temp mediump float)
-0:111        'gl_FragDepth' (temp mediump float)
-0:111        'f13' (invariant global mediump float)
-0:112      move second child to first child (temp highp float)
-0:112        'gl_FragDepthEXT' (gl_FragDepth highp float FragDepth)
-0:112        'f13' (invariant global mediump float)
-0:119  Function Definition: foo245( (global void)
-0:119    Function Parameters: 
-0:121    Sequence
-0:121      texture (global lowp 4-component vector of float)
-0:121        'sExt' (uniform lowp samplerExternalOES)
-0:121        Constant:
-0:121          0.200000
-0:121          0.200000
-0:122      textureProj (global lowp 4-component vector of float)
-0:122        'sExt' (uniform lowp samplerExternalOES)
-0:122        Construct vec3 (temp lowp 3-component vector of float)
-0:122          'f13' (invariant global mediump float)
-0:123      textureProj (global lowp 4-component vector of float, operation at mediump)
-0:123        'sExt' (uniform lowp samplerExternalOES)
-0:123        direct index (smooth temp mediump 4-component vector of float)
-0:123          'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:123          Constant:
-0:123            2 (const int)
-0:130  Function Definition: foo246( (global void)
-0:130    Function Parameters: 
-0:132    Sequence
-0:132      texture (global mediump 4-component vector of float)
-0:132        'mediumExt' (uniform mediump samplerExternalOES)
-0:132        Constant:
-0:132          0.200000
-0:132          0.200000
-0:133      textureProj (global highp 4-component vector of float)
-0:133        'highExt' (uniform highp samplerExternalOES)
-0:133        direct index (smooth temp mediump 4-component vector of float)
-0:133          'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:133          Constant:
-0:133            2 (const int)
-0:134      Constant:
-0:134        0.000000
-0:135      Constant:
-0:135        0.000000
-0:137      Bitwise not (temp mediump int)
-0:137        'a' (temp mediump int)
-0:138      inclusive-or (temp mediump int)
-0:138        'a' (temp mediump int)
-0:138        'a' (temp mediump int)
-0:139      bitwise and (temp mediump int)
-0:139        'a' (temp mediump int)
-0:139        'a' (temp mediump int)
-0:145  Function Definition: foo203940(i1;f1;f1; (global mediump int)
-0:145    Function Parameters: 
-0:145      'a' (in mediump int)
-0:145      'b' (in mediump float)
-0:147    Sequence
-0:147      textureProjGrad (global lowp 4-component vector of float, operation at mediump)
-0:147        's2Dg' (uniform lowp sampler2D)
-0:147        Construct vec3 (temp mediump 3-component vector of float)
-0:147          'f13' (invariant global mediump float)
-0:147        'uv2' (invariant uniform mediump 2-component vector of float)
-0:147        'uv2' (invariant uniform mediump 2-component vector of float)
-0:148      Branch: Return with expression
-0:148        'a' (in mediump int)
 0:151  Sequence
 0:151    move second child to first child (temp mediump float)
 0:151      'f123' (global mediump float)
@@ -634,75 +517,6 @@ ERROR: node is still EOpNull!
 0:152      'f124' (global mediump float)
 0:152      Constant:
 0:152        50000000000.000000
-0:158  Function Definition: foo323433( (global void)
-0:158    Function Parameters: 
-0:160    Sequence
-0:160      textureLod (global lowp 4-component vector of float, operation at mediump)
-0:160        's2Dg' (uniform lowp sampler2D)
-0:160        'uv2' (invariant uniform mediump 2-component vector of float)
-0:160        'f13' (invariant global mediump float)
-0:161      textureProjGrad (global lowp 4-component vector of float, operation at mediump)
-0:161        's2Dg' (uniform lowp sampler2D)
-0:161        Construct vec3 (temp mediump 3-component vector of float)
-0:161          'f13' (invariant global mediump float)
-0:161        'uv2' (invariant uniform mediump 2-component vector of float)
-0:161        'uv2' (invariant uniform mediump 2-component vector of float)
-0:162      textureGrad (global lowp 4-component vector of float, operation at mediump)
-0:162        's2Dg' (uniform lowp sampler2D)
-0:162        'uv2' (invariant uniform mediump 2-component vector of float)
-0:162        'uv2' (invariant uniform mediump 2-component vector of float)
-0:162        'uv2' (invariant uniform mediump 2-component vector of float)
-0:163      textureGrad (global lowp 4-component vector of float)
-0:163        'sCube' (uniform lowp samplerCube)
-0:163        Construct vec3 (temp lowp 3-component vector of float)
-0:163          'f13' (invariant global mediump float)
-0:163        Construct vec3 (temp lowp 3-component vector of float)
-0:163          'f13' (invariant global mediump float)
-0:163        Construct vec3 (temp lowp 3-component vector of float)
-0:163          'f13' (invariant global mediump float)
-0:167  Function Definition: fgfg(f1;i1; (global mediump int)
-0:167    Function Parameters: 
-0:167      'f' (in mediump float)
-0:167      'i' (in highp int)
-0:167    Sequence
-0:167      Branch: Return with expression
-0:167        Constant:
-0:167          2 (const int)
-0:173  Function Definition: gggf(f1; (global mediump int)
-0:173    Function Parameters: 
-0:173      'f' (in mediump float)
-0:173    Sequence
-0:173      Branch: Return with expression
-0:173        Constant:
-0:173          2 (const int)
-0:175  Function Definition: agggf(f1; (global mediump int)
-0:175    Function Parameters: 
-0:175      'f' (in mediump float)
-0:175    Sequence
-0:175      Branch: Return with expression
-0:175        Constant:
-0:175          2 (const int)
-0:187  Function Definition: badswizzle( (global void)
-0:187    Function Parameters: 
-0:?     Sequence
-0:190      'a' (temp 5-element array of mediump 3-component vector of float)
-0:191      'a' (temp 5-element array of mediump 3-component vector of float)
-0:192      'a' (temp 5-element array of mediump 3-component vector of float)
-0:193      Constant:
-0:193        5 (const int)
-0:194      Constant:
-0:194        0.000000
-0:199  Function Definition: fooinittest( (global mediump float)
-0:199    Function Parameters: 
-0:201    Sequence
-0:201      Branch: Return with expression
-0:201        Function Call: fooinit( (global mediump float)
-0:209  Function Definition: fooinit( (global mediump float)
-0:209    Function Parameters: 
-0:211    Sequence
-0:211      Branch: Return with expression
-0:211        Constant:
-0:211          12.000000
 0:214  Sequence
 0:214    move second child to first child (temp mediump int)
 0:214      'init1' (global mediump int)

+ 0 - 4
3rdparty/glslang/Test/baseResults/100LimitsConf.vert.out

@@ -22,7 +22,3 @@ ERROR: 0:65: 'limitations' : Non-constant-index-expression
 ERROR: 20 compilation errors.  No code generated.
 
 
-
-Linked vertex stage:
-
-

+ 2 - 14
3rdparty/glslang/Test/baseResults/100scope.vert.out

@@ -128,6 +128,8 @@ ERROR: node is still EOpNull!
 
 Linked vertex stage:
 
+ERROR: Linking vertex stage: No function definition (body) found: 
+    g(
 
 Shader version: 100
 ERROR: node is still EOpNull!
@@ -148,20 +150,6 @@ ERROR: node is still EOpNull!
 0:8                1.000000
 0:11      Branch: Return with expression
 0:11        'a' (in highp int)
-0:25  Function Definition: cos(f1; (global highp float)
-0:25    Function Parameters: 
-0:25      'x' (in highp float)
-0:27    Sequence
-0:27      Branch: Return with expression
-0:27        Constant:
-0:27          1.000000
-0:29  Function Definition: radians(b1; (global bool)
-0:29    Function Parameters: 
-0:29      'x' (in bool)
-0:31    Sequence
-0:31      Branch: Return with expression
-0:31        Constant:
-0:31          true (const bool)
 0:36  Function Definition: main( (global void)
 0:36    Function Parameters: 
 0:?     Sequence

+ 5 - 16
3rdparty/glslang/Test/baseResults/110scope.vert.out

@@ -1,9 +1,8 @@
 110scope.vert
 ERROR: 0:5: 'a' : redefinition 
-ERROR: 0:34: 'f' : can't call user function from global scope 
 ERROR: 0:57: 'z' : undeclared identifier 
 ERROR: 0:57: 'z' : redefinition 
-ERROR: 4 compilation errors.  No code generated.
+ERROR: 3 compilation errors.  No code generated.
 
 
 Shader version: 110
@@ -131,6 +130,10 @@ ERROR: node is still EOpNull!
 
 Linked vertex stage:
 
+ERROR: Linking vertex stage: No function definition (body) found: 
+    sin(f1;
+ERROR: Linking vertex stage: No function definition (body) found: 
+    g(
 
 Shader version: 110
 ERROR: node is still EOpNull!
@@ -151,20 +154,6 @@ ERROR: node is still EOpNull!
 0:8                1.000000
 0:11      Branch: Return with expression
 0:11        'a' (in int)
-0:25  Function Definition: cos(f1; (global float)
-0:25    Function Parameters: 
-0:25      'x' (in float)
-0:27    Sequence
-0:27      Branch: Return with expression
-0:27        Constant:
-0:27          1.000000
-0:29  Function Definition: radians(b1; (global bool)
-0:29    Function Parameters: 
-0:29      'x' (in bool)
-0:31    Sequence
-0:31      Branch: Return with expression
-0:31        Constant:
-0:31          true (const bool)
 0:34  Sequence
 0:34    move second child to first child (temp int)
 0:34      'gi' (global int)

+ 0 - 528
3rdparty/glslang/Test/baseResults/120.frag.out

@@ -630,537 +630,9 @@ Shader version: 120
 Requested GL_ARB_shader_texture_lod
 Requested GL_ARB_texture_rectangle
 ERROR: node is still EOpNull!
-0:21  Function Definition: main( (global void)
-0:21    Function Parameters: 
-0:23    Sequence
-0:23      Sequence
-0:23        move second child to first child (temp 2X3 matrix of float)
-0:23          'm23' (temp 2X3 matrix of float)
-0:23          Construct mat2x3 (temp 2X3 matrix of float)
-0:23            'm' (uniform 4X2 matrix of float)
-0:27      Sequence
-0:27        move second child to first child (temp structure{global float f})
-0:27          'sv' (temp structure{global float f})
-0:27          Construct structure (temp structure{global float f})
-0:27            Convert int to float (temp float)
-0:27              'a' (temp int)
-0:28      Sequence
-0:28        move second child to first child (temp 2-element array of float)
-0:28          'ia' (temp 2-element array of float)
-0:28          Construct float (temp 2-element array of float)
-0:28            Constant:
-0:28              3.000000
-0:28            direct index (temp float)
-0:28              'i' (smooth in 4-component vector of float)
-0:28              Constant:
-0:28                1 (const int)
-0:29      Sequence
-0:29        move second child to first child (temp float)
-0:29          'f1' (temp float)
-0:29          Constant:
-0:29            1.000000
-0:30      Sequence
-0:30        move second child to first child (temp float)
-0:30          'f' (temp float)
-0:30          Convert int to float (temp float)
-0:30            'a' (temp int)
-0:31      move second child to first child (temp float)
-0:31        'f' (temp float)
-0:31        Convert int to float (temp float)
-0:31          'a' (temp int)
-0:33      Sequence
-0:33        move second child to first child (temp 3-component vector of float)
-0:33          'v3' (temp 3-component vector of float)
-0:33          Convert int to float (temp 3-component vector of float)
-0:33            'iv3' (temp 3-component vector of int)
-0:34      move second child to first child (temp float)
-0:34        'f' (temp float)
-0:34        add (temp float)
-0:34          'f' (temp float)
-0:34          Convert int to float (temp float)
-0:34            'a' (temp int)
-0:35      move second child to first child (temp float)
-0:35        'f' (temp float)
-0:35        subtract (temp float)
-0:35          Convert int to float (temp float)
-0:35            'a' (temp int)
-0:35          'f' (temp float)
-0:36      add second child into first child (temp float)
-0:36        'f' (temp float)
-0:36        Convert int to float (temp float)
-0:36          'a' (temp int)
-0:37      move second child to first child (temp float)
-0:37        'f' (temp float)
-0:37        subtract (temp float)
-0:37          Convert int to float (temp float)
-0:37            'a' (temp int)
-0:37          'f' (temp float)
-0:38      multiply second child into first child (temp 3-component vector of float)
-0:38        'v3' (temp 3-component vector of float)
-0:38        Convert int to float (temp 3-component vector of float)
-0:38          'iv3' (temp 3-component vector of int)
-0:39      move second child to first child (temp 3-component vector of float)
-0:39        'v3' (temp 3-component vector of float)
-0:39        divide (temp 3-component vector of float)
-0:39          Convert int to float (temp 3-component vector of float)
-0:39            'iv3' (temp 3-component vector of int)
-0:39          Constant:
-0:39            2.000000
-0:40      move second child to first child (temp 3-component vector of float)
-0:40        'v3' (temp 3-component vector of float)
-0:40        vector-scale (temp 3-component vector of float)
-0:40          Constant:
-0:40            3.000000
-0:40          Convert int to float (temp 3-component vector of float)
-0:40            'iv3' (temp 3-component vector of int)
-0:41      move second child to first child (temp 3-component vector of float)
-0:41        'v3' (temp 3-component vector of float)
-0:41        vector-scale (temp 3-component vector of float)
-0:41          Constant:
-0:41            2.000000
-0:41          'v3' (temp 3-component vector of float)
-0:42      move second child to first child (temp 3-component vector of float)
-0:42        'v3' (temp 3-component vector of float)
-0:42        subtract (temp 3-component vector of float)
-0:42          'v3' (temp 3-component vector of float)
-0:42          Constant:
-0:42            2.000000
-0:43      Test condition and select (temp void)
-0:43        Condition
-0:47        logical-or (temp bool)
-0:46          logical-or (temp bool)
-0:45            logical-or (temp bool)
-0:44              logical-or (temp bool)
-0:43                logical-or (temp bool)
-0:43                  Compare Less Than (temp bool)
-0:43                    'f' (temp float)
-0:43                    Convert int to float (temp float)
-0:43                      'a' (temp int)
-0:44                  Compare Less Than or Equal (temp bool)
-0:44                    Convert int to float (temp float)
-0:44                      'a' (temp int)
-0:44                    'f' (temp float)
-0:45                Compare Greater Than (temp bool)
-0:45                  'f' (temp float)
-0:45                  Convert int to float (temp float)
-0:45                    'a' (temp int)
-0:46              Compare Greater Than or Equal (temp bool)
-0:46                'f' (temp float)
-0:46                Convert int to float (temp float)
-0:46                  'a' (temp int)
-0:47            Compare Equal (temp bool)
-0:47              Convert int to float (temp float)
-0:47                'a' (temp int)
-0:47              'f' (temp float)
-0:48          Compare Not Equal (temp bool)
-0:48            'f' (temp float)
-0:48            Convert int to float (temp float)
-0:48              'a' (temp int)
-0:43        true case is null
-0:49      move second child to first child (temp float)
-0:49        'f' (temp float)
-0:49        Test condition and select (temp float)
-0:49          Condition
-0:49          'b' (temp bool)
-0:49          true case
-0:49          Convert int to float (temp float)
-0:49            'a' (temp int)
-0:49          false case
-0:49          'f' (temp float)
-0:50      move second child to first child (temp float)
-0:50        'f' (temp float)
-0:50        Test condition and select (temp float)
-0:50          Condition
-0:50          'b' (temp bool)
-0:50          true case
-0:50          'f' (temp float)
-0:50          false case
-0:50          Convert int to float (temp float)
-0:50            'a' (temp int)
-0:51      move second child to first child (temp float)
-0:51        'f' (temp float)
-0:51        Convert int to float (temp float)
-0:51          Test condition and select (temp int)
-0:51            Condition
-0:51            'b' (temp bool)
-0:51            true case
-0:51            'a' (temp int)
-0:51            false case
-0:51            'a' (temp int)
-0:52      Sequence
-0:52        move second child to first child (temp structure{global float f})
-0:52          'news' (temp structure{global float f})
-0:52          'sv' (temp structure{global float f})
-0:54      vector swizzle (temp 2-component vector of float)
-0:54        'i' (smooth in 4-component vector of float)
-0:54        Sequence
-0:54          Constant:
-0:54            0 (const int)
-0:54          Constant:
-0:54            1 (const int)
-0:55      'm' (uniform 4X2 matrix of float)
-0:56      'm' (uniform 4X2 matrix of float)
-0:58      'f' (temp float)
-0:59      move second child to first child (temp float)
-0:59        'f' (temp float)
-0:59        Convert int to float (temp float)
-0:59          'a' (temp int)
-0:60      'f' (temp float)
-0:61      'b' (temp bool)
-0:62      move second child to first child (temp bool)
-0:62        'b' (temp bool)
-0:62        'b' (temp bool)
-0:63      'f' (temp float)
-0:65      move second child to first child (temp 4-component vector of float)
-0:65        'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:65        texture (global 4-component vector of float)
-0:65          's2D' (uniform sampler2D)
-0:65          'centTexCoord' (centroid smooth in 2-component vector of float)
-0:?       Sequence
-0:79        'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:82      direct index (temp float)
-0:82        'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:82        Constant:
-0:82          0 (const int)
-0:83      direct index (temp float)
-0:83        'gl_FragColor' (fragColor 4-component vector of float FragColor)
-0:83        Constant:
-0:83          0 (const int)
-0:84      direct index (temp float)
-0:84        'centTexCoord' (centroid smooth in 2-component vector of float)
-0:84        Constant:
-0:84          0 (const int)
-0:85      move second child to first child (temp bool)
-0:85        Comma (temp bool)
-0:85          'a' (temp int)
-0:85          'b' (temp bool)
-0:85        Constant:
-0:85          true (const bool)
-0:91  Function Definition: main( (global int)
-0:91    Function Parameters: 
 0:92  Function Definition: main(i1; (global void)
 0:92    Function Parameters: 
 0:92      'a' (in int)
-0:97  Function Definition: foo(f1; (global int)
-0:97    Function Parameters: 
-0:97      'a' (out float)
-0:99    Sequence
-0:99      Branch: Return with expression
-0:99        Constant:
-0:99          3.200000
-0:100      Function Call: foo(f1; (global int)
-0:100        'a' (out float)
-0:103  Function Definition: gen(vf3; (global bool)
-0:103    Function Parameters: 
-0:103      'v' (in 3-component vector of float)
-0:105    Sequence
-0:105      Test condition and select (temp void)
-0:105        Condition
-0:105        logical-and (temp bool)
-0:105          Compare Less Than (temp bool)
-0:105            Absolute value (global float)
-0:105              direct index (temp float)
-0:105                'v' (in 3-component vector of float)
-0:105                Constant:
-0:105                  0 (const int)
-0:105            Constant:
-0:105              0.000100
-0:105          Compare Less Than (temp bool)
-0:105            Absolute value (global float)
-0:105              direct index (temp float)
-0:105                'v' (in 3-component vector of float)
-0:105                Constant:
-0:105                  1 (const int)
-0:105            Constant:
-0:105              0.000100
-0:105        true case
-0:106        Branch: Return with expression
-0:106          Constant:
-0:106            true (const bool)
-0:109  Function Definition: v1( (global void)
-0:109    Function Parameters: 
-0:113  Function Definition: v2( (global void)
-0:113    Function Parameters: 
-0:115    Sequence
-0:115      Branch: Return
-0:118  Function Definition: atest( (global void)
-0:118    Function Parameters: 
-0:120    Sequence
-0:120      Sequence
-0:120        move second child to first child (temp 4-component vector of float)
-0:120          'v' (temp 4-component vector of float)
-0:120          direct index (smooth temp 4-component vector of float TexCoord)
-0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:120            Constant:
-0:120              1 (const int)
-0:121      add second child into first child (temp 4-component vector of float)
-0:121        'v' (temp 4-component vector of float)
-0:121        direct index (smooth temp 4-component vector of float TexCoord)
-0:121          'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:121          Constant:
-0:121            3 (const int)
-0:139  Function Definition: foo123( (global void)
-0:139    Function Parameters: 
-0:141    Sequence
-0:141      Sequence
-0:141        move second child to first child (temp 2X2 matrix of float)
-0:141          'r2' (temp 2X2 matrix of float)
-0:141          component-wise multiply (global 2X2 matrix of float)
-0:141            'm22' (global 2X2 matrix of float)
-0:141            'm22' (global 2X2 matrix of float)
-0:142      Sequence
-0:142        move second child to first child (temp 3X3 matrix of float)
-0:142          'r3' (temp 3X3 matrix of float)
-0:142          component-wise multiply (global 3X3 matrix of float)
-0:142            'm33' (global 3X3 matrix of float)
-0:142            'm33' (global 3X3 matrix of float)
-0:143      Sequence
-0:143        move second child to first child (temp 4X4 matrix of float)
-0:143          'r4' (temp 4X4 matrix of float)
-0:143          component-wise multiply (global 4X4 matrix of float)
-0:143            'm44' (global 4X4 matrix of float)
-0:143            'm44' (global 4X4 matrix of float)
-0:145      Sequence
-0:145        move second child to first child (temp 2X3 matrix of float)
-0:145          'r23' (temp 2X3 matrix of float)
-0:145          component-wise multiply (global 2X3 matrix of float)
-0:145            'm23' (global 2X3 matrix of float)
-0:145            'm23' (global 2X3 matrix of float)
-0:146      Sequence
-0:146        move second child to first child (temp 2X4 matrix of float)
-0:146          'r24' (temp 2X4 matrix of float)
-0:146          component-wise multiply (global 2X4 matrix of float)
-0:146            'm24' (global 2X4 matrix of float)
-0:146            'm24' (global 2X4 matrix of float)
-0:147      Sequence
-0:147        move second child to first child (temp 3X2 matrix of float)
-0:147          'r32' (temp 3X2 matrix of float)
-0:147          component-wise multiply (global 3X2 matrix of float)
-0:147            'm32' (global 3X2 matrix of float)
-0:147            'm32' (global 3X2 matrix of float)
-0:148      Sequence
-0:148        move second child to first child (temp 3X4 matrix of float)
-0:148          'r34' (temp 3X4 matrix of float)
-0:148          component-wise multiply (global 3X4 matrix of float)
-0:148            'm34' (global 3X4 matrix of float)
-0:148            'm34' (global 3X4 matrix of float)
-0:149      Sequence
-0:149        move second child to first child (temp 4X2 matrix of float)
-0:149          'r42' (temp 4X2 matrix of float)
-0:149          component-wise multiply (global 4X2 matrix of float)
-0:149            'm42' (global 4X2 matrix of float)
-0:149            'm42' (global 4X2 matrix of float)
-0:150      Sequence
-0:150        move second child to first child (temp 4X3 matrix of float)
-0:150          'r43' (temp 4X3 matrix of float)
-0:150          component-wise multiply (global 4X3 matrix of float)
-0:150            'm43' (global 4X3 matrix of float)
-0:150            'm43' (global 4X3 matrix of float)
-0:156  Function Definition: matConst( (global void)
-0:156    Function Parameters: 
-0:?     Sequence
-0:162      Sequence
-0:162        move second child to first child (temp 4X4 matrix of float)
-0:162          'm4g' (temp 4X4 matrix of float)
-0:162          Construct mat4 (temp 4X4 matrix of float)
-0:162            'v2' (temp 2-component vector of float)
-0:162            'v3' (temp 3-component vector of float)
-0:162            'v3' (temp 3-component vector of float)
-0:162            'v3' (temp 3-component vector of float)
-0:162            'v3' (temp 3-component vector of float)
-0:162            'v3' (temp 3-component vector of float)
-0:163      Sequence
-0:163        move second child to first child (temp 4X4 matrix of float)
-0:163          'm4' (temp 4X4 matrix of float)
-0:163          Construct mat4 (temp 4X4 matrix of float)
-0:163            'v2' (temp 2-component vector of float)
-0:163            'v3' (temp 3-component vector of float)
-0:163            'v3' (temp 3-component vector of float)
-0:163            'v3' (temp 3-component vector of float)
-0:163            'v3' (temp 3-component vector of float)
-0:163            'v2' (temp 2-component vector of float)
-0:164      Sequence
-0:164        move second child to first child (temp 3X3 matrix of float)
-0:164          'm3' (temp 3X3 matrix of float)
-0:164          Construct mat3 (temp 3X3 matrix of float)
-0:164            'm4' (temp 4X4 matrix of float)
-0:165      Sequence
-0:165        move second child to first child (temp 3X3 matrix of float)
-0:165          'm3b1' (temp 3X3 matrix of float)
-0:165          Construct mat3 (temp 3X3 matrix of float)
-0:165            'm4' (temp 4X4 matrix of float)
-0:165            'v2' (temp 2-component vector of float)
-0:166      Sequence
-0:166        move second child to first child (temp 3X3 matrix of float)
-0:166          'm3b2' (temp 3X3 matrix of float)
-0:166          Construct mat3 (temp 3X3 matrix of float)
-0:166            'm4' (temp 4X4 matrix of float)
-0:166            'm4' (temp 4X4 matrix of float)
-0:167      Sequence
-0:167        move second child to first child (temp 3X2 matrix of float)
-0:167          'm32' (temp 3X2 matrix of float)
-0:167          Construct mat3x2 (temp 3X2 matrix of float)
-0:167            'm4' (temp 4X4 matrix of float)
-0:168      Sequence
-0:168        move second child to first child (temp 4X4 matrix of float)
-0:168          'm4c' (temp 4X4 matrix of float)
-0:168          Construct mat4 (temp 4X4 matrix of float)
-0:168            'm32' (temp 3X2 matrix of float)
-0:169      Sequence
-0:169        move second child to first child (temp 3X3 matrix of float)
-0:169          'm3s' (temp 3X3 matrix of float)
-0:169          Construct mat3 (temp 3X3 matrix of float)
-0:169            direct index (temp float)
-0:169              'v2' (temp 2-component vector of float)
-0:169              Constant:
-0:169                0 (const int)
-0:171      Sequence
-0:171        move second child to first child (temp 2-element array of 3X3 matrix of float)
-0:171          'm3a1' (temp 2-element array of 3X3 matrix of float)
-0:171          Construct mat3 (temp 2-element array of 3X3 matrix of float)
-0:171            'm3s' (temp 3X3 matrix of float)
-0:171            'm3s' (temp 3X3 matrix of float)
-0:179  Function Definition: foo2323( (global void)
-0:179    Function Parameters: 
-0:?     Sequence
-0:184      move second child to first child (temp 4-component vector of float)
-0:184        'v' (temp 4-component vector of float)
-0:184        textureLod (global 4-component vector of float)
-0:184          's2D' (uniform sampler2D)
-0:184          'v2' (temp 2-component vector of float)
-0:184          'f' (temp float)
-0:185      move second child to first child (temp 4-component vector of float)
-0:185        'v' (temp 4-component vector of float)
-0:185        textureProjLod (global 4-component vector of float)
-0:185          's3D' (uniform sampler3D)
-0:185          'v' (temp 4-component vector of float)
-0:185          'f' (temp float)
-0:186      move second child to first child (temp 4-component vector of float)
-0:186        'v' (temp 4-component vector of float)
-0:186        textureProjLod (global 4-component vector of float)
-0:186          's1D' (uniform sampler1D)
-0:186          'v' (temp 4-component vector of float)
-0:186          'f' (temp float)
-0:187      move second child to first child (temp 4-component vector of float)
-0:187        'v' (temp 4-component vector of float)
-0:187        textureProjLod (global 4-component vector of float)
-0:187          's2DS' (uniform sampler2DShadow)
-0:187          'v' (temp 4-component vector of float)
-0:187          'f' (temp float)
-0:189      move second child to first child (temp 4-component vector of float)
-0:189        'v' (temp 4-component vector of float)
-0:189        textureGrad (global 4-component vector of float)
-0:189          's1D' (uniform sampler1D)
-0:189          'f' (temp float)
-0:189          'f' (temp float)
-0:189          'f' (temp float)
-0:190      move second child to first child (temp 4-component vector of float)
-0:190        'v' (temp 4-component vector of float)
-0:190        textureProjGrad (global 4-component vector of float)
-0:190          's2D' (uniform sampler2D)
-0:190          'v' (temp 4-component vector of float)
-0:190          'v2' (temp 2-component vector of float)
-0:190          'v2' (temp 2-component vector of float)
-0:191      move second child to first child (temp 4-component vector of float)
-0:191        'v' (temp 4-component vector of float)
-0:191        textureProjGrad (global 4-component vector of float)
-0:191          's2DS' (uniform sampler2DShadow)
-0:191          'v' (temp 4-component vector of float)
-0:191          'v2' (temp 2-component vector of float)
-0:191          'v2' (temp 2-component vector of float)
-0:196  Function Definition: foo2324( (global void)
-0:196    Function Parameters: 
-0:?     Sequence
-0:201      move second child to first child (temp 4-component vector of float)
-0:201        'v' (temp 4-component vector of float)
-0:201        textureLod (global 4-component vector of float)
-0:201          's2D' (uniform sampler2D)
-0:201          'v2' (temp 2-component vector of float)
-0:201          'f' (temp float)
-0:202      move second child to first child (temp 4-component vector of float)
-0:202        'v' (temp 4-component vector of float)
-0:202        textureProjLod (global 4-component vector of float)
-0:202          's3D' (uniform sampler3D)
-0:202          'v' (temp 4-component vector of float)
-0:202          'f' (temp float)
-0:203      move second child to first child (temp 4-component vector of float)
-0:203        'v' (temp 4-component vector of float)
-0:203        textureProjLod (global 4-component vector of float)
-0:203          's1D' (uniform sampler1D)
-0:203          'v' (temp 4-component vector of float)
-0:203          'f' (temp float)
-0:204      move second child to first child (temp 4-component vector of float)
-0:204        'v' (temp 4-component vector of float)
-0:204        textureProjLod (global 4-component vector of float)
-0:204          's2DS' (uniform sampler2DShadow)
-0:204          'v' (temp 4-component vector of float)
-0:204          'f' (temp float)
-0:206      move second child to first child (temp 4-component vector of float)
-0:206        'v' (temp 4-component vector of float)
-0:206        textureGrad (global 4-component vector of float)
-0:206          's1D' (uniform sampler1D)
-0:206          'f' (temp float)
-0:206          'f' (temp float)
-0:206          'f' (temp float)
-0:207      move second child to first child (temp 4-component vector of float)
-0:207        'v' (temp 4-component vector of float)
-0:207        textureProjGrad (global 4-component vector of float)
-0:207          's2D' (uniform sampler2D)
-0:207          'v' (temp 4-component vector of float)
-0:207          'v2' (temp 2-component vector of float)
-0:207          'v2' (temp 2-component vector of float)
-0:208      move second child to first child (temp 4-component vector of float)
-0:208        'v' (temp 4-component vector of float)
-0:208        textureProjGrad (global 4-component vector of float)
-0:208          's2DS' (uniform sampler2DShadow)
-0:208          'v' (temp 4-component vector of float)
-0:208          'v2' (temp 2-component vector of float)
-0:208          'v2' (temp 2-component vector of float)
-0:209      'v' (temp 4-component vector of float)
-0:214  Function Definition: foo121111( (global void)
-0:214    Function Parameters: 
-0:?     Sequence
-0:217      Sequence
-0:217        move second child to first child (temp 4-component vector of float)
-0:217          'v' (temp 4-component vector of float)
-0:217          texture (global 4-component vector of float)
-0:217            's2DRbad' (uniform sampler2DRect)
-0:217            'v2' (temp 2-component vector of float)
-0:225  Function Definition: foo12111( (global void)
-0:225    Function Parameters: 
-0:?     Sequence
-0:231      move second child to first child (temp 4-component vector of float)
-0:231        'v' (temp 4-component vector of float)
-0:231        texture (global 4-component vector of float)
-0:231          's2DR' (uniform sampler2DRect)
-0:231          'v2' (temp 2-component vector of float)
-0:232      move second child to first child (temp 4-component vector of float)
-0:232        'v' (temp 4-component vector of float)
-0:232        textureProj (global 4-component vector of float)
-0:232          's2DR' (uniform sampler2DRect)
-0:232          'v3' (temp 3-component vector of float)
-0:233      move second child to first child (temp 4-component vector of float)
-0:233        'v' (temp 4-component vector of float)
-0:233        textureProj (global 4-component vector of float)
-0:233          's2DR' (uniform sampler2DRect)
-0:233          'v4' (temp 4-component vector of float)
-0:234      move second child to first child (temp 4-component vector of float)
-0:234        'v' (temp 4-component vector of float)
-0:234        texture (global 4-component vector of float)
-0:234          's2DRS' (uniform sampler2DRectShadow)
-0:234          'v3' (temp 3-component vector of float)
-0:235      move second child to first child (temp 4-component vector of float)
-0:235        'v' (temp 4-component vector of float)
-0:235        textureProj (global 4-component vector of float)
-0:235          's2DRS' (uniform sampler2DRectShadow)
-0:235          'v4' (temp 4-component vector of float)
-0:237      move second child to first child (temp 4-component vector of float)
-0:237        'v' (temp 4-component vector of float)
-0:237        textureProjGrad (global 4-component vector of float)
-0:237          's2DRS' (uniform sampler2DRectShadow)
-0:237          'v' (temp 4-component vector of float)
-0:237          'v2' (temp 2-component vector of float)
-0:237          'v2' (temp 2-component vector of float)
 0:?   Linker Objects
 0:?     'lowp' (global float)
 0:?     'mediump' (global float)

+ 0 - 279
3rdparty/glslang/Test/baseResults/120.vert.out

@@ -480,285 +480,6 @@ ERROR: node is still EOpNull!
 0:43        'gl_PointSize' (invariant gl_PointSize float PointSize)
 0:43        Constant:
 0:43          3.800000
-0:61  Function Definition: overloadB(f1;f1; (global void)
-0:61    Function Parameters: 
-0:61      '' (in float)
-0:61      '' (const (read only) float)
-0:78  Function Definition: foo( (global void)
-0:78    Function Parameters: 
-0:?     Sequence
-0:83      Function Call: overloadB(f1;f1; (global void)
-0:83        'f' (temp float)
-0:83        'f' (temp float)
-0:84      Function Call: overloadB(f1;f1; (global void)
-0:84        'f' (temp float)
-0:84        Constant:
-0:84          2.000000
-0:85      Function Call: overloadB(f1;f1; (global void)
-0:85        Constant:
-0:85          1.000000
-0:85        Convert int to float (temp float)
-0:85          'i' (temp int)
-0:87      Constant:
-0:87        0.000000
-0:88      Function Call: overloadC(i1;i1; (global 2-component vector of float)
-0:88        Constant:
-0:88          1 (const int)
-0:88        'i' (temp int)
-0:89      Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
-0:89        Constant:
-0:89          1.000000
-0:89          1.000000
-0:89        Constant:
-0:89          2.000000
-0:89          2.000000
-0:90      Constant:
-0:90        0.000000
-0:91      Function Call: overloadC(vf2;vf2; (global 2-component vector of float)
-0:91        Constant:
-0:91          1.000000
-0:91          1.000000
-0:91        Constant:
-0:91          2.000000
-0:91          2.000000
-0:93      Function Call: overloadD(i1;f1; (global 3-component vector of float)
-0:93        'i' (temp int)
-0:93        'f' (temp float)
-0:94      Function Call: overloadD(f1;i1; (global 3-component vector of float)
-0:94        'f' (temp float)
-0:94        'i' (temp int)
-0:95      Function Call: overloadD(f1;i1; (global 3-component vector of float)
-0:95        Convert int to float (temp float)
-0:95          'i' (temp int)
-0:95        'i' (temp int)
-0:98      Constant:
-0:98        0.000000
-0:100      Constant:
-0:100        0.841471
-0:101      texture (global 4-component vector of float)
-0:101        's2D' (uniform sampler2D)
-0:101        Constant:
-0:101          0.000000
-0:101          0.000000
-0:102      clamp (global 4-component vector of float)
-0:102        'attv4' (in 4-component vector of float)
-0:102        Constant:
-0:102          0.000000
-0:102        Constant:
-0:102          1.000000
-0:103      clamp (global 4-component vector of float)
-0:103        Convert int to float (temp 4-component vector of float)
-0:103          Convert float to int (temp 4-component vector of int)
-0:103            'attv4' (in 4-component vector of float)
-0:103        Constant:
-0:103          0.000000
-0:103        Constant:
-0:103          1.000000
-0:106      Constant:
-0:106        0.000000
-0:107      Constant:
-0:107        0.000000
-0:108      Constant:
-0:108        0.000000
-0:109      Function Call: overloadE(vf2; (global 3-component vector of float)
-0:109        Constant:
-0:109          3.300000
-0:109          3.300000
-0:110      Function Call: overloadE(mf22; (global 3-component vector of float)
-0:110        Constant:
-0:110          0.500000
-0:110          0.000000
-0:110          0.000000
-0:110          0.500000
-0:111      Constant:
-0:111        0.000000
-0:112      Function Call: overloadE(vf2; (global 3-component vector of float)
-0:112        Constant:
-0:112          1.000000
-0:112          1.000000
-0:115      Function Call: overloadE(f1[2]; (global 3-component vector of float)
-0:115        'b' (temp 2-element array of float)
-0:117      Constant:
-0:117        0.000000
-0:118      Function Call: overloadF(i1; (global 3-component vector of float)
-0:118        Constant:
-0:118          1 (const int)
-0:128  Function Definition: foo2( (global void)
-0:128    Function Parameters: 
-0:?     Sequence
-0:135      Comma (global void)
-0:135        Function Call: outFun(f1;vi2;i1;f1; (global void)
-0:135          Convert int to float (temp float)
-0:135            'i' (temp int)
-0:135          'tempArg' (temp 2-component vector of int)
-0:135          'i' (temp int)
-0:135          'f' (temp float)
-0:135        move second child to first child (temp 2-component vector of float)
-0:135          'v2' (temp 2-component vector of float)
-0:135          Convert int to float (temp 2-component vector of float)
-0:135            'tempArg' (temp 2-component vector of int)
-0:136      Comma (global int)
-0:136        move second child to first child (temp int)
-0:136          'tempReturn' (global int)
-0:136          Function Call: outFunRet(f1;i1;i1;vi4; (global int)
-0:136            Convert int to float (temp float)
-0:136              'i' (temp int)
-0:136            'tempArg' (temp int)
-0:136            'i' (temp int)
-0:136            'tempArg' (temp 4-component vector of int)
-0:136        move second child to first child (temp float)
-0:136          'f' (temp float)
-0:136          Convert int to float (temp float)
-0:136            'tempArg' (temp int)
-0:136        move second child to first child (temp 4-component vector of float)
-0:136          'v4' (temp 4-component vector of float)
-0:136          Convert int to float (temp 4-component vector of float)
-0:136            'tempArg' (temp 4-component vector of int)
-0:136        'tempReturn' (global int)
-0:137      Sequence
-0:137        move second child to first child (temp float)
-0:137          'ret' (temp float)
-0:137          Convert int to float (temp float)
-0:137            Comma (global int)
-0:137              move second child to first child (temp int)
-0:137                'tempReturn' (global int)
-0:137                Function Call: outFunRet(f1;i1;i1;vi4; (global int)
-0:137                  Convert int to float (temp float)
-0:137                    'i' (temp int)
-0:137                  'tempArg' (temp int)
-0:137                  'i' (temp int)
-0:137                  'tempArg' (temp 4-component vector of int)
-0:137              move second child to first child (temp float)
-0:137                'f' (temp float)
-0:137                Convert int to float (temp float)
-0:137                  'tempArg' (temp int)
-0:137              move second child to first child (temp 4-component vector of float)
-0:137                'v4' (temp 4-component vector of float)
-0:137                Convert int to float (temp 4-component vector of float)
-0:137                  'tempArg' (temp 4-component vector of int)
-0:137              'tempReturn' (global int)
-0:138      Sequence
-0:138        move second child to first child (temp 2-component vector of float)
-0:138          'ret2' (temp 2-component vector of float)
-0:138          Convert int to float (temp 2-component vector of float)
-0:138            Comma (global 2-component vector of int)
-0:138              move second child to first child (temp 2-component vector of int)
-0:138                'tempReturn' (global 2-component vector of int)
-0:138                Function Call: outFunRet(f1;vi4;i1;vi4; (global 2-component vector of int)
-0:138                  Convert int to float (temp float)
-0:138                    'i' (temp int)
-0:138                  'tempArg' (temp 4-component vector of int)
-0:138                  'i' (temp int)
-0:138                  'tempArg' (temp 4-component vector of int)
-0:138              move second child to first child (temp 4-component vector of float)
-0:138                'v4' (temp 4-component vector of float)
-0:138                Convert int to float (temp 4-component vector of float)
-0:138                  'tempArg' (temp 4-component vector of int)
-0:138              move second child to first child (temp 4-component vector of float)
-0:138                'v4' (temp 4-component vector of float)
-0:138                Convert int to float (temp 4-component vector of float)
-0:138                  'tempArg' (temp 4-component vector of int)
-0:138              'tempReturn' (global 2-component vector of int)
-0:139      Sequence
-0:139        move second child to first child (temp bool)
-0:139          'b' (temp bool)
-0:139          any (global bool)
-0:139            Compare Less Than (global 4-component vector of bool)
-0:139              'v4' (temp 4-component vector of float)
-0:139              'attv4' (in 4-component vector of float)
-0:142  Function Definition: noise( (global void)
-0:142    Function Parameters: 
-0:144    Sequence
-0:144      Sequence
-0:144        move second child to first child (temp float)
-0:144          'f1' (temp float)
-0:144          noise (global float)
-0:144            Constant:
-0:144              1.000000
-0:145      Sequence
-0:145        move second child to first child (temp 2-component vector of float)
-0:145          'f2' (temp 2-component vector of float)
-0:145          noise (global 2-component vector of float)
-0:145            Constant:
-0:145              1.000000
-0:145              1.000000
-0:146      Sequence
-0:146        move second child to first child (temp 3-component vector of float)
-0:146          'f3' (temp 3-component vector of float)
-0:146          noise (global 3-component vector of float)
-0:146            Constant:
-0:146              1.000000
-0:146              1.000000
-0:146              1.000000
-0:147      Sequence
-0:147        move second child to first child (temp 4-component vector of float)
-0:147          'f4' (temp 4-component vector of float)
-0:147          noise (global 4-component vector of float)
-0:147            Constant:
-0:147              1.000000
-0:147              1.000000
-0:147              1.000000
-0:147              1.000000
-0:162  Function Definition: foo213( (global void)
-0:162    Function Parameters: 
-0:164    Sequence
-0:164      Sequence
-0:164        move second child to first child (temp float)
-0:164          'f' (temp float)
-0:164          Constant:
-0:164            3.000000
-0:165      switch
-0:165      condition
-0:165        'c' (uniform int)
-0:165      body
-0:165        Sequence
-0:166          case:  with expression
-0:166            Constant:
-0:166              1 (const int)
-0:?           Sequence
-0:167            move second child to first child (temp float)
-0:167              'f' (temp float)
-0:167              sine (global float)
-0:167                'f' (temp float)
-0:168            Branch: Break
-0:169          case:  with expression
-0:169            Constant:
-0:169              2 (const int)
-0:?           Sequence
-0:170            move second child to first child (temp float)
-0:170              'f' (temp float)
-0:170              component-wise multiply (temp float)
-0:170                'f' (temp float)
-0:170                'f' (temp float)
-0:171          default: 
-0:?           Sequence
-0:172            move second child to first child (temp float)
-0:172              'f' (temp float)
-0:172              Constant:
-0:172                3.000000
-0:176      inclusive-or (temp int)
-0:176        left-shift (temp int)
-0:176          'i' (temp int)
-0:176          Constant:
-0:176            3 (const int)
-0:176        Constant:
-0:176          69 (const int)
-0:180      Sequence
-0:180        move second child to first child (temp float)
-0:180          't' (temp float)
-0:180          Constant:
-0:180            0.000000
-0:186      Constant:
-0:186        0.000000
-0:188      Constant:
-0:188        0.000000
-0:189      Constant:
-0:189        0.000000
-0:192      move second child to first child (temp float)
-0:192        Constant:
-0:192          0.000000
-0:192        Constant:
-0:192          0.300000
 0:?   Linker Objects
 0:?     'i' (in 4-component vector of float)
 0:?     'o' (smooth out 4-component vector of float)

+ 0 - 320
3rdparty/glslang/Test/baseResults/130.frag.out

@@ -427,326 +427,6 @@ ERROR: node is still EOpNull!
 0:18            'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
 0:18            Constant:
 0:18              3 (const int)
-0:23  Function Definition: foo( (global void)
-0:23    Function Parameters: 
-0:25    Sequence
-0:25      Sequence
-0:25        move second child to first child (temp 4-component vector of float)
-0:25          's' (temp 4-component vector of float)
-0:25          textureGather (global 4-component vector of float)
-0:25            'sampC' (uniform samplerCube)
-0:25            Constant:
-0:25              0.200000
-0:25              0.200000
-0:25              0.200000
-0:30  Function Definition: bar( (global void)
-0:30    Function Parameters: 
-0:32    Sequence
-0:32      Sequence
-0:32        move second child to first child (temp 4-component vector of float)
-0:32          's' (temp 4-component vector of float)
-0:32          textureGather (global 4-component vector of float)
-0:32            'sampC' (uniform samplerCube)
-0:32            Constant:
-0:32              0.200000
-0:32              0.200000
-0:32              0.200000
-0:43  Function Definition: bar2( (global void)
-0:43    Function Parameters: 
-0:45    Sequence
-0:45      Sequence
-0:45        move second child to first child (temp 4-component vector of float)
-0:45          's' (temp 4-component vector of float)
-0:45          textureGather (global 4-component vector of float)
-0:45            'sampC' (uniform samplerCube)
-0:45            Constant:
-0:45              0.200000
-0:45              0.200000
-0:45              0.200000
-0:49      move second child to first child (temp 3-component vector of bool)
-0:49        'b3' (temp 3-component vector of bool)
-0:49        Compare Less Than (global 3-component vector of bool)
-0:49          'uv3' (temp 3-component vector of uint)
-0:49          'uv3' (temp 3-component vector of uint)
-0:50      move second child to first child (temp 3-component vector of bool)
-0:50        'b3' (temp 3-component vector of bool)
-0:50        Equal (global 3-component vector of bool)
-0:50          'uv3' (temp 3-component vector of uint)
-0:50          'uv3' (temp 3-component vector of uint)
-0:56      direct index (temp int)
-0:56        'a1' (temp 1-element array of int)
-0:56        Constant:
-0:56          0 (const int)
-0:57      direct index (temp int)
-0:57        'a2' (temp 1-element array of int)
-0:57        Constant:
-0:57          0 (const int)
-0:60      direct index (temp int)
-0:60        'a3' (temp 4-element array of int)
-0:60        Constant:
-0:60          3 (const int)
-0:61      Compare Not Equal (temp bool)
-0:61        'b3' (temp 3-component vector of bool)
-0:61        'b3' (temp 3-component vector of bool)
-0:62      Constant:
-0:62        false (const bool)
-0:63      Constant:
-0:63        false (const bool)
-0:64      Constant:
-0:64        false (const bool)
-0:65      Constant:
-0:65        true (const bool)
-0:66      Constant:
-0:66        false (const bool)
-0:77  Function Definition: bar23( (global void)
-0:77    Function Parameters: 
-0:?     Sequence
-0:80      's' (temp 4-component vector of float)
-0:81      move second child to first child (temp 4-component vector of float)
-0:81        's' (temp 4-component vector of float)
-0:81        textureGatherOffset (global 4-component vector of float)
-0:81          'samp2DR' (uniform sampler2DRect)
-0:81          Constant:
-0:81            0.300000
-0:81            0.300000
-0:81          Constant:
-0:81            1 (const int)
-0:81            1 (const int)
-0:82      move second child to first child (temp 4-component vector of float)
-0:82        's' (temp 4-component vector of float)
-0:82        textureGatherOffset (global 4-component vector of float)
-0:82          'samp2D' (uniform sampler2D)
-0:82          Constant:
-0:82            0.300000
-0:82            0.300000
-0:82          Constant:
-0:82            1 (const int)
-0:82            1 (const int)
-0:83      move second child to first child (temp 4-component vector of float)
-0:83        's' (temp 4-component vector of float)
-0:83        textureGatherOffset (global 4-component vector of float)
-0:83          'samp2DA' (uniform sampler2DArray)
-0:83          Constant:
-0:83            0.300000
-0:83            0.300000
-0:83            0.300000
-0:83          Constant:
-0:83            1 (const int)
-0:83            1 (const int)
-0:84      move second child to first child (temp 4-component vector of float)
-0:84        's' (temp 4-component vector of float)
-0:84        textureGatherOffset (global 4-component vector of float)
-0:84          'samp2DS' (uniform sampler2DShadow)
-0:84          Constant:
-0:84            0.300000
-0:84            0.300000
-0:84          Constant:
-0:84            1.300000
-0:84          Constant:
-0:84            1 (const int)
-0:84            1 (const int)
-0:85      move second child to first child (temp 4-component vector of float)
-0:85        's' (temp 4-component vector of float)
-0:85        textureGatherOffset (global 4-component vector of float)
-0:85          'samp2D' (uniform sampler2D)
-0:85          Constant:
-0:85            0.300000
-0:85            0.300000
-0:85          Constant:
-0:85            1 (const int)
-0:85            1 (const int)
-0:85          Constant:
-0:85            2 (const int)
-0:90  Function Definition: bar234( (global void)
-0:90    Function Parameters: 
-0:?     Sequence
-0:93      move second child to first child (temp 4-component vector of float)
-0:93        's' (temp 4-component vector of float)
-0:93        textureGatherOffset (global 4-component vector of float)
-0:93          'samp2D' (uniform sampler2D)
-0:93          Constant:
-0:93            0.300000
-0:93            0.300000
-0:93          Constant:
-0:93            1 (const int)
-0:93            1 (const int)
-0:94      move second child to first child (temp 4-component vector of float)
-0:94        's' (temp 4-component vector of float)
-0:94        textureGatherOffset (global 4-component vector of float)
-0:94          'samp2DA' (uniform sampler2DArray)
-0:94          Constant:
-0:94            0.300000
-0:94            0.300000
-0:94            0.300000
-0:94          Constant:
-0:94            1 (const int)
-0:94            1 (const int)
-0:95      move second child to first child (temp 4-component vector of float)
-0:95        's' (temp 4-component vector of float)
-0:95        textureGatherOffset (global 4-component vector of float)
-0:95          'samp2DR' (uniform sampler2DRect)
-0:95          Constant:
-0:95            0.300000
-0:95            0.300000
-0:95          Constant:
-0:95            1 (const int)
-0:95            1 (const int)
-0:96      move second child to first child (temp 4-component vector of float)
-0:96        's' (temp 4-component vector of float)
-0:96        textureGatherOffset (global 4-component vector of float)
-0:96          'samp2DS' (uniform sampler2DShadow)
-0:96          Constant:
-0:96            0.300000
-0:96            0.300000
-0:96          Constant:
-0:96            1.300000
-0:96          Constant:
-0:96            1 (const int)
-0:96            1 (const int)
-0:97      move second child to first child (temp 4-component vector of float)
-0:97        's' (temp 4-component vector of float)
-0:97        textureGatherOffset (global 4-component vector of float)
-0:97          'samp2D' (uniform sampler2D)
-0:97          Constant:
-0:97            0.300000
-0:97            0.300000
-0:97          Constant:
-0:97            1 (const int)
-0:97            1 (const int)
-0:97          Constant:
-0:97            2 (const int)
-0:107  Function Definition: bar235( (global void)
-0:107    Function Parameters: 
-0:109    Sequence
-0:109      Sequence
-0:109        move second child to first child (temp 3-component vector of int)
-0:109          'a' (temp 3-component vector of int)
-0:109          textureSize (global 3-component vector of int)
-0:109            'Sca' (uniform samplerCubeArray)
-0:109            Constant:
-0:109              3 (const int)
-0:110      Sequence
-0:110        move second child to first child (temp 4-component vector of float)
-0:110          'b' (temp 4-component vector of float)
-0:110          texture (global 4-component vector of float)
-0:110            'Sca' (uniform samplerCubeArray)
-0:110            'i' (smooth in 4-component vector of float)
-0:111      Sequence
-0:111        move second child to first child (temp 4-component vector of int)
-0:111          'c' (temp 4-component vector of int)
-0:111          texture (global 4-component vector of int)
-0:111            'Isca' (uniform isamplerCubeArray)
-0:111            'i' (smooth in 4-component vector of float)
-0:111            Constant:
-0:111              0.700000
-0:112      Sequence
-0:112        move second child to first child (temp 4-component vector of uint)
-0:112          'd' (temp 4-component vector of uint)
-0:112          texture (global 4-component vector of uint)
-0:112            'Usca' (uniform usamplerCubeArray)
-0:112            'i' (smooth in 4-component vector of float)
-0:114      move second child to first child (temp 4-component vector of float)
-0:114        'b' (temp 4-component vector of float)
-0:114        textureLod (global 4-component vector of float)
-0:114          'Sca' (uniform samplerCubeArray)
-0:114          'i' (smooth in 4-component vector of float)
-0:114          Constant:
-0:114            1.700000
-0:115      move second child to first child (temp 3-component vector of int)
-0:115        'a' (temp 3-component vector of int)
-0:115        textureSize (global 3-component vector of int)
-0:115          'Scas' (uniform samplerCubeArrayShadow)
-0:115          direct index (temp int)
-0:115            'a' (temp 3-component vector of int)
-0:115            Constant:
-0:115              0 (const int)
-0:116      Sequence
-0:116        move second child to first child (temp float)
-0:116          'f' (temp float)
-0:116          texture (global float)
-0:116            'Scas' (uniform samplerCubeArrayShadow)
-0:116            'i' (smooth in 4-component vector of float)
-0:116            direct index (temp float)
-0:116              'b' (temp 4-component vector of float)
-0:116              Constant:
-0:116                1 (const int)
-0:117      move second child to first child (temp 4-component vector of int)
-0:117        'c' (temp 4-component vector of int)
-0:117        textureGrad (global 4-component vector of int)
-0:117          'Isca' (uniform isamplerCubeArray)
-0:117          'i' (smooth in 4-component vector of float)
-0:117          Constant:
-0:117            0.100000
-0:117            0.100000
-0:117            0.100000
-0:117          Constant:
-0:117            0.200000
-0:117            0.200000
-0:117            0.200000
-0:129  Function Definition: bar23444( (global void)
-0:129    Function Parameters: 
-0:?     Sequence
-0:132      Sequence
-0:132        move second child to first child (temp float)
-0:132          'a1' (temp float)
-0:132          direct index (temp float)
-0:132            direct index (temp 3-component vector of float)
-0:132              'm43' (temp 4X3 matrix of float)
-0:132              Constant:
-0:132                3 (const int)
-0:132            Constant:
-0:132              1 (const int)
-0:134      Sequence
-0:134        move second child to first child (temp int)
-0:134          'a2' (temp int)
-0:134          Constant:
-0:134            4 (const int)
-0:135      add second child into first child (temp int)
-0:135        'a2' (temp int)
-0:135        Constant:
-0:135          3 (const int)
-0:136      add second child into first child (temp int)
-0:136        'a2' (temp int)
-0:136        Constant:
-0:136          3 (const int)
-0:137      Sequence
-0:137        move second child to first child (temp float)
-0:137          'b' (const (read only) float)
-0:137          component-wise multiply (temp float)
-0:137            Constant:
-0:137              2.000000
-0:137            'a1' (temp float)
-0:138      move second child to first child (temp float)
-0:138        direct index (temp float)
-0:138          'a' (global 3-component vector of float)
-0:138          Constant:
-0:138            0 (const int)
-0:138        Constant:
-0:138          -1.000000
-0:140      Constant:
-0:140        0.000000
-0:141      Constant:
-0:141        0.000000
-0:143      Constant:
-0:143        1 (const int)
-0:162  Function Definition: qux2( (global void)
-0:162    Function Parameters: 
-0:?     Sequence
-0:165      imageAtomicCompSwap (global int)
-0:165        'iimg2D' (layout(r32i ) uniform iimage2D)
-0:165        Construct ivec2 (temp 2-component vector of int)
-0:165          'i' (temp int)
-0:165          'i' (temp int)
-0:165        'i' (temp int)
-0:165        'i' (temp int)
-0:166      Sequence
-0:166        move second child to first child (temp 4-component vector of int)
-0:166          'pos' (temp 4-component vector of int)
-0:166          imageLoad (global 4-component vector of int)
-0:166            'iimg2D' (layout(r32i ) uniform iimage2D)
-0:166            Construct ivec2 (temp 2-component vector of int)
-0:166              'i' (temp int)
-0:166              'i' (temp int)
 0:?   Linker Objects
 0:?     'a' (global 3-component vector of float)
 0:?     'b' (global float)

+ 0 - 17
3rdparty/glslang/Test/baseResults/130.vert.out

@@ -269,23 +269,6 @@ ERROR: node is still EOpNull!
 0:46            1 (const int)
 0:46        Constant:
 0:46          0.300000
-0:57  Function Definition: foo88( (global void)
-0:57    Function Parameters: 
-0:?     Sequence
-0:61      'id' (temp int)
-0:63      'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:64      'gl_Color' (in 4-component vector of float Color)
-0:65      direct index (temp structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:65        'gl_LightSource' (uniform 32-element array of structure{global 4-component vector of float ambient, global 4-component vector of float diffuse, global 4-component vector of float specular, global 4-component vector of float position, global 4-component vector of float halfVector, global 3-component vector of float spotDirection, global float spotExponent, global float spotCutoff, global float spotCosCutoff, global float constantAttenuation, global float linearAttenuation, global float quadraticAttenuation})
-0:65        Constant:
-0:65          0 (const int)
-0:66      far: direct index for structure (global float)
-0:66        'gl_DepthRange' (uniform structure{global float near, global float far, global float diff})
-0:66        Constant:
-0:66          1 (const int)
-0:67      'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
-0:68      'gl_FogFragCoord' (smooth out float FogFragCoord)
-0:69      'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
 0:?   Linker Objects
 0:?     'c' (uniform int)
 0:?     'us2D' (uniform usampler2D)

+ 0 - 52
3rdparty/glslang/Test/baseResults/140.frag.out

@@ -136,51 +136,6 @@ ERROR: node is still EOpNull!
 0:22      'patch' (global float)
 0:22      Constant:
 0:22        3.100000
-0:38  Function Definition: foo( (global void)
-0:38    Function Parameters: 
-0:40    Sequence
-0:40      Sequence
-0:40        move second child to first child (temp 2-component vector of float)
-0:40          'r1' (temp 2-component vector of float)
-0:40          modf (global 2-component vector of float)
-0:40            vector swizzle (temp 2-component vector of float)
-0:40              'v' (smooth in 4-component vector of float)
-0:40              Sequence
-0:40                Constant:
-0:40                  0 (const int)
-0:40                Constant:
-0:40                  1 (const int)
-0:40            vector swizzle (temp 2-component vector of float)
-0:40              'v' (smooth in 4-component vector of float)
-0:40              Sequence
-0:40                Constant:
-0:40                  2 (const int)
-0:40                Constant:
-0:40                  3 (const int)
-0:41      Sequence
-0:41        move second child to first child (temp 2-component vector of float)
-0:41          'r2' (temp 2-component vector of float)
-0:41          modf (global 2-component vector of float)
-0:41            vector swizzle (temp 2-component vector of float)
-0:41              'o' (out 4-component vector of float)
-0:41              Sequence
-0:41                Constant:
-0:41                  0 (const int)
-0:41                Constant:
-0:41                  1 (const int)
-0:41            vector swizzle (temp 2-component vector of float)
-0:41              'o' (out 4-component vector of float)
-0:41              Sequence
-0:41                Constant:
-0:41                  2 (const int)
-0:41                Constant:
-0:41                  3 (const int)
-0:42      move second child to first child (temp float)
-0:42        direct index (temp float)
-0:42          'o' (out 4-component vector of float)
-0:42          Constant:
-0:42            2 (const int)
-0:42        Function Call: fooi( (global float)
 0:47  Sequence
 0:47    move second child to first child (temp float)
 0:47      'i1' (global float)
@@ -198,13 +153,6 @@ ERROR: node is still EOpNull!
 0:48      'i2' (global float)
 0:48      Constant:
 0:48        102.000000
-0:50  Function Definition: fooi( (global float)
-0:50    Function Parameters: 
-0:52    Sequence
-0:52      Branch: Return with expression
-0:52        add (temp float)
-0:52          'i1' (global float)
-0:52          'i2' (global float)
 0:?   Linker Objects
 0:?     'v' (smooth in 4-component vector of float)
 0:?     'i' (smooth in 4-component vector of float)

+ 0 - 65
3rdparty/glslang/Test/baseResults/140.vert.out

@@ -178,71 +178,6 @@ ERROR: node is still EOpNull!
 0:18      'gl_TexCoord' (smooth out 1-element array of 4-component vector of float TexCoord)
 0:19      'gl_FogFragCoord' (smooth out float FogFragCoord)
 0:20      'gl_FrontColor' (smooth out 4-component vector of float FrontColor)
-0:48  Function Definition: foo( (global void)
-0:48    Function Parameters: 
-0:50    Sequence
-0:50      Sequence
-0:50        move second child to first child (temp 4-component vector of float)
-0:50          'v' (temp 4-component vector of float)
-0:50          textureFetch (global 4-component vector of float)
-0:50            's2dr' (uniform sampler2DRect)
-0:50            'itloc2' (in 2-component vector of int)
-0:51      add second child into first child (temp 4-component vector of float)
-0:51        'v' (temp 4-component vector of float)
-0:51        Constant:
-0:51          0.000000
-0:52      add second child into first child (temp 4-component vector of float)
-0:52        'v' (temp 4-component vector of float)
-0:52        texture (global 4-component vector of float)
-0:52          's2dr' (uniform sampler2DRect)
-0:52          'tloc2' (in 2-component vector of float)
-0:53      add second child into first child (temp 4-component vector of float)
-0:53        'v' (temp 4-component vector of float)
-0:53        Constant:
-0:53          0.000000
-0:54      add second child into first child (temp 4-component vector of float)
-0:54        'v' (temp 4-component vector of float)
-0:54        texture (global float)
-0:54          's2drs' (uniform sampler2DRectShadow)
-0:54          'tloc3' (in 3-component vector of float)
-0:55      add second child into first child (temp 4-component vector of float)
-0:55        'v' (temp 4-component vector of float)
-0:55        textureProj (global 4-component vector of float)
-0:55          's2dr' (uniform sampler2DRect)
-0:55          'tloc3' (in 3-component vector of float)
-0:56      add second child into first child (temp 4-component vector of float)
-0:56        'v' (temp 4-component vector of float)
-0:56        textureProj (global 4-component vector of float)
-0:56          's2dr' (uniform sampler2DRect)
-0:56          'tloc4' (in 4-component vector of float)
-0:57      add second child into first child (temp 4-component vector of float)
-0:57        'v' (temp 4-component vector of float)
-0:57        textureProjGradOffset (global 4-component vector of float)
-0:57          's2dr' (uniform sampler2DRect)
-0:57          'tloc4' (in 4-component vector of float)
-0:57          Constant:
-0:57            0.000000
-0:57            0.000000
-0:57          Constant:
-0:57            0.000000
-0:57            0.000000
-0:57          Constant:
-0:57            1 (const int)
-0:57            2 (const int)
-0:58      add second child into first child (temp 4-component vector of float)
-0:58        'v' (temp 4-component vector of float)
-0:58        textureProjGradOffset (global float)
-0:58          's2drs' (uniform sampler2DRectShadow)
-0:58          'tloc4' (in 4-component vector of float)
-0:58          Constant:
-0:58            0.000000
-0:58            0.000000
-0:58          Constant:
-0:58            0.000000
-0:58            0.000000
-0:58          Constant:
-0:58            1 (const int)
-0:58            2 (const int)
 0:?   Linker Objects
 0:?     'sbuf' (uniform isamplerBuffer)
 0:?     'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})

+ 0 - 84
3rdparty/glslang/Test/baseResults/150.frag.out

@@ -141,90 +141,6 @@ ERROR: node is still EOpNull!
 0:18      'patch' (global float)
 0:18      Constant:
 0:18        3.100000
-0:31  Function Definition: barWxyz( (global void)
-0:31    Function Parameters: 
-0:33    Sequence
-0:33      Sequence
-0:33        move second child to first child (temp 2-component vector of int)
-0:33          't11' (temp 2-component vector of int)
-0:33          textureSize (global 2-component vector of int)
-0:33            'sms' (uniform sampler2DMS)
-0:34      Sequence
-0:34        move second child to first child (temp 2-component vector of int)
-0:34          't12' (temp 2-component vector of int)
-0:34          textureSize (global 2-component vector of int)
-0:34            'isms' (uniform isampler2DMS)
-0:35      Sequence
-0:35        move second child to first child (temp 2-component vector of int)
-0:35          't13' (temp 2-component vector of int)
-0:35          textureSize (global 2-component vector of int)
-0:35            'usms' (uniform usampler2DMS)
-0:36      Sequence
-0:36        move second child to first child (temp 3-component vector of int)
-0:36          't21' (temp 3-component vector of int)
-0:36          textureSize (global 3-component vector of int)
-0:36            'smsa' (uniform sampler2DMSArray)
-0:37      Sequence
-0:37        move second child to first child (temp 3-component vector of int)
-0:37          't22' (temp 3-component vector of int)
-0:37          textureSize (global 3-component vector of int)
-0:37            'ismsa' (uniform isampler2DMSArray)
-0:38      Sequence
-0:38        move second child to first child (temp 3-component vector of int)
-0:38          't23' (temp 3-component vector of int)
-0:38          textureSize (global 3-component vector of int)
-0:38            'usmsa' (uniform usampler2DMSArray)
-0:39      Sequence
-0:39        move second child to first child (temp 4-component vector of float)
-0:39          't31' (temp 4-component vector of float)
-0:39          textureFetch (global 4-component vector of float)
-0:39            'sms' (uniform sampler2DMS)
-0:39            'p2' (flat in 2-component vector of int)
-0:39            'samp' (flat in int)
-0:40      Sequence
-0:40        move second child to first child (temp 4-component vector of int)
-0:40          't32' (temp 4-component vector of int)
-0:40          textureFetch (global 4-component vector of int)
-0:40            'isms' (uniform isampler2DMS)
-0:40            'p2' (flat in 2-component vector of int)
-0:40            'samp' (flat in int)
-0:41      Sequence
-0:41        move second child to first child (temp 4-component vector of uint)
-0:41          't33' (temp 4-component vector of uint)
-0:41          textureFetch (global 4-component vector of uint)
-0:41            'usms' (uniform usampler2DMS)
-0:41            'p2' (flat in 2-component vector of int)
-0:41            Constant:
-0:41              3 (const int)
-0:42      Sequence
-0:42        move second child to first child (temp 4-component vector of float)
-0:42          't41' (temp 4-component vector of float)
-0:42          textureFetch (global 4-component vector of float)
-0:42            'smsa' (uniform sampler2DMSArray)
-0:42            'p3' (flat in 3-component vector of int)
-0:42            'samp' (flat in int)
-0:43      Sequence
-0:43        move second child to first child (temp 4-component vector of int)
-0:43          't42' (temp 4-component vector of int)
-0:43          textureFetch (global 4-component vector of int)
-0:43            'ismsa' (uniform isampler2DMSArray)
-0:43            Constant:
-0:43              2 (const int)
-0:43              2 (const int)
-0:43              2 (const int)
-0:43            'samp' (flat in int)
-0:44      Sequence
-0:44        move second child to first child (temp 4-component vector of uint)
-0:44          't43' (temp 4-component vector of uint)
-0:44          textureFetch (global 4-component vector of uint)
-0:44            'usmsa' (uniform usampler2DMSArray)
-0:44            'p3' (flat in 3-component vector of int)
-0:44            'samp' (flat in int)
-0:47  Function Definition: primitiveID( (global int)
-0:47    Function Parameters: 
-0:49    Sequence
-0:49      Branch: Return with expression
-0:49        'gl_PrimitiveID' (flat in int PrimitiveID)
 0:?   Linker Objects
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'foo' (smooth in 4-component vector of float)

+ 0 - 28
3rdparty/glslang/Test/baseResults/150.geom.out

@@ -255,39 +255,11 @@ ERROR: node is still EOpNull!
 0:37        'gl_Layer' (layout(stream=0 ) out int Layer)
 0:37        Constant:
 0:37          2 (const int)
-0:67  Function Definition: foo(i1; (global void)
-0:67    Function Parameters: 
-0:67      'a' (in int)
-0:69    Sequence
-0:69      move second child to first child (temp 4-component vector of float)
-0:69        a: direct index for structure (layout(stream=6 ) out 4-component vector of float)
-0:69          'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})
-0:69          Constant:
-0:69            0 (const int)
-0:69        Constant:
-0:69          1.000000
-0:69          1.000000
-0:69          1.000000
-0:69          1.000000
 0:107  Sequence
 0:107    move second child to first child (temp float)
 0:107      'summ' (global float)
 0:107      Constant:
 0:107        11332.000000
-0:127  Function Definition: fooe1( (global void)
-0:127    Function Parameters: 
-0:129    Sequence
-0:129      move second child to first child (temp int)
-0:129        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:129        Constant:
-0:129          15 (const int)
-0:134  Function Definition: fooe2( (global void)
-0:134    Function Parameters: 
-0:136    Sequence
-0:136      move second child to first child (temp int)
-0:136        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
-0:136        Constant:
-0:136          15 (const int)
 0:?   Linker Objects
 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})
 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})

+ 5 - 64
3rdparty/glslang/Test/baseResults/150.tesc.out

@@ -910,8 +910,10 @@ ERROR: node is still EOpNull!
 
 Linked tessellation control stage:
 
+ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
+ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation control stage: Contradictory layout vertices values
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
@@ -921,6 +923,7 @@ ERROR: Linking tessellation control stage: Types must match:
     gl_out: "out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance}"
 ERROR: Linking tessellation control stage: Types must match:
     outa: "global 4-element array of int" versus "global 1-element array of int"
+ERROR: Linking tessellation control stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
@@ -934,8 +937,10 @@ ERROR: Linking tessellation control stage: Types must match:
 
 Linked tessellation evaluation stage:
 
+ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation evaluation stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
+ERROR: Linking tessellation evaluation stage: can't handle multiple entry points per stage
 ERROR: Linking tessellation evaluation stage: Contradictory input layout primitives
 ERROR: Linking tessellation evaluation stage: Contradictory input vertex spacing
 ERROR: Linking tessellation evaluation stage: Contradictory triangle ordering
@@ -1184,35 +1189,6 @@ vertices = 4
 0:56        Barrier (global void)
 0:59      Branch: Return
 0:61      Barrier (global void)
-0:67  Function Definition: foo( (global void)
-0:67    Function Parameters: 
-0:69    Sequence
-0:69      gl_PointSize: direct index for structure (out float PointSize)
-0:69        direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
-0:69          'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
-0:69          Constant:
-0:69            4 (const int)
-0:69        Constant:
-0:69          1 (const int)
-0:71      Barrier (global void)
-0:91  Function Definition: foop( (global void)
-0:91    Function Parameters: 
-0:?     Sequence
-0:95      multiply second child into first child (temp 3-component vector of float)
-0:95        'pv3' (noContraction temp 3-component vector of float)
-0:95        'pv3' (noContraction temp 3-component vector of float)
-0:96      move second child to first child (temp 3-component vector of float)
-0:96        'pv3' (noContraction temp 3-component vector of float)
-0:96        fma (global 3-component vector of float)
-0:96          'pv3' (noContraction temp 3-component vector of float)
-0:96          'pv3' (noContraction temp 3-component vector of float)
-0:96          'pv3' (noContraction temp 3-component vector of float)
-0:97      move second child to first child (temp double)
-0:97        'd' (noContraction temp double)
-0:97        fma (global double)
-0:97          'd' (noContraction temp double)
-0:97          'd' (noContraction temp double)
-0:97          'd' (noContraction temp double)
 0:8  Function Definition: main( (global void)
 0:8    Function Parameters: 
 0:15  Function Definition: main( (global void)
@@ -1274,41 +1250,6 @@ vertices = 4
 0:26      indirect index (temp block{out 4-component vector of float Position gl_Position})
 0:26        'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
 0:26        'gl_InvocationID' (in int InvocationID)
-0:34  Function Definition: foo( (global void)
-0:34    Function Parameters: 
-0:36    Sequence
-0:36      Test condition and select (temp void)
-0:36        Condition
-0:36        logical-or (temp bool)
-0:36          Compare Not Equal (temp bool)
-0:36            Constant:
-0:36              -0.625000
-0:36              -0.500000
-0:36              -0.375000
-0:36              -0.250000
-0:36              -0.375000
-0:36              -0.250000
-0:36              -0.125000
-0:36              0.000000
-0:36            direct index (layout(location=0 ) temp 2X4 matrix of double)
-0:36              'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:36              Constant:
-0:36                0 (const int)
-0:37          Compare Not Equal (temp bool)
-0:37            Constant:
-0:37              0.375000
-0:37              0.500000
-0:37              0.625000
-0:37              0.750000
-0:37              0.625000
-0:37              0.750000
-0:37              0.875000
-0:37              -0.625000
-0:37            direct index (layout(location=12 ) temp 2X4 matrix of double)
-0:37              'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-0:37              Constant:
-0:37                0 (const int)
-0:36        true case is null
 0:?   Linker Objects
 0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
 0:?     'outa' (global 4-element array of int)

+ 0 - 125
3rdparty/glslang/Test/baseResults/300.frag.out

@@ -592,131 +592,6 @@ ERROR: node is still EOpNull!
 0:96          'c4D' (smooth temp lowp 4-component vector of float)
 0:97      arc hyp. tangent (global lowp 3-component vector of float)
 0:97        'c3D' (smooth in lowp 3-component vector of float)
-0:108  Function Definition: foo( (global void)
-0:108    Function Parameters: 
-0:110    Sequence
-0:110      move second child to first child (temp lowp 4-component vector of float)
-0:110        direct index (temp lowp 4-component vector of float)
-0:110          'colors' (out 4-element array of lowp 4-component vector of float)
-0:110          Constant:
-0:110            2 (const int)
-0:110        'c4D' (smooth temp lowp 4-component vector of float)
-0:111      move second child to first child (temp lowp 4-component vector of float)
-0:111        indirect index (temp lowp 4-component vector of float)
-0:111          'colors' (out 4-element array of lowp 4-component vector of float)
-0:111          'ic1D' (flat in mediump int)
-0:111        'c4D' (smooth temp lowp 4-component vector of float)
-0:117  Function Definition: foo13(struct-s-i1-s211; (global void)
-0:117    Function Parameters: 
-0:117      'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:119    Sequence
-0:119      Test condition and select (temp void)
-0:119        Condition
-0:119        Compare Equal (temp bool)
-0:119          'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:119          'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:119        true case is null
-0:120      Test condition and select (temp void)
-0:120        Condition
-0:120        Compare Not Equal (temp bool)
-0:120          'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:120          'st2' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:120        true case is null
-0:121      Constant:
-0:121        false (const bool)
-0:122      move second child to first child (temp structure{global mediump int i, global lowp sampler2D s})
-0:122        'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:122        'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:123      Compare Equal (temp bool)
-0:123        'inSt2' (in structure{global mediump int i, global lowp sampler2D s})
-0:123        'st1' (uniform structure{global mediump int i, global lowp sampler2D s})
-0:126  Function Definition: foo23( (global void)
-0:126    Function Parameters: 
-0:128    Sequence
-0:128      textureOffset (global lowp float)
-0:128        's2DShadow' (uniform lowp sampler2DShadow)
-0:128        'c3D' (smooth in lowp 3-component vector of float)
-0:128        Constant:
-0:128          -8 (const int)
-0:128          7 (const int)
-0:128        'c1D' (smooth in lowp float)
-0:129      textureOffset (global lowp float)
-0:129        's2DShadow' (uniform lowp sampler2DShadow)
-0:129        'c3D' (smooth in lowp 3-component vector of float)
-0:129        Constant:
-0:129          -9 (const int)
-0:129          8 (const int)
-0:129        'c1D' (smooth in lowp float)
-0:132  Function Definition: foo324( (global void)
-0:132    Function Parameters: 
-0:134    Sequence
-0:134      Sequence
-0:134        move second child to first child (temp lowp float)
-0:134          'p' (temp lowp float)
-0:134          Constant:
-0:134            210.712306
-0:135      add second child into first child (temp lowp float)
-0:135        'p' (temp lowp float)
-0:135        Constant:
-0:135          0.389418
-0:136      add second child into first child (temp lowp float)
-0:136        'p' (temp lowp float)
-0:136        Constant:
-0:136          5.000000
-0:137      add second child into first child (temp lowp float)
-0:137        'p' (temp lowp float)
-0:137        Constant:
-0:137          13.000000
-0:138      Sequence
-0:138        move second child to first child (temp lowp 3-component vector of float)
-0:138          'c3' (temp lowp 3-component vector of float)
-0:138          Constant:
-0:138            -15.000000
-0:138            -2.000000
-0:138            39.000000
-0:139      add second child into first child (temp lowp 3-component vector of float)
-0:139        'c3' (temp lowp 3-component vector of float)
-0:139        Constant:
-0:139          -1.000000
-0:139          -2.000000
-0:139          -3.000000
-0:140      add second child into first child (temp lowp 3-component vector of float)
-0:140        'c3' (temp lowp 3-component vector of float)
-0:140        Constant:
-0:140          1.000000
-0:140          2.000000
-0:140          3.000000
-0:141      Sequence
-0:141        move second child to first child (temp lowp 2-component vector of float)
-0:141          'c2' (temp lowp 2-component vector of float)
-0:141          Constant:
-0:141            1.000000
-0:141            -3.000000
-0:142      add second child into first child (temp lowp 2-component vector of float)
-0:142        'c2' (temp lowp 2-component vector of float)
-0:142        Constant:
-0:142          1.000000
-0:142          -3.000000
-0:143      add second child into first child (temp lowp 2-component vector of float)
-0:143        'c2' (temp lowp 2-component vector of float)
-0:143        Constant:
-0:143          3.000000
-0:143          -8.544004
-0:144      add second child into first child (temp lowp 2-component vector of float)
-0:144        'c2' (temp lowp 2-component vector of float)
-0:144        Constant:
-0:144          0.000000
-0:144          0.000000
-0:145      Sequence
-0:145        move second child to first child (temp lowp 3X2 matrix of float)
-0:145          'm32' (temp lowp 3X2 matrix of float)
-0:145          Constant:
-0:145            10.000000
-0:145            15.000000
-0:145            14.000000
-0:145            21.000000
-0:145            22.000000
-0:145            33.000000
 0:?   Linker Objects
 0:?     's2D' (uniform lowp sampler2D)
 0:?     's3D' (uniform lowp sampler3D)

+ 0 - 126
3rdparty/glslang/Test/baseResults/300.vert.out

@@ -447,132 +447,6 @@ ERROR: node is still EOpNull!
 0:68      Constant:
 0:68        3.000000
 0:68        4.000000
-0:71  Function Definition: newVFun( (global void)
-0:71    Function Parameters: 
-0:73    Sequence
-0:73      move second child to first child (temp highp 3-component vector of float)
-0:73        'newV' (smooth out highp 3-component vector of float)
-0:73        'v3' (in highp 3-component vector of float)
-0:118  Function Definition: foo23( (global void)
-0:118    Function Parameters: 
-0:120    Sequence
-0:120      Sequence
-0:120        move second child to first child (temp highp 2-component vector of int)
-0:120          'x1' (temp highp 2-component vector of int)
-0:120          textureSize (global highp 2-component vector of int, operation at lowp)
-0:120            's2D' (uniform lowp sampler2D)
-0:120            Constant:
-0:120              2 (const int)
-0:121      Constant:
-0:121        0.000000
-0:122      Sequence
-0:122        move second child to first child (temp highp 3-component vector of int)
-0:122          'x3' (temp highp 3-component vector of int)
-0:122          textureSize (global highp 3-component vector of int, operation at lowp)
-0:122            's2DAS' (uniform lowp sampler2DArrayShadow)
-0:122            Constant:
-0:122              -1 (const int)
-0:123      Constant:
-0:123        0.000000
-0:124      Sequence
-0:124        move second child to first child (temp highp 4-component vector of float)
-0:124          'x4' (temp highp 4-component vector of float)
-0:124          texture (global lowp 4-component vector of float, operation at highp)
-0:124            's2D' (uniform lowp sampler2D)
-0:124            'c2D' (in highp 2-component vector of float)
-0:125      Constant:
-0:125        0.000000
-0:126      Sequence
-0:126        move second child to first child (temp highp 4-component vector of float)
-0:126          'x5' (temp highp 4-component vector of float)
-0:126          textureProjOffset (global lowp 4-component vector of float)
-0:126            's3D' (uniform lowp sampler3D)
-0:126            Constant:
-0:126              0.200000
-0:126              0.200000
-0:126              0.200000
-0:126              0.200000
-0:126            Constant:
-0:126              1 (const int)
-0:126              1 (const int)
-0:126              1 (const int)
-0:127      Constant:
-0:127        0.000000
-0:128      Sequence
-0:128        move second child to first child (temp highp float)
-0:128          'x6' (temp highp float)
-0:128          textureProjGradOffset (global lowp float, operation at highp)
-0:128            's2DS' (uniform lowp sampler2DShadow)
-0:128            'invIn' (invariant in highp 4-component vector of float)
-0:128            Constant:
-0:128              4.200000
-0:128              4.200000
-0:128            Constant:
-0:128              5.300000
-0:128              5.300000
-0:128            Constant:
-0:128              1 (const int)
-0:128              1 (const int)
-0:137  Function Definition: foo2349( (global void)
-0:137    Function Parameters: 
-0:139    Sequence
-0:139      Sequence
-0:139        move second child to first child (temp 3-element array of highp float)
-0:139          'x' (temp 3-element array of highp float)
-0:139          Constant:
-0:139            1.000000
-0:139            2.000000
-0:139            3.000000
-0:140      Sequence
-0:140        move second child to first child (temp 3-element array of highp float)
-0:140          'y' (temp 3-element array of highp float)
-0:140          'x' (temp 3-element array of highp float)
-0:141      Sequence
-0:141        move second child to first child (temp 3-element array of highp float)
-0:141          'z' (temp 3-element array of highp float)
-0:141          'x' (temp 3-element array of highp float)
-0:143      move second child to first child (temp 3-element array of highp float)
-0:143        'w' (temp 3-element array of highp float)
-0:143        'y' (temp 3-element array of highp float)
-0:155  Function Definition: gggf(f1; (global highp int)
-0:155    Function Parameters: 
-0:155      'f' (in highp float)
-0:155    Sequence
-0:155      Branch: Return with expression
-0:155        Constant:
-0:155          2 (const int)
-0:158  Function Definition: agggf(f1; (global highp int)
-0:158    Function Parameters: 
-0:158      'f' (in highp float)
-0:158    Sequence
-0:158      Branch: Return with expression
-0:158        Constant:
-0:158          2 (const int)
-0:178  Function Definition: fooDeeparray( (global void)
-0:178    Function Parameters: 
-0:181    Sequence
-0:181      Sequence
-0:180        move second child to first child (temp 3-element array of highp float)
-0:180          'x' (temp 3-element array of highp float)
-0:180          Constant:
-0:180            1.000000
-0:180            2.000000
-0:180            3.000000
-0:181        move second child to first child (temp 4-element array of highp float)
-0:181          'y' (temp 4-element array of highp float)
-0:181          Constant:
-0:181            1.000000
-0:181            2.000000
-0:181            3.000000
-0:181            4.000000
-0:183      move second child to first child (temp 3-element array of highp float)
-0:183        'xp' (temp 3-element array of highp float)
-0:183        'x' (temp 3-element array of highp float)
-0:184      move second child to first child (temp 4-element array of highp float)
-0:184        'yp' (temp 4-element array of highp float)
-0:184        'y' (temp 4-element array of highp float)
-0:185      'xp' (temp 3-element array of highp float)
-0:186      'yp' (temp 4-element array of highp float)
 0:?   Linker Objects
 0:?     'm43' (uniform highp 4X3 matrix of float)
 0:?     'm33' (uniform highp 3X3 matrix of float)

+ 2 - 10
3rdparty/glslang/Test/baseResults/300scope.vert.out

@@ -131,6 +131,8 @@ ERROR: node is still EOpNull!
 
 Linked vertex stage:
 
+ERROR: Linking vertex stage: No function definition (body) found: 
+    g(
 
 Shader version: 300
 ERROR: node is still EOpNull!
@@ -151,16 +153,6 @@ ERROR: node is still EOpNull!
 0:8                1.000000
 0:11      Branch: Return with expression
 0:11        'a' (in highp int)
-0:25  Function Definition: cos(f1; (global highp float)
-0:25    Function Parameters: 
-0:25      'x' (in highp float)
-0:27    Sequence
-0:27      Branch: Return
-0:29  Function Definition: radians(b1; (global bool)
-0:29    Function Parameters: 
-0:29      'x' (in bool)
-0:31    Sequence
-0:31      Branch: Return
 0:36  Function Definition: main( (global void)
 0:36    Function Parameters: 
 0:?     Sequence

+ 0 - 334
3rdparty/glslang/Test/baseResults/310.comp.out

@@ -536,340 +536,6 @@ ERROR: node is still EOpNull!
 0:36              Constant:
 0:36                1 (const uint)
 0:36            'gl_LocalInvocationIndex' (in highp uint LocalInvocationIndex)
-0:59  Function Definition: foo( (global void)
-0:59    Function Parameters: 
-0:61    Sequence
-0:61      move second child to first child (temp highp float)
-0:61        direct index (layout(column_major shared ) temp highp float)
-0:61          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:61            'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:61            Constant:
-0:61              1 (const int)
-0:61          Constant:
-0:61            2 (const int)
-0:61        Constant:
-0:61          4.700000
-0:62      array length (temp int)
-0:62        values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:62          'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:62          Constant:
-0:62            1 (const int)
-0:63      Pre-Increment (temp highp 4-component vector of float)
-0:63        's' (shared highp 4-component vector of float)
-0:84  Function Definition: qux( (global void)
-0:84    Function Parameters: 
-0:86    Sequence
-0:86      Sequence
-0:86        move second child to first child (temp highp int)
-0:86          'i' (temp highp int)
-0:86          Constant:
-0:86            4 (const int)
-0:87      imageAtomicCompSwap (global highp int)
-0:87        'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:87        Construct ivec2 (temp highp 2-component vector of int)
-0:87          'i' (temp highp int)
-0:87          'i' (temp highp int)
-0:87        'i' (temp highp int)
-0:87        'i' (temp highp int)
-0:88      imageAtomicAdd (global highp uint)
-0:88        'uimg2D' (layout(r32ui ) uniform mediump uimage2D)
-0:88        Construct ivec2 (temp highp 2-component vector of int)
-0:88          'i' (temp highp int)
-0:88          'i' (temp highp int)
-0:88        Convert int to uint (temp highp uint)
-0:88          'i' (temp highp int)
-0:89      imageAtomicMin (global highp int)
-0:89        'iimg2Drgba' (layout(rgba32i ) readonly uniform highp iimage2D)
-0:89        Construct ivec2 (temp highp 2-component vector of int)
-0:89          'i' (temp highp int)
-0:89          'i' (temp highp int)
-0:89        'i' (temp highp int)
-0:90      Constant:
-0:90        0.000000
-0:91      Sequence
-0:91        move second child to first child (temp highp 4-component vector of int)
-0:91          'pos' (temp highp 4-component vector of int)
-0:91          imageLoad (global highp 4-component vector of int)
-0:91            'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:91            Construct ivec2 (temp highp 2-component vector of int)
-0:91              'i' (temp highp int)
-0:91              'i' (temp highp int)
-0:92      imageStore (global highp void)
-0:92        'ii2da' (writeonly uniform highp iimage2DArray)
-0:92        Construct ivec3 (temp 3-component vector of int)
-0:92          'i' (temp highp int)
-0:92          'i' (temp highp int)
-0:92          'i' (temp highp int)
-0:92        Constant:
-0:92          0 (const int)
-0:92          0 (const int)
-0:92          0 (const int)
-0:92          0 (const int)
-0:93      imageLoad (global mediump 4-component vector of float)
-0:93        'img2Drgba' (layout(rgba32f ) readonly uniform mediump image2D)
-0:93        Construct ivec2 (temp mediump 2-component vector of int)
-0:93          'i' (temp highp int)
-0:93          'i' (temp highp int)
-0:94      imageLoad (global highp 4-component vector of int)
-0:94        'ii2da' (writeonly uniform highp iimage2DArray)
-0:94        Construct ivec3 (temp highp 3-component vector of int)
-0:94          'i' (temp highp int)
-0:94          'i' (temp highp int)
-0:94          'i' (temp highp int)
-0:100  Function Definition: passr(iI21; (global void)
-0:100    Function Parameters: 
-0:100      'image' (coherent readonly in highp iimage2D)
-0:107  Function Definition: passrc( (global void)
-0:107    Function Parameters: 
-0:109    Sequence
-0:109      Function Call: passr(iI21; (global void)
-0:109        'qualim1' (layout(r32i ) coherent readonly uniform highp iimage2D)
-0:110      Function Call: passr(iI21; (global void)
-0:110        'qualim2' (layout(r32i ) coherent restrict readonly uniform highp iimage2D)
-0:111      Function Call: passr(iI21; (global void)
-0:111        'iimg2D' (layout(r32i ) uniform highp iimage2D)
-0:123  Function Definition: func(au1; (global highp uint)
-0:123    Function Parameters: 
-0:123      'c' (in highp atomic_uint)
-0:125    Sequence
-0:125      Branch: Return with expression
-0:125        AtomicCounterIncrement (global highp uint)
-0:125          'c' (in highp atomic_uint)
-0:128  Function Definition: func2(au1; (global highp uint)
-0:128    Function Parameters: 
-0:128      'c' (out highp atomic_uint)
-0:130    Sequence
-0:130      Branch: Return with expression
-0:130        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:131      Branch: Return with expression
-0:131        AtomicCounter (global highp uint)
-0:131          'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:134  Function Definition: mainAC( (global void)
-0:134    Function Parameters: 
-0:?     Sequence
-0:137      Sequence
-0:137        move second child to first child (temp highp uint)
-0:137          'val' (temp highp uint)
-0:137          AtomicCounter (global highp uint)
-0:137            'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:138      AtomicCounterDecrement (global highp uint)
-0:138        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:146  Function Definition: opac( (global void)
-0:146    Function Parameters: 
-0:?     Sequence
-0:149      indirect index (temp highp int)
-0:149        'a' (temp 3-element array of highp int)
-0:149        'counter' (layout(binding=0 offset=0 ) uniform highp atomic_uint)
-0:150      direct index (layout(binding=2 offset=4 ) temp highp atomic_uint)
-0:150        'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:150        Constant:
-0:150          2 (const int)
-0:151      indirect index (layout(binding=2 offset=4 ) temp highp atomic_uint)
-0:151        'countArr' (layout(binding=2 offset=4 ) uniform 4-element array of highp atomic_uint)
-0:151        'i' (uniform highp int)
-0:157  Function Definition: atoms( (global void)
-0:157    Function Parameters: 
-0:159    Sequence
-0:159      Sequence
-0:159        move second child to first child (temp highp int)
-0:159          'origi' (temp highp int)
-0:159          AtomicAdd (global highp int)
-0:159            'atomi' (shared highp int)
-0:159            Constant:
-0:159              3 (const int)
-0:160      Sequence
-0:160        move second child to first child (temp highp uint)
-0:160          'origu' (temp highp uint)
-0:160          AtomicAnd (global highp uint)
-0:160            'atomu' (shared highp uint)
-0:160            Constant:
-0:160              7 (const uint)
-0:161      move second child to first child (temp highp int)
-0:161        'origi' (temp highp int)
-0:161        AtomicExchange (global highp int)
-0:161          'atomi' (shared highp int)
-0:161          Constant:
-0:161            4 (const int)
-0:162      move second child to first child (temp highp uint)
-0:162        'origu' (temp highp uint)
-0:162        AtomicCompSwap (global highp uint)
-0:162          'atomu' (shared highp uint)
-0:162          Constant:
-0:162            10 (const uint)
-0:162          Constant:
-0:162            8 (const uint)
-0:191  Function Definition: foowo( (global void)
-0:191    Function Parameters: 
-0:?     Sequence
-0:194      move second child to first child (temp highp float)
-0:194        'g' (temp highp float)
-0:194        direct index (layout(column_major shared ) temp highp float)
-0:194          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:194            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:194            Constant:
-0:194              1 (const int)
-0:194          Constant:
-0:194            2 (const int)
-0:195      Sequence
-0:195        move second child to first child (temp highp float)
-0:195          'f' (temp highp float)
-0:195          direct index (layout(column_major shared ) temp highp float)
-0:195            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:195              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:195              Constant:
-0:195                1 (const int)
-0:195            Constant:
-0:195              2 (const int)
-0:196      Pre-Increment (temp highp float)
-0:196        direct index (layout(column_major shared ) temp highp float)
-0:196          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:196            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:196            Constant:
-0:196              1 (const int)
-0:196          Constant:
-0:196            2 (const int)
-0:197      Post-Decrement (temp highp float)
-0:197        direct index (layout(column_major shared ) temp highp float)
-0:197          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:197            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:197            Constant:
-0:197              1 (const int)
-0:197          Constant:
-0:197            2 (const int)
-0:198      add (temp highp float)
-0:198        'f' (temp highp float)
-0:198        direct index (layout(column_major shared ) temp highp float)
-0:198          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:198            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:198            Constant:
-0:198              1 (const int)
-0:198          Constant:
-0:198            2 (const int)
-0:199      subtract (temp highp float)
-0:199        direct index (layout(column_major shared ) temp highp float)
-0:199          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:199            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:199            Constant:
-0:199              1 (const int)
-0:199          Constant:
-0:199            2 (const int)
-0:199        'f' (temp highp float)
-0:201      Test condition and select (temp highp float)
-0:201        Condition
-0:201        'b' (temp bool)
-0:201        true case
-0:201        'f' (temp highp float)
-0:201        false case
-0:201        direct index (layout(column_major shared ) temp highp float)
-0:201          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:201            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:201            Constant:
-0:201              1 (const int)
-0:201          Constant:
-0:201            2 (const int)
-0:202      Test condition and select (temp highp float)
-0:202        Condition
-0:202        'b' (temp bool)
-0:202        true case
-0:202        direct index (layout(column_major shared ) temp highp float)
-0:202          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:202            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:202            Constant:
-0:202              1 (const int)
-0:202          Constant:
-0:202            2 (const int)
-0:202        false case
-0:202        'f' (temp highp float)
-0:203      Test condition and select (temp void)
-0:203        Condition
-0:203        Compare Equal (temp bool)
-0:203          'f' (temp highp float)
-0:203          direct index (layout(column_major shared ) temp highp float)
-0:203            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:203              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:203              Constant:
-0:203                1 (const int)
-0:203            Constant:
-0:203              2 (const int)
-0:203        true case
-0:204        Pre-Increment (temp highp float)
-0:204          'f' (temp highp float)
-0:205      Test condition and select (temp void)
-0:205        Condition
-0:205        Compare Greater Than or Equal (temp bool)
-0:205          'f' (temp highp float)
-0:205          direct index (layout(column_major shared ) temp highp float)
-0:205            values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:205              'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:205              Constant:
-0:205                1 (const int)
-0:205            Constant:
-0:205              2 (const int)
-0:205        true case
-0:206        Pre-Increment (temp highp float)
-0:206          'f' (temp highp float)
-0:207      move second child to first child (temp highp float)
-0:207        'f' (temp highp float)
-0:207        direct index (temp highp float)
-0:207          Construct vec3 (temp highp 3-component vector of float)
-0:207            direct index (layout(column_major shared ) temp highp float)
-0:207              values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:207                'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:207                Constant:
-0:207                  1 (const int)
-0:207              Constant:
-0:207                2 (const int)
-0:207          Constant:
-0:207            0 (const int)
-0:208      Bitwise not (temp highp int)
-0:208        value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:208          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:208          Constant:
-0:208            0 (const int)
-0:209      move second child to first child (temp highp float)
-0:209        direct index (layout(column_major shared ) temp highp float)
-0:209          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:209            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:209            Constant:
-0:209              1 (const int)
-0:209          Constant:
-0:209            2 (const int)
-0:209        Constant:
-0:209          3.400000
-0:218  Function Definition: foomultio( (global void)
-0:218    Function Parameters: 
-0:?     Sequence
-0:221      move second child to first child (temp highp float)
-0:221        'g' (temp highp float)
-0:221        direct index (layout(column_major shared ) temp highp float)
-0:221          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:221            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:221            Constant:
-0:221              1 (const int)
-0:221          Constant:
-0:221            2 (const int)
-0:222      Bitwise not (temp highp int)
-0:222        value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:222          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:222          Constant:
-0:222            0 (const int)
-0:223      move second child to first child (temp highp float)
-0:223        direct index (layout(column_major shared ) temp highp float)
-0:223          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp float)
-0:223            'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:223            Constant:
-0:223              1 (const int)
-0:223          Constant:
-0:223            2 (const int)
-0:223        Constant:
-0:223          3.400000
-0:224      move second child to first child (temp highp int)
-0:224        value: direct index for structure (layout(column_major shared ) buffer highp int)
-0:224          'wo' (layout(column_major shared ) writeonly buffer block{layout(column_major shared ) buffer highp int value, layout(column_major shared ) buffer implicitly-sized array of highp float values})
-0:224          Constant:
-0:224            0 (const int)
-0:224        Constant:
-0:224          2 (const int)
 0:?   Linker Objects
 0:?     'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
 0:?       2 (const uint)

+ 0 - 671
3rdparty/glslang/Test/baseResults/310.frag.out

@@ -1125,677 +1125,6 @@ ERROR: node is still EOpNull!
 0:34            0.100000
 0:34          Construct ivec2 (temp highp 2-component vector of int)
 0:34            'i' (uniform mediump int)
-0:38  Function Definition: foo23( (global void)
-0:38    Function Parameters: 
-0:?     Sequence
-0:42      textureProjGradOffset (global highp 4-component vector of uint)
-0:42        'usamp2d' (uniform highp usampler2D)
-0:42        'outp' (out mediump 4-component vector of float)
-0:42        Constant:
-0:42          0.000000
-0:42          0.000000
-0:42        Constant:
-0:42          0.000000
-0:42          0.000000
-0:42        Convert float to int (temp highp 2-component vector of int)
-0:42          'c2D' (smooth in mediump 2-component vector of float)
-0:43      textureProjGradOffset (global highp 4-component vector of uint)
-0:43        'usamp2d' (uniform highp usampler2D)
-0:43        'outp' (out mediump 4-component vector of float)
-0:43        Constant:
-0:43          0.000000
-0:43          0.000000
-0:43        Constant:
-0:43          0.000000
-0:43          0.000000
-0:43        Constant:
-0:43          3 (const int)
-0:43          4 (const int)
-0:44      textureProjGradOffset (global highp 4-component vector of uint)
-0:44        'usamp2d' (uniform highp usampler2D)
-0:44        'outp' (out mediump 4-component vector of float)
-0:44        Constant:
-0:44          0.000000
-0:44          0.000000
-0:44        Constant:
-0:44          0.000000
-0:44          0.000000
-0:44        Constant:
-0:44          15 (const int)
-0:44          16 (const int)
-0:45      textureProjGradOffset (global highp 4-component vector of uint)
-0:45        'usamp2d' (uniform highp usampler2D)
-0:45        'outp' (out mediump 4-component vector of float)
-0:45        Constant:
-0:45          0.000000
-0:45          0.000000
-0:45        Constant:
-0:45          0.000000
-0:45          0.000000
-0:45        Constant:
-0:45          -10 (const int)
-0:45          20 (const int)
-0:47      Test condition and select (temp void)
-0:47        Condition
-0:47        'gl_HelperInvocation' (in bool HelperInvocation)
-0:47        true case
-0:48        Pre-Increment (temp mediump 4-component vector of float)
-0:48          'outp' (out mediump 4-component vector of float)
-0:50      Sequence
-0:50        move second child to first child (temp mediump int)
-0:50          'sum' (temp mediump int)
-0:50          Constant:
-0:50            32 (const int)
-0:58      move second child to first child (temp bool)
-0:58        'b1' (temp bool)
-0:58        mix (global bool)
-0:58          'b2' (temp bool)
-0:58          'b3' (temp bool)
-0:58          'b' (temp bool)
-0:59      Sequence
-0:59        move second child to first child (temp mediump 3-component vector of uint)
-0:59          'um3' (temp mediump 3-component vector of uint)
-0:59          mix (global mediump 3-component vector of uint)
-0:59            Construct uvec3 (temp mediump 3-component vector of uint)
-0:59              Convert int to uint (temp mediump uint)
-0:59                'i' (uniform mediump int)
-0:59            Construct uvec3 (temp mediump 3-component vector of uint)
-0:59              Convert int to uint (temp mediump uint)
-0:59                'i' (uniform mediump int)
-0:59            Construct bvec3 (temp 3-component vector of bool)
-0:59              'b' (temp bool)
-0:60      Sequence
-0:60        move second child to first child (temp mediump 4-component vector of int)
-0:60          'im4' (temp mediump 4-component vector of int)
-0:60          mix (global mediump 4-component vector of int)
-0:60            Construct ivec4 (temp mediump 4-component vector of int)
-0:60              'i' (uniform mediump int)
-0:60            Construct ivec4 (temp mediump 4-component vector of int)
-0:60              'i' (uniform mediump int)
-0:60            Construct bvec4 (temp 4-component vector of bool)
-0:60              'b' (temp bool)
-0:98  Function Definition: foots( (global void)
-0:98    Function Parameters: 
-0:100    Sequence
-0:100      Sequence
-0:100        move second child to first child (temp highp 2-component vector of int)
-0:100          'v2' (temp highp 2-component vector of int)
-0:100          textureSize (global highp 2-component vector of int)
-0:100            's1' (layout(binding=3 ) uniform highp sampler2D)
-0:100            Constant:
-0:100              2 (const int)
-0:101      Sequence
-0:101        move second child to first child (temp highp 3-component vector of int)
-0:101          'v3' (temp highp 3-component vector of int)
-0:101          textureSize (global highp 3-component vector of int)
-0:101            'isamp2DA' (uniform highp isampler2DArray)
-0:101            Constant:
-0:101              3 (const int)
-0:102      move second child to first child (temp highp 2-component vector of int)
-0:102        'v2' (temp highp 2-component vector of int)
-0:102        textureSize (global highp 2-component vector of int, operation at mediump)
-0:102          's2dms' (uniform mediump sampler2DMS)
-0:103      move second child to first child (temp highp 2-component vector of int)
-0:103        'v2' (temp highp 2-component vector of int)
-0:103        imageQuerySize (global highp 2-component vector of int)
-0:103          'i2D' (layout(binding=2 ) writeonly uniform highp image2D)
-0:104      move second child to first child (temp highp 3-component vector of int)
-0:104        'v3' (temp highp 3-component vector of int)
-0:104        imageQuerySize (global highp 3-component vector of int, operation at mediump)
-0:104          'i3D' (layout(binding=4 ) readonly uniform mediump image3D)
-0:105      move second child to first child (temp highp 2-component vector of int)
-0:105        'v2' (temp highp 2-component vector of int)
-0:105        imageQuerySize (global highp 2-component vector of int, operation at mediump)
-0:105          'iCube' (layout(binding=5 ) uniform mediump imageCube)
-0:106      move second child to first child (temp highp 3-component vector of int)
-0:106        'v3' (temp highp 3-component vector of int)
-0:106        imageQuerySize (global highp 3-component vector of int, operation at mediump)
-0:106          'i2DA' (layout(binding=6 ) uniform mediump image2DArray)
-0:107      move second child to first child (temp highp 2-component vector of int)
-0:107        'v2' (temp highp 2-component vector of int)
-0:107        imageQuerySize (global highp 2-component vector of int, operation at mediump)
-0:107          'i2Dqualified' (layout(binding=6 ) coherent volatile restrict uniform mediump image2D)
-0:165  Function Definition: fooIO( (global void)
-0:165    Function Parameters: 
-0:167    Sequence
-0:167      Sequence
-0:167        move second child to first child (temp mediump 4-component vector of float)
-0:167          'v' (temp mediump 4-component vector of float)
-0:167          add (temp mediump 4-component vector of float)
-0:167            v: direct index for structure (in mediump 4-component vector of float)
-0:167              'inbinst' (in block{in mediump int a, in mediump 4-component vector of float v, in structure{global mediump int b} s})
-0:167              Constant:
-0:167                1 (const int)
-0:167            vAnon: direct index for structure (layout(location=13 ) centroid in mediump 4-component vector of float)
-0:167              'anon@0' (in block{layout(location=12 ) in mediump int aAnon, layout(location=13 ) centroid in mediump 4-component vector of float vAnon})
-0:167              Constant:
-0:167                1 (const uint)
-0:168      vector scale second child into first child (temp mediump 4-component vector of float)
-0:168        'v' (temp mediump 4-component vector of float)
-0:168        f: direct index for structure (in mediump float)
-0:168          direct index (temp block{in mediump float f})
-0:168            'arrayedInst' (in 4-element array of block{in mediump float f})
-0:168            Constant:
-0:168              2 (const int)
-0:168          Constant:
-0:168            0 (const int)
-0:169      vector scale second child into first child (temp mediump 4-component vector of float)
-0:169        'v' (temp mediump 4-component vector of float)
-0:169        f: direct index for structure (in mediump float)
-0:169          indirect index (temp block{in mediump float f})
-0:169            'arrayedInst' (in 4-element array of block{in mediump float f})
-0:169            'i' (uniform mediump int)
-0:169          Constant:
-0:169            0 (const int)
-0:179  Function Definition: foo_IO( (global void)
-0:179    Function Parameters: 
-0:181    Sequence
-0:181      move second child to first child (temp highp float)
-0:181        'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:181        Constant:
-0:181          0.200000
-0:182      'gl_Layer' (flat in highp int Layer)
-0:183      'gl_PrimitiveID' (flat in highp int PrimitiveID)
-0:184      Sequence
-0:184        move second child to first child (temp bool)
-0:184          'f' (temp bool)
-0:184          'gl_FrontFacing' (gl_FrontFacing bool Face)
-0:191  Function Definition: foo_GS( (global void)
-0:191    Function Parameters: 
-0:193    Sequence
-0:193      Sequence
-0:193        move second child to first child (temp highp int)
-0:193          'l' (temp highp int)
-0:193          'gl_Layer' (flat in highp int Layer)
-0:194      Sequence
-0:194        move second child to first child (temp highp int)
-0:194          'p' (temp highp int)
-0:194          'gl_PrimitiveID' (flat in highp int PrimitiveID)
-0:207  Function Definition: pfooBad( (global void)
-0:207    Function Parameters: 
-0:?     Sequence
-0:210      move second child to first child (temp mediump 2-component vector of float)
-0:210        'h' (noContraction temp mediump 2-component vector of float)
-0:210        fma (global mediump 2-component vector of float)
-0:210          'inf' (smooth in mediump 2-component vector of float)
-0:210          'ing' (smooth in mediump 2-component vector of float)
-0:210          'h' (noContraction temp mediump 2-component vector of float)
-0:211      textureGatherOffset (global highp 4-component vector of float)
-0:211        direct index (temp highp sampler2D)
-0:211          'sArray' (uniform 4-element array of highp sampler2D)
-0:211          Constant:
-0:211            0 (const int)
-0:211        Constant:
-0:211          0.100000
-0:211          0.100000
-0:211        Convert float to int (temp highp 2-component vector of int)
-0:211          'inf' (smooth in mediump 2-component vector of float)
-0:212      textureGatherOffsets (global highp 4-component vector of float)
-0:212        direct index (temp highp sampler2D)
-0:212          'sArray' (uniform 4-element array of highp sampler2D)
-0:212          Constant:
-0:212            0 (const int)
-0:212        Constant:
-0:212          0.100000
-0:212          0.100000
-0:212        Constant:
-0:212          0 (const int)
-0:212          0 (const int)
-0:212          0 (const int)
-0:212          0 (const int)
-0:212          0 (const int)
-0:212          0 (const int)
-0:212          0 (const int)
-0:212          0 (const int)
-0:217  Function Definition: pfoo( (global void)
-0:217    Function Parameters: 
-0:?     Sequence
-0:220      move second child to first child (temp mediump 2-component vector of float)
-0:220        'h' (noContraction temp mediump 2-component vector of float)
-0:220        fma (global mediump 2-component vector of float)
-0:220          'inf' (smooth in mediump 2-component vector of float)
-0:220          'ing' (smooth in mediump 2-component vector of float)
-0:220          'h' (noContraction temp mediump 2-component vector of float)
-0:221      textureGatherOffset (global highp 4-component vector of float)
-0:221        direct index (temp highp sampler2D)
-0:221          'sArray' (uniform 4-element array of highp sampler2D)
-0:221          Constant:
-0:221            0 (const int)
-0:221        Constant:
-0:221          0.100000
-0:221          0.100000
-0:221        Convert float to int (temp highp 2-component vector of int)
-0:221          'inf' (smooth in mediump 2-component vector of float)
-0:222      textureGatherOffsets (global highp 4-component vector of float)
-0:222        direct index (temp highp sampler2D)
-0:222          'sArray' (uniform 4-element array of highp sampler2D)
-0:222          Constant:
-0:222            0 (const int)
-0:222        Constant:
-0:222          0.100000
-0:222          0.100000
-0:222        Constant:
-0:222          0 (const int)
-0:222          0 (const int)
-0:222          0 (const int)
-0:222          0 (const int)
-0:222          0 (const int)
-0:222          0 (const int)
-0:222          0 (const int)
-0:222          0 (const int)
-0:223      textureGatherOffsets (global highp 4-component vector of float)
-0:223        direct index (temp highp sampler2D)
-0:223          'sArray' (uniform 4-element array of highp sampler2D)
-0:223          Constant:
-0:223            0 (const int)
-0:223        Constant:
-0:223          0.100000
-0:223          0.100000
-0:223        'offsets' (uniform 4-element array of mediump 2-component vector of int)
-0:248  Function Definition: CAT( (global void)
-0:248    Function Parameters: 
-0:250    Sequence
-0:250      Sequence
-0:250        move second child to first child (temp highp 4-component vector of float)
-0:250          'b4' (temp highp 4-component vector of float)
-0:250          texture (global highp 4-component vector of float)
-0:250            'CA4' (uniform highp samplerCubeArray)
-0:250            Constant:
-0:250              0.500000
-0:250              0.500000
-0:250              0.500000
-0:250              0.500000
-0:250            Constant:
-0:250              0.240000
-0:251      Sequence
-0:251        move second child to first child (temp highp 4-component vector of int)
-0:251          'b6' (temp highp 4-component vector of int)
-0:251          texture (global highp 4-component vector of int)
-0:251            'CA6' (uniform highp isamplerCubeArray)
-0:251            Constant:
-0:251              0.500000
-0:251              0.500000
-0:251              0.500000
-0:251              0.500000
-0:251            Constant:
-0:251              0.260000
-0:252      Sequence
-0:252        move second child to first child (temp highp 4-component vector of uint)
-0:252          'b7' (temp highp 4-component vector of uint)
-0:252          texture (global highp 4-component vector of uint)
-0:252            'CA7' (uniform highp usamplerCubeArray)
-0:252            Constant:
-0:252              0.500000
-0:252              0.500000
-0:252              0.500000
-0:252              0.500000
-0:252            Constant:
-0:252              0.270000
-0:255  Function Definition: badSample( (global void)
-0:255    Function Parameters: 
-0:257    Sequence
-0:257      Sequence
-0:257        move second child to first child (temp lowp int)
-0:257          'a1' (temp lowp int)
-0:257          'gl_SampleID' (flat in lowp int SampleId)
-0:258      Sequence
-0:258        move second child to first child (temp mediump 2-component vector of float)
-0:258          'a2' (temp mediump 2-component vector of float)
-0:258          'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
-0:259      Sequence
-0:259        move second child to first child (temp highp int)
-0:259          'a3' (temp highp int)
-0:259          direct index (flat temp highp int SampleMaskIn)
-0:259            'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
-0:259            Constant:
-0:259              0 (const int)
-0:260      move second child to first child (temp highp int)
-0:260        direct index (temp highp int SampleMaskIn)
-0:260          'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
-0:260          Constant:
-0:260            0 (const int)
-0:260        'a3' (temp highp int)
-0:261      Sequence
-0:261        move second child to first child (temp mediump int)
-0:261          'n' (temp mediump int)
-0:261          'gl_NumSamples' (uniform lowp int)
-0:268  Function Definition: goodSample( (global void)
-0:268    Function Parameters: 
-0:270    Sequence
-0:270      Sequence
-0:270        move second child to first child (temp lowp int)
-0:270          'a1' (temp lowp int)
-0:270          'gl_SampleID' (flat in lowp int SampleId)
-0:271      Sequence
-0:271        move second child to first child (temp mediump 2-component vector of float)
-0:271          'a2' (temp mediump 2-component vector of float)
-0:271          'gl_SamplePosition' (smooth in mediump 2-component vector of float SamplePosition)
-0:272      Sequence
-0:272        move second child to first child (temp highp int)
-0:272          'a3' (temp highp int)
-0:272          direct index (flat temp highp int SampleMaskIn)
-0:272            'gl_SampleMaskIn' (flat in 1-element array of highp int SampleMaskIn)
-0:272            Constant:
-0:272              0 (const int)
-0:273      move second child to first child (temp highp int)
-0:273        direct index (temp highp int SampleMaskIn)
-0:273          'gl_SampleMask' (out 1-element array of highp int SampleMaskIn)
-0:273          Constant:
-0:273            0 (const int)
-0:273        'a3' (temp highp int)
-0:274      Sequence
-0:274        move second child to first child (temp mediump int)
-0:274          'n1' (temp mediump int)
-0:274          Constant:
-0:274            4 (const int)
-0:275      Sequence
-0:275        move second child to first child (temp mediump int)
-0:275          'n2' (temp mediump int)
-0:275          'gl_NumSamples' (uniform lowp int)
-0:283  Function Definition: badImageAtom( (global void)
-0:283    Function Parameters: 
-0:?     Sequence
-0:289      imageAtomicAdd (global highp int)
-0:289        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:289        'P' (uniform mediump 2-component vector of int)
-0:289        'dati' (temp mediump int)
-0:290      imageAtomicAdd (global highp uint)
-0:290        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:290        'P' (uniform mediump 2-component vector of int)
-0:290        'datu' (temp mediump uint)
-0:291      imageAtomicMin (global highp int)
-0:291        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:291        'P' (uniform mediump 2-component vector of int)
-0:291        'dati' (temp mediump int)
-0:292      imageAtomicMin (global highp uint)
-0:292        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:292        'P' (uniform mediump 2-component vector of int)
-0:292        'datu' (temp mediump uint)
-0:293      imageAtomicMax (global highp int)
-0:293        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:293        'P' (uniform mediump 2-component vector of int)
-0:293        'dati' (temp mediump int)
-0:294      imageAtomicMax (global highp uint)
-0:294        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:294        'P' (uniform mediump 2-component vector of int)
-0:294        'datu' (temp mediump uint)
-0:295      imageAtomicAnd (global highp int)
-0:295        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:295        'P' (uniform mediump 2-component vector of int)
-0:295        'dati' (temp mediump int)
-0:296      imageAtomicAnd (global highp uint)
-0:296        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:296        'P' (uniform mediump 2-component vector of int)
-0:296        'datu' (temp mediump uint)
-0:297      imageAtomicOr (global highp int)
-0:297        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:297        'P' (uniform mediump 2-component vector of int)
-0:297        'dati' (temp mediump int)
-0:298      imageAtomicOr (global highp uint)
-0:298        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:298        'P' (uniform mediump 2-component vector of int)
-0:298        'datu' (temp mediump uint)
-0:299      imageAtomicXor (global highp int)
-0:299        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:299        'P' (uniform mediump 2-component vector of int)
-0:299        'dati' (temp mediump int)
-0:300      imageAtomicXor (global highp uint)
-0:300        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:300        'P' (uniform mediump 2-component vector of int)
-0:300        'datu' (temp mediump uint)
-0:301      imageAtomicExchange (global highp int)
-0:301        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:301        'P' (uniform mediump 2-component vector of int)
-0:301        'dati' (temp mediump int)
-0:302      imageAtomicExchange (global highp uint)
-0:302        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:302        'P' (uniform mediump 2-component vector of int)
-0:302        'datu' (temp mediump uint)
-0:303      imageAtomicExchange (global highp float)
-0:303        'im2Df' (layout(r32f ) uniform highp image2D)
-0:303        'P' (uniform mediump 2-component vector of int)
-0:303        'datf' (temp mediump float)
-0:304      imageAtomicCompSwap (global highp int)
-0:304        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:304        'P' (uniform mediump 2-component vector of int)
-0:304        Constant:
-0:304          3 (const int)
-0:304        'dati' (temp mediump int)
-0:305      imageAtomicCompSwap (global highp uint)
-0:305        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:305        'P' (uniform mediump 2-component vector of int)
-0:305        Constant:
-0:305          5 (const uint)
-0:305        'datu' (temp mediump uint)
-0:316  Function Definition: goodImageAtom( (global void)
-0:316    Function Parameters: 
-0:?     Sequence
-0:322      imageAtomicAdd (global highp int)
-0:322        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:322        'P' (uniform mediump 2-component vector of int)
-0:322        'dati' (temp mediump int)
-0:323      imageAtomicAdd (global highp uint)
-0:323        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:323        'P' (uniform mediump 2-component vector of int)
-0:323        'datu' (temp mediump uint)
-0:324      imageAtomicMin (global highp int)
-0:324        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:324        'P' (uniform mediump 2-component vector of int)
-0:324        'dati' (temp mediump int)
-0:325      imageAtomicMin (global highp uint)
-0:325        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:325        'P' (uniform mediump 2-component vector of int)
-0:325        'datu' (temp mediump uint)
-0:326      imageAtomicMax (global highp int)
-0:326        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:326        'P' (uniform mediump 2-component vector of int)
-0:326        'dati' (temp mediump int)
-0:327      imageAtomicMax (global highp uint)
-0:327        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:327        'P' (uniform mediump 2-component vector of int)
-0:327        'datu' (temp mediump uint)
-0:328      imageAtomicAnd (global highp int)
-0:328        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:328        'P' (uniform mediump 2-component vector of int)
-0:328        'dati' (temp mediump int)
-0:329      imageAtomicAnd (global highp uint)
-0:329        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:329        'P' (uniform mediump 2-component vector of int)
-0:329        'datu' (temp mediump uint)
-0:330      imageAtomicOr (global highp int)
-0:330        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:330        'P' (uniform mediump 2-component vector of int)
-0:330        'dati' (temp mediump int)
-0:331      imageAtomicOr (global highp uint)
-0:331        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:331        'P' (uniform mediump 2-component vector of int)
-0:331        'datu' (temp mediump uint)
-0:332      imageAtomicXor (global highp int)
-0:332        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:332        'P' (uniform mediump 2-component vector of int)
-0:332        'dati' (temp mediump int)
-0:333      imageAtomicXor (global highp uint)
-0:333        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:333        'P' (uniform mediump 2-component vector of int)
-0:333        'datu' (temp mediump uint)
-0:334      imageAtomicExchange (global highp int)
-0:334        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:334        'P' (uniform mediump 2-component vector of int)
-0:334        'dati' (temp mediump int)
-0:335      imageAtomicExchange (global highp uint)
-0:335        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:335        'P' (uniform mediump 2-component vector of int)
-0:335        'datu' (temp mediump uint)
-0:336      imageAtomicExchange (global highp float)
-0:336        'im2Df' (layout(r32f ) uniform highp image2D)
-0:336        'P' (uniform mediump 2-component vector of int)
-0:336        'datf' (temp mediump float)
-0:337      imageAtomicCompSwap (global highp int)
-0:337        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:337        'P' (uniform mediump 2-component vector of int)
-0:337        Constant:
-0:337          3 (const int)
-0:337        'dati' (temp mediump int)
-0:338      imageAtomicCompSwap (global highp uint)
-0:338        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:338        'P' (uniform mediump 2-component vector of int)
-0:338        Constant:
-0:338          5 (const uint)
-0:338        'datu' (temp mediump uint)
-0:340      imageAtomicMax (global highp int)
-0:340        'badIm2Di' (layout(rgba16i ) uniform highp iimage2D)
-0:340        'P' (uniform mediump 2-component vector of int)
-0:340        'dati' (temp mediump int)
-0:341      imageAtomicMax (global highp uint)
-0:341        'badIm2Du' (layout(rgba8ui ) uniform highp uimage2D)
-0:341        'P' (uniform mediump 2-component vector of int)
-0:341        'datu' (temp mediump uint)
-0:342      imageAtomicExchange (global highp float)
-0:342        'badIm2Df' (layout(rgba32f ) uniform highp image2D)
-0:342        'P' (uniform mediump 2-component vector of int)
-0:342        'datf' (temp mediump float)
-0:353  Function Definition: badInterp( (global void)
-0:353    Function Parameters: 
-0:355    Sequence
-0:355      interpolateAtCentroid (global mediump 2-component vector of float)
-0:355        'colorfc' (centroid flat in mediump 2-component vector of float)
-0:356      interpolateAtSample (global mediump 2-component vector of float)
-0:356        'colorfc' (centroid flat in mediump 2-component vector of float)
-0:356        Constant:
-0:356          1 (const int)
-0:357      interpolateAtOffset (global mediump 2-component vector of float)
-0:357        'colorfc' (centroid flat in mediump 2-component vector of float)
-0:357        Constant:
-0:357          0.200000
-0:357          0.200000
-0:369  Function Definition: interp( (global void)
-0:369    Function Parameters: 
-0:?     Sequence
-0:376      move second child to first child (temp mediump 2-component vector of float)
-0:376        'res2' (temp mediump 2-component vector of float)
-0:376        interpolateAtCentroid (global mediump 2-component vector of float)
-0:376          'colorfc' (centroid flat in mediump 2-component vector of float)
-0:377      move second child to first child (temp mediump 4-component vector of float)
-0:377        'res4' (temp mediump 4-component vector of float)
-0:377        interpolateAtCentroid (global mediump 4-component vector of float)
-0:377          'colorSampIn' (smooth sample in mediump 4-component vector of float)
-0:378      move second child to first child (temp mediump 4-component vector of float)
-0:378        'res4' (temp mediump 4-component vector of float)
-0:378        interpolateAtCentroid (global mediump 4-component vector of float)
-0:378          'colorfsi' (flat sample in mediump 4-component vector of float)
-0:379      move second child to first child (temp mediump float)
-0:379        'res' (temp mediump float)
-0:379        interpolateAtCentroid (global mediump float)
-0:379          'scalarIn' (smooth in mediump float)
-0:380      'res3' (temp mediump 3-component vector of float)
-0:381      move second child to first child (temp mediump 3-component vector of float)
-0:381        'res3' (temp mediump 3-component vector of float)
-0:381        interpolateAtCentroid (global mediump 3-component vector of float)
-0:381          direct index (smooth sample temp mediump 3-component vector of float)
-0:381            'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:381            Constant:
-0:381              2 (const int)
-0:382      move second child to first child (temp mediump 2-component vector of float)
-0:382        'res2' (temp mediump 2-component vector of float)
-0:382        interpolateAtCentroid (global mediump 2-component vector of float)
-0:382          vector swizzle (temp mediump 2-component vector of float)
-0:382            direct index (smooth sample temp mediump 3-component vector of float)
-0:382              'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:382              Constant:
-0:382                2 (const int)
-0:382            Sequence
-0:382              Constant:
-0:382                0 (const int)
-0:382              Constant:
-0:382                1 (const int)
-0:384      'res3' (temp mediump 3-component vector of float)
-0:385      move second child to first child (temp mediump 3-component vector of float)
-0:385        'res3' (temp mediump 3-component vector of float)
-0:385        interpolateAtSample (global mediump 3-component vector of float)
-0:385          indirect index (smooth sample temp mediump 3-component vector of float)
-0:385            'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:385            'i' (uniform mediump int)
-0:385          Constant:
-0:385            0 (const int)
-0:386      move second child to first child (temp mediump 2-component vector of float)
-0:386        'res2' (temp mediump 2-component vector of float)
-0:386        interpolateAtSample (global mediump 2-component vector of float)
-0:386          vector swizzle (temp mediump 2-component vector of float)
-0:386            direct index (smooth sample temp mediump 3-component vector of float)
-0:386              'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:386              Constant:
-0:386                2 (const int)
-0:386            Sequence
-0:386              Constant:
-0:386                0 (const int)
-0:386              Constant:
-0:386                1 (const int)
-0:386          Constant:
-0:386            2 (const int)
-0:387      move second child to first child (temp mediump float)
-0:387        'res' (temp mediump float)
-0:387        interpolateAtSample (global mediump float)
-0:387          'scalarIn' (smooth in mediump float)
-0:387          Constant:
-0:387            1 (const int)
-0:389      'res3' (temp mediump 3-component vector of float)
-0:390      move second child to first child (temp mediump 3-component vector of float)
-0:390        'res3' (temp mediump 3-component vector of float)
-0:390        interpolateAtOffset (global mediump 3-component vector of float)
-0:390          direct index (smooth sample temp mediump 3-component vector of float)
-0:390            'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:390            Constant:
-0:390              2 (const int)
-0:390          Constant:
-0:390            0.200000
-0:390            0.200000
-0:391      move second child to first child (temp mediump 2-component vector of float)
-0:391        'res2' (temp mediump 2-component vector of float)
-0:391        interpolateAtOffset (global mediump 2-component vector of float)
-0:391          vector swizzle (temp mediump 2-component vector of float)
-0:391            direct index (smooth sample temp mediump 3-component vector of float)
-0:391              'sampInArray' (smooth sample in 4-element array of mediump 3-component vector of float)
-0:391              Constant:
-0:391                2 (const int)
-0:391            Sequence
-0:391              Constant:
-0:391                0 (const int)
-0:391              Constant:
-0:391                1 (const int)
-0:391          Constant:
-0:391            0.200000
-0:391            0.200000
-0:392      move second child to first child (temp mediump float)
-0:392        'res' (temp mediump float)
-0:392        interpolateAtOffset (global mediump float)
-0:392          add (temp mediump float)
-0:392            'scalarIn' (smooth in mediump float)
-0:392            'scalarIn' (smooth in mediump float)
-0:392          Constant:
-0:392            0.200000
-0:392            0.200000
-0:393      move second child to first child (temp mediump float)
-0:393        'res' (temp mediump float)
-0:393        interpolateAtOffset (global mediump float)
-0:393          'scalarIn' (smooth in mediump float)
-0:393          Constant:
-0:393            0.200000
-0:393            0.200000
-0:396      move second child to first child (temp mediump float)
-0:396        'res' (temp mediump float)
-0:396        interpolateAtCentroid (global mediump float)
-0:396          'f' (temp mediump float)
-0:397      move second child to first child (temp mediump 4-component vector of float)
-0:397        'res4' (temp mediump 4-component vector of float)
-0:397        interpolateAtSample (global mediump 4-component vector of float)
-0:397          'outp' (out mediump 4-component vector of float)
-0:397          Constant:
-0:397            0 (const int)
-0:427  Function Definition: blendFoo( (temp void)
-0:427    Function Parameters: 
-0:428  Function Definition: blendFoo(vf3; (global void)
-0:428    Function Parameters: 
-0:428      'v' (in mediump 3-component vector of float)
 0:?   Linker Objects
 0:?     'gl_FragCoord' (smooth in mediump 4-component vector of float)
 0:?     'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)

+ 0 - 68
3rdparty/glslang/Test/baseResults/310.geom.out

@@ -250,74 +250,6 @@ ERROR: node is still EOpNull!
 0:52        'gl_Layer' (layout(stream=0 ) out highp int Layer)
 0:52        Constant:
 0:52          2 (const int)
-0:63  Function Definition: foo(i1; (global void)
-0:63    Function Parameters: 
-0:63      'a' (in highp int)
-0:65    Sequence
-0:65      move second child to first child (temp mediump 4-component vector of float)
-0:65        a: direct index for structure (layout(stream=0 ) out mediump 4-component vector of float)
-0:65          'ouuaa6' (layout(stream=0 ) out block{layout(stream=0 ) out mediump 4-component vector of float a})
-0:65          Constant:
-0:65            0 (const int)
-0:65        Constant:
-0:65          1.000000
-0:65          1.000000
-0:65          1.000000
-0:65          1.000000
-0:114  Function Definition: fooe1( (global void)
-0:114    Function Parameters: 
-0:116    Sequence
-0:116      'gl_ViewportIndex' (temp float)
-0:117      'gl_MaxViewports' (temp float)
-0:118      Constant:
-0:118        4 (const int)
-0:119      Sequence
-0:119        move second child to first child (temp highp int)
-0:119          'inv' (temp highp int)
-0:119          'gl_InvocationID' (in highp int InvocationID)
-0:134  Function Definition: notHere( (global void)
-0:134    Function Parameters: 
-0:136    Sequence
-0:136      'gl_MaxGeometryVaryingComponents' (temp float)
-0:137      'gl_VerticesIn' (temp float)
-0:140  Function Definition: pointSize1( (global void)
-0:140    Function Parameters: 
-0:142    Sequence
-0:142      Sequence
-0:142        move second child to first child (temp highp float)
-0:142          'ps' (temp highp float)
-0:142          gl_PointSize: direct index for structure (in highp float PointSize)
-0:142            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:142              'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:142              Constant:
-0:142                3 (const int)
-0:142            Constant:
-0:142              1 (const int)
-0:143      move second child to first child (temp highp float)
-0:143        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
-0:143          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:143          Constant:
-0:143            1 (const uint)
-0:143        'ps' (temp highp float)
-0:148  Function Definition: pointSize2( (global void)
-0:148    Function Parameters: 
-0:150    Sequence
-0:150      Sequence
-0:150        move second child to first child (temp highp float)
-0:150          'ps' (temp highp float)
-0:150          gl_PointSize: direct index for structure (in highp float PointSize)
-0:150            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:150              'gl_in' (in 4-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:150              Constant:
-0:150                3 (const int)
-0:150            Constant:
-0:150              1 (const int)
-0:151      move second child to first child (temp highp float)
-0:151        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize highp float PointSize)
-0:151          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position highp 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize highp float PointSize gl_PointSize})
-0:151          Constant:
-0:151            1 (const uint)
-0:151        'ps' (temp highp float)
 0:?   Linker Objects
 0:?     'fromV' (in 4-element array of block{in mediump 3-component vector of float color})
 0:?     'nonBlockUnsized' (in 4-element array of mediump 4-component vector of float)

+ 0 - 166
3rdparty/glslang/Test/baseResults/310.tesc.out

@@ -514,172 +514,6 @@ ERROR: node is still EOpNull!
 0:58        Barrier (global void)
 0:61      Branch: Return
 0:63      Barrier (global void)
-0:69  Function Definition: foo( (global void)
-0:69    Function Parameters: 
-0:71    Sequence
-0:71      gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:71        direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:71          'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:71          Constant:
-0:71            4 (const int)
-0:71        Constant:
-0:71          0 (const int)
-0:73      Barrier (global void)
-0:92  Function Definition: foop( (global void)
-0:92    Function Parameters: 
-0:?     Sequence
-0:95      move second child to first child (temp highp float)
-0:95        'd' (noContraction temp highp float)
-0:95        fma (global highp float)
-0:95          'd' (noContraction temp highp float)
-0:95          'd' (noContraction temp highp float)
-0:95          'd' (noContraction temp highp float)
-0:112  Function Definition: pointSize2( (global void)
-0:112    Function Parameters: 
-0:114    Sequence
-0:114      Sequence
-0:114        move second child to first child (temp highp float)
-0:114          'ps' (temp highp float)
-0:114          gl_PointSize: direct index for structure (in highp float PointSize)
-0:114            direct index (temp block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:114              'gl_in' (in 32-element array of block{in highp 4-component vector of float Position gl_Position, in highp float PointSize gl_PointSize})
-0:114              Constant:
-0:114                1 (const int)
-0:114            Constant:
-0:114              1 (const int)
-0:115      move second child to first child (temp highp float)
-0:115        gl_PointSize: direct index for structure (out highp float PointSize)
-0:115          indirect index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:115            'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:115            'gl_InvocationID' (in highp int InvocationID)
-0:115          Constant:
-0:115            1 (const int)
-0:115        'ps' (temp highp float)
-0:122  Function Definition: goodfoop( (global void)
-0:122    Function Parameters: 
-0:?     Sequence
-0:126      multiply second child into first child (temp highp 3-component vector of float)
-0:126        'pv3' (noContraction temp highp 3-component vector of float)
-0:126        'pv3' (noContraction temp highp 3-component vector of float)
-0:127      move second child to first child (temp highp 3-component vector of float)
-0:127        'pv3' (noContraction temp highp 3-component vector of float)
-0:127        fma (global highp 3-component vector of float)
-0:127          'pv3' (noContraction temp highp 3-component vector of float)
-0:127          'pv3' (noContraction temp highp 3-component vector of float)
-0:127          'pv3' (noContraction temp highp 3-component vector of float)
-0:128      move second child to first child (temp highp float)
-0:128        'd' (noContraction temp highp float)
-0:128        fma (global highp float)
-0:128          'd' (noContraction temp highp float)
-0:128          'd' (noContraction temp highp float)
-0:128          'd' (noContraction temp highp float)
-0:131  Function Definition: bbBad( (global void)
-0:131    Function Parameters: 
-0:133    Sequence
-0:133      'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:138  Function Definition: bb( (global void)
-0:138    Function Parameters: 
-0:140    Sequence
-0:140      move second child to first child (temp highp 4-component vector of float)
-0:140        direct index (patch temp highp 4-component vector of float BoundingBox)
-0:140          'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:140          Constant:
-0:140            0 (const int)
-0:140        Constant:
-0:140          0.000000
-0:140          0.000000
-0:140          0.000000
-0:140          0.000000
-0:141      move second child to first child (temp highp 4-component vector of float)
-0:141        direct index (patch temp highp 4-component vector of float BoundingBox)
-0:141          'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:141          Constant:
-0:141            1 (const int)
-0:141        Constant:
-0:141          1.000000
-0:141          1.000000
-0:141          1.000000
-0:141          1.000000
-0:142      move second child to first child (temp highp 4-component vector of float)
-0:142        direct index (patch temp highp 4-component vector of float BoundingBox)
-0:142          'gl_BoundingBoxOES' (patch out 2-element array of highp 4-component vector of float BoundingBox)
-0:142          Constant:
-0:142            2 (const int)
-0:142        Constant:
-0:142          2.000000
-0:142          2.000000
-0:142          2.000000
-0:142          2.000000
-0:153  Function Definition: outputtingOutparam(i1; (global void)
-0:153    Function Parameters: 
-0:153      'a' (out highp int)
-0:155    Sequence
-0:155      move second child to first child (temp highp int)
-0:155        'a' (out highp int)
-0:155        Constant:
-0:155          2 (const int)
-0:158  Function Definition: outputting( (global void)
-0:158    Function Parameters: 
-0:160    Sequence
-0:160      move second child to first child (temp highp int)
-0:160        indirect index (temp highp int)
-0:160          'outa' (out 4-element array of highp int)
-0:160          'gl_InvocationID' (in highp int InvocationID)
-0:160        Constant:
-0:160          2 (const int)
-0:161      move second child to first child (temp highp int)
-0:161        direct index (temp highp int)
-0:161          'outa' (out 4-element array of highp int)
-0:161          Constant:
-0:161            1 (const int)
-0:161        Constant:
-0:161          2 (const int)
-0:162      move second child to first child (temp highp 4-component vector of float)
-0:162        gl_Position: direct index for structure (out highp 4-component vector of float Position)
-0:162          direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:162            'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:162            Constant:
-0:162              0 (const int)
-0:162          Constant:
-0:162            0 (const int)
-0:162        Constant:
-0:162          1.000000
-0:162          1.000000
-0:162          1.000000
-0:162          1.000000
-0:163      direct index (temp highp int)
-0:163        'outa' (out 4-element array of highp int)
-0:163        Constant:
-0:163          1 (const int)
-0:164      direct index (temp block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:164        'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
-0:164        Constant:
-0:164          0 (const int)
-0:165      Function Call: outputtingOutparam(i1; (global void)
-0:165        direct index (temp highp int)
-0:165          'outa' (out 4-element array of highp int)
-0:165          Constant:
-0:165            0 (const int)
-0:166      Function Call: outputtingOutparam(i1; (global void)
-0:166        indirect index (temp highp int)
-0:166          'outa' (out 4-element array of highp int)
-0:166          'gl_InvocationID' (in highp int InvocationID)
-0:167      move second child to first child (temp highp float)
-0:167        f: direct index for structure (out highp float)
-0:167          direct index (patch temp block{out highp float f})
-0:167            'patchIName' (patch out 4-element array of block{out highp float f})
-0:167            Constant:
-0:167              1 (const int)
-0:167          Constant:
-0:167            0 (const int)
-0:167        Constant:
-0:167          3.140000
-0:168      move second child to first child (temp highp int)
-0:168        indirect index (temp highp int)
-0:168          'outa' (out 4-element array of highp int)
-0:168          'gl_InvocationID' (in highp int InvocationID)
-0:168        Constant:
-0:168          2 (const int)
 0:?   Linker Objects
 0:?     'gl_out' (out 4-element array of block{out highp 4-component vector of float Position gl_Position, out highp float PointSize gl_PointSize})
 0:?     'outa' (out 4-element array of highp int)

+ 0 - 13
3rdparty/glslang/Test/baseResults/310.tese.out

@@ -274,19 +274,6 @@ ERROR: node is still EOpNull!
 0:48        Constant:
 0:48          0.000000
 0:48        'cd' (temp highp float)
-0:117  Function Definition: pointSize2( (global void)
-0:117    Function Parameters: 
-0:?     Sequence
-0:120      move second child to first child (temp highp float)
-0:120        gl_PointSize: direct index for structure (gl_PointSize highp float PointSize)
-0:120          'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, gl_PointSize highp float PointSize gl_PointSize})
-0:120          Constant:
-0:120            1 (const uint)
-0:120        'ps' (temp highp float)
-0:125  Function Definition: bbbad( (global void)
-0:125    Function Parameters: 
-0:127    Sequence
-0:127      'gl_BoundingBoxOES' (temp float)
 0:?   Linker Objects
 0:?     'patchIn' (patch in highp 4-component vector of float)
 0:?     'patchOut' (patch out highp 4-component vector of float)

+ 0 - 687
3rdparty/glslang/Test/baseResults/310.vert.out

@@ -1158,693 +1158,6 @@ ERROR: node is still EOpNull!
 0:48        'v4' (temp mediump 4-component vector of float)
 0:48        UnpackSnorm4x8 (global mediump 4-component vector of float, operation at highp)
 0:48          'u1' (temp highp uint)
-0:60  Function Definition: foo( (global void)
-0:60    Function Parameters: 
-0:?     Sequence
-0:63      move second child to first child (temp highp 2-component vector of int)
-0:63        'v2' (temp highp 2-component vector of int)
-0:63        textureSize (global highp 2-component vector of int)
-0:63          's2dms' (uniform highp sampler2DMS)
-0:64      move second child to first child (temp highp 2-component vector of int)
-0:64        'v2' (temp highp 2-component vector of int)
-0:64        textureSize (global highp 2-component vector of int)
-0:64          'us2dms' (uniform highp usampler2DMS)
-0:65      Sequence
-0:65        move second child to first child (temp highp 4-component vector of float)
-0:65          'v4' (temp highp 4-component vector of float)
-0:65          textureFetch (global highp 4-component vector of float)
-0:65            's2dms' (uniform highp sampler2DMS)
-0:65            'v2' (temp highp 2-component vector of int)
-0:65            Constant:
-0:65              2 (const int)
-0:66      Sequence
-0:66        move second child to first child (temp highp 4-component vector of int)
-0:66          'iv4' (temp highp 4-component vector of int)
-0:66          textureFetch (global highp 4-component vector of int)
-0:66            'is2dms' (uniform highp isampler2DMS)
-0:66            'v2' (temp highp 2-component vector of int)
-0:66            Constant:
-0:66              2 (const int)
-0:67      Constant:
-0:67        0.000000
-0:69      frexp (global highp float)
-0:69        'f' (temp highp float)
-0:69        'ini' (in highp int)
-0:114  Function Definition: foo_IO( (global void)
-0:114    Function Parameters: 
-0:116    Sequence
-0:116      Sequence
-0:116        move second child to first child (temp highp int)
-0:116          'sum' (temp highp int)
-0:116          add (temp highp int)
-0:116            'gl_VertexID' (gl_VertexId highp int VertexId)
-0:117            'gl_InstanceID' (gl_InstanceId highp int InstanceId)
-0:118      move second child to first child (temp highp 4-component vector of float)
-0:118        gl_Position: direct index for structure (gl_Position highp 4-component vector of float Position)
-0:118          'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:118          Constant:
-0:118            0 (const uint)
-0:118        Constant:
-0:118          1.000000
-0:118          1.000000
-0:118          1.000000
-0:118          1.000000
-0:119      gl_PointSize: direct index for structure (gl_PointSize highp void PointSize)
-0:119        'anon@1' (out block{gl_Position highp 4-component vector of float Position gl_Position, })
-0:119        Constant:
-0:119          1 (const uint)
-0:153  Function Definition: pfooBad( (global void)
-0:153    Function Parameters: 
-0:?     Sequence
-0:156      move second child to first child (temp highp 2-component vector of float)
-0:156        'h' (noContraction temp highp 2-component vector of float)
-0:156        fma (global highp 2-component vector of float)
-0:156          'inf' (in highp 2-component vector of float)
-0:156          'ing' (in highp 2-component vector of float)
-0:156          'h' (noContraction temp highp 2-component vector of float)
-0:157      indirect index (temp lowp sampler2D)
-0:157        'sArray' (uniform 4-element array of lowp sampler2D)
-0:157        add (temp highp int)
-0:157          'sIndex' (uniform highp int)
-0:157          Constant:
-0:157            1 (const int)
-0:158      indirect index (layout(binding=0 offset=0 ) temp highp atomic_uint)
-0:158        'auArray' (layout(binding=0 offset=0 ) uniform 2-element array of highp atomic_uint)
-0:158        add (temp highp int)
-0:158          'sIndex' (uniform highp int)
-0:158          Constant:
-0:158            1 (const int)
-0:159      direct index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:159        'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:159        Constant:
-0:159          1 (const int)
-0:160      direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:160        'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:160        Constant:
-0:160          2 (const int)
-0:161      indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:161        'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:161        add (temp highp int)
-0:161          'sIndex' (uniform highp int)
-0:161          Constant:
-0:161            1 (const int)
-0:162      indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:162        'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:162        'sIndex' (uniform highp int)
-0:163      direct index (writeonly temp highp image2D)
-0:163        'iArray' (writeonly uniform 5-element array of highp image2D)
-0:163        Constant:
-0:163          2 (const int)
-0:164      indirect index (writeonly temp highp image2D)
-0:164        'iArray' (writeonly uniform 5-element array of highp image2D)
-0:164        component-wise multiply (temp highp int)
-0:164          'sIndex' (uniform highp int)
-0:164          Constant:
-0:164            2 (const int)
-0:165      textureGatherOffset (global lowp 4-component vector of float)
-0:165        direct index (temp lowp sampler2D)
-0:165          'sArray' (uniform 4-element array of lowp sampler2D)
-0:165          Constant:
-0:165            0 (const int)
-0:165        Constant:
-0:165          0.100000
-0:165          0.100000
-0:165        Convert float to int (temp lowp 2-component vector of int)
-0:165          'inf' (in highp 2-component vector of float)
-0:166      textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
-0:166        direct index (temp lowp sampler2D)
-0:166          'sArray' (uniform 4-element array of lowp sampler2D)
-0:166          Constant:
-0:166            0 (const int)
-0:166        Constant:
-0:166          0.100000
-0:166          0.100000
-0:166        Constant:
-0:166          0 (const int)
-0:166          0 (const int)
-0:166          0 (const int)
-0:166          0 (const int)
-0:166          0 (const int)
-0:166          0 (const int)
-0:166          0 (const int)
-0:166          0 (const int)
-0:171  Function Definition: pfoo( (global void)
-0:171    Function Parameters: 
-0:?     Sequence
-0:174      move second child to first child (temp highp 2-component vector of float)
-0:174        'h' (noContraction temp highp 2-component vector of float)
-0:174        fma (global highp 2-component vector of float)
-0:174          'inf' (in highp 2-component vector of float)
-0:174          'ing' (in highp 2-component vector of float)
-0:174          'h' (noContraction temp highp 2-component vector of float)
-0:175      indirect index (temp lowp sampler2D)
-0:175        'sArray' (uniform 4-element array of lowp sampler2D)
-0:175        add (temp highp int)
-0:175          'sIndex' (uniform highp int)
-0:175          Constant:
-0:175            1 (const int)
-0:176      indirect index (layout(column_major shared ) temp block{layout(column_major shared ) uniform highp int i})
-0:176        'ubInst' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform highp int i})
-0:176        add (temp highp int)
-0:176          'sIndex' (uniform highp int)
-0:176          Constant:
-0:176            1 (const int)
-0:177      indirect index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp int i})
-0:177        'bbInst' (layout(column_major shared ) buffer 4-element array of block{layout(column_major shared ) buffer highp int i})
-0:177        subtract (temp highp int)
-0:177          'sIndex' (uniform highp int)
-0:177          Constant:
-0:177            2 (const int)
-0:178      direct index (writeonly temp highp image2D)
-0:178        'iArray' (writeonly uniform 5-element array of highp image2D)
-0:178        Constant:
-0:178          2 (const int)
-0:179      indirect index (writeonly temp highp image2D)
-0:179        'iArray' (writeonly uniform 5-element array of highp image2D)
-0:179        subtract (temp highp int)
-0:179          'sIndex' (uniform highp int)
-0:179          Constant:
-0:179            2 (const int)
-0:180      textureGatherOffset (global lowp 4-component vector of float)
-0:180        direct index (temp lowp sampler2D)
-0:180          'sArray' (uniform 4-element array of lowp sampler2D)
-0:180          Constant:
-0:180            0 (const int)
-0:180        Constant:
-0:180          0.100000
-0:180          0.100000
-0:180        Convert float to int (temp lowp 2-component vector of int)
-0:180          'inf' (in highp 2-component vector of float)
-0:181      textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
-0:181        direct index (temp lowp sampler2D)
-0:181          'sArray' (uniform 4-element array of lowp sampler2D)
-0:181          Constant:
-0:181            0 (const int)
-0:181        Constant:
-0:181          0.100000
-0:181          0.100000
-0:181        Constant:
-0:181          0 (const int)
-0:181          0 (const int)
-0:181          0 (const int)
-0:181          0 (const int)
-0:181          0 (const int)
-0:181          0 (const int)
-0:181          0 (const int)
-0:181          0 (const int)
-0:182      textureGatherOffsets (global lowp 4-component vector of float, operation at highp)
-0:182        direct index (temp lowp sampler2D)
-0:182          'sArray' (uniform 4-element array of lowp sampler2D)
-0:182          Constant:
-0:182            0 (const int)
-0:182        Constant:
-0:182          0.100000
-0:182          0.100000
-0:182        'offsets' (uniform 4-element array of highp 2-component vector of int)
-0:220  Function Definition: bufferT( (global void)
-0:220    Function Parameters: 
-0:222    Sequence
-0:222      Sequence
-0:222        move second child to first child (temp highp int)
-0:222          's1' (temp highp int)
-0:222          textureSize (global highp int)
-0:222            'bufSamp1' (uniform highp samplerBuffer)
-0:223      Sequence
-0:223        move second child to first child (temp highp int)
-0:223          's2' (temp highp int)
-0:223          textureSize (global highp int)
-0:223            'bufSamp2' (uniform highp isamplerBuffer)
-0:224      Sequence
-0:224        move second child to first child (temp highp int)
-0:224          's3' (temp highp int)
-0:224          textureSize (global highp int)
-0:224            'bufSamp3' (uniform highp usamplerBuffer)
-0:226      Sequence
-0:226        move second child to first child (temp highp int)
-0:226          's4' (temp highp int)
-0:226          imageQuerySize (global highp int)
-0:226            'bufSamp4' (writeonly uniform highp imageBuffer)
-0:227      Sequence
-0:227        move second child to first child (temp highp int)
-0:227          's5' (temp highp int)
-0:227          imageQuerySize (global highp int)
-0:227            'bufSamp5' (writeonly uniform highp iimageBuffer)
-0:228      Sequence
-0:228        move second child to first child (temp highp int)
-0:228          's6' (temp highp int)
-0:228          imageQuerySize (global highp int)
-0:228            'bufSamp6' (writeonly uniform highp uimageBuffer)
-0:230      Sequence
-0:230        move second child to first child (temp highp 4-component vector of float)
-0:230          'f1' (temp highp 4-component vector of float)
-0:230          textureFetch (global highp 4-component vector of float)
-0:230            'bufSamp1' (uniform highp samplerBuffer)
-0:230            's1' (temp highp int)
-0:231      Sequence
-0:231        move second child to first child (temp highp 4-component vector of int)
-0:231          'f2' (temp highp 4-component vector of int)
-0:231          textureFetch (global highp 4-component vector of int)
-0:231            'bufSamp2' (uniform highp isamplerBuffer)
-0:231            's2' (temp highp int)
-0:232      Sequence
-0:232        move second child to first child (temp highp 4-component vector of uint)
-0:232          'f3' (temp highp 4-component vector of uint)
-0:232          textureFetch (global highp 4-component vector of uint)
-0:232            'bufSamp3' (uniform highp usamplerBuffer)
-0:232            's3' (temp highp int)
-0:279  Function Definition: CAT( (global void)
-0:279    Function Parameters: 
-0:281    Sequence
-0:281      Sequence
-0:281        move second child to first child (temp highp 3-component vector of int)
-0:281          's4' (temp highp 3-component vector of int)
-0:281          textureSize (global highp 3-component vector of int)
-0:281            'CA4' (uniform highp samplerCubeArray)
-0:281            Constant:
-0:281              1 (const int)
-0:282      Sequence
-0:282        move second child to first child (temp highp 3-component vector of int)
-0:282          's5' (temp highp 3-component vector of int)
-0:282          textureSize (global highp 3-component vector of int)
-0:282            'CA5' (uniform highp samplerCubeArrayShadow)
-0:282            Constant:
-0:282              1 (const int)
-0:283      Sequence
-0:283        move second child to first child (temp highp 3-component vector of int)
-0:283          's6' (temp highp 3-component vector of int)
-0:283          textureSize (global highp 3-component vector of int)
-0:283            'CA6' (uniform highp isamplerCubeArray)
-0:283            Constant:
-0:283              1 (const int)
-0:284      Sequence
-0:284        move second child to first child (temp highp 3-component vector of int)
-0:284          's7' (temp highp 3-component vector of int)
-0:284          textureSize (global highp 3-component vector of int)
-0:284            'CA7' (uniform highp usamplerCubeArray)
-0:284            Constant:
-0:284              1 (const int)
-0:286      Sequence
-0:286        move second child to first child (temp highp 4-component vector of float)
-0:286          't4' (temp highp 4-component vector of float)
-0:286          texture (global highp 4-component vector of float)
-0:286            'CA4' (uniform highp samplerCubeArray)
-0:286            Constant:
-0:286              0.500000
-0:286              0.500000
-0:286              0.500000
-0:286              0.500000
-0:287      Sequence
-0:287        move second child to first child (temp highp float)
-0:287          't5' (temp highp float)
-0:287          texture (global highp float)
-0:287            'CA5' (uniform highp samplerCubeArrayShadow)
-0:287            Constant:
-0:287              0.500000
-0:287              0.500000
-0:287              0.500000
-0:287              0.500000
-0:287            Constant:
-0:287              3.000000
-0:288      Sequence
-0:288        move second child to first child (temp highp 4-component vector of int)
-0:288          't6' (temp highp 4-component vector of int)
-0:288          texture (global highp 4-component vector of int)
-0:288            'CA6' (uniform highp isamplerCubeArray)
-0:288            Constant:
-0:288              0.500000
-0:288              0.500000
-0:288              0.500000
-0:288              0.500000
-0:289      Sequence
-0:289        move second child to first child (temp highp 4-component vector of uint)
-0:289          't7' (temp highp 4-component vector of uint)
-0:289          texture (global highp 4-component vector of uint)
-0:289            'CA7' (uniform highp usamplerCubeArray)
-0:289            Constant:
-0:289              0.500000
-0:289              0.500000
-0:289              0.500000
-0:289              0.500000
-0:291      Sequence
-0:291        move second child to first child (temp highp 4-component vector of float)
-0:291          'L4' (temp highp 4-component vector of float)
-0:291          textureLod (global highp 4-component vector of float)
-0:291            'CA4' (uniform highp samplerCubeArray)
-0:291            Constant:
-0:291              0.500000
-0:291              0.500000
-0:291              0.500000
-0:291              0.500000
-0:291            Constant:
-0:291              0.240000
-0:292      Sequence
-0:292        move second child to first child (temp highp 4-component vector of int)
-0:292          'L6' (temp highp 4-component vector of int)
-0:292          textureLod (global highp 4-component vector of int)
-0:292            'CA6' (uniform highp isamplerCubeArray)
-0:292            Constant:
-0:292              0.500000
-0:292              0.500000
-0:292              0.500000
-0:292              0.500000
-0:292            Constant:
-0:292              0.260000
-0:293      Sequence
-0:293        move second child to first child (temp highp 4-component vector of uint)
-0:293          'L7' (temp highp 4-component vector of uint)
-0:293          textureLod (global highp 4-component vector of uint)
-0:293            'CA7' (uniform highp usamplerCubeArray)
-0:293            Constant:
-0:293              0.500000
-0:293              0.500000
-0:293              0.500000
-0:293              0.500000
-0:293            Constant:
-0:293              0.270000
-0:295      Sequence
-0:295        move second child to first child (temp highp 4-component vector of float)
-0:295          'g4' (temp highp 4-component vector of float)
-0:295          textureGrad (global highp 4-component vector of float)
-0:295            'CA4' (uniform highp samplerCubeArray)
-0:295            Constant:
-0:295              0.500000
-0:295              0.500000
-0:295              0.500000
-0:295              0.500000
-0:295            Constant:
-0:295              0.100000
-0:295              0.100000
-0:295              0.100000
-0:295            Constant:
-0:295              0.200000
-0:295              0.200000
-0:295              0.200000
-0:296      Sequence
-0:296        move second child to first child (temp highp 4-component vector of int)
-0:296          'g6' (temp highp 4-component vector of int)
-0:296          textureGrad (global highp 4-component vector of int)
-0:296            'CA6' (uniform highp isamplerCubeArray)
-0:296            Constant:
-0:296              0.500000
-0:296              0.500000
-0:296              0.500000
-0:296              0.500000
-0:296            Constant:
-0:296              0.100000
-0:296              0.100000
-0:296              0.100000
-0:296            Constant:
-0:296              0.200000
-0:296              0.200000
-0:296              0.200000
-0:297      Sequence
-0:297        move second child to first child (temp highp 4-component vector of uint)
-0:297          'g7' (temp highp 4-component vector of uint)
-0:297          textureGrad (global highp 4-component vector of uint)
-0:297            'CA7' (uniform highp usamplerCubeArray)
-0:297            Constant:
-0:297              0.500000
-0:297              0.500000
-0:297              0.500000
-0:297              0.500000
-0:297            Constant:
-0:297              0.100000
-0:297              0.100000
-0:297              0.100000
-0:297            Constant:
-0:297              0.200000
-0:297              0.200000
-0:297              0.200000
-0:299      Sequence
-0:299        move second child to first child (temp highp 4-component vector of float)
-0:299          'gath4' (temp highp 4-component vector of float)
-0:299          textureGather (global highp 4-component vector of float)
-0:299            'CA4' (uniform highp samplerCubeArray)
-0:299            Constant:
-0:299              0.500000
-0:299              0.500000
-0:299              0.500000
-0:299              0.500000
-0:300      Sequence
-0:300        move second child to first child (temp highp 4-component vector of float)
-0:300          'gathC4' (temp highp 4-component vector of float)
-0:300          textureGather (global highp 4-component vector of float)
-0:300            'CA4' (uniform highp samplerCubeArray)
-0:300            Constant:
-0:300              0.500000
-0:300              0.500000
-0:300              0.500000
-0:300              0.500000
-0:300            Constant:
-0:300              2 (const int)
-0:301      Sequence
-0:301        move second child to first child (temp highp 4-component vector of int)
-0:301          'gath6' (temp highp 4-component vector of int)
-0:301          textureGather (global highp 4-component vector of int)
-0:301            'CA6' (uniform highp isamplerCubeArray)
-0:301            Constant:
-0:301              0.500000
-0:301              0.500000
-0:301              0.500000
-0:301              0.500000
-0:302      Sequence
-0:302        move second child to first child (temp highp 4-component vector of int)
-0:302          'gathC6' (temp highp 4-component vector of int)
-0:302          textureGather (global highp 4-component vector of int)
-0:302            'CA6' (uniform highp isamplerCubeArray)
-0:302            Constant:
-0:302              0.500000
-0:302              0.500000
-0:302              0.500000
-0:302              0.500000
-0:302            Constant:
-0:302              1 (const int)
-0:303      Sequence
-0:303        move second child to first child (temp highp 4-component vector of uint)
-0:303          'gath7' (temp highp 4-component vector of uint)
-0:303          textureGather (global highp 4-component vector of uint)
-0:303            'CA7' (uniform highp usamplerCubeArray)
-0:303            Constant:
-0:303              0.500000
-0:303              0.500000
-0:303              0.500000
-0:303              0.500000
-0:304      Sequence
-0:304        move second child to first child (temp highp 4-component vector of uint)
-0:304          'gathC7' (temp highp 4-component vector of uint)
-0:304          textureGather (global highp 4-component vector of uint)
-0:304            'CA7' (uniform highp usamplerCubeArray)
-0:304            Constant:
-0:304              0.500000
-0:304              0.500000
-0:304              0.500000
-0:304              0.500000
-0:304            Constant:
-0:304              0 (const int)
-0:306      Sequence
-0:306        move second child to first child (temp highp 4-component vector of float)
-0:306          'gath5' (temp highp 4-component vector of float)
-0:306          textureGather (global highp 4-component vector of float)
-0:306            'CA5' (uniform highp samplerCubeArrayShadow)
-0:306            Constant:
-0:306              0.500000
-0:306              0.500000
-0:306              0.500000
-0:306              0.500000
-0:306            Constant:
-0:306              2.500000
-0:308      Sequence
-0:308        move second child to first child (temp highp 3-component vector of int)
-0:308          's1' (temp highp 3-component vector of int)
-0:308          imageQuerySize (global highp 3-component vector of int)
-0:308            'CA1' (writeonly uniform highp imageCubeArray)
-0:309      Sequence
-0:309        move second child to first child (temp highp 3-component vector of int)
-0:309          's2' (temp highp 3-component vector of int)
-0:309          imageQuerySize (global highp 3-component vector of int)
-0:309            'CA2' (writeonly uniform highp iimageCubeArray)
-0:310      Sequence
-0:310        move second child to first child (temp highp 3-component vector of int)
-0:310          's3' (temp highp 3-component vector of int)
-0:310          imageQuerySize (global highp 3-component vector of int)
-0:310            'CA3' (writeonly uniform highp uimageCubeArray)
-0:312      imageStore (global highp void)
-0:312        'CA1' (writeonly uniform highp imageCubeArray)
-0:312        's3' (temp highp 3-component vector of int)
-0:312        Constant:
-0:312          1.000000
-0:312          1.000000
-0:312          1.000000
-0:312          1.000000
-0:313      imageStore (global highp void)
-0:313        'CA2' (writeonly uniform highp iimageCubeArray)
-0:313        's3' (temp highp 3-component vector of int)
-0:313        Constant:
-0:313          1 (const int)
-0:313          1 (const int)
-0:313          1 (const int)
-0:313          1 (const int)
-0:314      imageStore (global highp void)
-0:314        'CA3' (writeonly uniform highp uimageCubeArray)
-0:314        's3' (temp highp 3-component vector of int)
-0:314        Constant:
-0:314          1 (const uint)
-0:314          1 (const uint)
-0:314          1 (const uint)
-0:314          1 (const uint)
-0:316      Sequence
-0:316        move second child to first child (temp highp 4-component vector of float)
-0:316          'cl1' (temp highp 4-component vector of float)
-0:316          imageLoad (global highp 4-component vector of float)
-0:316            'rCA1' (layout(rgba16f ) readonly uniform highp imageCubeArray)
-0:316            's3' (temp highp 3-component vector of int)
-0:317      Sequence
-0:317        move second child to first child (temp highp 4-component vector of int)
-0:317          'cl2' (temp highp 4-component vector of int)
-0:317          imageLoad (global highp 4-component vector of int)
-0:317            'rCA2' (layout(rgba32i ) readonly uniform highp iimageCubeArray)
-0:317            's3' (temp highp 3-component vector of int)
-0:318      Sequence
-0:318        move second child to first child (temp highp 4-component vector of uint)
-0:318          'cl3' (temp highp 4-component vector of uint)
-0:318          imageLoad (global highp 4-component vector of uint)
-0:318            'rCA3' (layout(r32ui ) readonly uniform highp uimageCubeArray)
-0:318            's3' (temp highp 3-component vector of int)
-0:343  Function Definition: MSA( (global void)
-0:343    Function Parameters: 
-0:345    Sequence
-0:345      Sequence
-0:345        move second child to first child (temp highp 4-component vector of float)
-0:345          'tf' (temp highp 4-component vector of float)
-0:345          textureFetch (global highp 4-component vector of float)
-0:345            'samp2DMSA' (uniform highp sampler2DMSArray)
-0:345            Constant:
-0:345              5 (const int)
-0:345              5 (const int)
-0:345              5 (const int)
-0:345            Constant:
-0:345              2 (const int)
-0:346      Sequence
-0:346        move second child to first child (temp highp 4-component vector of int)
-0:346          'tfi' (temp highp 4-component vector of int)
-0:346          textureFetch (global highp 4-component vector of int)
-0:346            'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:346            Constant:
-0:346              5 (const int)
-0:346              5 (const int)
-0:346              5 (const int)
-0:346            Constant:
-0:346              2 (const int)
-0:347      Sequence
-0:347        move second child to first child (temp highp 4-component vector of uint)
-0:347          'tfu' (temp highp 4-component vector of uint)
-0:347          textureFetch (global highp 4-component vector of uint)
-0:347            'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:347            Constant:
-0:347              5 (const int)
-0:347              5 (const int)
-0:347              5 (const int)
-0:347            Constant:
-0:347              2 (const int)
-0:349      Sequence
-0:349        move second child to first child (temp highp 3-component vector of int)
-0:349          'tfs' (temp highp 3-component vector of int)
-0:349          textureSize (global highp 3-component vector of int)
-0:349            'samp2DMSA' (uniform highp sampler2DMSArray)
-0:350      Sequence
-0:350        move second child to first child (temp highp 3-component vector of int)
-0:350          'tfsi' (temp highp 3-component vector of int)
-0:350          textureSize (global highp 3-component vector of int)
-0:350            'samp2DMSAi' (uniform highp isampler2DMSArray)
-0:352      Sequence
-0:352        move second child to first child (temp highp 3-component vector of int)
-0:352          'tfsu' (temp highp 3-component vector of int)
-0:352          textureSize (global highp 3-component vector of int)
-0:352            'samp2DMSAu' (uniform highp usampler2DMSArray)
-0:364  Function Definition: goodImageAtom( (global void)
-0:364    Function Parameters: 
-0:?     Sequence
-0:370      imageAtomicAdd (global highp int)
-0:370        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:370        'P' (uniform highp 2-component vector of int)
-0:370        'dati' (temp highp int)
-0:371      imageAtomicAdd (global highp uint)
-0:371        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:371        'P' (uniform highp 2-component vector of int)
-0:371        'datu' (temp highp uint)
-0:372      imageAtomicMin (global highp int)
-0:372        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:372        'P' (uniform highp 2-component vector of int)
-0:372        'dati' (temp highp int)
-0:373      imageAtomicMin (global highp uint)
-0:373        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:373        'P' (uniform highp 2-component vector of int)
-0:373        'datu' (temp highp uint)
-0:374      imageAtomicMax (global highp int)
-0:374        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:374        'P' (uniform highp 2-component vector of int)
-0:374        'dati' (temp highp int)
-0:375      imageAtomicMax (global highp uint)
-0:375        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:375        'P' (uniform highp 2-component vector of int)
-0:375        'datu' (temp highp uint)
-0:376      imageAtomicAnd (global highp int)
-0:376        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:376        'P' (uniform highp 2-component vector of int)
-0:376        'dati' (temp highp int)
-0:377      imageAtomicAnd (global highp uint)
-0:377        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:377        'P' (uniform highp 2-component vector of int)
-0:377        'datu' (temp highp uint)
-0:378      imageAtomicOr (global highp int)
-0:378        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:378        'P' (uniform highp 2-component vector of int)
-0:378        'dati' (temp highp int)
-0:379      imageAtomicOr (global highp uint)
-0:379        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:379        'P' (uniform highp 2-component vector of int)
-0:379        'datu' (temp highp uint)
-0:380      imageAtomicXor (global highp int)
-0:380        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:380        'P' (uniform highp 2-component vector of int)
-0:380        'dati' (temp highp int)
-0:381      imageAtomicXor (global highp uint)
-0:381        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:381        'P' (uniform highp 2-component vector of int)
-0:381        'datu' (temp highp uint)
-0:382      imageAtomicExchange (global highp int)
-0:382        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:382        'P' (uniform highp 2-component vector of int)
-0:382        'dati' (temp highp int)
-0:383      imageAtomicExchange (global highp uint)
-0:383        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:383        'P' (uniform highp 2-component vector of int)
-0:383        'datu' (temp highp uint)
-0:384      imageAtomicExchange (global highp float)
-0:384        'im2Df' (layout(r32f ) uniform highp image2D)
-0:384        'P' (uniform highp 2-component vector of int)
-0:384        'datf' (temp highp float)
-0:385      imageAtomicCompSwap (global highp int)
-0:385        'im2Di' (layout(r32i ) uniform highp iimage2D)
-0:385        'P' (uniform highp 2-component vector of int)
-0:385        Constant:
-0:385          3 (const int)
-0:385        'dati' (temp highp int)
-0:386      imageAtomicCompSwap (global highp uint)
-0:386        'im2Du' (layout(r32ui ) uniform highp uimage2D)
-0:386        'P' (uniform highp 2-component vector of int)
-0:386        Constant:
-0:386          5 (const uint)
-0:386        'datu' (temp highp uint)
-0:398  Function Definition: badInterp( (global void)
-0:398    Function Parameters: 
-0:400    Sequence
-0:400      Constant:
-0:400        0.000000
-0:401      Constant:
-0:401        0.000000
-0:402      Constant:
-0:402        0.000000
 0:?   Linker Objects
 0:?     's' (shared highp 4-component vector of float)
 0:?     'v' (buffer highp 4-component vector of float)

+ 1 - 272
3rdparty/glslang/Test/baseResults/310AofA.vert.out

@@ -5,7 +5,7 @@ ERROR: 0:23: '' : array size required
 ERROR: 0:28: '[]' : only outermost dimension of an array of arrays can be implicitly sized 
 ERROR: 0:40: '' : array size required 
 ERROR: 0:48: 'constructor' : constructing non-array constituent from array argument 
-ERROR: 0:49: 'constructior' : array constructor argument not correct type to construct array element 
+ERROR: 0:49: 'constructor' : array constructor argument not correct type to construct array element 
 ERROR: 0:62: '[' :  array index out of range '4'
 ERROR: 0:78: 'assign' :  cannot convert from 'global 4-element array of 7-element array of highp float' to 'global 5-element array of 7-element array of highp float'
 ERROR: 0:79: 'assign' :  cannot convert from 'global 4-element array of 7-element array of highp float' to 'global implicitly-sized array of 7-element array of highp float'
@@ -359,277 +359,6 @@ ERROR: node is still EOpNull!
 0:13          1 (const uint)
 0:13          2 (const uint)
 0:13        'd' (temp 3-element array of 2-element array of highp int)
-0:44  Function Definition: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:44    Function Parameters: 
-0:44      'a' (in 5-element array of 7-element array of highp float)
-0:?     Sequence
-0:47      move second child to first child (temp 7-element array of highp float)
-0:47        'r' (temp 7-element array of highp float)
-0:47        direct index (temp 7-element array of highp float)
-0:47          'a' (in 5-element array of 7-element array of highp float)
-0:47          Constant:
-0:47            2 (const int)
-0:48      Constant:
-0:48        0.000000
-0:49      Constant:
-0:49        0.000000
-0:50      Branch: Return with expression
-0:50        Construct float (temp 4-element array of 7-element array of float)
-0:50          direct index (temp 7-element array of highp float)
-0:50            'a' (in 5-element array of 7-element array of highp float)
-0:50            Constant:
-0:50              0 (const int)
-0:50          direct index (temp 7-element array of highp float)
-0:50            'a' (in 5-element array of 7-element array of highp float)
-0:50            Constant:
-0:50              1 (const int)
-0:50          'r' (temp 7-element array of highp float)
-0:50          direct index (temp 7-element array of highp float)
-0:50            'a' (in 5-element array of 7-element array of highp float)
-0:50            Constant:
-0:50              3 (const int)
-0:51      Branch: Return with expression
-0:51        Construct float (temp 4-element array of 7-element array of float)
-0:51          direct index (temp 7-element array of highp float)
-0:51            'a' (in 5-element array of 7-element array of highp float)
-0:51            Constant:
-0:51              0 (const int)
-0:51          direct index (temp 7-element array of highp float)
-0:51            'a' (in 5-element array of 7-element array of highp float)
-0:51            Constant:
-0:51              1 (const int)
-0:51          'r' (temp 7-element array of highp float)
-0:51          direct index (temp 7-element array of highp float)
-0:51            'a' (in 5-element array of 7-element array of highp float)
-0:51            Constant:
-0:51              3 (const int)
-0:52      Branch: Return with expression
-0:52        Construct float (temp 4-element array of 7-element array of float)
-0:52          direct index (temp 7-element array of highp float)
-0:52            'a' (in 5-element array of 7-element array of highp float)
-0:52            Constant:
-0:52              0 (const int)
-0:52          direct index (temp 7-element array of highp float)
-0:52            'a' (in 5-element array of 7-element array of highp float)
-0:52            Constant:
-0:52              1 (const int)
-0:52          direct index (temp 7-element array of highp float)
-0:52            'a' (in 5-element array of 7-element array of highp float)
-0:52            Constant:
-0:52              2 (const int)
-0:52          direct index (temp 7-element array of highp float)
-0:52            'a' (in 5-element array of 7-element array of highp float)
-0:52            Constant:
-0:52              3 (const int)
-0:55  Function Definition: bar(f1[5][7]; (global void)
-0:55    Function Parameters: 
-0:55      '' (in 5-element array of 7-element array of highp float)
-0:57  Function Definition: foo2( (global void)
-0:57    Function Parameters: 
-0:?     Sequence
-0:?       Sequence
-0:62        move second child to first child (temp highp float)
-0:62          direct index (temp highp float)
-0:62            direct index (temp 2-element array of highp float)
-0:62              direct index (temp 4-element array of 2-element array of highp float)
-0:62                'gu' (temp 3-element array of 4-element array of 2-element array of highp float)
-0:62                Constant:
-0:62                  2 (const int)
-0:62              Constant:
-0:62                4 (const int)
-0:62            Constant:
-0:62              1 (const int)
-0:62          Constant:
-0:62            4.000000
-0:64      Sequence
-0:64        move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:64          'ca4' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:66          Constant:
-0:66            0.000000
-0:66            0.000000
-0:66            0.000000
-0:66            0.000000
-0:66            1.000000
-0:66            1.000000
-0:66            1.000000
-0:66            1.000000
-0:66            0.000000
-0:66            0.000000
-0:66            0.000000
-0:66            0.000000
-0:66            1.000000
-0:66            1.000000
-0:66            1.000000
-0:66            1.000000
-0:66            0.000000
-0:66            0.000000
-0:66            0.000000
-0:66            0.000000
-0:66            1.000000
-0:66            1.000000
-0:66            1.000000
-0:66            1.000000
-0:67      Sequence
-0:67        move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:67          'caim' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:69          Constant:
-0:69            4.000000
-0:69            4.000000
-0:69            4.000000
-0:69            4.000000
-0:69            2.000000
-0:69            2.000000
-0:69            2.000000
-0:69            2.000000
-0:69            4.000000
-0:69            4.000000
-0:69            4.000000
-0:69            4.000000
-0:69            2.000000
-0:69            2.000000
-0:69            2.000000
-0:69            2.000000
-0:69            4.000000
-0:69            4.000000
-0:69            4.000000
-0:69            4.000000
-0:69            2.000000
-0:69            2.000000
-0:69            2.000000
-0:69            2.000000
-0:70      Sequence
-0:70        move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:70          'caim2' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:72          Constant:
-0:72            4.000000
-0:72            4.000000
-0:72            4.000000
-0:72            4.000000
-0:72            2.000000
-0:72            2.000000
-0:72            2.000000
-0:72            2.000000
-0:72            4.000000
-0:72            4.000000
-0:72            4.000000
-0:72            4.000000
-0:72            2.000000
-0:72            2.000000
-0:72            2.000000
-0:72            2.000000
-0:72            4.000000
-0:72            4.000000
-0:72            4.000000
-0:72            4.000000
-0:72            2.000000
-0:72            2.000000
-0:72            2.000000
-0:72            2.000000
-0:73      Sequence
-0:73        move second child to first child (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:73          'caim3' (temp 3-element array of 2-element array of highp 4-component vector of float)
-0:75          Constant:
-0:75            4.000000
-0:75            4.000000
-0:75            4.000000
-0:75            4.000000
-0:75            2.000000
-0:75            2.000000
-0:75            2.000000
-0:75            2.000000
-0:75            4.000000
-0:75            4.000000
-0:75            4.000000
-0:75            4.000000
-0:75            2.000000
-0:75            2.000000
-0:75            2.000000
-0:75            2.000000
-0:75            4.000000
-0:75            4.000000
-0:75            4.000000
-0:75            4.000000
-0:75            2.000000
-0:75            2.000000
-0:75            2.000000
-0:75            2.000000
-0:77      move second child to first child (temp 4-element array of 7-element array of highp float)
-0:77        'g4' (global 4-element array of 7-element array of highp float)
-0:77        Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:77          'g5' (global 5-element array of 7-element array of highp float)
-0:78      'g5' (global 5-element array of 7-element array of highp float)
-0:79      'gu' (global 1-element array of 7-element array of highp float)
-0:81      Constant:
-0:81        0.000000
-0:82      Function Call: bar(f1[5][7]; (global void)
-0:82        'g5' (global 5-element array of 7-element array of highp float)
-0:84      Test condition and select (temp void)
-0:84        Condition
-0:84        Compare Equal (temp bool)
-0:84          Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:84            'g5' (global 5-element array of 7-element array of highp float)
-0:84          'g4' (global 4-element array of 7-element array of highp float)
-0:84        true case is null
-0:86      Test condition and select (temp void)
-0:86        Condition
-0:86        Constant:
-0:86          false (const bool)
-0:86        true case is null
-0:90      move second child to first child (temp highp float)
-0:90        direct index (temp highp float)
-0:90          direct index (temp 7-element array of highp float)
-0:90            'u' (temp 5-element array of 7-element array of highp float)
-0:90            Constant:
-0:90              5 (const int)
-0:90          Constant:
-0:90            2 (const int)
-0:90        Constant:
-0:90          5.000000
-0:91      Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of highp float)
-0:91        'u' (temp 5-element array of 7-element array of highp float)
-0:94      direct index (layout(column_major shared ) temp highp 4-component vector of float)
-0:94        v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:94          direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:94            'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:94            Constant:
-0:94              1 (const int)
-0:94          Constant:
-0:94            1 (const int)
-0:94        Constant:
-0:94          -1 (const int)
-0:95      move second child to first child (temp highp 4-component vector of float)
-0:95        direct index (layout(column_major shared ) temp highp 4-component vector of float)
-0:95          v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:95            direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:95              'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:95              Constant:
-0:95                1 (const int)
-0:95            Constant:
-0:95              1 (const int)
-0:95          Constant:
-0:95            1 (const int)
-0:95        Constant:
-0:95          4.300000
-0:95          4.300000
-0:95          4.300000
-0:95          4.300000
-0:96      v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float)
-0:96        direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:96          'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
-0:96          Constant:
-0:96            1 (const int)
-0:96        Constant:
-0:96          1 (const int)
-0:98      Constant:
-0:98        7 (const int)
-0:99      array length (temp int)
-0:99        v: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float)
-0:99          direct index (layout(column_major shared ) temp block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:99            'name3' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer highp float u, layout(column_major shared ) buffer implicitly-sized array of 7-element array of highp 4-component vector of float v})
-0:99            Constant:
-0:99              0 (const int)
-0:99          Constant:
-0:99            1 (const int)
 0:?   Linker Objects
 0:?     'name' (layout(column_major shared ) buffer 3-element array of block{layout(column_major shared ) buffer implicitly-sized array of highp float u, layout(column_major shared ) buffer implicitly-sized array of highp 4-component vector of float v})
 0:?     'uname' (layout(column_major shared ) uniform 3-element array of block{layout(column_major shared ) uniform highp float u, layout(column_major shared ) uniform 1-element array of highp 4-component vector of float v})

+ 0 - 25
3rdparty/glslang/Test/baseResults/330.frag.out

@@ -152,31 +152,6 @@ ERROR: node is still EOpNull!
 0:12          'buffer' (temp int)
 0:12          Constant:
 0:12            4 (const int)
-0:21  Function Definition: foo( (global void)
-0:21    Function Parameters: 
-0:23    Sequence
-0:23      Sequence
-0:23        move second child to first child (temp 4-component vector of float)
-0:23          'c' (temp 4-component vector of float)
-0:23          gl_Color: direct index for structure (in 4-component vector of float Color)
-0:23            'anon@0' (in block{in 4-component vector of float Color gl_Color, })
-0:23            Constant:
-0:23              2 (const uint)
-0:24      move second child to first child (temp 4-component vector of float)
-0:24        'outVar' (layout(location=0 index=0 ) out 4-component vector of float)
-0:24        'inVar' (smooth in 4-component vector of float)
-0:133  Function Definition: qlod( (global void)
-0:133    Function Parameters: 
-0:?     Sequence
-0:140      'lod' (temp 2-component vector of float)
-0:141      'lod' (temp 2-component vector of float)
-0:147  Function Definition: fooKeyMem( (global void)
-0:147    Function Parameters: 
-0:149    Sequence
-0:149      precise: direct index for structure (global int)
-0:149        'KeyMem' (global structure{global int precise})
-0:149        Constant:
-0:149          0 (const int)
 0:?   Linker Objects
 0:?     'inVar' (smooth in 4-component vector of float)
 0:?     'outVar' (layout(location=0 index=0 ) out 4-component vector of float)

+ 0 - 306
3rdparty/glslang/Test/baseResults/400.frag.out

@@ -642,312 +642,6 @@ ERROR: node is still EOpNull!
 0:27        move second child to first child (temp 4-component vector of float)
 0:27          'c' (temp 4-component vector of float)
 0:27          'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:47  Function Definition: foo23( (global void)
-0:47    Function Parameters: 
-0:?     Sequence
-0:51      textureProjGradOffset (global float)
-0:51        'u2drs' (uniform sampler2DRectShadow)
-0:51        'outp' (out 4-component vector of float)
-0:51        Constant:
-0:51          0.000000
-0:51          0.000000
-0:51        Constant:
-0:51          0.000000
-0:51          0.000000
-0:51        Convert float to int (temp 2-component vector of int)
-0:51          'c2D' (smooth in 2-component vector of float)
-0:52      textureProjGradOffset (global float)
-0:52        'u2drs' (uniform sampler2DRectShadow)
-0:52        'outp' (out 4-component vector of float)
-0:52        Constant:
-0:52          0.000000
-0:52          0.000000
-0:52        Constant:
-0:52          0.000000
-0:52          0.000000
-0:52        Constant:
-0:52          3 (const int)
-0:52          4 (const int)
-0:53      textureProjGradOffset (global float)
-0:53        'u2drs' (uniform sampler2DRectShadow)
-0:53        'outp' (out 4-component vector of float)
-0:53        Constant:
-0:53          0.000000
-0:53          0.000000
-0:53        Constant:
-0:53          0.000000
-0:53          0.000000
-0:53        Constant:
-0:53          15 (const int)
-0:53          16 (const int)
-0:54      textureProjGradOffset (global float)
-0:54        'u2drs' (uniform sampler2DRectShadow)
-0:54        'outp' (out 4-component vector of float)
-0:54        Constant:
-0:54          0.000000
-0:54          0.000000
-0:54        Constant:
-0:54          0.000000
-0:54          0.000000
-0:54        Constant:
-0:54          -10 (const int)
-0:54          20 (const int)
-0:60  Function Definition: foo24( (global void)
-0:60    Function Parameters: 
-0:?     Sequence
-0:63      move second child to first child (temp 3-component vector of double)
-0:63        'df' (temp 3-component vector of double)
-0:63        modf (global 3-component vector of double)
-0:63          Convert float to double (temp 3-component vector of double)
-0:63            vector swizzle (temp 3-component vector of float)
-0:63              'outp' (out 4-component vector of float)
-0:63              Sequence
-0:63                Constant:
-0:63                  0 (const int)
-0:63                Constant:
-0:63                  1 (const int)
-0:63                Constant:
-0:63                  2 (const int)
-0:63          'di' (temp 3-component vector of double)
-0:71  Function Definition: foodc1( (global void)
-0:71    Function Parameters: 
-0:73    Sequence
-0:73      Sequence
-0:73        move second child to first child (temp 2-component vector of float)
-0:73          'v2' (temp 2-component vector of float)
-0:73          dPdxFine (global 2-component vector of float)
-0:73            'in2' (smooth in 2-component vector of float)
-0:74      Sequence
-0:74        move second child to first child (temp 3-component vector of float)
-0:74          'v3' (temp 3-component vector of float)
-0:74          dPdyCoarse (global 3-component vector of float)
-0:74            'in3' (smooth in 3-component vector of float)
-0:75      Sequence
-0:75        move second child to first child (temp 4-component vector of float)
-0:75          'v4' (temp 4-component vector of float)
-0:75          add (temp 4-component vector of float)
-0:75            fwidthCoarse (global 4-component vector of float)
-0:75              'in4' (smooth in 4-component vector of float)
-0:75            fwidthFine (global 4-component vector of float)
-0:75              'in4' (smooth in 4-component vector of float)
-0:80  Function Definition: foodc2( (global void)
-0:80    Function Parameters: 
-0:82    Sequence
-0:82      Sequence
-0:82        move second child to first child (temp 2-component vector of float)
-0:82          'v2' (temp 2-component vector of float)
-0:82          dPdxFine (global 2-component vector of float)
-0:82            'in2' (smooth in 2-component vector of float)
-0:83      Sequence
-0:83        move second child to first child (temp 3-component vector of float)
-0:83          'v3' (temp 3-component vector of float)
-0:83          dPdyCoarse (global 3-component vector of float)
-0:83            'in3' (smooth in 3-component vector of float)
-0:84      Sequence
-0:84        move second child to first child (temp 4-component vector of float)
-0:84          'v4' (temp 4-component vector of float)
-0:84          add (temp 4-component vector of float)
-0:84            fwidthCoarse (global 4-component vector of float)
-0:84              'in4' (smooth in 4-component vector of float)
-0:84            fwidthFine (global 4-component vector of float)
-0:84              'in4' (smooth in 4-component vector of float)
-0:89      move second child to first child (temp 2-component vector of float)
-0:89        'v2' (temp 2-component vector of float)
-0:89        frexp (global 2-component vector of float)
-0:89          'v2' (temp 2-component vector of float)
-0:89          'i2' (temp 2-component vector of int)
-0:90      move second child to first child (temp 3-component vector of float)
-0:90        'v3' (temp 3-component vector of float)
-0:90        ldexp (global 3-component vector of float)
-0:90          'v3' (temp 3-component vector of float)
-0:90          'i3' (temp 3-component vector of int)
-0:92      move second child to first child (temp uint)
-0:92        'u1' (temp uint)
-0:92        PackUnorm4x8 (global uint)
-0:92          'v4' (temp 4-component vector of float)
-0:93      move second child to first child (temp uint)
-0:93        'u1' (temp uint)
-0:93        PackSnorm4x8 (global uint)
-0:93          'v4' (temp 4-component vector of float)
-0:94      move second child to first child (temp 4-component vector of float)
-0:94        'v4' (temp 4-component vector of float)
-0:94        UnpackUnorm4x8 (global 4-component vector of float)
-0:94          'u1' (temp uint)
-0:95      move second child to first child (temp 4-component vector of float)
-0:95        'v4' (temp 4-component vector of float)
-0:95        UnpackSnorm4x8 (global 4-component vector of float)
-0:95          'u1' (temp uint)
-0:99      move second child to first child (temp double)
-0:99        'd' (temp double)
-0:99        PackDouble2x32 (global double)
-0:99          'u2' (temp 2-component vector of uint)
-0:100      move second child to first child (temp 2-component vector of uint)
-0:100        'u2' (temp 2-component vector of uint)
-0:100        UnpackDouble2x32 (global 2-component vector of uint)
-0:100          'd' (temp double)
-0:117  Function Definition: interp( (global void)
-0:117    Function Parameters: 
-0:119    Sequence
-0:119      interpolateAtCentroid (global 2-component vector of float)
-0:119        'colorfc' (centroid flat in 2-component vector of float)
-0:120      interpolateAtCentroid (global 4-component vector of float)
-0:120        'colorSampIn' (smooth sample in 4-component vector of float)
-0:121      interpolateAtCentroid (global 4-component vector of float)
-0:121        'colorfsi' (noperspective in 4-component vector of float)
-0:122      interpolateAtCentroid (global float)
-0:122        'scalarIn' (smooth in float)
-0:123      Constant:
-0:123        0.000000
-0:124      interpolateAtCentroid (global 3-component vector of float)
-0:124        direct index (smooth sample temp 3-component vector of float)
-0:124          'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:124          Constant:
-0:124            2 (const int)
-0:125      interpolateAtCentroid (global 2-component vector of float)
-0:125        vector swizzle (temp 2-component vector of float)
-0:125          direct index (smooth sample temp 3-component vector of float)
-0:125            'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:125            Constant:
-0:125              2 (const int)
-0:125          Sequence
-0:125            Constant:
-0:125              0 (const int)
-0:125            Constant:
-0:125              1 (const int)
-0:127      Constant:
-0:127        0.000000
-0:128      interpolateAtSample (global 3-component vector of float)
-0:128        indirect index (smooth sample temp 3-component vector of float)
-0:128          'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:128          'i' (flat in int)
-0:128        Constant:
-0:128          0 (const int)
-0:129      interpolateAtSample (global float)
-0:129        x: direct index for structure (global float)
-0:129          's1' (smooth in structure{global float x})
-0:129          Constant:
-0:129            0 (const int)
-0:129        Constant:
-0:129          2 (const int)
-0:130      interpolateAtSample (global float)
-0:130        'scalarIn' (smooth in float)
-0:130        Constant:
-0:130          1 (const int)
-0:132      Constant:
-0:132        0.000000
-0:133      interpolateAtOffset (global 3-component vector of float)
-0:133        direct index (smooth sample temp 3-component vector of float)
-0:133          'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:133          Constant:
-0:133            2 (const int)
-0:133        Constant:
-0:133          0.200000
-0:133          0.200000
-0:134      interpolateAtOffset (global 2-component vector of float)
-0:134        vector swizzle (temp 2-component vector of float)
-0:134          direct index (smooth sample temp 3-component vector of float)
-0:134            'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:134            Constant:
-0:134              2 (const int)
-0:134          Sequence
-0:134            Constant:
-0:134              0 (const int)
-0:134            Constant:
-0:134              1 (const int)
-0:134        Constant:
-0:134          0.200000
-0:134          0.200000
-0:135      interpolateAtOffset (global float)
-0:135        add (temp float)
-0:135          'scalarIn' (smooth in float)
-0:135          'scalarIn' (smooth in float)
-0:135        Constant:
-0:135          0.200000
-0:135          0.200000
-0:136      interpolateAtOffset (global float)
-0:136        x: direct index for structure (global float)
-0:136          's2' (sample temp structure{global float x})
-0:136          Constant:
-0:136            0 (const int)
-0:136        Constant:
-0:136          0.200000
-0:136          0.200000
-0:139      interpolateAtCentroid (global float)
-0:139        'f' (temp float)
-0:140      interpolateAtSample (global 4-component vector of float)
-0:140        'outp' (out 4-component vector of float)
-0:140        Constant:
-0:140          0 (const int)
-0:161  Function Definition: qlod( (global void)
-0:161    Function Parameters: 
-0:?     Sequence
-0:168      move second child to first child (temp 2-component vector of float)
-0:168        'lod' (temp 2-component vector of float)
-0:168        textureQueryLod (global 2-component vector of float)
-0:168          'samp1D' (uniform sampler1D)
-0:168          'pf' (temp float)
-0:169      move second child to first child (temp 2-component vector of float)
-0:169        'lod' (temp 2-component vector of float)
-0:169        textureQueryLod (global 2-component vector of float)
-0:169          'isamp2D' (uniform isampler2D)
-0:169          'pf2' (temp 2-component vector of float)
-0:170      move second child to first child (temp 2-component vector of float)
-0:170        'lod' (temp 2-component vector of float)
-0:170        textureQueryLod (global 2-component vector of float)
-0:170          'usamp3D' (uniform usampler3D)
-0:170          'pf3' (temp 3-component vector of float)
-0:171      move second child to first child (temp 2-component vector of float)
-0:171        'lod' (temp 2-component vector of float)
-0:171        textureQueryLod (global 2-component vector of float)
-0:171          'sampCube' (uniform samplerCube)
-0:171          'pf3' (temp 3-component vector of float)
-0:172      move second child to first child (temp 2-component vector of float)
-0:172        'lod' (temp 2-component vector of float)
-0:172        textureQueryLod (global 2-component vector of float)
-0:172          'isamp1DA' (uniform isampler1DArray)
-0:172          'pf' (temp float)
-0:173      move second child to first child (temp 2-component vector of float)
-0:173        'lod' (temp 2-component vector of float)
-0:173        textureQueryLod (global 2-component vector of float)
-0:173          'usamp2DA' (uniform usampler2DArray)
-0:173          'pf2' (temp 2-component vector of float)
-0:174      move second child to first child (temp 2-component vector of float)
-0:174        'lod' (temp 2-component vector of float)
-0:174        textureQueryLod (global 2-component vector of float)
-0:174          'isampCubeA' (uniform isamplerCubeArray)
-0:174          'pf3' (temp 3-component vector of float)
-0:176      move second child to first child (temp 2-component vector of float)
-0:176        'lod' (temp 2-component vector of float)
-0:176        textureQueryLod (global 2-component vector of float)
-0:176          'samp1Ds' (uniform sampler1DShadow)
-0:176          'pf' (temp float)
-0:177      move second child to first child (temp 2-component vector of float)
-0:177        'lod' (temp 2-component vector of float)
-0:177        textureQueryLod (global 2-component vector of float)
-0:177          'samp2Ds' (uniform sampler2DShadow)
-0:177          'pf2' (temp 2-component vector of float)
-0:178      move second child to first child (temp 2-component vector of float)
-0:178        'lod' (temp 2-component vector of float)
-0:178        textureQueryLod (global 2-component vector of float)
-0:178          'sampCubes' (uniform samplerCubeShadow)
-0:178          'pf3' (temp 3-component vector of float)
-0:179      move second child to first child (temp 2-component vector of float)
-0:179        'lod' (temp 2-component vector of float)
-0:179        textureQueryLod (global 2-component vector of float)
-0:179          'samp1DAs' (uniform sampler1DArrayShadow)
-0:179          'pf' (temp float)
-0:180      move second child to first child (temp 2-component vector of float)
-0:180        'lod' (temp 2-component vector of float)
-0:180        textureQueryLod (global 2-component vector of float)
-0:180          'samp2DAs' (uniform sampler2DArrayShadow)
-0:180          'pf2' (temp 2-component vector of float)
-0:181      move second child to first child (temp 2-component vector of float)
-0:181        'lod' (temp 2-component vector of float)
-0:181        textureQueryLod (global 2-component vector of float)
-0:181          'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:181          'pf3' (temp 3-component vector of float)
-0:183      'lod' (temp 2-component vector of float)
-0:184      'lod' (temp 2-component vector of float)
 0:?   Linker Objects
 0:?     'c2D' (smooth in 2-component vector of float)
 0:?     'i' (flat in int)

+ 0 - 975
3rdparty/glslang/Test/baseResults/400.geom.out

@@ -1070,981 +1070,6 @@ ERROR: node is still EOpNull!
 0:9        move second child to first child (temp int)
 0:9          'id' (temp int)
 0:9          'gl_InvocationID' (in int InvocationID)
-0:23  Function Definition: foo( (global void)
-0:23    Function Parameters: 
-0:25    Sequence
-0:25      Constant:
-0:25        1 (const int)
-0:26      gl_Position: direct index for structure (in 4-component vector of float Position)
-0:26        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:26          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})
-0:26          Constant:
-0:26            1 (const int)
-0:26        Constant:
-0:26          0 (const int)
-0:34  Function Definition: foo2( (global void)
-0:34    Function Parameters: 
-0:36    Sequence
-0:36      Constant:
-0:36        1 (const int)
-0:37      Constant:
-0:37        3 (const int)
-0:46  Function Definition: foo3( (global void)
-0:46    Function Parameters: 
-0:48    Sequence
-0:48      Constant:
-0:48        3 (const int)
-0:49      Constant:
-0:49        3 (const int)
-0:50      Constant:
-0:50        3 (const int)
-0:51      Constant:
-0:51        3 (const int)
-0:75  Function Definition: bits( (global void)
-0:75    Function Parameters: 
-0:?     Sequence
-0:78      move second child to first child (temp 2-component vector of uint)
-0:78        'u2' (temp 2-component vector of uint)
-0:78        addCarry (global 2-component vector of uint)
-0:78          'u2' (temp 2-component vector of uint)
-0:78          'u2' (temp 2-component vector of uint)
-0:78          'u2' (temp 2-component vector of uint)
-0:80      move second child to first child (temp uint)
-0:80        'u1' (temp uint)
-0:80        subBorrow (global uint)
-0:80          'u1' (temp uint)
-0:80          'u1' (temp uint)
-0:80          'u1' (temp uint)
-0:82      uMulExtended (global void)
-0:82        'u4' (temp 4-component vector of uint)
-0:82        'u4' (temp 4-component vector of uint)
-0:82        'u4' (temp 4-component vector of uint)
-0:82        'u4' (temp 4-component vector of uint)
-0:84      iMulExtended (global void)
-0:84        'i4' (temp 4-component vector of int)
-0:84        'i4' (temp 4-component vector of int)
-0:84        'i4' (temp 4-component vector of int)
-0:84        'i4' (temp 4-component vector of int)
-0:86      move second child to first child (temp int)
-0:86        'i1' (temp int)
-0:86        bitfieldExtract (global int)
-0:86          'i1' (temp int)
-0:86          Constant:
-0:86            4 (const int)
-0:86          Constant:
-0:86            5 (const int)
-0:88      move second child to first child (temp 3-component vector of uint)
-0:88        'u3' (temp 3-component vector of uint)
-0:88        bitfieldExtract (global 3-component vector of uint)
-0:88          'u3' (temp 3-component vector of uint)
-0:88          Constant:
-0:88            4 (const int)
-0:88          Constant:
-0:88            5 (const int)
-0:90      move second child to first child (temp 3-component vector of int)
-0:90        'i3' (temp 3-component vector of int)
-0:90        bitfieldInsert (global 3-component vector of int)
-0:90          'i3' (temp 3-component vector of int)
-0:90          'i3' (temp 3-component vector of int)
-0:90          Constant:
-0:90            4 (const int)
-0:90          Constant:
-0:90            5 (const int)
-0:91      move second child to first child (temp uint)
-0:91        'u1' (temp uint)
-0:91        bitfieldInsert (global uint)
-0:91          'u1' (temp uint)
-0:91          'u1' (temp uint)
-0:91          Constant:
-0:91            4 (const int)
-0:91          Constant:
-0:91            5 (const int)
-0:93      move second child to first child (temp 2-component vector of int)
-0:93        'i2' (temp 2-component vector of int)
-0:93        bitFieldReverse (global 2-component vector of int)
-0:93          'i2' (temp 2-component vector of int)
-0:94      move second child to first child (temp 4-component vector of uint)
-0:94        'u4' (temp 4-component vector of uint)
-0:94        bitFieldReverse (global 4-component vector of uint)
-0:94          'u4' (temp 4-component vector of uint)
-0:95      move second child to first child (temp int)
-0:95        'i1' (temp int)
-0:95        bitCount (global int)
-0:95          'i1' (temp int)
-0:96      move second child to first child (temp 3-component vector of int)
-0:96        'i3' (temp 3-component vector of int)
-0:96        bitCount (global 3-component vector of int)
-0:96          'u3' (temp 3-component vector of uint)
-0:97      move second child to first child (temp 2-component vector of int)
-0:97        'i2' (temp 2-component vector of int)
-0:97        findLSB (global 2-component vector of int)
-0:97          'i2' (temp 2-component vector of int)
-0:98      move second child to first child (temp 4-component vector of int)
-0:98        'i4' (temp 4-component vector of int)
-0:98        findLSB (global 4-component vector of int)
-0:98          'u4' (temp 4-component vector of uint)
-0:99      move second child to first child (temp int)
-0:99        'i1' (temp int)
-0:99        findMSB (global int)
-0:99          'i1' (temp int)
-0:100      move second child to first child (temp 2-component vector of int)
-0:100        'i2' (temp 2-component vector of int)
-0:100        findMSB (global 2-component vector of int)
-0:100          'u2' (temp 2-component vector of uint)
-0:108  Function Definition: qlod( (global void)
-0:108    Function Parameters: 
-0:?     Sequence
-0:115      'lod' (temp 2-component vector of float)
-0:116      'lod' (temp 2-component vector of float)
-0:119  Function Definition: doubles( (global void)
-0:119    Function Parameters: 
-0:?     Sequence
-0:131      move second child to first child (temp double)
-0:131        'doublev' (temp double)
-0:131        Constant:
-0:131          1.702939
-0:132      move second child to first child (temp 2-component vector of double)
-0:132        'dvec2v' (temp 2-component vector of double)
-0:132        Constant:
-0:132          1.643168
-0:132          1.643168
-0:133      move second child to first child (temp 3-component vector of double)
-0:133        'dvec3v' (temp 3-component vector of double)
-0:133        Constant:
-0:133          1.414214
-0:133          1.414214
-0:133          1.414214
-0:134      move second child to first child (temp 4-component vector of double)
-0:134        'dvec4v' (temp 4-component vector of double)
-0:134        Constant:
-0:134          1.449138
-0:134          1.449138
-0:134          1.449138
-0:134          1.449138
-0:136      add second child into first child (temp double)
-0:136        'doublev' (temp double)
-0:136        inverse sqrt (global double)
-0:136          'doublev' (temp double)
-0:137      add second child into first child (temp 2-component vector of double)
-0:137        'dvec2v' (temp 2-component vector of double)
-0:137        inverse sqrt (global 2-component vector of double)
-0:137          'dvec2v' (temp 2-component vector of double)
-0:138      add second child into first child (temp 3-component vector of double)
-0:138        'dvec3v' (temp 3-component vector of double)
-0:138        inverse sqrt (global 3-component vector of double)
-0:138          'dvec3v' (temp 3-component vector of double)
-0:139      add second child into first child (temp 4-component vector of double)
-0:139        'dvec4v' (temp 4-component vector of double)
-0:139        inverse sqrt (global 4-component vector of double)
-0:139          'dvec4v' (temp 4-component vector of double)
-0:141      add second child into first child (temp double)
-0:141        'doublev' (temp double)
-0:141        Absolute value (global double)
-0:141          'doublev' (temp double)
-0:142      add second child into first child (temp 2-component vector of double)
-0:142        'dvec2v' (temp 2-component vector of double)
-0:142        Absolute value (global 2-component vector of double)
-0:142          'dvec2v' (temp 2-component vector of double)
-0:143      add second child into first child (temp 3-component vector of double)
-0:143        'dvec3v' (temp 3-component vector of double)
-0:143        Absolute value (global 3-component vector of double)
-0:143          'dvec3v' (temp 3-component vector of double)
-0:144      add second child into first child (temp 4-component vector of double)
-0:144        'dvec4v' (temp 4-component vector of double)
-0:144        Absolute value (global 4-component vector of double)
-0:144          'dvec4v' (temp 4-component vector of double)
-0:146      add second child into first child (temp double)
-0:146        'doublev' (temp double)
-0:146        Sign (global double)
-0:146          'doublev' (temp double)
-0:147      add second child into first child (temp 2-component vector of double)
-0:147        'dvec2v' (temp 2-component vector of double)
-0:147        Sign (global 2-component vector of double)
-0:147          'dvec2v' (temp 2-component vector of double)
-0:148      add second child into first child (temp 3-component vector of double)
-0:148        'dvec3v' (temp 3-component vector of double)
-0:148        Sign (global 3-component vector of double)
-0:148          'dvec3v' (temp 3-component vector of double)
-0:149      add second child into first child (temp 4-component vector of double)
-0:149        'dvec4v' (temp 4-component vector of double)
-0:149        Sign (global 4-component vector of double)
-0:149          'dvec4v' (temp 4-component vector of double)
-0:151      add second child into first child (temp double)
-0:151        'doublev' (temp double)
-0:151        Floor (global double)
-0:151          'doublev' (temp double)
-0:152      add second child into first child (temp 2-component vector of double)
-0:152        'dvec2v' (temp 2-component vector of double)
-0:152        Floor (global 2-component vector of double)
-0:152          'dvec2v' (temp 2-component vector of double)
-0:153      add second child into first child (temp 3-component vector of double)
-0:153        'dvec3v' (temp 3-component vector of double)
-0:153        Floor (global 3-component vector of double)
-0:153          'dvec3v' (temp 3-component vector of double)
-0:154      add second child into first child (temp 4-component vector of double)
-0:154        'dvec4v' (temp 4-component vector of double)
-0:154        Floor (global 4-component vector of double)
-0:154          'dvec4v' (temp 4-component vector of double)
-0:156      add second child into first child (temp double)
-0:156        'doublev' (temp double)
-0:156        trunc (global double)
-0:156          'doublev' (temp double)
-0:157      add second child into first child (temp 2-component vector of double)
-0:157        'dvec2v' (temp 2-component vector of double)
-0:157        trunc (global 2-component vector of double)
-0:157          'dvec2v' (temp 2-component vector of double)
-0:158      add second child into first child (temp 3-component vector of double)
-0:158        'dvec3v' (temp 3-component vector of double)
-0:158        trunc (global 3-component vector of double)
-0:158          'dvec3v' (temp 3-component vector of double)
-0:159      add second child into first child (temp 4-component vector of double)
-0:159        'dvec4v' (temp 4-component vector of double)
-0:159        trunc (global 4-component vector of double)
-0:159          'dvec4v' (temp 4-component vector of double)
-0:161      add second child into first child (temp double)
-0:161        'doublev' (temp double)
-0:161        round (global double)
-0:161          'doublev' (temp double)
-0:162      add second child into first child (temp 2-component vector of double)
-0:162        'dvec2v' (temp 2-component vector of double)
-0:162        round (global 2-component vector of double)
-0:162          'dvec2v' (temp 2-component vector of double)
-0:163      add second child into first child (temp 3-component vector of double)
-0:163        'dvec3v' (temp 3-component vector of double)
-0:163        round (global 3-component vector of double)
-0:163          'dvec3v' (temp 3-component vector of double)
-0:164      add second child into first child (temp 4-component vector of double)
-0:164        'dvec4v' (temp 4-component vector of double)
-0:164        round (global 4-component vector of double)
-0:164          'dvec4v' (temp 4-component vector of double)
-0:166      add second child into first child (temp double)
-0:166        'doublev' (temp double)
-0:166        roundEven (global double)
-0:166          'doublev' (temp double)
-0:167      add second child into first child (temp 2-component vector of double)
-0:167        'dvec2v' (temp 2-component vector of double)
-0:167        roundEven (global 2-component vector of double)
-0:167          'dvec2v' (temp 2-component vector of double)
-0:168      add second child into first child (temp 3-component vector of double)
-0:168        'dvec3v' (temp 3-component vector of double)
-0:168        roundEven (global 3-component vector of double)
-0:168          'dvec3v' (temp 3-component vector of double)
-0:169      add second child into first child (temp 4-component vector of double)
-0:169        'dvec4v' (temp 4-component vector of double)
-0:169        roundEven (global 4-component vector of double)
-0:169          'dvec4v' (temp 4-component vector of double)
-0:171      add second child into first child (temp double)
-0:171        'doublev' (temp double)
-0:171        Ceiling (global double)
-0:171          'doublev' (temp double)
-0:172      add second child into first child (temp 2-component vector of double)
-0:172        'dvec2v' (temp 2-component vector of double)
-0:172        Ceiling (global 2-component vector of double)
-0:172          'dvec2v' (temp 2-component vector of double)
-0:173      add second child into first child (temp 3-component vector of double)
-0:173        'dvec3v' (temp 3-component vector of double)
-0:173        Ceiling (global 3-component vector of double)
-0:173          'dvec3v' (temp 3-component vector of double)
-0:174      add second child into first child (temp 4-component vector of double)
-0:174        'dvec4v' (temp 4-component vector of double)
-0:174        Ceiling (global 4-component vector of double)
-0:174          'dvec4v' (temp 4-component vector of double)
-0:176      add second child into first child (temp double)
-0:176        'doublev' (temp double)
-0:176        Fraction (global double)
-0:176          'doublev' (temp double)
-0:177      add second child into first child (temp 2-component vector of double)
-0:177        'dvec2v' (temp 2-component vector of double)
-0:177        Fraction (global 2-component vector of double)
-0:177          'dvec2v' (temp 2-component vector of double)
-0:178      add second child into first child (temp 3-component vector of double)
-0:178        'dvec3v' (temp 3-component vector of double)
-0:178        Fraction (global 3-component vector of double)
-0:178          'dvec3v' (temp 3-component vector of double)
-0:179      add second child into first child (temp 4-component vector of double)
-0:179        'dvec4v' (temp 4-component vector of double)
-0:179        Fraction (global 4-component vector of double)
-0:179          'dvec4v' (temp 4-component vector of double)
-0:181      add second child into first child (temp double)
-0:181        'doublev' (temp double)
-0:181        mod (global double)
-0:181          'doublev' (temp double)
-0:181          'doublev' (temp double)
-0:182      add second child into first child (temp 2-component vector of double)
-0:182        'dvec2v' (temp 2-component vector of double)
-0:182        mod (global 2-component vector of double)
-0:182          'dvec2v' (temp 2-component vector of double)
-0:182          'doublev' (temp double)
-0:183      add second child into first child (temp 3-component vector of double)
-0:183        'dvec3v' (temp 3-component vector of double)
-0:183        mod (global 3-component vector of double)
-0:183          'dvec3v' (temp 3-component vector of double)
-0:183          'doublev' (temp double)
-0:184      add second child into first child (temp 4-component vector of double)
-0:184        'dvec4v' (temp 4-component vector of double)
-0:184        mod (global 4-component vector of double)
-0:184          'dvec4v' (temp 4-component vector of double)
-0:184          'doublev' (temp double)
-0:185      add second child into first child (temp 2-component vector of double)
-0:185        'dvec2v' (temp 2-component vector of double)
-0:185        mod (global 2-component vector of double)
-0:185          'dvec2v' (temp 2-component vector of double)
-0:185          'dvec2v' (temp 2-component vector of double)
-0:186      add second child into first child (temp 3-component vector of double)
-0:186        'dvec3v' (temp 3-component vector of double)
-0:186        mod (global 3-component vector of double)
-0:186          'dvec3v' (temp 3-component vector of double)
-0:186          'dvec3v' (temp 3-component vector of double)
-0:187      add second child into first child (temp 4-component vector of double)
-0:187        'dvec4v' (temp 4-component vector of double)
-0:187        mod (global 4-component vector of double)
-0:187          'dvec4v' (temp 4-component vector of double)
-0:187          'dvec4v' (temp 4-component vector of double)
-0:189      add second child into first child (temp double)
-0:189        'doublev' (temp double)
-0:189        modf (global double)
-0:189          'doublev' (temp double)
-0:189          'doublev' (temp double)
-0:190      add second child into first child (temp 2-component vector of double)
-0:190        'dvec2v' (temp 2-component vector of double)
-0:190        modf (global 2-component vector of double)
-0:190          'dvec2v' (temp 2-component vector of double)
-0:190          'dvec2v' (temp 2-component vector of double)
-0:191      add second child into first child (temp 3-component vector of double)
-0:191        'dvec3v' (temp 3-component vector of double)
-0:191        modf (global 3-component vector of double)
-0:191          'dvec3v' (temp 3-component vector of double)
-0:191          'dvec3v' (temp 3-component vector of double)
-0:192      add second child into first child (temp 4-component vector of double)
-0:192        'dvec4v' (temp 4-component vector of double)
-0:192        modf (global 4-component vector of double)
-0:192          'dvec4v' (temp 4-component vector of double)
-0:192          'dvec4v' (temp 4-component vector of double)
-0:194      add second child into first child (temp double)
-0:194        'doublev' (temp double)
-0:194        min (global double)
-0:194          'doublev' (temp double)
-0:194          'doublev' (temp double)
-0:195      add second child into first child (temp 2-component vector of double)
-0:195        'dvec2v' (temp 2-component vector of double)
-0:195        min (global 2-component vector of double)
-0:195          'dvec2v' (temp 2-component vector of double)
-0:195          'doublev' (temp double)
-0:196      add second child into first child (temp 3-component vector of double)
-0:196        'dvec3v' (temp 3-component vector of double)
-0:196        min (global 3-component vector of double)
-0:196          'dvec3v' (temp 3-component vector of double)
-0:196          'doublev' (temp double)
-0:197      add second child into first child (temp 4-component vector of double)
-0:197        'dvec4v' (temp 4-component vector of double)
-0:197        min (global 4-component vector of double)
-0:197          'dvec4v' (temp 4-component vector of double)
-0:197          'doublev' (temp double)
-0:198      add second child into first child (temp 2-component vector of double)
-0:198        'dvec2v' (temp 2-component vector of double)
-0:198        min (global 2-component vector of double)
-0:198          'dvec2v' (temp 2-component vector of double)
-0:198          'dvec2v' (temp 2-component vector of double)
-0:199      add second child into first child (temp 3-component vector of double)
-0:199        'dvec3v' (temp 3-component vector of double)
-0:199        min (global 3-component vector of double)
-0:199          'dvec3v' (temp 3-component vector of double)
-0:199          'dvec3v' (temp 3-component vector of double)
-0:200      add second child into first child (temp 4-component vector of double)
-0:200        'dvec4v' (temp 4-component vector of double)
-0:200        min (global 4-component vector of double)
-0:200          'dvec4v' (temp 4-component vector of double)
-0:200          'dvec4v' (temp 4-component vector of double)
-0:202      add second child into first child (temp double)
-0:202        'doublev' (temp double)
-0:202        max (global double)
-0:202          'doublev' (temp double)
-0:202          'doublev' (temp double)
-0:203      add second child into first child (temp 2-component vector of double)
-0:203        'dvec2v' (temp 2-component vector of double)
-0:203        max (global 2-component vector of double)
-0:203          'dvec2v' (temp 2-component vector of double)
-0:203          'doublev' (temp double)
-0:204      add second child into first child (temp 3-component vector of double)
-0:204        'dvec3v' (temp 3-component vector of double)
-0:204        max (global 3-component vector of double)
-0:204          'dvec3v' (temp 3-component vector of double)
-0:204          'doublev' (temp double)
-0:205      add second child into first child (temp 4-component vector of double)
-0:205        'dvec4v' (temp 4-component vector of double)
-0:205        max (global 4-component vector of double)
-0:205          'dvec4v' (temp 4-component vector of double)
-0:205          'doublev' (temp double)
-0:206      add second child into first child (temp 2-component vector of double)
-0:206        'dvec2v' (temp 2-component vector of double)
-0:206        max (global 2-component vector of double)
-0:206          'dvec2v' (temp 2-component vector of double)
-0:206          'dvec2v' (temp 2-component vector of double)
-0:207      add second child into first child (temp 3-component vector of double)
-0:207        'dvec3v' (temp 3-component vector of double)
-0:207        max (global 3-component vector of double)
-0:207          'dvec3v' (temp 3-component vector of double)
-0:207          'dvec3v' (temp 3-component vector of double)
-0:208      add second child into first child (temp 4-component vector of double)
-0:208        'dvec4v' (temp 4-component vector of double)
-0:208        max (global 4-component vector of double)
-0:208          'dvec4v' (temp 4-component vector of double)
-0:208          'dvec4v' (temp 4-component vector of double)
-0:210      add second child into first child (temp double)
-0:210        'doublev' (temp double)
-0:210        clamp (global double)
-0:210          'doublev' (temp double)
-0:210          'doublev' (temp double)
-0:210          'doublev' (temp double)
-0:211      add second child into first child (temp 2-component vector of double)
-0:211        'dvec2v' (temp 2-component vector of double)
-0:211        clamp (global 2-component vector of double)
-0:211          'dvec2v' (temp 2-component vector of double)
-0:211          'doublev' (temp double)
-0:211          'doublev' (temp double)
-0:212      add second child into first child (temp 3-component vector of double)
-0:212        'dvec3v' (temp 3-component vector of double)
-0:212        clamp (global 3-component vector of double)
-0:212          'dvec3v' (temp 3-component vector of double)
-0:212          'doublev' (temp double)
-0:212          'doublev' (temp double)
-0:213      add second child into first child (temp 4-component vector of double)
-0:213        'dvec4v' (temp 4-component vector of double)
-0:213        clamp (global 4-component vector of double)
-0:213          'dvec4v' (temp 4-component vector of double)
-0:213          'doublev' (temp double)
-0:213          'doublev' (temp double)
-0:214      add second child into first child (temp 2-component vector of double)
-0:214        'dvec2v' (temp 2-component vector of double)
-0:214        clamp (global 2-component vector of double)
-0:214          'dvec2v' (temp 2-component vector of double)
-0:214          'dvec2v' (temp 2-component vector of double)
-0:214          'dvec2v' (temp 2-component vector of double)
-0:215      add second child into first child (temp 3-component vector of double)
-0:215        'dvec3v' (temp 3-component vector of double)
-0:215        clamp (global 3-component vector of double)
-0:215          'dvec3v' (temp 3-component vector of double)
-0:215          'dvec3v' (temp 3-component vector of double)
-0:215          'dvec3v' (temp 3-component vector of double)
-0:216      add second child into first child (temp 4-component vector of double)
-0:216        'dvec4v' (temp 4-component vector of double)
-0:216        clamp (global 4-component vector of double)
-0:216          'dvec4v' (temp 4-component vector of double)
-0:216          'dvec4v' (temp 4-component vector of double)
-0:216          'dvec4v' (temp 4-component vector of double)
-0:218      add second child into first child (temp double)
-0:218        'doublev' (temp double)
-0:218        mix (global double)
-0:218          'doublev' (temp double)
-0:218          'doublev' (temp double)
-0:218          'doublev' (temp double)
-0:219      add second child into first child (temp 2-component vector of double)
-0:219        'dvec2v' (temp 2-component vector of double)
-0:219        mix (global 2-component vector of double)
-0:219          'dvec2v' (temp 2-component vector of double)
-0:219          'dvec2v' (temp 2-component vector of double)
-0:219          'doublev' (temp double)
-0:220      add second child into first child (temp 3-component vector of double)
-0:220        'dvec3v' (temp 3-component vector of double)
-0:220        mix (global 3-component vector of double)
-0:220          'dvec3v' (temp 3-component vector of double)
-0:220          'dvec3v' (temp 3-component vector of double)
-0:220          'doublev' (temp double)
-0:221      add second child into first child (temp 4-component vector of double)
-0:221        'dvec4v' (temp 4-component vector of double)
-0:221        mix (global 4-component vector of double)
-0:221          'dvec4v' (temp 4-component vector of double)
-0:221          'dvec4v' (temp 4-component vector of double)
-0:221          'doublev' (temp double)
-0:222      add second child into first child (temp 2-component vector of double)
-0:222        'dvec2v' (temp 2-component vector of double)
-0:222        mix (global 2-component vector of double)
-0:222          'dvec2v' (temp 2-component vector of double)
-0:222          'dvec2v' (temp 2-component vector of double)
-0:222          'dvec2v' (temp 2-component vector of double)
-0:223      add second child into first child (temp 3-component vector of double)
-0:223        'dvec3v' (temp 3-component vector of double)
-0:223        mix (global 3-component vector of double)
-0:223          'dvec3v' (temp 3-component vector of double)
-0:223          'dvec3v' (temp 3-component vector of double)
-0:223          'dvec3v' (temp 3-component vector of double)
-0:224      add second child into first child (temp 4-component vector of double)
-0:224        'dvec4v' (temp 4-component vector of double)
-0:224        mix (global 4-component vector of double)
-0:224          'dvec4v' (temp 4-component vector of double)
-0:224          'dvec4v' (temp 4-component vector of double)
-0:224          'dvec4v' (temp 4-component vector of double)
-0:225      add second child into first child (temp double)
-0:225        'doublev' (temp double)
-0:225        mix (global double)
-0:225          'doublev' (temp double)
-0:225          'doublev' (temp double)
-0:225          'boolv' (temp bool)
-0:226      add second child into first child (temp 2-component vector of double)
-0:226        'dvec2v' (temp 2-component vector of double)
-0:226        mix (global 2-component vector of double)
-0:226          'dvec2v' (temp 2-component vector of double)
-0:226          'dvec2v' (temp 2-component vector of double)
-0:226          'bvec2v' (temp 2-component vector of bool)
-0:227      add second child into first child (temp 3-component vector of double)
-0:227        'dvec3v' (temp 3-component vector of double)
-0:227        mix (global 3-component vector of double)
-0:227          'dvec3v' (temp 3-component vector of double)
-0:227          'dvec3v' (temp 3-component vector of double)
-0:227          'bvec3v' (temp 3-component vector of bool)
-0:228      add second child into first child (temp 4-component vector of double)
-0:228        'dvec4v' (temp 4-component vector of double)
-0:228        mix (global 4-component vector of double)
-0:228          'dvec4v' (temp 4-component vector of double)
-0:228          'dvec4v' (temp 4-component vector of double)
-0:228          'bvec4v' (temp 4-component vector of bool)
-0:230      add second child into first child (temp double)
-0:230        'doublev' (temp double)
-0:230        step (global double)
-0:230          'doublev' (temp double)
-0:230          'doublev' (temp double)
-0:231      add second child into first child (temp 2-component vector of double)
-0:231        'dvec2v' (temp 2-component vector of double)
-0:231        step (global 2-component vector of double)
-0:231          'dvec2v' (temp 2-component vector of double)
-0:231          'dvec2v' (temp 2-component vector of double)
-0:232      add second child into first child (temp 3-component vector of double)
-0:232        'dvec3v' (temp 3-component vector of double)
-0:232        step (global 3-component vector of double)
-0:232          'dvec3v' (temp 3-component vector of double)
-0:232          'dvec3v' (temp 3-component vector of double)
-0:233      add second child into first child (temp 4-component vector of double)
-0:233        'dvec4v' (temp 4-component vector of double)
-0:233        step (global 4-component vector of double)
-0:233          'dvec4v' (temp 4-component vector of double)
-0:233          'dvec4v' (temp 4-component vector of double)
-0:234      add second child into first child (temp 2-component vector of double)
-0:234        'dvec2v' (temp 2-component vector of double)
-0:234        step (global 2-component vector of double)
-0:234          'doublev' (temp double)
-0:234          'dvec2v' (temp 2-component vector of double)
-0:235      add second child into first child (temp 3-component vector of double)
-0:235        'dvec3v' (temp 3-component vector of double)
-0:235        step (global 3-component vector of double)
-0:235          'doublev' (temp double)
-0:235          'dvec3v' (temp 3-component vector of double)
-0:236      add second child into first child (temp 4-component vector of double)
-0:236        'dvec4v' (temp 4-component vector of double)
-0:236        step (global 4-component vector of double)
-0:236          'doublev' (temp double)
-0:236          'dvec4v' (temp 4-component vector of double)
-0:238      add second child into first child (temp double)
-0:238        'doublev' (temp double)
-0:238        smoothstep (global double)
-0:238          'doublev' (temp double)
-0:238          'doublev' (temp double)
-0:238          'doublev' (temp double)
-0:239      add second child into first child (temp 2-component vector of double)
-0:239        'dvec2v' (temp 2-component vector of double)
-0:239        smoothstep (global 2-component vector of double)
-0:239          'dvec2v' (temp 2-component vector of double)
-0:239          'dvec2v' (temp 2-component vector of double)
-0:239          'dvec2v' (temp 2-component vector of double)
-0:240      add second child into first child (temp 3-component vector of double)
-0:240        'dvec3v' (temp 3-component vector of double)
-0:240        smoothstep (global 3-component vector of double)
-0:240          'dvec3v' (temp 3-component vector of double)
-0:240          'dvec3v' (temp 3-component vector of double)
-0:240          'dvec3v' (temp 3-component vector of double)
-0:241      add second child into first child (temp 4-component vector of double)
-0:241        'dvec4v' (temp 4-component vector of double)
-0:241        smoothstep (global 4-component vector of double)
-0:241          'dvec4v' (temp 4-component vector of double)
-0:241          'dvec4v' (temp 4-component vector of double)
-0:241          'dvec4v' (temp 4-component vector of double)
-0:242      add second child into first child (temp 2-component vector of double)
-0:242        'dvec2v' (temp 2-component vector of double)
-0:242        smoothstep (global 2-component vector of double)
-0:242          'doublev' (temp double)
-0:242          'doublev' (temp double)
-0:242          'dvec2v' (temp 2-component vector of double)
-0:243      add second child into first child (temp 3-component vector of double)
-0:243        'dvec3v' (temp 3-component vector of double)
-0:243        smoothstep (global 3-component vector of double)
-0:243          'doublev' (temp double)
-0:243          'doublev' (temp double)
-0:243          'dvec3v' (temp 3-component vector of double)
-0:244      add second child into first child (temp 4-component vector of double)
-0:244        'dvec4v' (temp 4-component vector of double)
-0:244        smoothstep (global 4-component vector of double)
-0:244          'doublev' (temp double)
-0:244          'doublev' (temp double)
-0:244          'dvec4v' (temp 4-component vector of double)
-0:246      move second child to first child (temp bool)
-0:246        'boolv' (temp bool)
-0:246        isnan (global bool)
-0:246          'doublev' (temp double)
-0:247      move second child to first child (temp 2-component vector of bool)
-0:247        'bvec2v' (temp 2-component vector of bool)
-0:247        isnan (global 2-component vector of bool)
-0:247          'dvec2v' (temp 2-component vector of double)
-0:248      move second child to first child (temp 3-component vector of bool)
-0:248        'bvec3v' (temp 3-component vector of bool)
-0:248        isnan (global 3-component vector of bool)
-0:248          'dvec3v' (temp 3-component vector of double)
-0:249      move second child to first child (temp 4-component vector of bool)
-0:249        'bvec4v' (temp 4-component vector of bool)
-0:249        isnan (global 4-component vector of bool)
-0:249          'dvec4v' (temp 4-component vector of double)
-0:251      move second child to first child (temp bool)
-0:251        'boolv' (temp bool)
-0:251        Test condition and select (temp bool)
-0:251          Condition
-0:251          'boolv' (temp bool)
-0:251          true case
-0:251          isinf (global bool)
-0:251            'doublev' (temp double)
-0:251          false case
-0:251          Constant:
-0:251            false (const bool)
-0:252      move second child to first child (temp 2-component vector of bool)
-0:252        'bvec2v' (temp 2-component vector of bool)
-0:252        Test condition and select (temp 2-component vector of bool)
-0:252          Condition
-0:252          'boolv' (temp bool)
-0:252          true case
-0:252          isinf (global 2-component vector of bool)
-0:252            'dvec2v' (temp 2-component vector of double)
-0:252          false case
-0:252          Constant:
-0:252            false (const bool)
-0:252            false (const bool)
-0:253      move second child to first child (temp 3-component vector of bool)
-0:253        'bvec3v' (temp 3-component vector of bool)
-0:253        Test condition and select (temp 3-component vector of bool)
-0:253          Condition
-0:253          'boolv' (temp bool)
-0:253          true case
-0:253          isinf (global 3-component vector of bool)
-0:253            'dvec3v' (temp 3-component vector of double)
-0:253          false case
-0:253          Constant:
-0:253            false (const bool)
-0:253            false (const bool)
-0:253            false (const bool)
-0:254      move second child to first child (temp 4-component vector of bool)
-0:254        'bvec4v' (temp 4-component vector of bool)
-0:254        Test condition and select (temp 4-component vector of bool)
-0:254          Condition
-0:254          'boolv' (temp bool)
-0:254          true case
-0:254          isinf (global 4-component vector of bool)
-0:254            'dvec4v' (temp 4-component vector of double)
-0:254          false case
-0:254          Constant:
-0:254            false (const bool)
-0:254            false (const bool)
-0:254            false (const bool)
-0:254            false (const bool)
-0:256      add second child into first child (temp double)
-0:256        'doublev' (temp double)
-0:256        length (global double)
-0:256          'doublev' (temp double)
-0:257      add second child into first child (temp double)
-0:257        'doublev' (temp double)
-0:257        length (global double)
-0:257          'dvec2v' (temp 2-component vector of double)
-0:258      add second child into first child (temp double)
-0:258        'doublev' (temp double)
-0:258        length (global double)
-0:258          'dvec3v' (temp 3-component vector of double)
-0:259      add second child into first child (temp double)
-0:259        'doublev' (temp double)
-0:259        length (global double)
-0:259          'dvec4v' (temp 4-component vector of double)
-0:261      add second child into first child (temp double)
-0:261        'doublev' (temp double)
-0:261        distance (global double)
-0:261          'doublev' (temp double)
-0:261          'doublev' (temp double)
-0:262      add second child into first child (temp double)
-0:262        'doublev' (temp double)
-0:262        distance (global double)
-0:262          'dvec2v' (temp 2-component vector of double)
-0:262          'dvec2v' (temp 2-component vector of double)
-0:263      add second child into first child (temp double)
-0:263        'doublev' (temp double)
-0:263        distance (global double)
-0:263          'dvec3v' (temp 3-component vector of double)
-0:263          'dvec3v' (temp 3-component vector of double)
-0:264      add second child into first child (temp double)
-0:264        'doublev' (temp double)
-0:264        distance (global double)
-0:264          'dvec4v' (temp 4-component vector of double)
-0:264          'dvec4v' (temp 4-component vector of double)
-0:266      add second child into first child (temp double)
-0:266        'doublev' (temp double)
-0:266        dot-product (global double)
-0:266          'doublev' (temp double)
-0:266          'doublev' (temp double)
-0:267      add second child into first child (temp double)
-0:267        'doublev' (temp double)
-0:267        dot-product (global double)
-0:267          'dvec2v' (temp 2-component vector of double)
-0:267          'dvec2v' (temp 2-component vector of double)
-0:268      add second child into first child (temp double)
-0:268        'doublev' (temp double)
-0:268        dot-product (global double)
-0:268          'dvec3v' (temp 3-component vector of double)
-0:268          'dvec3v' (temp 3-component vector of double)
-0:269      add second child into first child (temp double)
-0:269        'doublev' (temp double)
-0:269        dot-product (global double)
-0:269          'dvec4v' (temp 4-component vector of double)
-0:269          'dvec4v' (temp 4-component vector of double)
-0:271      add second child into first child (temp 3-component vector of double)
-0:271        'dvec3v' (temp 3-component vector of double)
-0:271        cross-product (global 3-component vector of double)
-0:271          'dvec3v' (temp 3-component vector of double)
-0:271          'dvec3v' (temp 3-component vector of double)
-0:273      add second child into first child (temp double)
-0:273        'doublev' (temp double)
-0:273        normalize (global double)
-0:273          'doublev' (temp double)
-0:274      add second child into first child (temp 2-component vector of double)
-0:274        'dvec2v' (temp 2-component vector of double)
-0:274        normalize (global 2-component vector of double)
-0:274          'dvec2v' (temp 2-component vector of double)
-0:275      add second child into first child (temp 3-component vector of double)
-0:275        'dvec3v' (temp 3-component vector of double)
-0:275        normalize (global 3-component vector of double)
-0:275          'dvec3v' (temp 3-component vector of double)
-0:276      add second child into first child (temp 4-component vector of double)
-0:276        'dvec4v' (temp 4-component vector of double)
-0:276        normalize (global 4-component vector of double)
-0:276          'dvec4v' (temp 4-component vector of double)
-0:278      add second child into first child (temp double)
-0:278        'doublev' (temp double)
-0:278        face-forward (global double)
-0:278          'doublev' (temp double)
-0:278          'doublev' (temp double)
-0:278          'doublev' (temp double)
-0:279      add second child into first child (temp 2-component vector of double)
-0:279        'dvec2v' (temp 2-component vector of double)
-0:279        face-forward (global 2-component vector of double)
-0:279          'dvec2v' (temp 2-component vector of double)
-0:279          'dvec2v' (temp 2-component vector of double)
-0:279          'dvec2v' (temp 2-component vector of double)
-0:280      add second child into first child (temp 3-component vector of double)
-0:280        'dvec3v' (temp 3-component vector of double)
-0:280        face-forward (global 3-component vector of double)
-0:280          'dvec3v' (temp 3-component vector of double)
-0:280          'dvec3v' (temp 3-component vector of double)
-0:280          'dvec3v' (temp 3-component vector of double)
-0:281      add second child into first child (temp 4-component vector of double)
-0:281        'dvec4v' (temp 4-component vector of double)
-0:281        face-forward (global 4-component vector of double)
-0:281          'dvec4v' (temp 4-component vector of double)
-0:281          'dvec4v' (temp 4-component vector of double)
-0:281          'dvec4v' (temp 4-component vector of double)
-0:283      add second child into first child (temp double)
-0:283        'doublev' (temp double)
-0:283        reflect (global double)
-0:283          'doublev' (temp double)
-0:283          'doublev' (temp double)
-0:284      add second child into first child (temp 2-component vector of double)
-0:284        'dvec2v' (temp 2-component vector of double)
-0:284        reflect (global 2-component vector of double)
-0:284          'dvec2v' (temp 2-component vector of double)
-0:284          'dvec2v' (temp 2-component vector of double)
-0:285      add second child into first child (temp 3-component vector of double)
-0:285        'dvec3v' (temp 3-component vector of double)
-0:285        reflect (global 3-component vector of double)
-0:285          'dvec3v' (temp 3-component vector of double)
-0:285          'dvec3v' (temp 3-component vector of double)
-0:286      add second child into first child (temp 4-component vector of double)
-0:286        'dvec4v' (temp 4-component vector of double)
-0:286        reflect (global 4-component vector of double)
-0:286          'dvec4v' (temp 4-component vector of double)
-0:286          'dvec4v' (temp 4-component vector of double)
-0:288      add second child into first child (temp double)
-0:288        'doublev' (temp double)
-0:288        refract (global double)
-0:288          'doublev' (temp double)
-0:288          'doublev' (temp double)
-0:288          'doublev' (temp double)
-0:289      add second child into first child (temp 2-component vector of double)
-0:289        'dvec2v' (temp 2-component vector of double)
-0:289        refract (global 2-component vector of double)
-0:289          'dvec2v' (temp 2-component vector of double)
-0:289          'dvec2v' (temp 2-component vector of double)
-0:289          'doublev' (temp double)
-0:290      add second child into first child (temp 3-component vector of double)
-0:290        'dvec3v' (temp 3-component vector of double)
-0:290        refract (global 3-component vector of double)
-0:290          'dvec3v' (temp 3-component vector of double)
-0:290          'dvec3v' (temp 3-component vector of double)
-0:290          'doublev' (temp double)
-0:291      add second child into first child (temp 4-component vector of double)
-0:291        'dvec4v' (temp 4-component vector of double)
-0:291        refract (global 4-component vector of double)
-0:291          'dvec4v' (temp 4-component vector of double)
-0:291          'dvec4v' (temp 4-component vector of double)
-0:291          'doublev' (temp double)
-0:293      Sequence
-0:293        move second child to first child (temp 2X2 matrix of double)
-0:293          'dmat2v' (temp 2X2 matrix of double)
-0:293          outer product (global 2X2 matrix of double)
-0:293            'dvec2v' (temp 2-component vector of double)
-0:293            'dvec2v' (temp 2-component vector of double)
-0:294      Sequence
-0:294        move second child to first child (temp 3X3 matrix of double)
-0:294          'dmat3v' (temp 3X3 matrix of double)
-0:294          outer product (global 3X3 matrix of double)
-0:294            'dvec3v' (temp 3-component vector of double)
-0:294            'dvec3v' (temp 3-component vector of double)
-0:295      Sequence
-0:295        move second child to first child (temp 4X4 matrix of double)
-0:295          'dmat4v' (temp 4X4 matrix of double)
-0:295          outer product (global 4X4 matrix of double)
-0:295            'dvec4v' (temp 4-component vector of double)
-0:295            'dvec4v' (temp 4-component vector of double)
-0:296      Sequence
-0:296        move second child to first child (temp 2X3 matrix of double)
-0:296          'dmat2x3v' (temp 2X3 matrix of double)
-0:296          outer product (global 2X3 matrix of double)
-0:296            'dvec3v' (temp 3-component vector of double)
-0:296            'dvec2v' (temp 2-component vector of double)
-0:297      Sequence
-0:297        move second child to first child (temp 3X2 matrix of double)
-0:297          'dmat3x2v' (temp 3X2 matrix of double)
-0:297          outer product (global 3X2 matrix of double)
-0:297            'dvec2v' (temp 2-component vector of double)
-0:297            'dvec3v' (temp 3-component vector of double)
-0:298      Sequence
-0:298        move second child to first child (temp 2X4 matrix of double)
-0:298          'dmat2x4v' (temp 2X4 matrix of double)
-0:298          outer product (global 2X4 matrix of double)
-0:298            'dvec4v' (temp 4-component vector of double)
-0:298            'dvec2v' (temp 2-component vector of double)
-0:299      Sequence
-0:299        move second child to first child (temp 4X2 matrix of double)
-0:299          'dmat4x2v' (temp 4X2 matrix of double)
-0:299          outer product (global 4X2 matrix of double)
-0:299            'dvec2v' (temp 2-component vector of double)
-0:299            'dvec4v' (temp 4-component vector of double)
-0:300      Sequence
-0:300        move second child to first child (temp 3X4 matrix of double)
-0:300          'dmat3x4v' (temp 3X4 matrix of double)
-0:300          outer product (global 3X4 matrix of double)
-0:300            'dvec4v' (temp 4-component vector of double)
-0:300            'dvec3v' (temp 3-component vector of double)
-0:301      Sequence
-0:301        move second child to first child (temp 4X3 matrix of double)
-0:301          'dmat4x3v' (temp 4X3 matrix of double)
-0:301          outer product (global 4X3 matrix of double)
-0:301            'dvec3v' (temp 3-component vector of double)
-0:301            'dvec4v' (temp 4-component vector of double)
-0:303      matrix mult second child into first child (temp 2X2 matrix of double)
-0:303        'dmat2v' (temp 2X2 matrix of double)
-0:303        component-wise multiply (global 2X2 matrix of double)
-0:303          'dmat2v' (temp 2X2 matrix of double)
-0:303          'dmat2v' (temp 2X2 matrix of double)
-0:304      matrix mult second child into first child (temp 3X3 matrix of double)
-0:304        'dmat3v' (temp 3X3 matrix of double)
-0:304        component-wise multiply (global 3X3 matrix of double)
-0:304          'dmat3v' (temp 3X3 matrix of double)
-0:304          'dmat3v' (temp 3X3 matrix of double)
-0:305      matrix mult second child into first child (temp 4X4 matrix of double)
-0:305        'dmat4v' (temp 4X4 matrix of double)
-0:305        component-wise multiply (global 4X4 matrix of double)
-0:305          'dmat4v' (temp 4X4 matrix of double)
-0:305          'dmat4v' (temp 4X4 matrix of double)
-0:306      move second child to first child (temp 2X3 matrix of double)
-0:306        'dmat2x3v' (temp 2X3 matrix of double)
-0:306        component-wise multiply (global 2X3 matrix of double)
-0:306          'dmat2x3v' (temp 2X3 matrix of double)
-0:306          'dmat2x3v' (temp 2X3 matrix of double)
-0:307      move second child to first child (temp 2X4 matrix of double)
-0:307        'dmat2x4v' (temp 2X4 matrix of double)
-0:307        component-wise multiply (global 2X4 matrix of double)
-0:307          'dmat2x4v' (temp 2X4 matrix of double)
-0:307          'dmat2x4v' (temp 2X4 matrix of double)
-0:308      move second child to first child (temp 3X2 matrix of double)
-0:308        'dmat3x2v' (temp 3X2 matrix of double)
-0:308        component-wise multiply (global 3X2 matrix of double)
-0:308          'dmat3x2v' (temp 3X2 matrix of double)
-0:308          'dmat3x2v' (temp 3X2 matrix of double)
-0:309      move second child to first child (temp 3X4 matrix of double)
-0:309        'dmat3x4v' (temp 3X4 matrix of double)
-0:309        component-wise multiply (global 3X4 matrix of double)
-0:309          'dmat3x4v' (temp 3X4 matrix of double)
-0:309          'dmat3x4v' (temp 3X4 matrix of double)
-0:310      move second child to first child (temp 4X2 matrix of double)
-0:310        'dmat4x2v' (temp 4X2 matrix of double)
-0:310        component-wise multiply (global 4X2 matrix of double)
-0:310          'dmat4x2v' (temp 4X2 matrix of double)
-0:310          'dmat4x2v' (temp 4X2 matrix of double)
-0:311      move second child to first child (temp 4X3 matrix of double)
-0:311        'dmat4x3v' (temp 4X3 matrix of double)
-0:311        component-wise multiply (global 4X3 matrix of double)
-0:311          'dmat4x3v' (temp 4X3 matrix of double)
-0:311          'dmat4x3v' (temp 4X3 matrix of double)
-0:313      matrix mult second child into first child (temp 2X2 matrix of double)
-0:313        'dmat2v' (temp 2X2 matrix of double)
-0:313        transpose (global 2X2 matrix of double)
-0:313          'dmat2v' (temp 2X2 matrix of double)
-0:314      matrix mult second child into first child (temp 3X3 matrix of double)
-0:314        'dmat3v' (temp 3X3 matrix of double)
-0:314        transpose (global 3X3 matrix of double)
-0:314          'dmat3v' (temp 3X3 matrix of double)
-0:315      matrix mult second child into first child (temp 4X4 matrix of double)
-0:315        'dmat4v' (temp 4X4 matrix of double)
-0:315        transpose (global 4X4 matrix of double)
-0:315          'dmat4v' (temp 4X4 matrix of double)
-0:316      move second child to first child (temp 2X3 matrix of double)
-0:316        'dmat2x3v' (temp 2X3 matrix of double)
-0:316        transpose (global 2X3 matrix of double)
-0:316          'dmat3x2v' (temp 3X2 matrix of double)
-0:317      move second child to first child (temp 3X2 matrix of double)
-0:317        'dmat3x2v' (temp 3X2 matrix of double)
-0:317        transpose (global 3X2 matrix of double)
-0:317          'dmat2x3v' (temp 2X3 matrix of double)
-0:318      move second child to first child (temp 2X4 matrix of double)
-0:318        'dmat2x4v' (temp 2X4 matrix of double)
-0:318        transpose (global 2X4 matrix of double)
-0:318          'dmat4x2v' (temp 4X2 matrix of double)
-0:319      move second child to first child (temp 4X2 matrix of double)
-0:319        'dmat4x2v' (temp 4X2 matrix of double)
-0:319        transpose (global 4X2 matrix of double)
-0:319          'dmat2x4v' (temp 2X4 matrix of double)
-0:320      move second child to first child (temp 3X4 matrix of double)
-0:320        'dmat3x4v' (temp 3X4 matrix of double)
-0:320        transpose (global 3X4 matrix of double)
-0:320          'dmat4x3v' (temp 4X3 matrix of double)
-0:321      move second child to first child (temp 4X3 matrix of double)
-0:321        'dmat4x3v' (temp 4X3 matrix of double)
-0:321        transpose (global 4X3 matrix of double)
-0:321          'dmat3x4v' (temp 3X4 matrix of double)
-0:323      add second child into first child (temp double)
-0:323        'doublev' (temp double)
-0:323        determinant (global double)
-0:323          'dmat2v' (temp 2X2 matrix of double)
-0:324      add second child into first child (temp double)
-0:324        'doublev' (temp double)
-0:324        determinant (global double)
-0:324          'dmat3v' (temp 3X3 matrix of double)
-0:325      add second child into first child (temp double)
-0:325        'doublev' (temp double)
-0:325        determinant (global double)
-0:325          'dmat4v' (temp 4X4 matrix of double)
-0:327      matrix mult second child into first child (temp 2X2 matrix of double)
-0:327        'dmat2v' (temp 2X2 matrix of double)
-0:327        inverse (global 2X2 matrix of double)
-0:327          'dmat2v' (temp 2X2 matrix of double)
-0:328      matrix mult second child into first child (temp 3X3 matrix of double)
-0:328        'dmat3v' (temp 3X3 matrix of double)
-0:328        inverse (global 3X3 matrix of double)
-0:328          'dmat3v' (temp 3X3 matrix of double)
-0:329      matrix mult second child into first child (temp 4X4 matrix of double)
-0:329        'dmat4v' (temp 4X4 matrix of double)
-0:329        inverse (global 4X4 matrix of double)
-0:329          'dmat4v' (temp 4X4 matrix of double)
 0:?   Linker Objects
 0:?     'bn' (in 3-element array of block{in int a})
 0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize})

+ 0 - 29
3rdparty/glslang/Test/baseResults/400.tesc.out

@@ -364,35 +364,6 @@ ERROR: node is still EOpNull!
 0:56        Barrier (global void)
 0:59      Branch: Return
 0:61      Barrier (global void)
-0:67  Function Definition: foo( (global void)
-0:67    Function Parameters: 
-0:69    Sequence
-0:69      gl_PointSize: direct index for structure (out float PointSize)
-0:69        direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
-0:69          'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
-0:69          Constant:
-0:69            4 (const int)
-0:69        Constant:
-0:69          1 (const int)
-0:71      Barrier (global void)
-0:91  Function Definition: foop( (global void)
-0:91    Function Parameters: 
-0:?     Sequence
-0:95      multiply second child into first child (temp 3-component vector of float)
-0:95        'pv3' (noContraction temp 3-component vector of float)
-0:95        'pv3' (noContraction temp 3-component vector of float)
-0:96      move second child to first child (temp 3-component vector of float)
-0:96        'pv3' (noContraction temp 3-component vector of float)
-0:96        fma (global 3-component vector of float)
-0:96          'pv3' (noContraction temp 3-component vector of float)
-0:96          'pv3' (noContraction temp 3-component vector of float)
-0:96          'pv3' (noContraction temp 3-component vector of float)
-0:97      move second child to first child (temp double)
-0:97        'd' (noContraction temp double)
-0:97        fma (global double)
-0:97          'd' (noContraction temp double)
-0:97          'd' (noContraction temp double)
-0:97          'd' (noContraction temp double)
 0:?   Linker Objects
 0:?     'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
 0:?     'outa' (global 4-element array of int)

+ 0 - 18
3rdparty/glslang/Test/baseResults/400.vert.out

@@ -340,11 +340,6 @@ ERROR: node is still EOpNull!
 0:20      '' (in uint)
 0:20      '' (in float)
 0:20      '' (in double)
-0:21  Function Definition: ftd(f1;d1;d1; (global void)
-0:21    Function Parameters: 
-0:21      '' (in float)
-0:21      '' (in double)
-0:21      '' (in double)
 0:23  Function Definition: main( (global void)
 0:23    Function Parameters: 
 0:?     Sequence
@@ -552,19 +547,6 @@ ERROR: node is still EOpNull!
 0:91        'f' (temp float)
 0:91        Convert float to double (temp double)
 0:91          'f' (temp float)
-0:97  Function Definition: tf( (global void)
-0:97    Function Parameters: 
-0:?     Sequence
-0:104      Function Call: itf(i1;f1;i1; (global void)
-0:104        'i' (temp int)
-0:104        Convert int to float (temp float)
-0:104          'i' (temp int)
-0:104        'i' (temp int)
-0:105      Function Call: itf(i1;f1;i1; (global void)
-0:105        'i' (temp int)
-0:105        Convert uint to float (temp float)
-0:105          'u' (temp uint)
-0:105        'i' (temp int)
 0:?   Linker Objects
 0:?     'd' (in double)
 0:?     'd3' (in 3-component vector of double)

+ 0 - 29
3rdparty/glslang/Test/baseResults/410.geom.out

@@ -77,35 +77,6 @@ ERROR: node is still EOpNull!
 0:5        'gl_ViewportIndex' (layout(stream=0 ) out int ViewportIndex)
 0:5        Constant:
 0:5          7 (const int)
-0:28  Function Definition: foo( (global void)
-0:28    Function Parameters: 
-0:30    Sequence
-0:30      Sequence
-0:30        move second child to first child (temp float)
-0:30          'p' (temp float)
-0:30          gl_PointSize: direct index for structure (in float PointSize)
-0:30            direct index (temp block{in float PointSize gl_PointSize})
-0:30              'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
-0:30              Constant:
-0:30                1 (const int)
-0:30            Constant:
-0:30              0 (const int)
-0:31      move second child to first child (temp float)
-0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float PointSize)
-0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-0:31          Constant:
-0:31            1 (const uint)
-0:31        'p' (temp float)
-0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void Position)
-0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })
-0:33        Constant:
-0:33          0 (const uint)
-0:36  Function Definition: foo5( (global float)
-0:36    Function Parameters: 
-0:38    Sequence
-0:38      Branch: Return with expression
-0:38        Constant:
-0:38          4.000000
 0:?   Linker Objects
 0:?     'gl_in' (in 2-element array of block{in float PointSize gl_PointSize})
 0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, })

+ 0 - 105
3rdparty/glslang/Test/baseResults/420.geom.out

@@ -142,111 +142,6 @@ max_vertices = -1
 input primitive = triangles
 output primitive = none
 ERROR: node is still EOpNull!
-0:7  Function Definition: foo( (global void)
-0:7    Function Parameters: 
-0:9    Sequence
-0:9      Constant:
-0:9        1 (const int)
-0:10      gl_Position: direct index for structure (in 4-component vector of float Position)
-0:10        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:10          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:10          Constant:
-0:10            1 (const int)
-0:10        Constant:
-0:10          0 (const int)
-0:11      gl_Position: direct index for structure (in 4-component vector of float Position)
-0:11        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:11          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:11          'i' (global int)
-0:11        Constant:
-0:11          0 (const int)
-0:18  Function Definition: foo3( (global void)
-0:18    Function Parameters: 
-0:20    Sequence
-0:20      Constant:
-0:20        3 (const int)
-0:21      gl_Position: direct index for structure (in 4-component vector of float Position)
-0:21        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:21          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:21          'i' (global int)
-0:21        Constant:
-0:21          0 (const int)
-0:22      Constant:
-0:22        3 (const int)
-0:29  Function Definition: foo4( (global void)
-0:29    Function Parameters: 
-0:?     Sequence
-0:40      Sequence
-0:40        move second child to first child (temp 4-component vector of float)
-0:40          'v' (temp 4-component vector of float)
-0:40          textureGatherOffset (global 4-component vector of float)
-0:40            's2D' (uniform sampler2D)
-0:40            direct index (temp 2-component vector of float)
-0:40              'coord' (in 3-element array of 2-component vector of float)
-0:40              Constant:
-0:40                0 (const int)
-0:40            vector swizzle (temp 2-component vector of int)
-0:40              indirect index (temp 2-component vector of int)
-0:40                Constant:
-0:40                  0 (const int)
-0:40                  1 (const int)
-0:40                  1 (const int)
-0:40                  -2 (const int)
-0:40                  0 (const int)
-0:40                  3 (const int)
-0:40                  -3 (const int)
-0:40                  0 (const int)
-0:40                  2 (const int)
-0:40                  1 (const int)
-0:40                'i' (global int)
-0:40              Sequence
-0:40                Constant:
-0:40                  0 (const int)
-0:40                Constant:
-0:40                  1 (const int)
-0:42      move second child to first child (temp 2-component vector of int)
-0:42        vector swizzle (temp 2-component vector of int)
-0:42          indirect index (temp 2-component vector of int)
-0:42            Constant:
-0:42              0 (const int)
-0:42              1 (const int)
-0:42              1 (const int)
-0:42              -2 (const int)
-0:42              0 (const int)
-0:42              3 (const int)
-0:42              -3 (const int)
-0:42              0 (const int)
-0:42              2 (const int)
-0:42              1 (const int)
-0:42            'i' (global int)
-0:42          Sequence
-0:42            Constant:
-0:42              0 (const int)
-0:42            Constant:
-0:42              1 (const int)
-0:42        Constant:
-0:42          3 (const int)
-0:42          3 (const int)
-0:43      move second child to first child (temp float)
-0:43        direct index (temp float)
-0:43          'v4' (uniform 4-component vector of float)
-0:43          Constant:
-0:43            0 (const int)
-0:43        Constant:
-0:43          3.200000
-0:44      vector swizzle (temp 2-component vector of float)
-0:44        'v4' (uniform 4-component vector of float)
-0:44        Sequence
-0:44          Constant:
-0:44            0 (const int)
-0:44          Constant:
-0:44            1 (const int)
-0:52  Function Definition: foo5( (global float)
-0:52    Function Parameters: 
-0:54    Sequence
-0:54      Branch: Return with expression
-0:54        Convert int to float (temp float)
-0:54          'i' (global int)
 0:?   Linker Objects
 0:?     'i' (global int)
 0:?     'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})

+ 0 - 35
3rdparty/glslang/Test/baseResults/420.tesc.out

@@ -184,41 +184,6 @@ ERROR: node is still EOpNull!
 0:26      indirect index (temp block{out 4-component vector of float Position gl_Position})
 0:26        'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
 0:26        'gl_InvocationID' (in int InvocationID)
-0:34  Function Definition: foo( (global void)
-0:34    Function Parameters: 
-0:36    Sequence
-0:36      Test condition and select (temp void)
-0:36        Condition
-0:36        logical-or (temp bool)
-0:36          Compare Not Equal (temp bool)
-0:36            Constant:
-0:36              -0.625000
-0:36              -0.500000
-0:36              -0.375000
-0:36              -0.250000
-0:36              -0.375000
-0:36              -0.250000
-0:36              -0.125000
-0:36              0.000000
-0:36            direct index (layout(location=0 ) temp 2X4 matrix of double)
-0:36              'vs_tcs_first' (layout(location=0 ) in 32-element array of 2X4 matrix of double)
-0:36              Constant:
-0:36                0 (const int)
-0:37          Compare Not Equal (temp bool)
-0:37            Constant:
-0:37              0.375000
-0:37              0.500000
-0:37              0.625000
-0:37              0.750000
-0:37              0.625000
-0:37              0.750000
-0:37              0.875000
-0:37              -0.625000
-0:37            direct index (layout(location=12 ) temp 2X4 matrix of double)
-0:37              'vs_tcs_last' (layout(location=12 ) in 32-element array of 2X4 matrix of double)
-0:37              Constant:
-0:37                0 (const int)
-0:36        true case is null
 0:?   Linker Objects
 0:?     'gl_out' (out 3-element array of block{out 4-component vector of float Position gl_Position})
 0:?     'a' (out 3-element array of int)

+ 0 - 171
3rdparty/glslang/Test/baseResults/420.vert.out

@@ -310,19 +310,6 @@ Linked vertex stage:
 
 Shader version: 420
 ERROR: node is still EOpNull!
-0:20  Function Definition: foo( (const int)
-0:20    Function Parameters: 
-0:?     Sequence
-0:23      Sequence
-0:23        move second child to first child (temp int)
-0:23          'b' (const (read only) int)
-0:23          'anonconst' (global int)
-0:25      Sequence
-0:25        move second child to first child (temp int)
-0:25          'd' (const (read only) int)
-0:25          'b' (const (read only) int)
-0:29      Branch: Return with expression
-0:29        'b' (const (read only) int)
 0:32  Function Definition: main( (global void)
 0:32    Function Parameters: 
 0:?     Sequence
@@ -342,164 +329,6 @@ ERROR: node is still EOpNull!
 0:42        Constant:
 0:42          true (const bool)
 0:42        No loop body
-0:50  Function Definition: bar(vf4; (global void)
-0:50    Function Parameters: 
-0:50      'v' (volatile in 4-component vector of float)
-0:?     Sequence
-0:53      's' (temp int)
-0:54      's' (temp int)
-0:55      Test condition and select (temp void)
-0:55        Condition
-0:55        Compare Equal (temp bool)
-0:55          direct index (temp float)
-0:55            direct index (temp 4-component vector of float)
-0:55              'bad' (in 10-element array of 4-component vector of float)
-0:55              Constant:
-0:55                0 (const int)
-0:55            Constant:
-0:55              0 (const int)
-0:55          Constant:
-0:55            4.200000
-0:55        true case is null
-0:57      Test condition and select (temp void)
-0:57        Condition
-0:57        Constant:
-0:57          true (const bool)
-0:57        true case
-0:58        move second child to first child (temp 4-component vector of float)
-0:58          'badorder3' (flat out 4-component vector of float)
-0:58          direct index (temp 4-component vector of float)
-0:58            'bad' (in 10-element array of 4-component vector of float)
-0:58            Constant:
-0:58              0 (const int)
-0:61      Sequence
-0:61        move second child to first child (temp 3-component vector of float)
-0:61          'smeared' (temp 3-component vector of float)
-0:61          Construct vec3 (temp 3-component vector of float)
-0:61            'f' (temp float)
-0:62      'f' (temp float)
-0:63      'f' (temp float)
-0:88  Function Definition: bar23444( (global void)
-0:88    Function Parameters: 
-0:?     Sequence
-0:91      Sequence
-0:91        move second child to first child (temp float)
-0:91          'a1' (temp float)
-0:91          direct index (temp float)
-0:91            direct index (temp 3-component vector of float)
-0:91              'm43' (temp 4X3 matrix of float)
-0:91              Constant:
-0:91                3 (const int)
-0:91            Constant:
-0:91              1 (const int)
-0:93      Sequence
-0:93        move second child to first child (temp int)
-0:93          'a2' (temp int)
-0:93          Constant:
-0:93            4 (const int)
-0:94      add second child into first child (temp int)
-0:94        'a2' (temp int)
-0:94        Constant:
-0:94          3 (const int)
-0:95      add second child into first child (temp int)
-0:95        'a2' (temp int)
-0:95        Constant:
-0:95          3 (const int)
-0:96      Sequence
-0:96        move second child to first child (temp float)
-0:96          'b' (const (read only) float)
-0:96          component-wise multiply (temp float)
-0:96            Constant:
-0:96              2.000000
-0:96            'a1' (temp float)
-0:97      Sequence
-0:97        move second child to first child (temp int)
-0:97          'a' (temp int)
-0:97          Constant:
-0:97            -1 (const int)
-0:109  Function Definition: qux( (global void)
-0:109    Function Parameters: 
-0:111    Sequence
-0:111      Sequence
-0:111        move second child to first child (temp int)
-0:111          'i' (temp int)
-0:111          aoeu: direct index for structure (layout(column_major shared ) uniform int)
-0:111            'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
-0:111            Constant:
-0:111              0 (const uint)
-0:112      imageAtomicCompSwap (global int)
-0:112        'iimg2D' (layout(r32i ) uniform iimage2D)
-0:112        Construct ivec2 (temp 2-component vector of int)
-0:112          'i' (temp int)
-0:112          'i' (temp int)
-0:112        'i' (temp int)
-0:112        'i' (temp int)
-0:113      imageAtomicAdd (global uint)
-0:113        'uimg2D' (layout(r32ui ) uniform uimage2D)
-0:113        Construct ivec2 (temp 2-component vector of int)
-0:113          'i' (temp int)
-0:113          'i' (temp int)
-0:113        Convert int to uint (temp uint)
-0:113          'i' (temp int)
-0:114      imageAtomicMin (global int)
-0:114        'iimg2Drgba' (layout(rgba32i ) uniform iimage2D)
-0:114        Construct ivec2 (temp 2-component vector of int)
-0:114          'i' (temp int)
-0:114          'i' (temp int)
-0:114        'i' (temp int)
-0:115      Constant:
-0:115        0.000000
-0:116      Sequence
-0:116        move second child to first child (temp 4-component vector of int)
-0:116          'pos' (temp 4-component vector of int)
-0:116          imageLoad (global 4-component vector of int)
-0:116            'iimg2D' (layout(r32i ) uniform iimage2D)
-0:116            Construct ivec2 (temp 2-component vector of int)
-0:116              'i' (temp int)
-0:116              'i' (temp int)
-0:117      Sequence
-0:117        move second child to first child (temp 4-component vector of float)
-0:117          'col' (temp 4-component vector of float)
-0:117          imageLoad (global 4-component vector of float)
-0:117            'img2DMS' (uniform image2DMS)
-0:117            Construct ivec2 (temp 2-component vector of int)
-0:117              'i' (temp int)
-0:117              'i' (temp int)
-0:117            'i' (temp int)
-0:118      imageStore (global void)
-0:118        'img2DMSWO' (writeonly uniform image2DMS)
-0:118        Construct ivec2 (temp 2-component vector of int)
-0:118          'i' (temp int)
-0:118          'i' (temp int)
-0:118        'i' (temp int)
-0:118        Constant:
-0:118          0.000000
-0:118          0.000000
-0:118          0.000000
-0:118          0.000000
-0:119      imageLoad (global 4-component vector of float)
-0:119        'img2DMSWO' (writeonly uniform image2DMS)
-0:119        Construct ivec2 (temp 2-component vector of int)
-0:119          'i' (temp int)
-0:119          'i' (temp int)
-0:119        'i' (temp int)
-0:125  Function Definition: passr(iI21; (global void)
-0:125    Function Parameters: 
-0:125      'image' (coherent readonly in iimage2D)
-0:132  Function Definition: passrc( (global void)
-0:132    Function Parameters: 
-0:134    Sequence
-0:134      Function Call: passr(iI21; (global void)
-0:134        'qualim1' (layout(r32i ) coherent readonly uniform iimage2D)
-0:135      Function Call: passr(iI21; (global void)
-0:135        'qualim2' (layout(r32i ) coherent volatile readonly uniform iimage2D)
-0:136      Function Call: passr(iI21; (global void)
-0:136        'iimg2D' (layout(r32i ) uniform iimage2D)
-0:153  Function Definition: qlod( (global void)
-0:153    Function Parameters: 
-0:?     Sequence
-0:157      'levels' (temp int)
-0:158      'levels' (temp int)
 0:?   Linker Objects
 0:?     'v2' (smooth out 2-component vector of float)
 0:?     'bad' (in 10-element array of 4-component vector of float)

+ 0 - 20
3rdparty/glslang/Test/baseResults/420_size_gl_in.geom.out

@@ -49,26 +49,6 @@ max_vertices = -1
 input primitive = triangles
 output primitive = none
 ERROR: node is still EOpNull!
-0:11  Function Definition: foo( (global void)
-0:11    Function Parameters: 
-0:13    Sequence
-0:13      Constant:
-0:13        3 (const int)
-0:14      gl_Position: direct index for structure (in 4-component vector of float Position)
-0:14        direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:14          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:14          Constant:
-0:14            1 (const int)
-0:14        Constant:
-0:14          0 (const int)
-0:15      Constant:
-0:15        3 (const int)
-0:16      gl_Position: direct index for structure (in 4-component vector of float Position)
-0:16        indirect index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:16          'gl_in' (in 3-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance})
-0:16          'i' (global int)
-0:16        Constant:
-0:16          0 (const int)
 0:?   Linker Objects
 0:?     'i' (global int)
 0:?     'colorun' (in 3-element array of 4-component vector of float)

+ 0 - 71
3rdparty/glslang/Test/baseResults/430.comp.out

@@ -184,77 +184,6 @@ ERROR: node is still EOpNull!
 0:39            10 (const int)
 0:39        true case
 0:40        Barrier (global void)
-0:63  Function Definition: foo( (global void)
-0:63    Function Parameters: 
-0:65    Sequence
-0:65      move second child to first child (temp float)
-0:65        direct index (layout(column_major shared ) temp float)
-0:65          values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:65            'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:65            Constant:
-0:65              1 (const int)
-0:65          Constant:
-0:65            2 (const int)
-0:65        Constant:
-0:65          4.700000
-0:66      array length (temp int)
-0:66        values: direct index for structure (layout(column_major shared ) buffer implicitly-sized array of float)
-0:66          'ro' (layout(column_major shared ) readonly buffer block{layout(column_major shared ) buffer int value, layout(column_major shared ) buffer implicitly-sized array of float values})
-0:66          Constant:
-0:66            1 (const int)
-0:67      Barrier (global void)
-0:72  Function Definition: fooaoeu( (global void)
-0:72    Function Parameters: 
-0:73    Sequence
-0:73      Sequence
-0:73        move second child to first child (temp 2-component vector of int)
-0:73          'storePos' (temp 2-component vector of int)
-0:73          Convert uint to int (temp 2-component vector of int)
-0:73            vector swizzle (temp 2-component vector of uint)
-0:73              'gl_GlobalInvocationID' (in 3-component vector of uint GlobalInvocationID)
-0:73              Sequence
-0:73                Constant:
-0:73                  0 (const int)
-0:73                Constant:
-0:73                  1 (const int)
-0:74      Sequence
-0:74        move second child to first child (temp double)
-0:74          'localCoef' (temp double)
-0:74          Convert float to double (temp double)
-0:74            length (global float)
-0:74              divide (temp 2-component vector of float)
-0:74                Convert int to float (temp 2-component vector of float)
-0:74                  subtract (temp 2-component vector of int)
-0:74                    Convert uint to int (temp 2-component vector of int)
-0:74                      vector swizzle (temp 2-component vector of uint)
-0:74                        'gl_LocalInvocationID' (in 3-component vector of uint LocalInvocationID)
-0:74                        Sequence
-0:74                          Constant:
-0:74                            0 (const int)
-0:74                          Constant:
-0:74                            1 (const int)
-0:74                    Constant:
-0:74                      8 (const int)
-0:74                Constant:
-0:74                  8.000000
-0:75      Sequence
-0:75        move second child to first child (temp 4-component vector of double)
-0:75          'aa' (temp 4-component vector of double)
-0:75          Constant:
-0:75            0.400000
-0:75            0.200000
-0:75            0.300000
-0:75            0.400000
-0:76      Sequence
-0:76        move second child to first child (temp double)
-0:76          'globalCoef' (temp double)
-0:76          Constant:
-0:76            1.000000
-0:78      Sequence
-0:78        move second child to first child (temp double)
-0:78          'di' (temp double)
-0:78          Convert int to double (temp double)
-0:78            'i' (temp int)
 0:?   Linker Objects
 0:?     'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
 0:?       2 (const uint)

+ 0 - 129
3rdparty/glslang/Test/baseResults/430.vert.out

@@ -275,135 +275,6 @@ Requested GL_ARB_enhanced_layouts
 Requested GL_ARB_shader_texture_image_samples
 in xfb mode
 ERROR: node is still EOpNull!
-0:14  Function Definition: foo( (global void)
-0:14    Function Parameters: 
-0:16    Sequence
-0:16      move second child to first child (temp float)
-0:16        direct index (temp float ClipDistance)
-0:16          gl_ClipDistance: direct index for structure (out 17-element array of float ClipDistance)
-0:16            'anon@0' (out block{out 17-element array of float ClipDistance gl_ClipDistance, })
-0:16            Constant:
-0:16              2 (const uint)
-0:16          Constant:
-0:16            2 (const int)
-0:16        Constant:
-0:16          3.700000
-0:31  Function Definition: foo3(vf4;vf3;vf2;vf3; (global void)
-0:31    Function Parameters: 
-0:31      'v4' (in 4-component vector of float)
-0:31      'v3' (volatile in 3-component vector of float)
-0:31      'v2' (in 2-component vector of float)
-0:31      'cv3' (in 3-component vector of float)
-0:148  Function Definition: fooBarrier( (global void)
-0:148    Function Parameters: 
-0:150    Sequence
-0:150      Constant:
-0:150        0.000000
-0:151      MemoryBarrier (global void)
-0:152      MemoryBarrierAtomicCounter (global void)
-0:153      MemoryBarrierBuffer (global void)
-0:154      Constant:
-0:154        0.000000
-0:155      MemoryBarrierImage (global void)
-0:156      Constant:
-0:156        0.000000
-0:166  Function Definition: fooq( (global void)
-0:166    Function Parameters: 
-0:168    Sequence
-0:168      Sequence
-0:168        move second child to first child (temp int)
-0:168          's' (temp int)
-0:168          textureSamples (global int)
-0:168            's2dms' (uniform sampler2DMS)
-0:169      add second child into first child (temp int)
-0:169        's' (temp int)
-0:169        textureSamples (global int)
-0:169          'us2dmsa' (uniform usampler2DMSArray)
-0:170      add second child into first child (temp int)
-0:170        's' (temp int)
-0:170        imageQuerySamples (global int)
-0:170          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:171      add second child into first child (temp int)
-0:171        's' (temp int)
-0:171        imageQuerySamples (global int)
-0:171          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:176  Function Definition: fooq2( (global void)
-0:176    Function Parameters: 
-0:178    Sequence
-0:178      Sequence
-0:178        move second child to first child (temp int)
-0:178          's' (temp int)
-0:178          textureSamples (global int)
-0:178            's2dms' (uniform sampler2DMS)
-0:179      add second child into first child (temp int)
-0:179        's' (temp int)
-0:179        textureSamples (global int)
-0:179          'us2dmsa' (uniform usampler2DMSArray)
-0:180      add second child into first child (temp int)
-0:180        's' (temp int)
-0:180        imageQuerySamples (global int)
-0:180          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:181      add second child into first child (temp int)
-0:181        's' (temp int)
-0:181        imageQuerySamples (global int)
-0:181          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:202  Function Definition: qlod( (global void)
-0:202    Function Parameters: 
-0:?     Sequence
-0:206      move second child to first child (temp int)
-0:206        'levels' (temp int)
-0:206        textureQueryLevels (global int)
-0:206          'samp1D' (uniform sampler1D)
-0:207      move second child to first child (temp int)
-0:207        'levels' (temp int)
-0:207        textureQueryLevels (global int)
-0:207          'usamp2D' (uniform usampler2D)
-0:208      move second child to first child (temp int)
-0:208        'levels' (temp int)
-0:208        textureQueryLevels (global int)
-0:208          'isamp3D' (uniform isampler3D)
-0:209      move second child to first child (temp int)
-0:209        'levels' (temp int)
-0:209        textureQueryLevels (global int)
-0:209          'isampCube' (uniform isamplerCube)
-0:210      move second child to first child (temp int)
-0:210        'levels' (temp int)
-0:210        textureQueryLevels (global int)
-0:210          'isamp1DA' (uniform isampler1DArray)
-0:211      move second child to first child (temp int)
-0:211        'levels' (temp int)
-0:211        textureQueryLevels (global int)
-0:211          'samp2DA' (uniform sampler2DArray)
-0:212      move second child to first child (temp int)
-0:212        'levels' (temp int)
-0:212        textureQueryLevels (global int)
-0:212          'usampCubeA' (uniform usamplerCubeArray)
-0:214      move second child to first child (temp int)
-0:214        'levels' (temp int)
-0:214        textureQueryLevels (global int)
-0:214          'samp1Ds' (uniform sampler1DShadow)
-0:215      move second child to first child (temp int)
-0:215        'levels' (temp int)
-0:215        textureQueryLevels (global int)
-0:215          'samp2Ds' (uniform sampler2DShadow)
-0:216      move second child to first child (temp int)
-0:216        'levels' (temp int)
-0:216        textureQueryLevels (global int)
-0:216          'sampCubes' (uniform samplerCubeShadow)
-0:217      move second child to first child (temp int)
-0:217        'levels' (temp int)
-0:217        textureQueryLevels (global int)
-0:217          'samp1DAs' (uniform sampler1DArrayShadow)
-0:218      move second child to first child (temp int)
-0:218        'levels' (temp int)
-0:218        textureQueryLevels (global int)
-0:218          'samp2DAs' (uniform sampler2DArrayShadow)
-0:219      move second child to first child (temp int)
-0:219        'levels' (temp int)
-0:219        textureQueryLevels (global int)
-0:219          'sampCubeAs' (uniform samplerCubeArrayShadow)
-0:221      'levels' (temp int)
-0:222      'levels' (temp int)
 0:?   Linker Objects
 0:?     'v4' (layout(location=3 ) temp 4-component vector of float)
 0:?     'uv4' (layout(location=4 ) uniform 4-component vector of float)

+ 1 - 29
3rdparty/glslang/Test/baseResults/430AofA.frag.out

@@ -2,7 +2,7 @@
 Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.
 ERROR: 0:6: '[]' : only outermost dimension of an array of arrays can be implicitly sized 
 ERROR: 0:14: 'constructor' : constructing non-array constituent from array argument 
-ERROR: 0:15: 'constructior' : array constructor argument not correct type to construct array element 
+ERROR: 0:15: 'constructor' : array constructor argument not correct type to construct array element 
 ERROR: 0:28: '[' :  array index out of range '4'
 ERROR: 0:56: 'constructor' :  cannot convert parameter 2 from 'const 3-element array of 4-component vector of float' to 'temp 2-element array of 4-component vector of float'
 ERROR: 0:60: 'constructor' :  cannot convert parameter 2 from 'const 2-element array of 4-component vector of float' to 'temp 3-element array of 4-component vector of float'
@@ -766,34 +766,6 @@ ERROR: node is still EOpNull!
 0:84          5.000000
 0:85      Function Call: foo(f1[5][7]; (global 4-element array of 7-element array of float)
 0:85        'u' (temp 5-element array of 7-element array of float)
-0:88  Function Definition: foo3( (global void)
-0:88    Function Parameters: 
-0:?     Sequence
-0:91      Constant:
-0:91        1 (const int)
-0:92      move second child to first child (temp float)
-0:92        direct index (temp float)
-0:92          direct index (temp 7-element array of float)
-0:92            direct index (temp 5-element array of 7-element array of float)
-0:92              'resize1' (temp 3-element array of 5-element array of 7-element array of float)
-0:92              Constant:
-0:92                1 (const int)
-0:92            Constant:
-0:92              4 (const int)
-0:92          Constant:
-0:92            5 (const int)
-0:92        Constant:
-0:92          2.000000
-0:93      Constant:
-0:93        1 (const int)
-0:95      Constant:
-0:95        3 (const int)
-0:96      Constant:
-0:96        5 (const int)
-0:97      Constant:
-0:97        7 (const int)
-0:98      Constant:
-0:98        0.000000
 0:?   Linker Objects
 0:?     'many' (global 1-element array of 2-element array of 3-element array of 4-element array of 5-element array of 6-element array of float)
 0:?     'gu' (global 1-element array of 7-element array of float)

+ 2 - 14
3rdparty/glslang/Test/baseResults/430scope.vert.out

@@ -127,6 +127,8 @@ ERROR: node is still EOpNull!
 
 Linked vertex stage:
 
+ERROR: Linking vertex stage: No function definition (body) found: 
+    g(
 
 Shader version: 430
 ERROR: node is still EOpNull!
@@ -147,20 +149,6 @@ ERROR: node is still EOpNull!
 0:8                1.000000
 0:11      Branch: Return with expression
 0:11        'a' (in int)
-0:25  Function Definition: cos(f1; (global float)
-0:25    Function Parameters: 
-0:25      'x' (in float)
-0:27    Sequence
-0:27      Branch: Return with expression
-0:27        Constant:
-0:27          1.000000
-0:29  Function Definition: radians(b1; (global bool)
-0:29    Function Parameters: 
-0:29      'x' (in bool)
-0:31    Sequence
-0:31      Branch: Return with expression
-0:31        Constant:
-0:31          true (const bool)
 0:36  Function Definition: main( (global void)
 0:36    Function Parameters: 
 0:?     Sequence

+ 0 - 29
3rdparty/glslang/Test/baseResults/440.frag.out

@@ -126,35 +126,6 @@ ERROR: Linking fragment stage: Missing entry point: Each stage requires one entr
 
 Shader version: 440
 ERROR: node is still EOpNull!
-0:144  Function Definition: interp( (global void)
-0:144    Function Parameters: 
-0:146    Sequence
-0:146      interpolateAtCentroid (global 2-component vector of float)
-0:146        vector swizzle (temp 2-component vector of float)
-0:146          direct index (smooth sample temp 3-component vector of float)
-0:146            'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:146            Constant:
-0:146              2 (const int)
-0:146          Sequence
-0:146            Constant:
-0:146              0 (const int)
-0:146            Constant:
-0:146              1 (const int)
-0:147      interpolateAtSample (global float)
-0:147        direct index (temp float)
-0:147          direct index (smooth sample temp 3-component vector of float)
-0:147            'sampInArray' (smooth sample in 4-element array of 3-component vector of float)
-0:147            Constant:
-0:147              2 (const int)
-0:147          Constant:
-0:147            0 (const int)
-0:147        Constant:
-0:147          2 (const int)
-0:150  Function Definition: layer( (global int)
-0:150    Function Parameters: 
-0:152    Sequence
-0:152      Branch: Return with expression
-0:152        'gl_Layer' (flat in int Layer)
 0:?   Linker Objects
 0:?     'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)
 0:?     'b' (layout(location=4 component=1 ) smooth in float)

+ 0 - 31
3rdparty/glslang/Test/baseResults/440.vert.out

@@ -174,37 +174,6 @@ Shader version: 440
 Requested GL_ARB_shader_draw_parameters
 in xfb mode
 ERROR: node is still EOpNull!
-0:177  Function Definition: drawParamsBad( (global int)
-0:177    Function Parameters: 
-0:179    Sequence
-0:179      Branch: Return with expression
-0:179        add (temp int)
-0:179          add (temp int)
-0:179            'gl_BaseVertexARB' (in int BaseVertex)
-0:179            'gl_BaseInstanceARB' (in int BaseInstance)
-0:179          'gl_DrawIDARB' (in int DrawId)
-0:184  Function Definition: drawParams( (global int)
-0:184    Function Parameters: 
-0:186    Sequence
-0:186      Branch: Return with expression
-0:186        add (temp int)
-0:186          add (temp int)
-0:186            'gl_BaseVertexARB' (in int BaseVertex)
-0:186            'gl_BaseInstanceARB' (in int BaseInstance)
-0:186          'gl_DrawIDARB' (in int DrawId)
-0:187      move second child to first child (temp int)
-0:187        'gl_BaseVertexARB' (in int BaseVertex)
-0:187        Constant:
-0:187          3 (const int)
-0:188      move second child to first child (temp int)
-0:188        'gl_BaseInstanceARB' (in int BaseInstance)
-0:188        Constant:
-0:188          3 (const int)
-0:189      move second child to first child (temp int)
-0:189        'gl_DrawIDARB' (in int DrawId)
-0:189        Constant:
-0:189          3 (const int)
-0:190      'glBaseInstanceARB' (temp float)
 0:?   Linker Objects
 0:?     'a' (layout(location=2 component=2 ) in 2-component vector of float)
 0:?     'b' (layout(location=2 component=1 ) in float)

+ 0 - 51
3rdparty/glslang/Test/baseResults/450.frag.out

@@ -263,57 +263,6 @@ Shader version: 450
 0:34                'uin' (temp uint)
 0:34            Construct bvec3 (temp 3-component vector of bool)
 0:34              'b' (temp bool)
-0:42  Function Definition: foo( (global void)
-0:42    Function Parameters: 
-0:44    Sequence
-0:44      Sequence
-0:44        move second child to first child (temp int)
-0:44          's' (temp int)
-0:44          textureSamples (global int)
-0:44            's2dms' (uniform sampler2DMS)
-0:45      add second child into first child (temp int)
-0:45        's' (temp int)
-0:45        textureSamples (global int)
-0:45          'us2dmsa' (uniform usampler2DMSArray)
-0:46      add second child into first child (temp int)
-0:46        's' (temp int)
-0:46        imageQuerySamples (global int)
-0:46          'ii2dms' (layout(rgba32i ) uniform iimage2DMS)
-0:47      add second child into first child (temp int)
-0:47        's' (temp int)
-0:47        imageQuerySamples (global int)
-0:47          'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:48      Sequence
-0:48        move second child to first child (temp float)
-0:48          'f' (temp float)
-0:48          imageAtomicExchange (global float)
-0:48            'i2dmsa' (layout(rgba32f ) uniform image2DMSArray)
-0:48            Convert float to int (temp 3-component vector of int)
-0:48              'in3' (smooth in 3-component vector of float)
-0:48            Constant:
-0:48              2 (const int)
-0:48            Constant:
-0:48              4.500000
-0:53  Function Definition: cull(i1; (global float)
-0:53    Function Parameters: 
-0:53      'i' (in int)
-0:55    Sequence
-0:55      Branch: Return with expression
-0:55        Test condition and select (temp float)
-0:55          Condition
-0:55          Compare Greater Than or Equal (temp bool)
-0:55            'i' (in int)
-0:55            Constant:
-0:55              6 (const int)
-0:55          true case
-0:55          direct index (smooth temp float CullDistance)
-0:55            'gl_CullDistance' (smooth in 6-element array of float CullDistance)
-0:55            Constant:
-0:55              5 (const int)
-0:55          false case
-0:55          indirect index (smooth temp float CullDistance)
-0:55            'gl_CullDistance' (smooth in 6-element array of float CullDistance)
-0:55            'i' (in int)
 0:?   Linker Objects
 0:?     'in1' (smooth in float)
 0:?     'in2' (smooth in 2-component vector of float)

+ 0 - 65
3rdparty/glslang/Test/baseResults/array.frag.out

@@ -446,71 +446,6 @@ ERROR: node is still EOpNull!
 0:58              1 (const int)
 0:58        Constant:
 0:58          4 (const int)
-0:68  Function Definition: foo( (global void)
-0:68    Function Parameters: 
-0:?     Sequence
-0:71      move second child to first child (temp int)
-0:71        direct index (temp int)
-0:71          'uns' (temp 4-element array of int)
-0:71          Constant:
-0:71            3 (const int)
-0:71        Constant:
-0:71          40 (const int)
-0:72      move second child to first child (temp int)
-0:72        direct index (temp int)
-0:72          'uns' (temp 4-element array of int)
-0:72          Constant:
-0:72            1 (const int)
-0:72        Constant:
-0:72          30 (const int)
-0:73      move second child to first child (temp 3-component vector of float)
-0:73        direct index (temp 3-component vector of float)
-0:73          'guns' (global 8-element array of 3-component vector of float)
-0:73          Constant:
-0:73            2 (const int)
-0:73        Constant:
-0:73          2.400000
-0:73          2.400000
-0:73          2.400000
-0:76      Constant:
-0:76        0.000000
-0:79  Function Definition: foo2( (global implicitly-sized array of float)
-0:79    Function Parameters: 
-0:?     Sequence
-0:82      Branch: Return with expression
-0:82        'f' (temp 1-element array of float)
-0:84      Branch: Return with expression
-0:84        'g' (temp 9-element array of float)
-0:89  Function Definition: foo3( (global void)
-0:89    Function Parameters: 
-0:?     Sequence
-0:92      move second child to first child (temp float)
-0:92        direct index (temp float)
-0:92          'resize1' (temp 3-element array of float)
-0:92          Constant:
-0:92            2 (const int)
-0:92        Constant:
-0:92          4.000000
-0:93      Constant:
-0:93        1 (const int)
-0:95      Constant:
-0:95        3 (const int)
-0:98      move second child to first child (temp float)
-0:98        direct index (temp float)
-0:98          'resize2' (temp 5-element array of float)
-0:98          Constant:
-0:98            5 (const int)
-0:98        Constant:
-0:98          4.000000
-0:100      Constant:
-0:100        5 (const int)
-0:101      move second child to first child (temp float)
-0:101        direct index (temp float)
-0:101          'resize2' (temp 5-element array of float)
-0:101          Constant:
-0:101            5 (const int)
-0:101        Constant:
-0:101          4.000000
 0:106  Sequence
 0:106    move second child to first child (temp float)
 0:106      'b' (global float)

+ 0 - 23
3rdparty/glslang/Test/baseResults/array100.frag.out

@@ -265,29 +265,6 @@ ERROR: node is still EOpNull!
 0:40          1.000000
 0:40          1.000000
 0:40          1.000000
-0:53  Function Definition: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:53    Function Parameters: 
-0:?     Sequence
-0:56      Branch: Return with expression
-0:56        's' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:59  Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
-0:59    Function Parameters: 
-0:59      's' (in structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:63  Function Definition: bar11( (global void)
-0:63    Function Parameters: 
-0:?     Sequence
-0:66      move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:66        's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:66        's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:67      Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (global void)
-0:67        's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68      move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68        's2' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:68        Function Call: bar9( (global structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69      Sequence
-0:69        move second child to first child (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69          'initSb' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
-0:69          's1' (temp structure{global mediump 4-component vector of float v4, global structure{global mediump 3-component vector of float v3, global 4-element array of mediump 2-component vector of float v2} sa})
 0:?   Linker Objects
 0:?     'gu' (global 1-element array of mediump float)
 0:?     'g4' (global 4-element array of mediump float)

+ 0 - 32
3rdparty/glslang/Test/baseResults/atomic_uint.frag.out

@@ -86,22 +86,6 @@ Linked fragment stage:
 
 Shader version: 420
 ERROR: node is still EOpNull!
-0:5  Function Definition: func(au1; (global uint)
-0:5    Function Parameters: 
-0:5      'c' (in atomic_uint)
-0:7    Sequence
-0:7      Branch: Return with expression
-0:7        AtomicCounterIncrement (global uint)
-0:7          'c' (in atomic_uint)
-0:10  Function Definition: func2(au1; (global uint)
-0:10    Function Parameters: 
-0:10      'c' (out atomic_uint)
-0:12    Sequence
-0:12      Branch: Return with expression
-0:12        'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:13      Branch: Return with expression
-0:13        AtomicCounter (global uint)
-0:13          'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
 0:16  Function Definition: main( (global void)
 0:16    Function Parameters: 
 0:?     Sequence
@@ -112,22 +96,6 @@ ERROR: node is still EOpNull!
 0:19            'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
 0:20      AtomicCounterDecrement (global uint)
 0:20        'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:26  Function Definition: opac( (global void)
-0:26    Function Parameters: 
-0:28    Sequence
-0:28      'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:29      'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:31      indirect index (temp int)
-0:31        'a' (temp 3-element array of int)
-0:31        'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
-0:32      direct index (layout(binding=1 offset=3 ) temp atomic_uint)
-0:32        'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:32        Constant:
-0:32          2 (const int)
-0:33      indirect index (layout(binding=1 offset=3 ) temp atomic_uint)
-0:33        'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)
-0:33        'i' (uniform int)
-0:34      'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
 0:?   Linker Objects
 0:?     'counter' (layout(binding=0 offset=0 ) uniform atomic_uint)
 0:?     'countArr' (layout(binding=1 offset=3 ) uniform 4-element array of atomic_uint)

+ 0 - 114
3rdparty/glslang/Test/baseResults/constFold.frag.out

@@ -546,120 +546,6 @@ ERROR: node is still EOpNull!
 0:69          0.028000
 0:69          0.500000
 0:69          1.000000
-0:78  Function Definition: foo( (global void)
-0:78    Function Parameters: 
-0:?     Sequence
-0:81      move second child to first child (temp float)
-0:81        direct index (temp float)
-0:81          'a' (temp 3-element array of float)
-0:81          Constant:
-0:81            0 (const int)
-0:81        Constant:
-0:81          7.000000
-0:82      Constant:
-0:82        2 (const int)
-0:83      Constant:
-0:83        2147483647 (const int)
-0:84      Constant:
-0:84        inf
-0:88      Constant:
-0:88        2 (const uint)
-0:88        3 (const uint)
-0:89      Constant:
-0:89        0 (const uint)
-0:90      Constant:
-0:90        6 (const uint)
-0:90        7 (const uint)
-0:103  Function Definition: foo2( (global void)
-0:103    Function Parameters: 
-0:105    Sequence
-0:105      direct index (temp float)
-0:105        'a1' (global 1-element array of float)
-0:105        Constant:
-0:105          0 (const int)
-0:106      direct index (temp float)
-0:106        'a2' (global 2-element array of float)
-0:106        Constant:
-0:106          0 (const int)
-0:107      direct index (temp float)
-0:107        'a3' (global 4-element array of float)
-0:107        Constant:
-0:107          0 (const int)
-0:108      direct index (temp float)
-0:108        'a4' (global 2-element array of float)
-0:108        Constant:
-0:108          0 (const int)
-0:109      Constant:
-0:109        1.000000
-0:110      Constant:
-0:110        5.000000
-0:111      Constant:
-0:111        2.000000
-0:112      Constant:
-0:112        3.000000
-0:113      Constant:
-0:113        0.000000
-0:114      Constant:
-0:114        0.000000
-0:116      move second child to first child (temp int)
-0:116        'p' (temp int)
-0:116        Constant:
-0:116          2147483647 (const int)
-0:117      move second child to first child (temp int)
-0:117        'p' (temp int)
-0:117        Constant:
-0:117          -2147483648 (const int)
-0:118      move second child to first child (temp int)
-0:118        'p' (temp int)
-0:118        Constant:
-0:118          -2147483647 (const int)
-0:119      Sequence
-0:119        move second child to first child (temp float)
-0:119          'f' (temp float)
-0:119          Constant:
-0:119            1.444000
-0:120      move second child to first child (temp float)
-0:120        'f' (temp float)
-0:120        direct index (temp float)
-0:120          Construct vec4 (temp 4-component vector of float)
-0:120            Test condition and select (temp float)
-0:120              Condition
-0:120              Compare Less Than (temp bool)
-0:120                direct index (temp float)
-0:120                  'inv' (smooth in 4-component vector of float)
-0:120                  Constant:
-0:120                    0 (const int)
-0:120                Constant:
-0:120                  2.400000
-0:120              true case
-0:120              Constant:
-0:120                -1.000000
-0:120              false case
-0:120              Constant:
-0:120                1.000000
-0:120          Constant:
-0:120            3 (const int)
-0:126  Function Definition: foo3( (global void)
-0:126    Function Parameters: 
-0:128    Sequence
-0:128      Sequence
-0:128        move second child to first child (temp 3X2 matrix of float)
-0:128          'r32' (temp 3X2 matrix of float)
-0:128          Constant:
-0:128            43.000000
-0:128            64.000000
-0:128            51.000000
-0:128            76.000000
-0:128            59.000000
-0:128            88.000000
-0:138  Function Definition: foo4( (global void)
-0:138    Function Parameters: 
-0:140    Sequence
-0:140      Sequence
-0:140        move second child to first child (temp int)
-0:140          'a' (temp int)
-0:140          Constant:
-0:140            9 (const int)
 0:?   Linker Objects
 0:?     'a' (const int)
 0:?       1 (const int)

+ 0 - 35
3rdparty/glslang/Test/baseResults/cppComplexExpr.vert.out

@@ -152,41 +152,6 @@ ERROR: node is still EOpNull!
 0:39        'gl_Position' (gl_Position highp 4-component vector of float Position)
 0:39        Construct vec4 (temp highp 4-component vector of float)
 0:39          'sum' (global highp float)
-0:44  Function Definition: foo( (global highp float)
-0:44    Function Parameters: 
-0:46    Sequence
-0:46      Branch: Return with expression
-0:46        add (temp highp float)
-0:46          add (temp highp float)
-0:46            direct index (temp highp float)
-0:46              'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:46              Constant:
-0:46                0 (const int)
-0:46            Constant:
-0:46              3.000000
-0:46          add (temp highp float)
-0:46            direct index (temp highp float)
-0:46              'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:46              Constant:
-0:46                0 (const int)
-0:46            Constant:
-0:46              3.000000
-0:47      Branch: Return with expression
-0:47        add (temp highp float)
-0:47          add (temp highp float)
-0:47            direct index (temp highp float)
-0:47              'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:47              Constant:
-0:47                1 (const int)
-0:47            Constant:
-0:47              3.000000
-0:47          add (temp highp float)
-0:47            direct index (temp highp float)
-0:47              'gl_Position' (gl_Position highp 4-component vector of float Position)
-0:47              Constant:
-0:47                1 (const int)
-0:47            Constant:
-0:47              3.000000
 0:97  Sequence
 0:97    move second child to first child (temp highp float)
 0:97      'c' (global highp float)

+ 0 - 11
3rdparty/glslang/Test/baseResults/cppNest.vert.out

@@ -135,17 +135,6 @@ ERROR: node is still EOpNull!
 0:133      'selected3' (global int)
 0:133      Constant:
 0:133        3 (const int)
-0:175  Function Definition: foo985( (global void)
-0:175    Function Parameters: 
-0:175    Sequence
-0:175      add (temp int)
-0:175        Constant:
-0:175          2 (const int)
-0:175        Comma (temp int)
-0:175          Constant:
-0:175            3 (const int)
-0:175          Constant:
-0:175            4 (const int)
 0:?   Linker Objects
 0:?     'sum' (global float)
 0:?     'selected4' (global int)

+ 0 - 13
3rdparty/glslang/Test/baseResults/cppSimple.vert.out

@@ -282,19 +282,6 @@ ERROR: node is still EOpNull!
 0:202      'f' (global double)
 0:202      Constant:
 0:202        0.000800
-12:20031  Function Definition: foo234( (global void)
-12:20031    Function Parameters: 
-12:20033    Sequence
-12:20033      move second child to first child (temp 4-component vector of float)
-12:20033        gl_Position: direct index for structure (gl_Position 4-component vector of float Position)
-12:20033          'anon@0' (out block{gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, out 4-component vector of float FrontColor gl_FrontColor, out 4-component vector of float BackColor gl_BackColor, out 4-component vector of float FrontSecondaryColor gl_FrontSecondaryColor, out 4-component vector of float BackSecondaryColor gl_BackSecondaryColor, out 1-element array of 4-component vector of float TexCoord gl_TexCoord, out float FogFragCoord gl_FogFragCoord})
-12:20033          Constant:
-12:20033            0 (const uint)
-12:20033        Constant:
-12:20033          6.000000
-12:20033          6.000000
-12:20033          6.000000
-12:20033          6.000000
 12:9011  Sequence
 12:9011    move second child to first child (temp int)
 12:9011      'R1' (global int)

+ 0 - 122
3rdparty/glslang/Test/baseResults/dce.frag.out

@@ -147,128 +147,6 @@ Shader version: 400
 0:5      'c' (global int)
 0:5      Constant:
 0:5        0 (const int)
-0:7  Function Definition: bar( (global void)
-0:7    Function Parameters: 
-0:9    Sequence
-0:9      Test condition and select (temp void)
-0:9        Condition
-0:9        Constant:
-0:9          false (const bool)
-0:9        true case
-0:10        Pre-Increment (temp int)
-0:10          'c' (global int)
-0:9        false case
-0:12        Pre-Increment (temp int)
-0:12          'c' (global int)
-0:14      Test condition and select (temp int)
-0:14        Condition
-0:14        Constant:
-0:14          false (const bool)
-0:14        true case
-0:14        Pre-Increment (temp int)
-0:14          'c' (global int)
-0:14        false case
-0:14        Pre-Increment (temp int)
-0:14          'c' (global int)
-0:16      switch
-0:16      condition
-0:16        'c' (global int)
-0:16      body
-0:16        Sequence
-0:17          case:  with expression
-0:17            Constant:
-0:17              1 (const int)
-0:?           Sequence
-0:18            Pre-Increment (temp int)
-0:18              'c' (global int)
-0:19            Branch: Break
-0:20            Pre-Increment (temp int)
-0:20              'c' (global int)
-0:21          case:  with expression
-0:21            Constant:
-0:21              2 (const int)
-0:?           Sequence
-0:22            Branch: Break
-0:23            Pre-Increment (temp int)
-0:23              'c' (global int)
-0:24          default: 
-0:?           Sequence
-0:25            Branch: Break
-0:28      Sequence
-0:28        Sequence
-0:28          move second child to first child (temp int)
-0:28            'i' (temp int)
-0:28            Constant:
-0:28              0 (const int)
-0:28        Loop with condition tested first
-0:28          Loop Condition
-0:28          Compare Less Than (temp bool)
-0:28            'i' (temp int)
-0:28            Constant:
-0:28              0 (const int)
-0:28          Loop Body
-0:29          Pre-Increment (temp int)
-0:29            'c' (global int)
-0:28          Loop Terminal Expression
-0:28          Pre-Increment (temp int)
-0:28            'i' (temp int)
-0:31      Sequence
-0:31        Sequence
-0:31          move second child to first child (temp int)
-0:31            'i' (temp int)
-0:31            Constant:
-0:31              0 (const int)
-0:31        Loop with condition tested first
-0:31          Loop Condition
-0:31          Compare Less Than (temp bool)
-0:31            'i' (temp int)
-0:31            Constant:
-0:31              10 (const int)
-0:31          Loop Body
-0:32          Sequence
-0:32            Test condition and select (temp void)
-0:32              Condition
-0:32              Compare Less Than (temp bool)
-0:32                'c' (global int)
-0:32                Constant:
-0:32                  3 (const int)
-0:32              true case
-0:33              Sequence
-0:33                Branch: Break
-0:34                Pre-Increment (temp int)
-0:34                  'c' (global int)
-0:32              false case
-0:36              Sequence
-0:36                Branch: Continue
-0:37                Pre-Increment (temp int)
-0:37                  'c' (global int)
-0:31          Loop Terminal Expression
-0:31          Pre-Increment (temp int)
-0:31            'i' (temp int)
-0:41      Branch: Return
-0:43      Pre-Increment (temp int)
-0:43        'c' (global int)
-0:46  Function Definition: foo( (global int)
-0:46    Function Parameters: 
-0:48    Sequence
-0:48      Test condition and select (temp void)
-0:48        Condition
-0:48        Compare Greater Than (temp bool)
-0:48          'c' (global int)
-0:48          Constant:
-0:48            4 (const int)
-0:48        true case
-0:49        Sequence
-0:49          Branch: Return with expression
-0:49            Constant:
-0:49              4 (const int)
-0:50          Pre-Increment (temp int)
-0:50            'c' (global int)
-0:53      Branch: Return with expression
-0:53        Constant:
-0:53          5 (const int)
-0:55      Pre-Increment (temp int)
-0:55        'c' (global int)
 0:?   Linker Objects
 0:?     'flag' (const bool)
 0:?       false (const bool)

+ 0 - 13
3rdparty/glslang/Test/baseResults/functionSemantics.frag.out

@@ -397,19 +397,6 @@ ERROR: node is still EOpNull!
 0:62        Construct vec4 (temp 4-component vector of float)
 0:62          Convert int to float (temp float)
 0:62            'color' (temp int)
-0:66  Function Definition: aggCall( (global void)
-0:66    Function Parameters: 
-0:?     Sequence
-0:69      Function Call: m(vf2; (global 3-component vector of float)
-0:69        Convert int to float (temp 2-component vector of float)
-0:69          Construct ivec2 (temp 2-component vector of int)
-0:69            Convert float to int (temp int)
-0:69              'F' (temp float)
-0:72  Function Definition: badConv( (global 4-component vector of float)
-0:72    Function Parameters: 
-0:74    Sequence
-0:74      Branch: Return with expression
-0:74        'u' (uniform float)
 0:?   Linker Objects
 0:?     'u' (uniform float)
 

+ 0 - 4
3rdparty/glslang/Test/baseResults/glspv.esversion.vert.out

@@ -4,8 +4,4 @@ Warning, version 310 is not yet complete; most version-specific features are pre
 ERROR: 1 compilation errors.  No code generated.
 
 
-
-Linked vertex stage:
-
-
 SPIR-V is not generated for failed compile or link

+ 0 - 4
3rdparty/glslang/Test/baseResults/glspv.frag.out

@@ -6,8 +6,4 @@ ERROR: 0:14: '' :  syntax error
 ERROR: 4 compilation errors.  No code generated.
 
 
-
-Linked fragment stage:
-
-
 SPIR-V is not generated for failed compile or link

+ 0 - 4
3rdparty/glslang/Test/baseResults/glspv.version.frag.out

@@ -1,10 +1,6 @@
 glspv.version.frag
 ERROR: #version: compilation for SPIR-V does not support the compatibility profile
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 6

+ 0 - 4
3rdparty/glslang/Test/baseResults/glspv.version.vert.out

@@ -3,8 +3,4 @@ ERROR: #version: Desktop shaders for OpenGL SPIR-V require version 330 or higher
 ERROR: 1 compilation errors.  No code generated.
 
 
-
-Linked vertex stage:
-
-
 SPIR-V is not generated for failed compile or link

+ 0 - 4
3rdparty/glslang/Test/baseResults/glspv.vert.out

@@ -11,8 +11,4 @@ ERROR: 0:20: '' :  syntax error
 ERROR: 8 compilation errors.  No code generated.
 
 
-
-Linked vertex stage:
-
-
 SPIR-V is not generated for failed compile or link

+ 68 - 66
3rdparty/glslang/Test/baseResults/hlsl.array.implicit-size.frag.out

@@ -41,38 +41,38 @@ gl_FragCoord origin is upper left
 0:28            1.000000
 0:28            2.000000
 0:28            3.000000
-0:30      move second child to first child (temp 4-component vector of float)
-0:30        color: direct index for structure (temp 4-component vector of float)
-0:30          'ps_output' (out structure{temp 4-component vector of float color})
-0:30          Constant:
-0:30            0 (const int)
-0:30        Construct vec4 (temp 4-component vector of float)
-0:30          add (temp float)
-0:30            add (temp float)
-0:30              add (temp float)
-0:30                add (temp float)
-0:30                  direct index (temp float)
-0:30                    'g_array' (global 5-element array of float)
-0:30                    Constant:
-0:30                      0 (const int)
-0:30                  direct index (temp float)
-0:30                    'g_array' (global 5-element array of float)
-0:30                    Constant:
-0:30                      4 (const int)
-0:30                direct index (temp float)
-0:30                  'l_array' (temp 3-element array of float)
-0:30                  Constant:
-0:30                    1 (const int)
-0:30              f: direct index for structure (temp float)
-0:30                direct index (temp structure{temp int i, temp float f})
-0:30                  'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
-0:30                  Constant:
-0:30                    0 (const int)
-0:30                Constant:
-0:30                  1 (const int)
-0:30            indirect index (temp float)
-0:30              'g_array' (global 5-element array of float)
-0:30              'idx' (temp void)
+0:31      move second child to first child (temp 4-component vector of float)
+0:31        color: direct index for structure (temp 4-component vector of float)
+0:31          'ps_output' (out structure{temp 4-component vector of float color})
+0:31          Constant:
+0:31            0 (const int)
+0:31        Construct vec4 (temp 4-component vector of float)
+0:31          add (temp float)
+0:31            add (temp float)
+0:31              add (temp float)
+0:31                add (temp float)
+0:31                  direct index (temp float)
+0:31                    'g_array' (global 5-element array of float)
+0:31                    Constant:
+0:31                      0 (const int)
+0:31                  direct index (temp float)
+0:31                    'g_array' (global 5-element array of float)
+0:31                    Constant:
+0:31                      4 (const int)
+0:31                direct index (temp float)
+0:31                  'l_array' (temp 3-element array of float)
+0:31                  Constant:
+0:31                    1 (const int)
+0:31              f: direct index for structure (temp float)
+0:31                direct index (temp structure{temp int i, temp float f})
+0:31                  'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
+0:31                  Constant:
+0:31                    0 (const int)
+0:31                Constant:
+0:31                  1 (const int)
+0:31            indirect index (temp float)
+0:31              'g_array' (global 5-element array of float)
+0:31              'idx' (temp int)
 0:?   Linker Objects
 0:?     'g_array' (global 5-element array of float)
 0:?     'g_array_unused' (global 7-element array of float)
@@ -81,6 +81,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -124,38 +125,38 @@ gl_FragCoord origin is upper left
 0:28            1.000000
 0:28            2.000000
 0:28            3.000000
-0:30      move second child to first child (temp 4-component vector of float)
-0:30        color: direct index for structure (temp 4-component vector of float)
-0:30          'ps_output' (out structure{temp 4-component vector of float color})
-0:30          Constant:
-0:30            0 (const int)
-0:30        Construct vec4 (temp 4-component vector of float)
-0:30          add (temp float)
-0:30            add (temp float)
-0:30              add (temp float)
-0:30                add (temp float)
-0:30                  direct index (temp float)
-0:30                    'g_array' (global 5-element array of float)
-0:30                    Constant:
-0:30                      0 (const int)
-0:30                  direct index (temp float)
-0:30                    'g_array' (global 5-element array of float)
-0:30                    Constant:
-0:30                      4 (const int)
-0:30                direct index (temp float)
-0:30                  'l_array' (temp 3-element array of float)
-0:30                  Constant:
-0:30                    1 (const int)
-0:30              f: direct index for structure (temp float)
-0:30                direct index (temp structure{temp int i, temp float f})
-0:30                  'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
-0:30                  Constant:
-0:30                    0 (const int)
-0:30                Constant:
-0:30                  1 (const int)
-0:30            indirect index (temp float)
-0:30              'g_array' (global 5-element array of float)
-0:30              'idx' (temp void)
+0:31      move second child to first child (temp 4-component vector of float)
+0:31        color: direct index for structure (temp 4-component vector of float)
+0:31          'ps_output' (out structure{temp 4-component vector of float color})
+0:31          Constant:
+0:31            0 (const int)
+0:31        Construct vec4 (temp 4-component vector of float)
+0:31          add (temp float)
+0:31            add (temp float)
+0:31              add (temp float)
+0:31                add (temp float)
+0:31                  direct index (temp float)
+0:31                    'g_array' (global 5-element array of float)
+0:31                    Constant:
+0:31                      0 (const int)
+0:31                  direct index (temp float)
+0:31                    'g_array' (global 5-element array of float)
+0:31                    Constant:
+0:31                      4 (const int)
+0:31                direct index (temp float)
+0:31                  'l_array' (temp 3-element array of float)
+0:31                  Constant:
+0:31                    1 (const int)
+0:31              f: direct index for structure (temp float)
+0:31                direct index (temp structure{temp int i, temp float f})
+0:31                  'g_mystruct' (global 2-element array of structure{temp int i, temp float f})
+0:31                  Constant:
+0:31                    0 (const int)
+0:31                Constant:
+0:31                  1 (const int)
+0:31            indirect index (temp float)
+0:31              'g_array' (global 5-element array of float)
+0:31              'idx' (temp int)
 0:?   Linker Objects
 0:?     'g_array' (global 5-element array of float)
 0:?     'g_array_unused' (global 7-element array of float)
@@ -227,13 +228,14 @@ gl_FragCoord origin is upper left
               49:             TypePointer Private 6(float)
               52:     32(int) Constant 4
               56:             TypePointer Function 6(float)
-              63:             TypePointer Function 2
+              63:             TypePointer Function 32(int)
               70:             TypePointer Function 7(fvec4)
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
                               Store 18(g_array) 24
                               Store 28(g_array_unused) 31
                               Store 37(g_mystruct) 42
+                              Return
                               FunctionEnd
 12(main(struct-PS_OUTPUT-vf41;):           2 Function None 10
    11(ps_output):      9(ptr) FunctionParameter
@@ -252,7 +254,7 @@ gl_FragCoord origin is upper left
               60:     49(ptr) AccessChain 37(g_mystruct) 48 38
               61:    6(float) Load 60
               62:    6(float) FAdd 59 61
-              65:           2 Load 64(idx)
+              65:     32(int) Load 64(idx)
               66:     49(ptr) AccessChain 18(g_array) 65
               67:    6(float) Load 66
               68:    6(float) FAdd 62 67

+ 25 - 0
3rdparty/glslang/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out

@@ -0,0 +1,25 @@
+hlsl.deadFunctionMissingBody.vert
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 13
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 9
+                              Name 4  "main"
+                              Name 9  "@entryPointOutput"
+                              Decorate 9(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Output 7(fvec4)
+9(@entryPointOutput):      8(ptr) Variable Output
+              10:    6(float) Constant 0
+              11:    7(fvec4) ConstantComposite 10 10 10 10
+         4(main):           2 Function None 3
+               5:             Label
+                              Store 9(@entryPointOutput) 11
+                              Return
+                              FunctionEnd

+ 119 - 0
3rdparty/glslang/Test/baseResults/hlsl.entry.rename.frag.out

@@ -0,0 +1,119 @@
+hlsl.entry.rename.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7  Function Definition: not_the_entry_point( (temp void)
+0:7    Function Parameters: 
+0:11  Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
+0:11    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child (temp 4-component vector of float)
+0:13        Color: direct index for structure (temp 4-component vector of float)
+0:13          'psout' (temp structure{temp 4-component vector of float Color})
+0:13          Constant:
+0:13            0 (const int)
+0:13        Constant:
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:14      Sequence
+0:14        Sequence
+0:14          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:14            Color: direct index for structure (temp 4-component vector of float)
+0:14              'psout' (temp structure{temp 4-component vector of float Color})
+0:14              Constant:
+0:14                0 (const int)
+0:14        Branch: Return
+0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7  Function Definition: not_the_entry_point( (temp void)
+0:7    Function Parameters: 
+0:11  Function Definition: main_in_spv( (temp structure{temp 4-component vector of float Color})
+0:11    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child (temp 4-component vector of float)
+0:13        Color: direct index for structure (temp 4-component vector of float)
+0:13          'psout' (temp structure{temp 4-component vector of float Color})
+0:13          Constant:
+0:13            0 (const int)
+0:13        Constant:
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:14      Sequence
+0:14        Sequence
+0:14          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:14            Color: direct index for structure (temp 4-component vector of float)
+0:14              'psout' (temp structure{temp 4-component vector of float Color})
+0:14              Constant:
+0:14                0 (const int)
+0:14        Branch: Return
+0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int also_not_the_entry_point})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 27
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main_in_spv" 20
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main_in_spv"
+                              Name 6  "not_the_entry_point("
+                              Name 10  "PS_OUTPUT"
+                              MemberName 10(PS_OUTPUT) 0  "Color"
+                              Name 12  "psout"
+                              Name 20  "Color"
+                              Name 24  "$Global"
+                              MemberName 24($Global) 0  "also_not_the_entry_point"
+                              Name 26  ""
+                              Decorate 20(Color) Location 0
+                              MemberDecorate 24($Global) 0 Offset 0
+                              Decorate 24($Global) Block
+                              Decorate 26 DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               8:             TypeFloat 32
+               9:             TypeVector 8(float) 4
+   10(PS_OUTPUT):             TypeStruct 9(fvec4)
+              11:             TypePointer Function 10(PS_OUTPUT)
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              15:    8(float) Constant 0
+              16:    9(fvec4) ConstantComposite 15 15 15 15
+              17:             TypePointer Function 9(fvec4)
+              19:             TypePointer Output 9(fvec4)
+       20(Color):     19(ptr) Variable Output
+     24($Global):             TypeStruct 13(int)
+              25:             TypePointer Uniform 24($Global)
+              26:     25(ptr) Variable Uniform
+  4(main_in_spv):           2 Function None 3
+               5:             Label
+       12(psout):     11(ptr) Variable Function
+              18:     17(ptr) AccessChain 12(psout) 14
+                              Store 18 16
+              21:     17(ptr) AccessChain 12(psout) 14
+              22:    9(fvec4) Load 21
+                              Store 20(Color) 22
+                              Return
+                              FunctionEnd
+6(not_the_entry_point():           2 Function None 3
+               7:             Label
+                              Return
+                              FunctionEnd

+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.float1.frag.out

@@ -32,6 +32,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -92,6 +93,7 @@ gl_FragCoord origin is upper left
                5:             Label
                               Store 14(f1) 15
                               Store 16(scalar) 17
+                              Return
                               FunctionEnd
 11(ShaderFunction(vf1;f1;):    6(float) Function None 8
      9(inFloat1):      7(ptr) FunctionParameter

+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.float4.frag.out

@@ -22,6 +22,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -82,6 +83,7 @@ gl_FragCoord origin is upper left
               20:             TypePointer Uniform 7(fvec4)
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
+                              Return
                               FunctionEnd
 11(ShaderFunction(vf4;):    7(fvec4) Function None 9
        10(input):      8(ptr) FunctionParameter

Fișier diff suprimat deoarece este prea mare
+ 505 - 501
3rdparty/glslang/Test/baseResults/hlsl.intrinsics.frag.out


+ 184 - 0
3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.down.frag.out

@@ -0,0 +1,184 @@
+hlsl.intrinsics.promote.down.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:15  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:15    Function Parameters: 
+0:?     Sequence
+0:16      Sequence
+0:16        move second child to first child (temp uint)
+0:16          'r00' (temp uint)
+0:16          bitCount (temp uint)
+0:16            Convert float to uint (temp uint)
+0:16              f: direct index for structure (layout(offset=8 ) uniform float)
+0:16                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
+0:16                Constant:
+0:16                  2 (const uint)
+0:17      Sequence
+0:17        move second child to first child (temp 2-component vector of uint)
+0:17          'r01' (temp 2-component vector of uint)
+0:17          bitFieldReverse (temp 2-component vector of uint)
+0:17            Convert float to uint (temp 2-component vector of uint)
+0:17              f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:17                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
+0:17                Constant:
+0:17                  6 (const uint)
+0:20      move second child to first child (temp 4-component vector of float)
+0:20        color: direct index for structure (temp 4-component vector of float)
+0:20          'ps_output' (temp structure{temp 4-component vector of float color})
+0:20          Constant:
+0:20            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:21      Sequence
+0:21        Sequence
+0:21          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:21            color: direct index for structure (temp 4-component vector of float)
+0:21              'ps_output' (temp structure{temp 4-component vector of float color})
+0:21              Constant:
+0:21                0 (const int)
+0:21        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:15  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:15    Function Parameters: 
+0:?     Sequence
+0:16      Sequence
+0:16        move second child to first child (temp uint)
+0:16          'r00' (temp uint)
+0:16          bitCount (temp uint)
+0:16            Convert float to uint (temp uint)
+0:16              f: direct index for structure (layout(offset=8 ) uniform float)
+0:16                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
+0:16                Constant:
+0:16                  2 (const uint)
+0:17      Sequence
+0:17        move second child to first child (temp 2-component vector of uint)
+0:17          'r01' (temp 2-component vector of uint)
+0:17          bitFieldReverse (temp 2-component vector of uint)
+0:17            Convert float to uint (temp 2-component vector of uint)
+0:17              f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:17                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
+0:17                Constant:
+0:17                  6 (const uint)
+0:20      move second child to first child (temp 4-component vector of float)
+0:20        color: direct index for structure (temp 4-component vector of float)
+0:20          'ps_output' (temp structure{temp 4-component vector of float color})
+0:20          Constant:
+0:20            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:21      Sequence
+0:21        Sequence
+0:21          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:21            color: direct index for structure (temp 4-component vector of float)
+0:21              'ps_output' (temp structure{temp 4-component vector of float color})
+0:21              Constant:
+0:21                0 (const int)
+0:21        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 45
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 41
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "r00"
+                              Name 14  "$Global"
+                              MemberName 14($Global) 0  "i"
+                              MemberName 14($Global) 1  "u"
+                              MemberName 14($Global) 2  "f"
+                              MemberName 14($Global) 3  "b"
+                              MemberName 14($Global) 4  "i2"
+                              MemberName 14($Global) 5  "u2"
+                              MemberName 14($Global) 6  "f2"
+                              MemberName 14($Global) 7  "b2"
+                              Name 16  ""
+                              Name 24  "r01"
+                              Name 32  "PS_OUTPUT"
+                              MemberName 32(PS_OUTPUT) 0  "color"
+                              Name 34  "ps_output"
+                              Name 41  "color"
+                              MemberDecorate 14($Global) 0 Offset 0
+                              MemberDecorate 14($Global) 1 Offset 4
+                              MemberDecorate 14($Global) 2 Offset 8
+                              MemberDecorate 14($Global) 3 Offset 12
+                              MemberDecorate 14($Global) 4 Offset 16
+                              MemberDecorate 14($Global) 5 Offset 24
+                              MemberDecorate 14($Global) 6 Offset 32
+                              MemberDecorate 14($Global) 7 Offset 40
+                              Decorate 14($Global) Block
+                              Decorate 16 DescriptorSet 0
+                              Decorate 41(color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeInt 32 1
+              10:             TypeFloat 32
+              11:             TypeVector 9(int) 2
+              12:             TypeVector 6(int) 2
+              13:             TypeVector 10(float) 2
+     14($Global):             TypeStruct 9(int) 6(int) 10(float) 6(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2)
+              15:             TypePointer Uniform 14($Global)
+              16:     15(ptr) Variable Uniform
+              17:      9(int) Constant 2
+              18:             TypePointer Uniform 10(float)
+              23:             TypePointer Function 12(ivec2)
+              25:      9(int) Constant 6
+              26:             TypePointer Uniform 13(fvec2)
+              31:             TypeVector 10(float) 4
+   32(PS_OUTPUT):             TypeStruct 31(fvec4)
+              33:             TypePointer Function 32(PS_OUTPUT)
+              35:      9(int) Constant 0
+              36:   10(float) Constant 0
+              37:   31(fvec4) ConstantComposite 36 36 36 36
+              38:             TypePointer Function 31(fvec4)
+              40:             TypePointer Output 31(fvec4)
+       41(color):     40(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+          8(r00):      7(ptr) Variable Function
+         24(r01):     23(ptr) Variable Function
+   34(ps_output):     33(ptr) Variable Function
+              19:     18(ptr) AccessChain 16 17
+              20:   10(float) Load 19
+              21:      6(int) ConvertFToU 20
+              22:      6(int) BitCount 21
+                              Store 8(r00) 22
+              27:     26(ptr) AccessChain 16 25
+              28:   13(fvec2) Load 27
+              29:   12(ivec2) ConvertFToU 28
+              30:   12(ivec2) BitReverse 29
+                              Store 24(r01) 30
+              39:     38(ptr) AccessChain 34(ps_output) 35
+                              Store 39 37
+              42:     38(ptr) AccessChain 34(ps_output) 35
+              43:   31(fvec4) Load 42
+                              Store 41(color) 43
+                              Return
+                              FunctionEnd

+ 1313 - 0
3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.frag.out

@@ -0,0 +1,1313 @@
+hlsl.intrinsics.promote.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:20  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:20    Function Parameters: 
+0:?     Sequence
+0:23      Sequence
+0:23        move second child to first child (temp float)
+0:23          'r00' (temp float)
+0:23          max (temp float)
+0:23            Convert bool to float (temp float)
+0:23              b: direct index for structure (layout(offset=12 ) uniform bool)
+0:23                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:23                Constant:
+0:23                  3 (const uint)
+0:23            f: direct index for structure (layout(offset=8 ) uniform float)
+0:23              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:23              Constant:
+0:23                2 (const uint)
+0:24      Sequence
+0:24        move second child to first child (temp uint)
+0:24          'r01' (temp uint)
+0:24          max (temp uint)
+0:24            Convert bool to uint (temp uint)
+0:24              b: direct index for structure (layout(offset=12 ) uniform bool)
+0:24                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:24                Constant:
+0:24                  3 (const uint)
+0:24            u: direct index for structure (layout(offset=4 ) uniform uint)
+0:24              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:24              Constant:
+0:24                1 (const uint)
+0:25      Sequence
+0:25        move second child to first child (temp int)
+0:25          'r02' (temp int)
+0:25          max (temp int)
+0:25            Convert bool to int (temp int)
+0:25              b: direct index for structure (layout(offset=12 ) uniform bool)
+0:25                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:25                Constant:
+0:25                  3 (const uint)
+0:25            i: direct index for structure (layout(offset=0 ) uniform int)
+0:25              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:25              Constant:
+0:25                0 (const uint)
+0:26      Sequence
+0:26        move second child to first child (temp float)
+0:26          'r03' (temp float)
+0:26          max (temp float)
+0:26            Convert int to float (temp float)
+0:26              i: direct index for structure (layout(offset=0 ) uniform int)
+0:26                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26            f: direct index for structure (layout(offset=8 ) uniform float)
+0:26              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:26              Constant:
+0:26                2 (const uint)
+0:27      Sequence
+0:27        move second child to first child (temp float)
+0:27          'r04' (temp float)
+0:27          max (temp float)
+0:27            Convert uint to float (temp float)
+0:27              u: direct index for structure (layout(offset=4 ) uniform uint)
+0:27                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:27                Constant:
+0:27                  1 (const uint)
+0:27            f: direct index for structure (layout(offset=8 ) uniform float)
+0:27              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:27              Constant:
+0:27                2 (const uint)
+0:29      Sequence
+0:29        move second child to first child (temp 2-component vector of float)
+0:29          'r10' (temp 2-component vector of float)
+0:29          max (temp 2-component vector of float)
+0:29            Convert bool to float (temp 2-component vector of float)
+0:29              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:29                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:29                Constant:
+0:29                  7 (const uint)
+0:29            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:29              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:29              Constant:
+0:29                6 (const uint)
+0:30      Sequence
+0:30        move second child to first child (temp 2-component vector of uint)
+0:30          'r11' (temp 2-component vector of uint)
+0:30          max (temp 2-component vector of uint)
+0:30            Convert bool to uint (temp 2-component vector of uint)
+0:30              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:30                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:30                Constant:
+0:30                  7 (const uint)
+0:30            u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:30              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:30              Constant:
+0:30                5 (const uint)
+0:31      Sequence
+0:31        move second child to first child (temp 2-component vector of int)
+0:31          'r12' (temp 2-component vector of int)
+0:31          max (temp 2-component vector of int)
+0:31            Convert bool to int (temp 2-component vector of int)
+0:31              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:31                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:31                Constant:
+0:31                  7 (const uint)
+0:31            i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:31              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:31              Constant:
+0:31                4 (const uint)
+0:32      Sequence
+0:32        move second child to first child (temp 2-component vector of float)
+0:32          'r13' (temp 2-component vector of float)
+0:32          max (temp 2-component vector of float)
+0:32            Convert int to float (temp 2-component vector of float)
+0:32              i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:32                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:32                Constant:
+0:32                  4 (const uint)
+0:32            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:32              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:32              Constant:
+0:32                6 (const uint)
+0:33      Sequence
+0:33        move second child to first child (temp 2-component vector of float)
+0:33          'r14' (temp 2-component vector of float)
+0:33          max (temp 2-component vector of float)
+0:33            Convert uint to float (temp 2-component vector of float)
+0:33              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:33                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:33                Constant:
+0:33                  5 (const uint)
+0:33            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:33              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:33              Constant:
+0:33                6 (const uint)
+0:35      Sequence
+0:35        move second child to first child (temp 2-component vector of float)
+0:35          'r20' (temp 2-component vector of float)
+0:35          clamp (temp 2-component vector of float)
+0:35            Convert int to float (temp 2-component vector of float)
+0:35              i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:35                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:35                Constant:
+0:35                  4 (const uint)
+0:35            Convert uint to float (temp 2-component vector of float)
+0:35              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:35                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:35                Constant:
+0:35                  5 (const uint)
+0:35            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:35              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:35              Constant:
+0:35                6 (const uint)
+0:36      Sequence
+0:36        move second child to first child (temp 2-component vector of uint)
+0:36          'r21' (temp 2-component vector of uint)
+0:36          clamp (temp 2-component vector of uint)
+0:36            Convert bool to uint (temp 2-component vector of uint)
+0:36              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:36                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:36                Constant:
+0:36                  7 (const uint)
+0:36            u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:36              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:36              Constant:
+0:36                5 (const uint)
+0:36            Convert bool to uint (temp 2-component vector of uint)
+0:36              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:36                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:36                Constant:
+0:36                  7 (const uint)
+0:37      Sequence
+0:37        move second child to first child (temp 2-component vector of float)
+0:37          'r22' (temp 2-component vector of float)
+0:37          clamp (temp 2-component vector of float)
+0:37            Convert bool to float (temp 2-component vector of float)
+0:37              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:37                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37                Constant:
+0:37                  7 (const uint)
+0:37            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:37              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37              Constant:
+0:37                6 (const uint)
+0:37            Convert bool to float (temp 2-component vector of float)
+0:37              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:37                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37                Constant:
+0:37                  7 (const uint)
+0:40      Sequence
+0:40        move second child to first child (temp 2-component vector of float)
+0:40          'r30' (temp 2-component vector of float)
+0:40          max (temp 2-component vector of float)
+0:40            Construct vec2 (in 2-component vector of float)
+0:40              Convert bool to float (temp float)
+0:40                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:40                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:40                  Constant:
+0:40                    3 (const uint)
+0:40            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:40              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:40              Constant:
+0:40                6 (const uint)
+0:41      Sequence
+0:41        move second child to first child (temp 2-component vector of uint)
+0:41          'r31' (temp 2-component vector of uint)
+0:41          max (temp 2-component vector of uint)
+0:41            Construct uvec2 (in 2-component vector of uint)
+0:41              Convert bool to uint (temp uint)
+0:41                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:41                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:41                  Constant:
+0:41                    3 (const uint)
+0:41            u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:41              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:41              Constant:
+0:41                5 (const uint)
+0:42      Sequence
+0:42        move second child to first child (temp 2-component vector of int)
+0:42          'r32' (temp 2-component vector of int)
+0:42          max (temp 2-component vector of int)
+0:42            Construct ivec2 (in 2-component vector of int)
+0:42              Convert bool to int (temp int)
+0:42                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:42                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:42                  Constant:
+0:42                    3 (const uint)
+0:42            i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:42              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:42              Constant:
+0:42                4 (const uint)
+0:43      Sequence
+0:43        move second child to first child (temp 2-component vector of float)
+0:43          'r33' (temp 2-component vector of float)
+0:43          max (temp 2-component vector of float)
+0:43            Construct vec2 (in 2-component vector of float)
+0:43              Convert int to float (temp float)
+0:43                i: direct index for structure (layout(offset=0 ) uniform int)
+0:43                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:43                  Constant:
+0:43                    0 (const uint)
+0:43            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:43              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:43              Constant:
+0:43                6 (const uint)
+0:44      Sequence
+0:44        move second child to first child (temp 2-component vector of float)
+0:44          'r34' (temp 2-component vector of float)
+0:44          max (temp 2-component vector of float)
+0:44            Construct vec2 (in 2-component vector of float)
+0:44              Convert uint to float (temp float)
+0:44                u: direct index for structure (layout(offset=4 ) uniform uint)
+0:44                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:44                  Constant:
+0:44                    1 (const uint)
+0:44            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:44              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:44              Constant:
+0:44                6 (const uint)
+0:46      Sequence
+0:46        move second child to first child (temp 2-component vector of float)
+0:46          'r40' (temp 2-component vector of float)
+0:46          clamp (temp 2-component vector of float)
+0:46            Construct vec2 (in 2-component vector of float)
+0:46              Convert int to float (temp float)
+0:46                i: direct index for structure (layout(offset=0 ) uniform int)
+0:46                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46            Convert uint to float (temp 2-component vector of float)
+0:46              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:46                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:46                Constant:
+0:46                  5 (const uint)
+0:46            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:46              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:46              Constant:
+0:46                6 (const uint)
+0:47      Sequence
+0:47        move second child to first child (temp 2-component vector of uint)
+0:47          'r41' (temp 2-component vector of uint)
+0:47          clamp (temp 2-component vector of uint)
+0:47            Convert bool to uint (temp 2-component vector of uint)
+0:47              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:47                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:47                Constant:
+0:47                  7 (const uint)
+0:47            Construct uvec2 (in 2-component vector of uint)
+0:47              u: direct index for structure (layout(offset=4 ) uniform uint)
+0:47                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:47                Constant:
+0:47                  1 (const uint)
+0:47            Convert bool to uint (temp 2-component vector of uint)
+0:47              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:47                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:47                Constant:
+0:47                  7 (const uint)
+0:48      Sequence
+0:48        move second child to first child (temp 2-component vector of float)
+0:48          'r42' (temp 2-component vector of float)
+0:48          clamp (temp 2-component vector of float)
+0:48            Convert bool to float (temp 2-component vector of float)
+0:48              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:48                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:48                Constant:
+0:48                  7 (const uint)
+0:48            Construct vec2 (in 2-component vector of float)
+0:48              f: direct index for structure (layout(offset=8 ) uniform float)
+0:48                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:48                Constant:
+0:48                  2 (const uint)
+0:48            Construct vec2 (in 2-component vector of float)
+0:48              Convert bool to float (temp float)
+0:48                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:48                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:48                  Constant:
+0:48                    3 (const uint)
+0:49      Sequence
+0:49        move second child to first child (temp 2-component vector of int)
+0:49          'r43' (temp 2-component vector of int)
+0:49          Convert uint to int (temp 2-component vector of int)
+0:49            clamp (temp 2-component vector of uint)
+0:49              Construct uvec2 (in 2-component vector of uint)
+0:49                Convert int to uint (temp uint)
+0:49                  i: direct index for structure (layout(offset=0 ) uniform int)
+0:49                    'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:49                    Constant:
+0:49                      0 (const uint)
+0:49              Convert int to uint (temp 2-component vector of uint)
+0:49                i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:49                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:49                  Constant:
+0:49                    4 (const uint)
+0:49              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:49                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:49                Constant:
+0:49                  5 (const uint)
+0:51      Sequence
+0:51        move second child to first child (temp float)
+0:51          'r50' (temp float)
+0:51          Construct float (temp float)
+0:?             textureFetch (temp 4-component vector of float)
+0:51              'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:51              Convert uint to int (temp int)
+0:51                upos: direct index for structure (layout(offset=48 ) uniform uint)
+0:51                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:51                  Constant:
+0:51                    8 (const uint)
+0:52      Sequence
+0:52        move second child to first child (temp float)
+0:52          'r51' (temp float)
+0:52          Construct float (temp float)
+0:?             textureFetch (temp 4-component vector of float)
+0:52              'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:52              Convert float to int (temp int)
+0:52                fpos: direct index for structure (layout(offset=52 ) uniform float)
+0:52                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:52                  Constant:
+0:52                    9 (const uint)
+0:70      Sequence
+0:70        move second child to first child (temp uint)
+0:70          'sizeQueryTemp' (temp uint)
+0:70          textureSize (temp uint)
+0:70            'g_tTex1df4' (uniform texture1D)
+0:70        move second child to first child (temp int)
+0:70          'WidthI' (temp int)
+0:70          Convert uint to int (temp int)
+0:70            'sizeQueryTemp' (temp uint)
+0:71      Sequence
+0:71        move second child to first child (temp uint)
+0:71          'sizeQueryTemp' (temp uint)
+0:71          textureSize (temp uint)
+0:71            'g_tTex1df4' (uniform texture1D)
+0:71            Constant:
+0:71              6 (const uint)
+0:71        move second child to first child (temp int)
+0:71          'WidthI' (temp int)
+0:71          Convert uint to int (temp int)
+0:71            'sizeQueryTemp' (temp uint)
+0:71        move second child to first child (temp uint)
+0:71          'NumberOfLevelsU' (temp uint)
+0:71          textureQueryLevels (temp uint)
+0:71            'g_tTex1df4' (uniform texture1D)
+0:72      Sequence
+0:72        move second child to first child (temp uint)
+0:72          'sizeQueryTemp' (temp uint)
+0:72          textureSize (temp uint)
+0:72            'g_tTex1df4' (uniform texture1D)
+0:72            Constant:
+0:72              6 (const uint)
+0:72        move second child to first child (temp uint)
+0:72          'WidthU' (temp uint)
+0:72          'sizeQueryTemp' (temp uint)
+0:72        move second child to first child (temp int)
+0:72          'NumberOfLevelsI' (temp int)
+0:72          Convert uint to int (temp int)
+0:72            textureQueryLevels (temp uint)
+0:72              'g_tTex1df4' (uniform texture1D)
+0:73      Sequence
+0:73        move second child to first child (temp uint)
+0:73          'sizeQueryTemp' (temp uint)
+0:73          textureSize (temp uint)
+0:73            'g_tTex1df4' (uniform texture1D)
+0:73            Constant:
+0:73              6 (const uint)
+0:73        move second child to first child (temp int)
+0:73          'WidthI' (temp int)
+0:73          Convert uint to int (temp int)
+0:73            'sizeQueryTemp' (temp uint)
+0:73        move second child to first child (temp int)
+0:73          'NumberOfLevelsI' (temp int)
+0:73          Convert uint to int (temp int)
+0:73            textureQueryLevels (temp uint)
+0:73              'g_tTex1df4' (uniform texture1D)
+0:77      move second child to first child (temp 4-component vector of float)
+0:77        color: direct index for structure (temp 4-component vector of float)
+0:77          'ps_output' (temp structure{temp 4-component vector of float color})
+0:77          Constant:
+0:77            0 (const int)
+0:77        Construct vec4 (temp 4-component vector of float)
+0:77          'r00' (temp float)
+0:78      Sequence
+0:78        Sequence
+0:78          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:78            color: direct index for structure (temp 4-component vector of float)
+0:78              'ps_output' (temp structure{temp 4-component vector of float color})
+0:78              Constant:
+0:78                0 (const int)
+0:78        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:?     'g_tTex1df4' (uniform texture1D)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:20  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:20    Function Parameters: 
+0:?     Sequence
+0:23      Sequence
+0:23        move second child to first child (temp float)
+0:23          'r00' (temp float)
+0:23          max (temp float)
+0:23            Convert bool to float (temp float)
+0:23              b: direct index for structure (layout(offset=12 ) uniform bool)
+0:23                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:23                Constant:
+0:23                  3 (const uint)
+0:23            f: direct index for structure (layout(offset=8 ) uniform float)
+0:23              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:23              Constant:
+0:23                2 (const uint)
+0:24      Sequence
+0:24        move second child to first child (temp uint)
+0:24          'r01' (temp uint)
+0:24          max (temp uint)
+0:24            Convert bool to uint (temp uint)
+0:24              b: direct index for structure (layout(offset=12 ) uniform bool)
+0:24                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:24                Constant:
+0:24                  3 (const uint)
+0:24            u: direct index for structure (layout(offset=4 ) uniform uint)
+0:24              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:24              Constant:
+0:24                1 (const uint)
+0:25      Sequence
+0:25        move second child to first child (temp int)
+0:25          'r02' (temp int)
+0:25          max (temp int)
+0:25            Convert bool to int (temp int)
+0:25              b: direct index for structure (layout(offset=12 ) uniform bool)
+0:25                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:25                Constant:
+0:25                  3 (const uint)
+0:25            i: direct index for structure (layout(offset=0 ) uniform int)
+0:25              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:25              Constant:
+0:25                0 (const uint)
+0:26      Sequence
+0:26        move second child to first child (temp float)
+0:26          'r03' (temp float)
+0:26          max (temp float)
+0:26            Convert int to float (temp float)
+0:26              i: direct index for structure (layout(offset=0 ) uniform int)
+0:26                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:26                Constant:
+0:26                  0 (const uint)
+0:26            f: direct index for structure (layout(offset=8 ) uniform float)
+0:26              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:26              Constant:
+0:26                2 (const uint)
+0:27      Sequence
+0:27        move second child to first child (temp float)
+0:27          'r04' (temp float)
+0:27          max (temp float)
+0:27            Convert uint to float (temp float)
+0:27              u: direct index for structure (layout(offset=4 ) uniform uint)
+0:27                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:27                Constant:
+0:27                  1 (const uint)
+0:27            f: direct index for structure (layout(offset=8 ) uniform float)
+0:27              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:27              Constant:
+0:27                2 (const uint)
+0:29      Sequence
+0:29        move second child to first child (temp 2-component vector of float)
+0:29          'r10' (temp 2-component vector of float)
+0:29          max (temp 2-component vector of float)
+0:29            Convert bool to float (temp 2-component vector of float)
+0:29              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:29                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:29                Constant:
+0:29                  7 (const uint)
+0:29            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:29              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:29              Constant:
+0:29                6 (const uint)
+0:30      Sequence
+0:30        move second child to first child (temp 2-component vector of uint)
+0:30          'r11' (temp 2-component vector of uint)
+0:30          max (temp 2-component vector of uint)
+0:30            Convert bool to uint (temp 2-component vector of uint)
+0:30              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:30                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:30                Constant:
+0:30                  7 (const uint)
+0:30            u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:30              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:30              Constant:
+0:30                5 (const uint)
+0:31      Sequence
+0:31        move second child to first child (temp 2-component vector of int)
+0:31          'r12' (temp 2-component vector of int)
+0:31          max (temp 2-component vector of int)
+0:31            Convert bool to int (temp 2-component vector of int)
+0:31              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:31                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:31                Constant:
+0:31                  7 (const uint)
+0:31            i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:31              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:31              Constant:
+0:31                4 (const uint)
+0:32      Sequence
+0:32        move second child to first child (temp 2-component vector of float)
+0:32          'r13' (temp 2-component vector of float)
+0:32          max (temp 2-component vector of float)
+0:32            Convert int to float (temp 2-component vector of float)
+0:32              i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:32                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:32                Constant:
+0:32                  4 (const uint)
+0:32            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:32              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:32              Constant:
+0:32                6 (const uint)
+0:33      Sequence
+0:33        move second child to first child (temp 2-component vector of float)
+0:33          'r14' (temp 2-component vector of float)
+0:33          max (temp 2-component vector of float)
+0:33            Convert uint to float (temp 2-component vector of float)
+0:33              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:33                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:33                Constant:
+0:33                  5 (const uint)
+0:33            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:33              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:33              Constant:
+0:33                6 (const uint)
+0:35      Sequence
+0:35        move second child to first child (temp 2-component vector of float)
+0:35          'r20' (temp 2-component vector of float)
+0:35          clamp (temp 2-component vector of float)
+0:35            Convert int to float (temp 2-component vector of float)
+0:35              i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:35                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:35                Constant:
+0:35                  4 (const uint)
+0:35            Convert uint to float (temp 2-component vector of float)
+0:35              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:35                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:35                Constant:
+0:35                  5 (const uint)
+0:35            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:35              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:35              Constant:
+0:35                6 (const uint)
+0:36      Sequence
+0:36        move second child to first child (temp 2-component vector of uint)
+0:36          'r21' (temp 2-component vector of uint)
+0:36          clamp (temp 2-component vector of uint)
+0:36            Convert bool to uint (temp 2-component vector of uint)
+0:36              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:36                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:36                Constant:
+0:36                  7 (const uint)
+0:36            u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:36              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:36              Constant:
+0:36                5 (const uint)
+0:36            Convert bool to uint (temp 2-component vector of uint)
+0:36              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:36                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:36                Constant:
+0:36                  7 (const uint)
+0:37      Sequence
+0:37        move second child to first child (temp 2-component vector of float)
+0:37          'r22' (temp 2-component vector of float)
+0:37          clamp (temp 2-component vector of float)
+0:37            Convert bool to float (temp 2-component vector of float)
+0:37              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:37                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37                Constant:
+0:37                  7 (const uint)
+0:37            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:37              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37              Constant:
+0:37                6 (const uint)
+0:37            Convert bool to float (temp 2-component vector of float)
+0:37              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:37                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37                Constant:
+0:37                  7 (const uint)
+0:40      Sequence
+0:40        move second child to first child (temp 2-component vector of float)
+0:40          'r30' (temp 2-component vector of float)
+0:40          max (temp 2-component vector of float)
+0:40            Construct vec2 (in 2-component vector of float)
+0:40              Convert bool to float (temp float)
+0:40                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:40                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:40                  Constant:
+0:40                    3 (const uint)
+0:40            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:40              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:40              Constant:
+0:40                6 (const uint)
+0:41      Sequence
+0:41        move second child to first child (temp 2-component vector of uint)
+0:41          'r31' (temp 2-component vector of uint)
+0:41          max (temp 2-component vector of uint)
+0:41            Construct uvec2 (in 2-component vector of uint)
+0:41              Convert bool to uint (temp uint)
+0:41                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:41                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:41                  Constant:
+0:41                    3 (const uint)
+0:41            u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:41              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:41              Constant:
+0:41                5 (const uint)
+0:42      Sequence
+0:42        move second child to first child (temp 2-component vector of int)
+0:42          'r32' (temp 2-component vector of int)
+0:42          max (temp 2-component vector of int)
+0:42            Construct ivec2 (in 2-component vector of int)
+0:42              Convert bool to int (temp int)
+0:42                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:42                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:42                  Constant:
+0:42                    3 (const uint)
+0:42            i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:42              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:42              Constant:
+0:42                4 (const uint)
+0:43      Sequence
+0:43        move second child to first child (temp 2-component vector of float)
+0:43          'r33' (temp 2-component vector of float)
+0:43          max (temp 2-component vector of float)
+0:43            Construct vec2 (in 2-component vector of float)
+0:43              Convert int to float (temp float)
+0:43                i: direct index for structure (layout(offset=0 ) uniform int)
+0:43                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:43                  Constant:
+0:43                    0 (const uint)
+0:43            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:43              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:43              Constant:
+0:43                6 (const uint)
+0:44      Sequence
+0:44        move second child to first child (temp 2-component vector of float)
+0:44          'r34' (temp 2-component vector of float)
+0:44          max (temp 2-component vector of float)
+0:44            Construct vec2 (in 2-component vector of float)
+0:44              Convert uint to float (temp float)
+0:44                u: direct index for structure (layout(offset=4 ) uniform uint)
+0:44                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:44                  Constant:
+0:44                    1 (const uint)
+0:44            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:44              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:44              Constant:
+0:44                6 (const uint)
+0:46      Sequence
+0:46        move second child to first child (temp 2-component vector of float)
+0:46          'r40' (temp 2-component vector of float)
+0:46          clamp (temp 2-component vector of float)
+0:46            Construct vec2 (in 2-component vector of float)
+0:46              Convert int to float (temp float)
+0:46                i: direct index for structure (layout(offset=0 ) uniform int)
+0:46                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:46                  Constant:
+0:46                    0 (const uint)
+0:46            Convert uint to float (temp 2-component vector of float)
+0:46              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:46                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:46                Constant:
+0:46                  5 (const uint)
+0:46            f2: direct index for structure (layout(offset=32 ) uniform 2-component vector of float)
+0:46              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:46              Constant:
+0:46                6 (const uint)
+0:47      Sequence
+0:47        move second child to first child (temp 2-component vector of uint)
+0:47          'r41' (temp 2-component vector of uint)
+0:47          clamp (temp 2-component vector of uint)
+0:47            Convert bool to uint (temp 2-component vector of uint)
+0:47              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:47                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:47                Constant:
+0:47                  7 (const uint)
+0:47            Construct uvec2 (in 2-component vector of uint)
+0:47              u: direct index for structure (layout(offset=4 ) uniform uint)
+0:47                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:47                Constant:
+0:47                  1 (const uint)
+0:47            Convert bool to uint (temp 2-component vector of uint)
+0:47              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:47                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:47                Constant:
+0:47                  7 (const uint)
+0:48      Sequence
+0:48        move second child to first child (temp 2-component vector of float)
+0:48          'r42' (temp 2-component vector of float)
+0:48          clamp (temp 2-component vector of float)
+0:48            Convert bool to float (temp 2-component vector of float)
+0:48              b2: direct index for structure (layout(offset=40 ) uniform 2-component vector of bool)
+0:48                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:48                Constant:
+0:48                  7 (const uint)
+0:48            Construct vec2 (in 2-component vector of float)
+0:48              f: direct index for structure (layout(offset=8 ) uniform float)
+0:48                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:48                Constant:
+0:48                  2 (const uint)
+0:48            Construct vec2 (in 2-component vector of float)
+0:48              Convert bool to float (temp float)
+0:48                b: direct index for structure (layout(offset=12 ) uniform bool)
+0:48                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:48                  Constant:
+0:48                    3 (const uint)
+0:49      Sequence
+0:49        move second child to first child (temp 2-component vector of int)
+0:49          'r43' (temp 2-component vector of int)
+0:49          Convert uint to int (temp 2-component vector of int)
+0:49            clamp (temp 2-component vector of uint)
+0:49              Construct uvec2 (in 2-component vector of uint)
+0:49                Convert int to uint (temp uint)
+0:49                  i: direct index for structure (layout(offset=0 ) uniform int)
+0:49                    'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:49                    Constant:
+0:49                      0 (const uint)
+0:49              Convert int to uint (temp 2-component vector of uint)
+0:49                i2: direct index for structure (layout(offset=16 ) uniform 2-component vector of int)
+0:49                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:49                  Constant:
+0:49                    4 (const uint)
+0:49              u2: direct index for structure (layout(offset=24 ) uniform 2-component vector of uint)
+0:49                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:49                Constant:
+0:49                  5 (const uint)
+0:51      Sequence
+0:51        move second child to first child (temp float)
+0:51          'r50' (temp float)
+0:51          Construct float (temp float)
+0:?             textureFetch (temp 4-component vector of float)
+0:51              'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:51              Convert uint to int (temp int)
+0:51                upos: direct index for structure (layout(offset=48 ) uniform uint)
+0:51                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:51                  Constant:
+0:51                    8 (const uint)
+0:52      Sequence
+0:52        move second child to first child (temp float)
+0:52          'r51' (temp float)
+0:52          Construct float (temp float)
+0:?             textureFetch (temp 4-component vector of float)
+0:52              'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:52              Convert float to int (temp int)
+0:52                fpos: direct index for structure (layout(offset=52 ) uniform float)
+0:52                  'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:52                  Constant:
+0:52                    9 (const uint)
+0:70      Sequence
+0:70        move second child to first child (temp uint)
+0:70          'sizeQueryTemp' (temp uint)
+0:70          textureSize (temp uint)
+0:70            'g_tTex1df4' (uniform texture1D)
+0:70        move second child to first child (temp int)
+0:70          'WidthI' (temp int)
+0:70          Convert uint to int (temp int)
+0:70            'sizeQueryTemp' (temp uint)
+0:71      Sequence
+0:71        move second child to first child (temp uint)
+0:71          'sizeQueryTemp' (temp uint)
+0:71          textureSize (temp uint)
+0:71            'g_tTex1df4' (uniform texture1D)
+0:71            Constant:
+0:71              6 (const uint)
+0:71        move second child to first child (temp int)
+0:71          'WidthI' (temp int)
+0:71          Convert uint to int (temp int)
+0:71            'sizeQueryTemp' (temp uint)
+0:71        move second child to first child (temp uint)
+0:71          'NumberOfLevelsU' (temp uint)
+0:71          textureQueryLevels (temp uint)
+0:71            'g_tTex1df4' (uniform texture1D)
+0:72      Sequence
+0:72        move second child to first child (temp uint)
+0:72          'sizeQueryTemp' (temp uint)
+0:72          textureSize (temp uint)
+0:72            'g_tTex1df4' (uniform texture1D)
+0:72            Constant:
+0:72              6 (const uint)
+0:72        move second child to first child (temp uint)
+0:72          'WidthU' (temp uint)
+0:72          'sizeQueryTemp' (temp uint)
+0:72        move second child to first child (temp int)
+0:72          'NumberOfLevelsI' (temp int)
+0:72          Convert uint to int (temp int)
+0:72            textureQueryLevels (temp uint)
+0:72              'g_tTex1df4' (uniform texture1D)
+0:73      Sequence
+0:73        move second child to first child (temp uint)
+0:73          'sizeQueryTemp' (temp uint)
+0:73          textureSize (temp uint)
+0:73            'g_tTex1df4' (uniform texture1D)
+0:73            Constant:
+0:73              6 (const uint)
+0:73        move second child to first child (temp int)
+0:73          'WidthI' (temp int)
+0:73          Convert uint to int (temp int)
+0:73            'sizeQueryTemp' (temp uint)
+0:73        move second child to first child (temp int)
+0:73          'NumberOfLevelsI' (temp int)
+0:73          Convert uint to int (temp int)
+0:73            textureQueryLevels (temp uint)
+0:73              'g_tTex1df4' (uniform texture1D)
+0:77      move second child to first child (temp 4-component vector of float)
+0:77        color: direct index for structure (temp 4-component vector of float)
+0:77          'ps_output' (temp structure{temp 4-component vector of float color})
+0:77          Constant:
+0:77            0 (const int)
+0:77        Construct vec4 (temp 4-component vector of float)
+0:77          'r00' (temp float)
+0:78      Sequence
+0:78        Sequence
+0:78          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:78            color: direct index for structure (temp 4-component vector of float)
+0:78              'ps_output' (temp structure{temp 4-component vector of float color})
+0:78              Constant:
+0:78                0 (const int)
+0:78        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:?     'g_tTex1df4' (uniform texture1D)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 320
+
+                              Capability Shader
+                              Capability Sampled1D
+                              Capability SampledBuffer
+                              Capability ImageQuery
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 316
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "r00"
+                              Name 14  "$Global"
+                              MemberName 14($Global) 0  "i"
+                              MemberName 14($Global) 1  "u"
+                              MemberName 14($Global) 2  "f"
+                              MemberName 14($Global) 3  "b"
+                              MemberName 14($Global) 4  "i2"
+                              MemberName 14($Global) 5  "u2"
+                              MemberName 14($Global) 6  "f2"
+                              MemberName 14($Global) 7  "b2"
+                              MemberName 14($Global) 8  "upos"
+                              MemberName 14($Global) 9  "fpos"
+                              Name 16  ""
+                              Name 33  "r01"
+                              Name 44  "r02"
+                              Name 54  "r03"
+                              Name 61  "r04"
+                              Name 69  "r10"
+                              Name 86  "r11"
+                              Name 97  "r12"
+                              Name 109  "r13"
+                              Name 116  "r14"
+                              Name 123  "r20"
+                              Name 133  "r21"
+                              Name 145  "r22"
+                              Name 157  "r30"
+                              Name 166  "r31"
+                              Name 175  "r32"
+                              Name 184  "r33"
+                              Name 192  "r34"
+                              Name 200  "r40"
+                              Name 211  "r41"
+                              Name 224  "r42"
+                              Name 238  "r43"
+                              Name 250  "r50"
+                              Name 254  "g_tTexbfs"
+                              Name 264  "r51"
+                              Name 273  "sizeQueryTemp"
+                              Name 276  "g_tTex1df4"
+                              Name 279  "WidthI"
+                              Name 282  "sizeQueryTemp"
+                              Name 288  "NumberOfLevelsU"
+                              Name 291  "sizeQueryTemp"
+                              Name 294  "WidthU"
+                              Name 296  "NumberOfLevelsI"
+                              Name 300  "sizeQueryTemp"
+                              Name 308  "PS_OUTPUT"
+                              MemberName 308(PS_OUTPUT) 0  "color"
+                              Name 310  "ps_output"
+                              Name 316  "color"
+                              MemberDecorate 14($Global) 0 Offset 0
+                              MemberDecorate 14($Global) 1 Offset 4
+                              MemberDecorate 14($Global) 2 Offset 8
+                              MemberDecorate 14($Global) 3 Offset 12
+                              MemberDecorate 14($Global) 4 Offset 16
+                              MemberDecorate 14($Global) 5 Offset 24
+                              MemberDecorate 14($Global) 6 Offset 32
+                              MemberDecorate 14($Global) 7 Offset 40
+                              MemberDecorate 14($Global) 8 Offset 48
+                              MemberDecorate 14($Global) 9 Offset 52
+                              Decorate 14($Global) Block
+                              Decorate 16 DescriptorSet 0
+                              Decorate 254(g_tTexbfs) DescriptorSet 0
+                              Decorate 276(g_tTex1df4) DescriptorSet 0
+                              Decorate 316(color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+               9:             TypeInt 32 1
+              10:             TypeInt 32 0
+              11:             TypeVector 9(int) 2
+              12:             TypeVector 10(int) 2
+              13:             TypeVector 6(float) 2
+     14($Global):             TypeStruct 9(int) 10(int) 6(float) 10(int) 11(ivec2) 12(ivec2) 13(fvec2) 12(ivec2) 10(int) 6(float)
+              15:             TypePointer Uniform 14($Global)
+              16:     15(ptr) Variable Uniform
+              17:      9(int) Constant 3
+              18:             TypePointer Uniform 10(int)
+              21:             TypeBool
+              22:     10(int) Constant 0
+              24:    6(float) Constant 0
+              25:    6(float) Constant 1065353216
+              27:      9(int) Constant 2
+              28:             TypePointer Uniform 6(float)
+              32:             TypePointer Function 10(int)
+              37:     10(int) Constant 1
+              39:      9(int) Constant 1
+              43:             TypePointer Function 9(int)
+              48:      9(int) Constant 0
+              50:             TypePointer Uniform 9(int)
+              68:             TypePointer Function 13(fvec2)
+              70:      9(int) Constant 7
+              71:             TypePointer Uniform 12(ivec2)
+              74:             TypeVector 21(bool) 2
+              75:   12(ivec2) ConstantComposite 22 22
+              77:   13(fvec2) ConstantComposite 24 24
+              78:   13(fvec2) ConstantComposite 25 25
+              80:      9(int) Constant 6
+              81:             TypePointer Uniform 13(fvec2)
+              85:             TypePointer Function 12(ivec2)
+              90:   12(ivec2) ConstantComposite 37 37
+              92:      9(int) Constant 5
+              96:             TypePointer Function 11(ivec2)
+             101:   11(ivec2) ConstantComposite 48 48
+             102:   11(ivec2) ConstantComposite 39 39
+             104:      9(int) Constant 4
+             105:             TypePointer Uniform 11(ivec2)
+             251:             TypeImage 6(float) Buffer sampled format:R32f
+             252:             TypeSampledImage 251
+             253:             TypePointer UniformConstant 252
+  254(g_tTexbfs):    253(ptr) Variable UniformConstant
+             256:      9(int) Constant 8
+             261:             TypeVector 6(float) 4
+             266:      9(int) Constant 9
+             274:             TypeImage 6(float) 1D sampled format:Unknown
+             275:             TypePointer UniformConstant 274
+ 276(g_tTex1df4):    275(ptr) Variable UniformConstant
+             284:     10(int) Constant 6
+  308(PS_OUTPUT):             TypeStruct 261(fvec4)
+             309:             TypePointer Function 308(PS_OUTPUT)
+             313:             TypePointer Function 261(fvec4)
+             315:             TypePointer Output 261(fvec4)
+      316(color):    315(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+          8(r00):      7(ptr) Variable Function
+         33(r01):     32(ptr) Variable Function
+         44(r02):     43(ptr) Variable Function
+         54(r03):      7(ptr) Variable Function
+         61(r04):      7(ptr) Variable Function
+         69(r10):     68(ptr) Variable Function
+         86(r11):     85(ptr) Variable Function
+         97(r12):     96(ptr) Variable Function
+        109(r13):     68(ptr) Variable Function
+        116(r14):     68(ptr) Variable Function
+        123(r20):     68(ptr) Variable Function
+        133(r21):     85(ptr) Variable Function
+        145(r22):     68(ptr) Variable Function
+        157(r30):     68(ptr) Variable Function
+        166(r31):     85(ptr) Variable Function
+        175(r32):     96(ptr) Variable Function
+        184(r33):     68(ptr) Variable Function
+        192(r34):     68(ptr) Variable Function
+        200(r40):     68(ptr) Variable Function
+        211(r41):     85(ptr) Variable Function
+        224(r42):     68(ptr) Variable Function
+        238(r43):     96(ptr) Variable Function
+        250(r50):      7(ptr) Variable Function
+        264(r51):      7(ptr) Variable Function
+273(sizeQueryTemp):     32(ptr) Variable Function
+     279(WidthI):     43(ptr) Variable Function
+282(sizeQueryTemp):     32(ptr) Variable Function
+288(NumberOfLevelsU):     32(ptr) Variable Function
+291(sizeQueryTemp):     32(ptr) Variable Function
+     294(WidthU):     32(ptr) Variable Function
+296(NumberOfLevelsI):     43(ptr) Variable Function
+300(sizeQueryTemp):     32(ptr) Variable Function
+  310(ps_output):    309(ptr) Variable Function
+              19:     18(ptr) AccessChain 16 17
+              20:     10(int) Load 19
+              23:    21(bool) INotEqual 20 22
+              26:    6(float) Select 23 25 24
+              29:     28(ptr) AccessChain 16 27
+              30:    6(float) Load 29
+              31:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 26 30
+                              Store 8(r00) 31
+              34:     18(ptr) AccessChain 16 17
+              35:     10(int) Load 34
+              36:    21(bool) INotEqual 35 22
+              38:     10(int) Select 36 37 22
+              40:     18(ptr) AccessChain 16 39
+              41:     10(int) Load 40
+              42:     10(int) ExtInst 1(GLSL.std.450) 41(UMax) 38 41
+                              Store 33(r01) 42
+              45:     18(ptr) AccessChain 16 17
+              46:     10(int) Load 45
+              47:    21(bool) INotEqual 46 22
+              49:      9(int) Select 47 39 48
+              51:     50(ptr) AccessChain 16 48
+              52:      9(int) Load 51
+              53:      9(int) ExtInst 1(GLSL.std.450) 42(SMax) 49 52
+                              Store 44(r02) 53
+              55:     50(ptr) AccessChain 16 48
+              56:      9(int) Load 55
+              57:    6(float) ConvertSToF 56
+              58:     28(ptr) AccessChain 16 27
+              59:    6(float) Load 58
+              60:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 57 59
+                              Store 54(r03) 60
+              62:     18(ptr) AccessChain 16 39
+              63:     10(int) Load 62
+              64:    6(float) ConvertUToF 63
+              65:     28(ptr) AccessChain 16 27
+              66:    6(float) Load 65
+              67:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 64 66
+                              Store 61(r04) 67
+              72:     71(ptr) AccessChain 16 70
+              73:   12(ivec2) Load 72
+              76:   74(bvec2) INotEqual 73 75
+              79:   13(fvec2) Select 76 78 77
+              82:     81(ptr) AccessChain 16 80
+              83:   13(fvec2) Load 82
+              84:   13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 79 83
+                              Store 69(r10) 84
+              87:     71(ptr) AccessChain 16 70
+              88:   12(ivec2) Load 87
+              89:   74(bvec2) INotEqual 88 75
+              91:   12(ivec2) Select 89 90 75
+              93:     71(ptr) AccessChain 16 92
+              94:   12(ivec2) Load 93
+              95:   12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 91 94
+                              Store 86(r11) 95
+              98:     71(ptr) AccessChain 16 70
+              99:   12(ivec2) Load 98
+             100:   74(bvec2) INotEqual 99 75
+             103:   11(ivec2) Select 100 102 101
+             106:    105(ptr) AccessChain 16 104
+             107:   11(ivec2) Load 106
+             108:   11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 103 107
+                              Store 97(r12) 108
+             110:    105(ptr) AccessChain 16 104
+             111:   11(ivec2) Load 110
+             112:   13(fvec2) ConvertSToF 111
+             113:     81(ptr) AccessChain 16 80
+             114:   13(fvec2) Load 113
+             115:   13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 112 114
+                              Store 109(r13) 115
+             117:     71(ptr) AccessChain 16 92
+             118:   12(ivec2) Load 117
+             119:   13(fvec2) ConvertUToF 118
+             120:     81(ptr) AccessChain 16 80
+             121:   13(fvec2) Load 120
+             122:   13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 119 121
+                              Store 116(r14) 122
+             124:    105(ptr) AccessChain 16 104
+             125:   11(ivec2) Load 124
+             126:   13(fvec2) ConvertSToF 125
+             127:     71(ptr) AccessChain 16 92
+             128:   12(ivec2) Load 127
+             129:   13(fvec2) ConvertUToF 128
+             130:     81(ptr) AccessChain 16 80
+             131:   13(fvec2) Load 130
+             132:   13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 126 129 131
+                              Store 123(r20) 132
+             134:     71(ptr) AccessChain 16 70
+             135:   12(ivec2) Load 134
+             136:   74(bvec2) INotEqual 135 75
+             137:   12(ivec2) Select 136 90 75
+             138:     71(ptr) AccessChain 16 92
+             139:   12(ivec2) Load 138
+             140:     71(ptr) AccessChain 16 70
+             141:   12(ivec2) Load 140
+             142:   74(bvec2) INotEqual 141 75
+             143:   12(ivec2) Select 142 90 75
+             144:   12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 137 139 143
+                              Store 133(r21) 144
+             146:     71(ptr) AccessChain 16 70
+             147:   12(ivec2) Load 146
+             148:   74(bvec2) INotEqual 147 75
+             149:   13(fvec2) Select 148 78 77
+             150:     81(ptr) AccessChain 16 80
+             151:   13(fvec2) Load 150
+             152:     71(ptr) AccessChain 16 70
+             153:   12(ivec2) Load 152
+             154:   74(bvec2) INotEqual 153 75
+             155:   13(fvec2) Select 154 78 77
+             156:   13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 149 151 155
+                              Store 145(r22) 156
+             158:     18(ptr) AccessChain 16 17
+             159:     10(int) Load 158
+             160:    21(bool) INotEqual 159 22
+             161:    6(float) Select 160 25 24
+             162:   13(fvec2) CompositeConstruct 161 161
+             163:     81(ptr) AccessChain 16 80
+             164:   13(fvec2) Load 163
+             165:   13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 162 164
+                              Store 157(r30) 165
+             167:     18(ptr) AccessChain 16 17
+             168:     10(int) Load 167
+             169:    21(bool) INotEqual 168 22
+             170:     10(int) Select 169 37 22
+             171:   12(ivec2) CompositeConstruct 170 170
+             172:     71(ptr) AccessChain 16 92
+             173:   12(ivec2) Load 172
+             174:   12(ivec2) ExtInst 1(GLSL.std.450) 41(UMax) 171 173
+                              Store 166(r31) 174
+             176:     18(ptr) AccessChain 16 17
+             177:     10(int) Load 176
+             178:    21(bool) INotEqual 177 22
+             179:      9(int) Select 178 39 48
+             180:   11(ivec2) CompositeConstruct 179 179
+             181:    105(ptr) AccessChain 16 104
+             182:   11(ivec2) Load 181
+             183:   11(ivec2) ExtInst 1(GLSL.std.450) 42(SMax) 180 182
+                              Store 175(r32) 183
+             185:     50(ptr) AccessChain 16 48
+             186:      9(int) Load 185
+             187:    6(float) ConvertSToF 186
+             188:   13(fvec2) CompositeConstruct 187 187
+             189:     81(ptr) AccessChain 16 80
+             190:   13(fvec2) Load 189
+             191:   13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 188 190
+                              Store 184(r33) 191
+             193:     18(ptr) AccessChain 16 39
+             194:     10(int) Load 193
+             195:    6(float) ConvertUToF 194
+             196:   13(fvec2) CompositeConstruct 195 195
+             197:     81(ptr) AccessChain 16 80
+             198:   13(fvec2) Load 197
+             199:   13(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 196 198
+                              Store 192(r34) 199
+             201:     50(ptr) AccessChain 16 48
+             202:      9(int) Load 201
+             203:    6(float) ConvertSToF 202
+             204:   13(fvec2) CompositeConstruct 203 203
+             205:     71(ptr) AccessChain 16 92
+             206:   12(ivec2) Load 205
+             207:   13(fvec2) ConvertUToF 206
+             208:     81(ptr) AccessChain 16 80
+             209:   13(fvec2) Load 208
+             210:   13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 204 207 209
+                              Store 200(r40) 210
+             212:     71(ptr) AccessChain 16 70
+             213:   12(ivec2) Load 212
+             214:   74(bvec2) INotEqual 213 75
+             215:   12(ivec2) Select 214 90 75
+             216:     18(ptr) AccessChain 16 39
+             217:     10(int) Load 216
+             218:   12(ivec2) CompositeConstruct 217 217
+             219:     71(ptr) AccessChain 16 70
+             220:   12(ivec2) Load 219
+             221:   74(bvec2) INotEqual 220 75
+             222:   12(ivec2) Select 221 90 75
+             223:   12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 215 218 222
+                              Store 211(r41) 223
+             225:     71(ptr) AccessChain 16 70
+             226:   12(ivec2) Load 225
+             227:   74(bvec2) INotEqual 226 75
+             228:   13(fvec2) Select 227 78 77
+             229:     28(ptr) AccessChain 16 27
+             230:    6(float) Load 229
+             231:   13(fvec2) CompositeConstruct 230 230
+             232:     18(ptr) AccessChain 16 17
+             233:     10(int) Load 232
+             234:    21(bool) INotEqual 233 22
+             235:    6(float) Select 234 25 24
+             236:   13(fvec2) CompositeConstruct 235 235
+             237:   13(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 228 231 236
+                              Store 224(r42) 237
+             239:     50(ptr) AccessChain 16 48
+             240:      9(int) Load 239
+             241:     10(int) Bitcast 240
+             242:   12(ivec2) CompositeConstruct 241 241
+             243:    105(ptr) AccessChain 16 104
+             244:   11(ivec2) Load 243
+             245:   12(ivec2) Bitcast 244
+             246:     71(ptr) AccessChain 16 92
+             247:   12(ivec2) Load 246
+             248:   12(ivec2) ExtInst 1(GLSL.std.450) 44(UClamp) 242 245 247
+             249:   11(ivec2) Bitcast 248
+                              Store 238(r43) 249
+             255:         252 Load 254(g_tTexbfs)
+             257:     18(ptr) AccessChain 16 256
+             258:     10(int) Load 257
+             259:      9(int) Bitcast 258
+             260:         251 Image 255
+             262:  261(fvec4) ImageFetch 260 259
+             263:    6(float) CompositeExtract 262 0
+                              Store 250(r50) 263
+             265:         252 Load 254(g_tTexbfs)
+             267:     28(ptr) AccessChain 16 266
+             268:    6(float) Load 267
+             269:      9(int) ConvertFToS 268
+             270:         251 Image 265
+             271:  261(fvec4) ImageFetch 270 269
+             272:    6(float) CompositeExtract 271 0
+                              Store 264(r51) 272
+             277:         274 Load 276(g_tTex1df4)
+             278:      9(int) ImageQuerySize 277
+                              Store 273(sizeQueryTemp) 278
+             280:     10(int) Load 273(sizeQueryTemp)
+             281:      9(int) Bitcast 280
+                              Store 279(WidthI) 281
+             283:         274 Load 276(g_tTex1df4)
+             285:      9(int) ImageQuerySizeLod 283 284
+                              Store 282(sizeQueryTemp) 285
+             286:     10(int) Load 282(sizeQueryTemp)
+             287:      9(int) Bitcast 286
+                              Store 279(WidthI) 287
+             289:         274 Load 276(g_tTex1df4)
+             290:      9(int) ImageQueryLevels 289
+                              Store 288(NumberOfLevelsU) 290
+             292:         274 Load 276(g_tTex1df4)
+             293:      9(int) ImageQuerySizeLod 292 284
+                              Store 291(sizeQueryTemp) 293
+             295:     10(int) Load 291(sizeQueryTemp)
+                              Store 294(WidthU) 295
+             297:         274 Load 276(g_tTex1df4)
+             298:      9(int) ImageQueryLevels 297
+             299:      9(int) Bitcast 298
+                              Store 296(NumberOfLevelsI) 299
+             301:         274 Load 276(g_tTex1df4)
+             302:      9(int) ImageQuerySizeLod 301 284
+                              Store 300(sizeQueryTemp) 302
+             303:     10(int) Load 300(sizeQueryTemp)
+             304:      9(int) Bitcast 303
+                              Store 279(WidthI) 304
+             305:         274 Load 276(g_tTex1df4)
+             306:      9(int) ImageQueryLevels 305
+             307:      9(int) Bitcast 306
+                              Store 296(NumberOfLevelsI) 307
+             311:    6(float) Load 8(r00)
+             312:  261(fvec4) CompositeConstruct 311 311 311 311
+             314:    313(ptr) AccessChain 310(ps_output) 48
+                              Store 314 312
+             317:    313(ptr) AccessChain 310(ps_output) 48
+             318:  261(fvec4) Load 317
+                              Store 316(color) 318
+                              Return
+                              FunctionEnd

+ 337 - 0
3rdparty/glslang/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out

@@ -0,0 +1,337 @@
+hlsl.intrinsics.promote.outputs.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:20  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:20    Function Parameters: 
+0:?     Sequence
+0:37      clamp (temp float)
+0:37        fpos: direct index for structure (layout(offset=52 ) uniform float)
+0:37          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37          Constant:
+0:37            9 (const uint)
+0:37        Constant:
+0:37          0.000000
+0:37        Constant:
+0:37          1.000000
+0:40      Sequence
+0:40        move second child to first child (temp uint)
+0:40          'sizeQueryTemp' (temp uint)
+0:40          textureSize (temp uint)
+0:40            'g_tTex1df4' (uniform texture1D)
+0:40        move second child to first child (temp int)
+0:40          'WidthI' (temp int)
+0:40          Convert uint to int (temp int)
+0:40            'sizeQueryTemp' (temp uint)
+0:41      Sequence
+0:41        move second child to first child (temp uint)
+0:41          'sizeQueryTemp' (temp uint)
+0:41          textureSize (temp uint)
+0:41            'g_tTex1df4' (uniform texture1D)
+0:41            Constant:
+0:41              6 (const uint)
+0:41        move second child to first child (temp int)
+0:41          'WidthI' (temp int)
+0:41          Convert uint to int (temp int)
+0:41            'sizeQueryTemp' (temp uint)
+0:41        move second child to first child (temp uint)
+0:41          'NumberOfLevelsU' (temp uint)
+0:41          textureQueryLevels (temp uint)
+0:41            'g_tTex1df4' (uniform texture1D)
+0:42      Sequence
+0:42        move second child to first child (temp uint)
+0:42          'sizeQueryTemp' (temp uint)
+0:42          textureSize (temp uint)
+0:42            'g_tTex1df4' (uniform texture1D)
+0:42            Constant:
+0:42              6 (const uint)
+0:42        move second child to first child (temp uint)
+0:42          'WidthU' (temp uint)
+0:42          'sizeQueryTemp' (temp uint)
+0:42        move second child to first child (temp int)
+0:42          'NumberOfLevelsI' (temp int)
+0:42          Convert uint to int (temp int)
+0:42            textureQueryLevels (temp uint)
+0:42              'g_tTex1df4' (uniform texture1D)
+0:43      Sequence
+0:43        move second child to first child (temp uint)
+0:43          'sizeQueryTemp' (temp uint)
+0:43          textureSize (temp uint)
+0:43            'g_tTex1df4' (uniform texture1D)
+0:43            Constant:
+0:43              6 (const uint)
+0:43        move second child to first child (temp int)
+0:43          'WidthI' (temp int)
+0:43          Convert uint to int (temp int)
+0:43            'sizeQueryTemp' (temp uint)
+0:43        move second child to first child (temp int)
+0:43          'NumberOfLevelsI' (temp int)
+0:43          Convert uint to int (temp int)
+0:43            textureQueryLevels (temp uint)
+0:43              'g_tTex1df4' (uniform texture1D)
+0:47      move second child to first child (temp 4-component vector of float)
+0:47        color: direct index for structure (temp 4-component vector of float)
+0:47          'ps_output' (temp structure{temp 4-component vector of float color})
+0:47          Constant:
+0:47            0 (const int)
+0:47        Constant:
+0:47          0.000000
+0:47          0.000000
+0:47          0.000000
+0:47          0.000000
+0:48      Sequence
+0:48        Sequence
+0:48          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:48            color: direct index for structure (temp 4-component vector of float)
+0:48              'ps_output' (temp structure{temp 4-component vector of float color})
+0:48              Constant:
+0:48                0 (const int)
+0:48        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:?     'g_tTex1df4' (uniform texture1D)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:20  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:20    Function Parameters: 
+0:?     Sequence
+0:37      clamp (temp float)
+0:37        fpos: direct index for structure (layout(offset=52 ) uniform float)
+0:37          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+0:37          Constant:
+0:37            9 (const uint)
+0:37        Constant:
+0:37          0.000000
+0:37        Constant:
+0:37          1.000000
+0:40      Sequence
+0:40        move second child to first child (temp uint)
+0:40          'sizeQueryTemp' (temp uint)
+0:40          textureSize (temp uint)
+0:40            'g_tTex1df4' (uniform texture1D)
+0:40        move second child to first child (temp int)
+0:40          'WidthI' (temp int)
+0:40          Convert uint to int (temp int)
+0:40            'sizeQueryTemp' (temp uint)
+0:41      Sequence
+0:41        move second child to first child (temp uint)
+0:41          'sizeQueryTemp' (temp uint)
+0:41          textureSize (temp uint)
+0:41            'g_tTex1df4' (uniform texture1D)
+0:41            Constant:
+0:41              6 (const uint)
+0:41        move second child to first child (temp int)
+0:41          'WidthI' (temp int)
+0:41          Convert uint to int (temp int)
+0:41            'sizeQueryTemp' (temp uint)
+0:41        move second child to first child (temp uint)
+0:41          'NumberOfLevelsU' (temp uint)
+0:41          textureQueryLevels (temp uint)
+0:41            'g_tTex1df4' (uniform texture1D)
+0:42      Sequence
+0:42        move second child to first child (temp uint)
+0:42          'sizeQueryTemp' (temp uint)
+0:42          textureSize (temp uint)
+0:42            'g_tTex1df4' (uniform texture1D)
+0:42            Constant:
+0:42              6 (const uint)
+0:42        move second child to first child (temp uint)
+0:42          'WidthU' (temp uint)
+0:42          'sizeQueryTemp' (temp uint)
+0:42        move second child to first child (temp int)
+0:42          'NumberOfLevelsI' (temp int)
+0:42          Convert uint to int (temp int)
+0:42            textureQueryLevels (temp uint)
+0:42              'g_tTex1df4' (uniform texture1D)
+0:43      Sequence
+0:43        move second child to first child (temp uint)
+0:43          'sizeQueryTemp' (temp uint)
+0:43          textureSize (temp uint)
+0:43            'g_tTex1df4' (uniform texture1D)
+0:43            Constant:
+0:43              6 (const uint)
+0:43        move second child to first child (temp int)
+0:43          'WidthI' (temp int)
+0:43          Convert uint to int (temp int)
+0:43            'sizeQueryTemp' (temp uint)
+0:43        move second child to first child (temp int)
+0:43          'NumberOfLevelsI' (temp int)
+0:43          Convert uint to int (temp int)
+0:43            textureQueryLevels (temp uint)
+0:43              'g_tTex1df4' (uniform texture1D)
+0:47      move second child to first child (temp 4-component vector of float)
+0:47        color: direct index for structure (temp 4-component vector of float)
+0:47          'ps_output' (temp structure{temp 4-component vector of float color})
+0:47          Constant:
+0:47            0 (const int)
+0:47        Constant:
+0:47          0.000000
+0:47          0.000000
+0:47          0.000000
+0:47          0.000000
+0:48      Sequence
+0:48        Sequence
+0:48          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:48            color: direct index for structure (temp 4-component vector of float)
+0:48              'ps_output' (temp structure{temp 4-component vector of float color})
+0:48              Constant:
+0:48                0 (const int)
+0:48        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
+0:?     'g_tTex1df4' (uniform texture1D)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int i, layout(offset=4 ) uniform uint u, layout(offset=8 ) uniform float f, layout(offset=12 ) uniform bool b, layout(offset=16 ) uniform 2-component vector of int i2, layout(offset=24 ) uniform 2-component vector of uint u2, layout(offset=32 ) uniform 2-component vector of float f2, layout(offset=40 ) uniform 2-component vector of bool b2, layout(offset=48 ) uniform uint upos, layout(offset=52 ) uniform float fpos})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 76
+
+                              Capability Shader
+                              Capability Sampled1D
+                              Capability SampledBuffer
+                              Capability ImageQuery
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 68
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 12  "$Global"
+                              MemberName 12($Global) 0  "i"
+                              MemberName 12($Global) 1  "u"
+                              MemberName 12($Global) 2  "f"
+                              MemberName 12($Global) 3  "b"
+                              MemberName 12($Global) 4  "i2"
+                              MemberName 12($Global) 5  "u2"
+                              MemberName 12($Global) 6  "f2"
+                              MemberName 12($Global) 7  "b2"
+                              MemberName 12($Global) 8  "upos"
+                              MemberName 12($Global) 9  "fpos"
+                              Name 14  ""
+                              Name 23  "sizeQueryTemp"
+                              Name 26  "g_tTex1df4"
+                              Name 30  "WidthI"
+                              Name 33  "sizeQueryTemp"
+                              Name 39  "NumberOfLevelsU"
+                              Name 42  "sizeQueryTemp"
+                              Name 45  "WidthU"
+                              Name 47  "NumberOfLevelsI"
+                              Name 51  "sizeQueryTemp"
+                              Name 60  "PS_OUTPUT"
+                              MemberName 60(PS_OUTPUT) 0  "color"
+                              Name 62  "ps_output"
+                              Name 68  "color"
+                              Name 75  "g_tTexbfs"
+                              MemberDecorate 12($Global) 0 Offset 0
+                              MemberDecorate 12($Global) 1 Offset 4
+                              MemberDecorate 12($Global) 2 Offset 8
+                              MemberDecorate 12($Global) 3 Offset 12
+                              MemberDecorate 12($Global) 4 Offset 16
+                              MemberDecorate 12($Global) 5 Offset 24
+                              MemberDecorate 12($Global) 6 Offset 32
+                              MemberDecorate 12($Global) 7 Offset 40
+                              MemberDecorate 12($Global) 8 Offset 48
+                              MemberDecorate 12($Global) 9 Offset 52
+                              Decorate 12($Global) Block
+                              Decorate 14 DescriptorSet 0
+                              Decorate 26(g_tTex1df4) DescriptorSet 0
+                              Decorate 68(color) Location 0
+                              Decorate 75(g_tTexbfs) DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypeInt 32 0
+               8:             TypeFloat 32
+               9:             TypeVector 6(int) 2
+              10:             TypeVector 7(int) 2
+              11:             TypeVector 8(float) 2
+     12($Global):             TypeStruct 6(int) 7(int) 8(float) 7(int) 9(ivec2) 10(ivec2) 11(fvec2) 10(ivec2) 7(int) 8(float)
+              13:             TypePointer Uniform 12($Global)
+              14:     13(ptr) Variable Uniform
+              15:      6(int) Constant 9
+              16:             TypePointer Uniform 8(float)
+              19:    8(float) Constant 0
+              20:    8(float) Constant 1065353216
+              22:             TypePointer Function 7(int)
+              24:             TypeImage 8(float) 1D sampled format:Unknown
+              25:             TypePointer UniformConstant 24
+  26(g_tTex1df4):     25(ptr) Variable UniformConstant
+              29:             TypePointer Function 6(int)
+              35:      7(int) Constant 6
+              59:             TypeVector 8(float) 4
+   60(PS_OUTPUT):             TypeStruct 59(fvec4)
+              61:             TypePointer Function 60(PS_OUTPUT)
+              63:      6(int) Constant 0
+              64:   59(fvec4) ConstantComposite 19 19 19 19
+              65:             TypePointer Function 59(fvec4)
+              67:             TypePointer Output 59(fvec4)
+       68(color):     67(ptr) Variable Output
+              72:             TypeImage 8(float) Buffer sampled format:R32f
+              73:             TypeSampledImage 72
+              74:             TypePointer UniformConstant 73
+   75(g_tTexbfs):     74(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+23(sizeQueryTemp):     22(ptr) Variable Function
+      30(WidthI):     29(ptr) Variable Function
+33(sizeQueryTemp):     22(ptr) Variable Function
+39(NumberOfLevelsU):     22(ptr) Variable Function
+42(sizeQueryTemp):     22(ptr) Variable Function
+      45(WidthU):     22(ptr) Variable Function
+47(NumberOfLevelsI):     29(ptr) Variable Function
+51(sizeQueryTemp):     22(ptr) Variable Function
+   62(ps_output):     61(ptr) Variable Function
+              17:     16(ptr) AccessChain 14 15
+              18:    8(float) Load 17
+              21:    8(float) ExtInst 1(GLSL.std.450) 43(FClamp) 18 19 20
+              27:          24 Load 26(g_tTex1df4)
+              28:      6(int) ImageQuerySize 27
+                              Store 23(sizeQueryTemp) 28
+              31:      7(int) Load 23(sizeQueryTemp)
+              32:      6(int) Bitcast 31
+                              Store 30(WidthI) 32
+              34:          24 Load 26(g_tTex1df4)
+              36:      6(int) ImageQuerySizeLod 34 35
+                              Store 33(sizeQueryTemp) 36
+              37:      7(int) Load 33(sizeQueryTemp)
+              38:      6(int) Bitcast 37
+                              Store 30(WidthI) 38
+              40:          24 Load 26(g_tTex1df4)
+              41:      6(int) ImageQueryLevels 40
+                              Store 39(NumberOfLevelsU) 41
+              43:          24 Load 26(g_tTex1df4)
+              44:      6(int) ImageQuerySizeLod 43 35
+                              Store 42(sizeQueryTemp) 44
+              46:      7(int) Load 42(sizeQueryTemp)
+                              Store 45(WidthU) 46
+              48:          24 Load 26(g_tTex1df4)
+              49:      6(int) ImageQueryLevels 48
+              50:      6(int) Bitcast 49
+                              Store 47(NumberOfLevelsI) 50
+              52:          24 Load 26(g_tTex1df4)
+              53:      6(int) ImageQuerySizeLod 52 35
+                              Store 51(sizeQueryTemp) 53
+              54:      7(int) Load 51(sizeQueryTemp)
+              55:      6(int) Bitcast 54
+                              Store 30(WidthI) 55
+              56:          24 Load 26(g_tTex1df4)
+              57:      6(int) ImageQueryLevels 56
+              58:      6(int) Bitcast 57
+                              Store 47(NumberOfLevelsI) 58
+              66:     65(ptr) AccessChain 62(ps_output) 63
+                              Store 66 64
+              69:     65(ptr) AccessChain 62(ps_output) 63
+              70:   59(fvec4) Load 69
+                              Store 68(color) 70
+                              Return
+                              FunctionEnd

Fișier diff suprimat deoarece este prea mare
+ 510 - 506
3rdparty/glslang/Test/baseResults/hlsl.intrinsics.vert.out


+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.layout.frag.out

@@ -33,6 +33,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -119,6 +120,7 @@ gl_FragCoord origin is upper left
               38:     17(int) SpecConstant 10
          4(main):           2 Function None 3
                5:             Label
+                              Return
                               FunctionEnd
 11(PixelShaderFunction(vf4;):    7(fvec4) Function None 9
        10(input):      8(ptr) FunctionParameter

+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.matType.frag.out

@@ -15,6 +15,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -90,6 +91,7 @@ gl_FragCoord origin is upper left
               29:     28(ptr) Variable Uniform
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
+                              Return
                               FunctionEnd
 11(ShaderFunction(vf1;f1;):    6(float) Function None 8
      9(inFloat1):      7(ptr) FunctionParameter

+ 418 - 0
3rdparty/glslang/Test/baseResults/hlsl.partialInit.frag.out

@@ -0,0 +1,418 @@
+hlsl.partialInit.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:8  Sequence
+0:8    move second child to first child (temp 4-component vector of float)
+0:8      'gv' (global 4-component vector of float)
+0:8      Constant:
+0:8        0.000000
+0:8        0.000000
+0:8        1.000000
+0:8        0.000000
+0:9  Sequence
+0:9    move second child to first child (temp 3-element array of float)
+0:9      'gfa' (global 3-element array of float)
+0:9      Constant:
+0:9        0.000000
+0:9        0.000000
+0:9        0.000000
+0:18  Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:18    Function Parameters: 
+0:18      'input' (layout(location=0 ) in 4-component vector of float)
+0:?     Sequence
+0:19      Sequence
+0:19        move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:19          'o2' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:19          Constant:
+0:19            3 (const int)
+0:19            0.000000
+0:19            false (const bool)
+0:19            0.000000
+0:19            0.000000
+0:19            0.000000
+0:19            0.000000
+0:21      move second child to first child (temp 4-component vector of float)
+0:21        v: direct index for structure (temp 4-component vector of float)
+0:21          'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:21          Constant:
+0:21            3 (const int)
+0:21        vector-scale (temp 4-component vector of float)
+0:21          'gv' (global 4-component vector of float)
+0:21          direct index (temp float)
+0:21            'gfa' (global 3-element array of float)
+0:21            Constant:
+0:21              2 (const int)
+0:22      Sequence
+0:22        move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:22          'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:22          Constant:
+0:22            0 (const int)
+0:22            0.000000
+0:22            false (const bool)
+0:22            0.000000
+0:22            0.000000
+0:22            0.000000
+0:22            0.000000
+0:23      Sequence
+0:23        move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:23          'o3' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:23          Constant:
+0:23            0 (const int)
+0:23            0.000000
+0:23            false (const bool)
+0:23            0.000000
+0:23            0.000000
+0:23            0.000000
+0:23            0.000000
+0:24      move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:24        'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:24        Constant:
+0:24          0 (const int)
+0:24          0.000000
+0:24          false (const bool)
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
+0:25      move second child to first child (temp bool)
+0:25        c: direct index for structure (temp bool)
+0:25          'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:25          Constant:
+0:25            2 (const int)
+0:25        c: direct index for structure (temp bool)
+0:25          'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:25          Constant:
+0:25            2 (const int)
+0:26      Sequence
+0:26        move second child to first child (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b})
+0:26          'nest' (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b})
+0:26          Constant:
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0 (const int)
+0:26            0.000000
+0:26            false (const bool)
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            false (const bool)
+0:28      Sequence
+0:28        Sequence
+0:28          move second child to first child (temp int)
+0:?             'a' (layout(location=0 ) out int)
+0:28            a: direct index for structure (temp int)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                0 (const int)
+0:28          move second child to first child (temp float)
+0:?             'b' (layout(location=1 ) out float)
+0:28            b: direct index for structure (temp float)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                1 (const int)
+0:28          move second child to first child (temp bool)
+0:?             'c' (layout(location=2 ) out bool)
+0:28            c: direct index for structure (temp bool)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                2 (const int)
+0:28          move second child to first child (temp 4-component vector of float)
+0:?             'v' (layout(location=3 ) out 4-component vector of float)
+0:28            v: direct index for structure (temp 4-component vector of float)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                3 (const int)
+0:28        Branch: Return
+0:?   Linker Objects
+0:?     'a' (layout(location=0 ) out int)
+0:?     'b' (layout(location=1 ) out float)
+0:?     'c' (layout(location=2 ) out bool)
+0:?     'v' (layout(location=3 ) out 4-component vector of float)
+0:?     'input' (layout(location=0 ) in 4-component vector of float)
+0:?     'gv' (global 4-component vector of float)
+0:?     'gfa' (global 3-element array of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:8  Sequence
+0:8    move second child to first child (temp 4-component vector of float)
+0:8      'gv' (global 4-component vector of float)
+0:8      Constant:
+0:8        0.000000
+0:8        0.000000
+0:8        1.000000
+0:8        0.000000
+0:9  Sequence
+0:9    move second child to first child (temp 3-element array of float)
+0:9      'gfa' (global 3-element array of float)
+0:9      Constant:
+0:9        0.000000
+0:9        0.000000
+0:9        0.000000
+0:18  Function Definition: PixelShaderFunction(vf4; (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:18    Function Parameters: 
+0:18      'input' (layout(location=0 ) in 4-component vector of float)
+0:?     Sequence
+0:19      Sequence
+0:19        move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:19          'o2' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:19          Constant:
+0:19            3 (const int)
+0:19            0.000000
+0:19            false (const bool)
+0:19            0.000000
+0:19            0.000000
+0:19            0.000000
+0:19            0.000000
+0:21      move second child to first child (temp 4-component vector of float)
+0:21        v: direct index for structure (temp 4-component vector of float)
+0:21          'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:21          Constant:
+0:21            3 (const int)
+0:21        vector-scale (temp 4-component vector of float)
+0:21          'gv' (global 4-component vector of float)
+0:21          direct index (temp float)
+0:21            'gfa' (global 3-element array of float)
+0:21            Constant:
+0:21              2 (const int)
+0:22      Sequence
+0:22        move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:22          'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:22          Constant:
+0:22            0 (const int)
+0:22            0.000000
+0:22            false (const bool)
+0:22            0.000000
+0:22            0.000000
+0:22            0.000000
+0:22            0.000000
+0:23      Sequence
+0:23        move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:23          'o3' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:23          Constant:
+0:23            0 (const int)
+0:23            0.000000
+0:23            false (const bool)
+0:23            0.000000
+0:23            0.000000
+0:23            0.000000
+0:23            0.000000
+0:24      move second child to first child (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:24        'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:24        Constant:
+0:24          0 (const int)
+0:24          0.000000
+0:24          false (const bool)
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
+0:24          0.000000
+0:25      move second child to first child (temp bool)
+0:25        c: direct index for structure (temp bool)
+0:25          'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:25          Constant:
+0:25            2 (const int)
+0:25        c: direct index for structure (temp bool)
+0:25          'o1' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:25          Constant:
+0:25            2 (const int)
+0:26      Sequence
+0:26        move second child to first child (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b})
+0:26          'nest' (temp structure{temp 4X3 matrix of float m, temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v} os, temp bool b})
+0:26          Constant:
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0 (const int)
+0:26            0.000000
+0:26            false (const bool)
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            false (const bool)
+0:28      Sequence
+0:28        Sequence
+0:28          move second child to first child (temp int)
+0:?             'a' (layout(location=0 ) out int)
+0:28            a: direct index for structure (temp int)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                0 (const int)
+0:28          move second child to first child (temp float)
+0:?             'b' (layout(location=1 ) out float)
+0:28            b: direct index for structure (temp float)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                1 (const int)
+0:28          move second child to first child (temp bool)
+0:?             'c' (layout(location=2 ) out bool)
+0:28            c: direct index for structure (temp bool)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                2 (const int)
+0:28          move second child to first child (temp 4-component vector of float)
+0:?             'v' (layout(location=3 ) out 4-component vector of float)
+0:28            v: direct index for structure (temp 4-component vector of float)
+0:28              'o4' (temp structure{temp int a, temp float b, temp bool c, temp 4-component vector of float v})
+0:28              Constant:
+0:28                3 (const int)
+0:28        Branch: Return
+0:?   Linker Objects
+0:?     'a' (layout(location=0 ) out int)
+0:?     'b' (layout(location=1 ) out float)
+0:?     'c' (layout(location=2 ) out bool)
+0:?     'v' (layout(location=3 ) out 4-component vector of float)
+0:?     'input' (layout(location=0 ) in 4-component vector of float)
+0:?     'gv' (global 4-component vector of float)
+0:?     'gfa' (global 3-element array of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 75
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "PixelShaderFunction" 54 59 65 69 74
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "PixelShaderFunction"
+                              Name 9  "gv"
+                              Name 17  "gfa"
+                              Name 21  "outs"
+                              MemberName 21(outs) 0  "a"
+                              MemberName 21(outs) 1  "b"
+                              MemberName 21(outs) 2  "c"
+                              MemberName 21(outs) 3  "v"
+                              Name 23  "o2"
+                              Name 28  "o4"
+                              Name 37  "o1"
+                              Name 40  "o3"
+                              Name 47  "Nest"
+                              MemberName 47(Nest) 0  "m"
+                              MemberName 47(Nest) 1  "os"
+                              MemberName 47(Nest) 2  "b"
+                              Name 49  "nest"
+                              Name 54  "a"
+                              Name 59  "b"
+                              Name 65  "c"
+                              Name 69  "v"
+                              Name 74  "input"
+                              Decorate 54(a) Location 0
+                              Decorate 59(b) Location 1
+                              Decorate 65(c) Location 2
+                              Decorate 69(v) Location 3
+                              Decorate 74(input) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Private 7(fvec4)
+           9(gv):      8(ptr) Variable Private
+              10:    6(float) Constant 0
+              11:    6(float) Constant 1065353216
+              12:    7(fvec4) ConstantComposite 10 10 11 10
+              13:             TypeInt 32 0
+              14:     13(int) Constant 3
+              15:             TypeArray 6(float) 14
+              16:             TypePointer Private 15
+         17(gfa):     16(ptr) Variable Private
+              18:          15 ConstantComposite 10 10 10
+              19:             TypeInt 32 1
+              20:             TypeBool
+        21(outs):             TypeStruct 19(int) 6(float) 20(bool) 7(fvec4)
+              22:             TypePointer Function 21(outs)
+              24:     19(int) Constant 3
+              25:    20(bool) ConstantFalse
+              26:    7(fvec4) ConstantComposite 10 10 10 10
+              27:    21(outs) ConstantComposite 24 10 25 26
+              30:     19(int) Constant 2
+              31:             TypePointer Private 6(float)
+              35:             TypePointer Function 7(fvec4)
+              38:     19(int) Constant 0
+              39:    21(outs) ConstantComposite 38 10 25 26
+              41:             TypePointer Function 20(bool)
+              45:             TypeVector 6(float) 3
+              46:             TypeMatrix 45(fvec3) 4
+        47(Nest):             TypeStruct 46 21(outs) 20(bool)
+              48:             TypePointer Function 47(Nest)
+              50:   45(fvec3) ConstantComposite 10 10 10
+              51:          46 ConstantComposite 50 50 50 50
+              52:    47(Nest) ConstantComposite 51 39 25
+              53:             TypePointer Output 19(int)
+           54(a):     53(ptr) Variable Output
+              55:             TypePointer Function 19(int)
+              58:             TypePointer Output 6(float)
+           59(b):     58(ptr) Variable Output
+              60:     19(int) Constant 1
+              61:             TypePointer Function 6(float)
+              64:             TypePointer Output 20(bool)
+           65(c):     64(ptr) Variable Output
+              68:             TypePointer Output 7(fvec4)
+           69(v):     68(ptr) Variable Output
+              73:             TypePointer Input 7(fvec4)
+       74(input):     73(ptr) Variable Input
+4(PixelShaderFunction):           2 Function None 3
+               5:             Label
+          23(o2):     22(ptr) Variable Function
+          28(o4):     22(ptr) Variable Function
+          37(o1):     22(ptr) Variable Function
+          40(o3):     22(ptr) Variable Function
+        49(nest):     48(ptr) Variable Function
+                              Store 9(gv) 12
+                              Store 17(gfa) 18
+                              Store 23(o2) 27
+              29:    7(fvec4) Load 9(gv)
+              32:     31(ptr) AccessChain 17(gfa) 30
+              33:    6(float) Load 32
+              34:    7(fvec4) VectorTimesScalar 29 33
+              36:     35(ptr) AccessChain 28(o4) 24
+                              Store 36 34
+                              Store 37(o1) 39
+                              Store 40(o3) 39
+                              Store 28(o4) 39
+              42:     41(ptr) AccessChain 37(o1) 30
+              43:    20(bool) Load 42
+              44:     41(ptr) AccessChain 28(o4) 30
+                              Store 44 43
+                              Store 49(nest) 52
+              56:     55(ptr) AccessChain 28(o4) 38
+              57:     19(int) Load 56
+                              Store 54(a) 57
+              62:     61(ptr) AccessChain 28(o4) 60
+              63:    6(float) Load 62
+                              Store 59(b) 63
+              66:     41(ptr) AccessChain 28(o4) 30
+              67:    20(bool) Load 66
+                              Store 65(c) 67
+              70:     35(ptr) AccessChain 28(o4) 24
+              71:    7(fvec4) Load 70
+                              Store 69(v) 71
+                              Return
+                              FunctionEnd

+ 109 - 0
3rdparty/glslang/Test/baseResults/hlsl.promote.atomic.frag.out

@@ -0,0 +1,109 @@
+hlsl.promote.atomic.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5  Function Definition: main( (temp 4-component vector of float)
+0:5    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child (temp int)
+0:13        'Orig' (temp int)
+0:13        Convert uint to int (temp int)
+0:13          imageAtomicAdd (temp uint)
+0:13            's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
+0:13            'Loc' (temp int)
+0:13            Convert int to uint (temp uint)
+0:13              'Inc' (temp int)
+0:15      Sequence
+0:15        move second child to first child (temp 4-component vector of float)
+0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?           Constant:
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:15        Branch: Return
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:5  Function Definition: main( (temp 4-component vector of float)
+0:5    Function Parameters: 
+0:?     Sequence
+0:13      move second child to first child (temp int)
+0:13        'Orig' (temp int)
+0:13        Convert uint to int (temp int)
+0:13          imageAtomicAdd (temp uint)
+0:13            's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
+0:13            'Loc' (temp int)
+0:13            Convert int to uint (temp uint)
+0:13              'Inc' (temp int)
+0:15      Sequence
+0:15        move second child to first child (temp 4-component vector of float)
+0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?           Constant:
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:15        Branch: Return
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     's_uintbuff' (layout(r32ui ) uniform uimageBuffer)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 31
+
+                              Capability Shader
+                              Capability SampledBuffer
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 27
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "Orig"
+                              Name 12  "s_uintbuff"
+                              Name 13  "Loc"
+                              Name 15  "Inc"
+                              Name 27  "@entryPointOutput"
+                              Decorate 12(s_uintbuff) DescriptorSet 0
+                              Decorate 27(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:             TypeInt 32 0
+              10:             TypeImage 9(int) Buffer nonsampled format:R32ui
+              11:             TypePointer UniformConstant 10
+  12(s_uintbuff):     11(ptr) Variable UniformConstant
+              18:      9(int) Constant 0
+              19:             TypePointer Image 9(int)
+              21:      9(int) Constant 1
+              24:             TypeFloat 32
+              25:             TypeVector 24(float) 4
+              26:             TypePointer Output 25(fvec4)
+27(@entryPointOutput):     26(ptr) Variable Output
+              28:   24(float) Constant 0
+              29:   25(fvec4) ConstantComposite 28 28 28 28
+         4(main):           2 Function None 3
+               5:             Label
+         8(Orig):      7(ptr) Variable Function
+         13(Loc):      7(ptr) Variable Function
+         15(Inc):      7(ptr) Variable Function
+              14:      6(int) Load 13(Loc)
+              16:      6(int) Load 15(Inc)
+              17:      9(int) Bitcast 16
+              20:     19(ptr) ImageTexelPointer 12(s_uintbuff) 14 18
+              22:      9(int) AtomicIAdd 20 21 18 17
+              23:      6(int) Bitcast 22
+                              Store 8(Orig) 23
+                              Store 27(@entryPointOutput) 29
+                              Return
+                              FunctionEnd

+ 0 - 4
3rdparty/glslang/Test/baseResults/hlsl.reflection.binding.frag.out

@@ -1,8 +1,4 @@
 hlsl.reflection.binding.frag
-
-Linked fragment stage:
-
-
 Uniform reflection:
 t1: offset -1, type 8b5d, size 1, index -1, binding 15
 s1: offset -1, type 0, size 1, index -1, binding 5

+ 0 - 4
3rdparty/glslang/Test/baseResults/hlsl.reflection.vert.out

@@ -1,8 +1,4 @@
 hlsl.reflection.vert
-
-Linked vertex stage:
-
-
 Uniform reflection:
 anonMember3: offset 80, type 8b52, size 1, index 0, binding -1
 s.a: offset 0, type 1404, size 1, index 1, binding -1

+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.shapeConv.frag.out

@@ -115,6 +115,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -282,6 +283,7 @@ gl_FragCoord origin is upper left
               62:             TypeVector 41(bool) 4
          4(main):           2 Function None 3
                5:             Label
+                              Return
                               FunctionEnd
 13(PixelShaderFunction(vf4;f1;):    7(fvec4) Function None 10
        11(input):      8(ptr) FunctionParameter

+ 197 - 0
3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.frag.out

@@ -0,0 +1,197 @@
+hlsl.structarray.flatten.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:23  Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
+0:23    Function Parameters: 
+0:23      'ps_output' (out structure{temp 4-component vector of float color})
+0:?     Sequence
+0:24      move second child to first child (temp 4-component vector of float)
+0:?         'color' (layout(location=0 ) out 4-component vector of float)
+0:26        add (temp 4-component vector of float)
+0:25          add (temp 4-component vector of float)
+0:25            texture (temp 4-component vector of float)
+0:25              Construct combined texture-sampler (temp sampler1D)
+0:?                 'tex' (uniform texture1D)
+0:?                 'samp' (uniform sampler)
+0:25              Constant:
+0:25                0.500000
+0:26            texture (temp 4-component vector of float)
+0:26              Construct combined texture-sampler (temp sampler1D)
+0:?                 'g_texdata_array[1].tex' (uniform texture1D)
+0:?                 'g_texdata_array[1].samp' (uniform sampler)
+0:26              Constant:
+0:26                0.400000
+0:27          texture (temp 4-component vector of float)
+0:27            Construct combined texture-sampler (temp sampler1D)
+0:?               'g_texdata_array2[1].tex[0]' (uniform texture1D)
+0:?               'g_texdata_array2[1].samp[0]' (uniform sampler)
+0:27            Constant:
+0:27              0.300000
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_samp' (uniform sampler)
+0:?     'g_tex' (uniform texture1D)
+0:?     'g_texdata_array2[0].samp[0]' (uniform sampler)
+0:?     'g_texdata_array2[0].samp[1]' (uniform sampler)
+0:?     'g_texdata_array2[0].tex[0]' (uniform texture1D)
+0:?     'g_texdata_array2[0].tex[1]' (uniform texture1D)
+0:?     'g_texdata_array2[1].samp[0]' (uniform sampler)
+0:?     'g_texdata_array2[1].samp[1]' (uniform sampler)
+0:?     'g_texdata_array2[1].tex[0]' (uniform texture1D)
+0:?     'g_texdata_array2[1].tex[1]' (uniform texture1D)
+0:?     'g_texdata_array2[2].samp[0]' (uniform sampler)
+0:?     'g_texdata_array2[2].samp[1]' (uniform sampler)
+0:?     'g_texdata_array2[2].tex[0]' (uniform texture1D)
+0:?     'g_texdata_array2[2].tex[1]' (uniform texture1D)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:23  Function Definition: main(struct-PS_OUTPUT-vf41; (temp void)
+0:23    Function Parameters: 
+0:23      'ps_output' (out structure{temp 4-component vector of float color})
+0:?     Sequence
+0:24      move second child to first child (temp 4-component vector of float)
+0:?         'color' (layout(location=0 ) out 4-component vector of float)
+0:26        add (temp 4-component vector of float)
+0:25          add (temp 4-component vector of float)
+0:25            texture (temp 4-component vector of float)
+0:25              Construct combined texture-sampler (temp sampler1D)
+0:?                 'tex' (uniform texture1D)
+0:?                 'samp' (uniform sampler)
+0:25              Constant:
+0:25                0.500000
+0:26            texture (temp 4-component vector of float)
+0:26              Construct combined texture-sampler (temp sampler1D)
+0:?                 'g_texdata_array[1].tex' (uniform texture1D)
+0:?                 'g_texdata_array[1].samp' (uniform sampler)
+0:26              Constant:
+0:26                0.400000
+0:27          texture (temp 4-component vector of float)
+0:27            Construct combined texture-sampler (temp sampler1D)
+0:?               'g_texdata_array2[1].tex[0]' (uniform texture1D)
+0:?               'g_texdata_array2[1].samp[0]' (uniform sampler)
+0:27            Constant:
+0:27              0.300000
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_samp' (uniform sampler)
+0:?     'g_tex' (uniform texture1D)
+0:?     'g_texdata_array2[0].samp[0]' (uniform sampler)
+0:?     'g_texdata_array2[0].samp[1]' (uniform sampler)
+0:?     'g_texdata_array2[0].tex[0]' (uniform texture1D)
+0:?     'g_texdata_array2[0].tex[1]' (uniform texture1D)
+0:?     'g_texdata_array2[1].samp[0]' (uniform sampler)
+0:?     'g_texdata_array2[1].samp[1]' (uniform sampler)
+0:?     'g_texdata_array2[1].tex[0]' (uniform texture1D)
+0:?     'g_texdata_array2[1].tex[1]' (uniform texture1D)
+0:?     'g_texdata_array2[2].samp[0]' (uniform sampler)
+0:?     'g_texdata_array2[2].samp[1]' (uniform sampler)
+0:?     'g_texdata_array2[2].tex[0]' (uniform texture1D)
+0:?     'g_texdata_array2[2].tex[1]' (uniform texture1D)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 50
+
+                              Capability Shader
+                              Capability Sampled1D
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 9
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 12  "tex"
+                              Name 16  "samp"
+                              Name 22  "g_texdata_array[1].tex"
+                              Name 24  "g_texdata_array[1].samp"
+                              Name 30  "g_texdata_array2[1].tex[0]"
+                              Name 32  "g_texdata_array2[1].samp[0]"
+                              Name 38  "g_samp"
+                              Name 39  "g_tex"
+                              Name 40  "g_texdata_array2[0].samp[0]"
+                              Name 41  "g_texdata_array2[0].samp[1]"
+                              Name 42  "g_texdata_array2[0].tex[0]"
+                              Name 43  "g_texdata_array2[0].tex[1]"
+                              Name 44  "g_texdata_array2[1].samp[1]"
+                              Name 45  "g_texdata_array2[1].tex[1]"
+                              Name 46  "g_texdata_array2[2].samp[0]"
+                              Name 47  "g_texdata_array2[2].samp[1]"
+                              Name 48  "g_texdata_array2[2].tex[0]"
+                              Name 49  "g_texdata_array2[2].tex[1]"
+                              Decorate 9(color) Location 0
+                              Decorate 12(tex) DescriptorSet 0
+                              Decorate 16(samp) DescriptorSet 0
+                              Decorate 22(g_texdata_array[1].tex) DescriptorSet 0
+                              Decorate 24(g_texdata_array[1].samp) DescriptorSet 0
+                              Decorate 30(g_texdata_array2[1].tex[0]) DescriptorSet 0
+                              Decorate 32(g_texdata_array2[1].samp[0]) DescriptorSet 0
+                              Decorate 38(g_samp) DescriptorSet 0
+                              Decorate 39(g_tex) DescriptorSet 0
+                              Decorate 40(g_texdata_array2[0].samp[0]) DescriptorSet 0
+                              Decorate 41(g_texdata_array2[0].samp[1]) DescriptorSet 0
+                              Decorate 42(g_texdata_array2[0].tex[0]) DescriptorSet 0
+                              Decorate 43(g_texdata_array2[0].tex[1]) DescriptorSet 0
+                              Decorate 44(g_texdata_array2[1].samp[1]) DescriptorSet 0
+                              Decorate 45(g_texdata_array2[1].tex[1]) DescriptorSet 0
+                              Decorate 46(g_texdata_array2[2].samp[0]) DescriptorSet 0
+                              Decorate 47(g_texdata_array2[2].samp[1]) DescriptorSet 0
+                              Decorate 48(g_texdata_array2[2].tex[0]) DescriptorSet 0
+                              Decorate 49(g_texdata_array2[2].tex[1]) DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Output 7(fvec4)
+        9(color):      8(ptr) Variable Output
+              10:             TypeImage 6(float) 1D sampled format:Unknown
+              11:             TypePointer UniformConstant 10
+         12(tex):     11(ptr) Variable UniformConstant
+              14:             TypeSampler
+              15:             TypePointer UniformConstant 14
+        16(samp):     15(ptr) Variable UniformConstant
+              18:             TypeSampledImage 10
+              20:    6(float) Constant 1056964608
+22(g_texdata_array[1].tex):     11(ptr) Variable UniformConstant
+24(g_texdata_array[1].samp):     15(ptr) Variable UniformConstant
+              27:    6(float) Constant 1053609165
+30(g_texdata_array2[1].tex[0]):     11(ptr) Variable UniformConstant
+32(g_texdata_array2[1].samp[0]):     15(ptr) Variable UniformConstant
+              35:    6(float) Constant 1050253722
+      38(g_samp):     15(ptr) Variable UniformConstant
+       39(g_tex):     11(ptr) Variable UniformConstant
+40(g_texdata_array2[0].samp[0]):     15(ptr) Variable UniformConstant
+41(g_texdata_array2[0].samp[1]):     15(ptr) Variable UniformConstant
+42(g_texdata_array2[0].tex[0]):     11(ptr) Variable UniformConstant
+43(g_texdata_array2[0].tex[1]):     11(ptr) Variable UniformConstant
+44(g_texdata_array2[1].samp[1]):     15(ptr) Variable UniformConstant
+45(g_texdata_array2[1].tex[1]):     11(ptr) Variable UniformConstant
+46(g_texdata_array2[2].samp[0]):     15(ptr) Variable UniformConstant
+47(g_texdata_array2[2].samp[1]):     15(ptr) Variable UniformConstant
+48(g_texdata_array2[2].tex[0]):     11(ptr) Variable UniformConstant
+49(g_texdata_array2[2].tex[1]):     11(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+              13:          10 Load 12(tex)
+              17:          14 Load 16(samp)
+              19:          18 SampledImage 13 17
+              21:    7(fvec4) ImageSampleImplicitLod 19 20
+              23:          10 Load 22(g_texdata_array[1].tex)
+              25:          14 Load 24(g_texdata_array[1].samp)
+              26:          18 SampledImage 23 25
+              28:    7(fvec4) ImageSampleImplicitLod 26 27
+              29:    7(fvec4) FAdd 21 28
+              31:          10 Load 30(g_texdata_array2[1].tex[0])
+              33:          14 Load 32(g_texdata_array2[1].samp[0])
+              34:          18 SampledImage 31 33
+              36:    7(fvec4) ImageSampleImplicitLod 34 35
+              37:    7(fvec4) FAdd 29 36
+                              Store 9(color) 37
+                              Return
+                              FunctionEnd

+ 100 - 0
3rdparty/glslang/Test/baseResults/hlsl.structarray.flatten.geom.out

@@ -0,0 +1,100 @@
+hlsl.structarray.flatten.geom
+ERROR: 0:10: 'vin' : recursive type not yet supported in GS input 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 450
+invocations = -1
+max_vertices = 4
+input primitive = lines
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:10  Function Definition: main(struct-VertexData-vf4-vf4-vf21[2];struct-VertexData-vf4-vf4-vf21; (temp void)
+0:10    Function Parameters: 
+0:10      'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:10      'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:?     Sequence
+0:13      move second child to first child (temp 4-component vector of float)
+0:13        color: direct index for structure (temp 4-component vector of float)
+0:13          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:13          Constant:
+0:13            1 (const int)
+0:?         'vin[0].color' (layout(location=1 ) in 4-component vector of float)
+0:14      move second child to first child (temp 2-component vector of float)
+0:14        uv: direct index for structure (temp 2-component vector of float)
+0:14          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:14          Constant:
+0:14            2 (const int)
+0:?         'vin[0].uv' (layout(location=2 ) in 2-component vector of float)
+0:15      move second child to first child (temp 4-component vector of float)
+0:15        position: direct index for structure (temp 4-component vector of float)
+0:15          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:15          Constant:
+0:15            0 (const int)
+0:?         'vin[0].position' (layout(location=0 ) in 4-component vector of float)
+0:16      Sequence
+0:16        move second child to first child (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:16          'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:16          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:16        EmitVertex (temp void)
+0:?   Linker Objects
+0:?     'vin[0].position' (layout(location=0 ) in 4-component vector of float)
+0:?     'vin[0].color' (layout(location=1 ) in 4-component vector of float)
+0:?     'vin[0].uv' (layout(location=2 ) in 2-component vector of float)
+0:?     'vin[1].position' (layout(location=3 ) in 4-component vector of float)
+0:?     'vin[1].color' (layout(location=4 ) in 4-component vector of float)
+0:?     'vin[1].uv' (layout(location=5 ) in 2-component vector of float)
+0:?     'position' (layout(location=0 ) out 4-component vector of float)
+0:?     'color' (layout(location=1 ) out 4-component vector of float)
+0:?     'uv' (layout(location=2 ) out 2-component vector of float)
+
+
+Linked geometry stage:
+
+
+Shader version: 450
+invocations = 1
+max_vertices = 4
+input primitive = lines
+output primitive = triangle_strip
+ERROR: node is still EOpNull!
+0:10  Function Definition: main(struct-VertexData-vf4-vf4-vf21[2];struct-VertexData-vf4-vf4-vf21; (temp void)
+0:10    Function Parameters: 
+0:10      'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:10      'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:?     Sequence
+0:13      move second child to first child (temp 4-component vector of float)
+0:13        color: direct index for structure (temp 4-component vector of float)
+0:13          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:13          Constant:
+0:13            1 (const int)
+0:?         'vin[0].color' (layout(location=1 ) in 4-component vector of float)
+0:14      move second child to first child (temp 2-component vector of float)
+0:14        uv: direct index for structure (temp 2-component vector of float)
+0:14          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:14          Constant:
+0:14            2 (const int)
+0:?         'vin[0].uv' (layout(location=2 ) in 2-component vector of float)
+0:15      move second child to first child (temp 4-component vector of float)
+0:15        position: direct index for structure (temp 4-component vector of float)
+0:15          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:15          Constant:
+0:15            0 (const int)
+0:?         'vin[0].position' (layout(location=0 ) in 4-component vector of float)
+0:16      Sequence
+0:16        move second child to first child (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:16          'outStream' (out structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:16          'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
+0:16        EmitVertex (temp void)
+0:?   Linker Objects
+0:?     'vin[0].position' (layout(location=0 ) in 4-component vector of float)
+0:?     'vin[0].color' (layout(location=1 ) in 4-component vector of float)
+0:?     'vin[0].uv' (layout(location=2 ) in 2-component vector of float)
+0:?     'vin[1].position' (layout(location=3 ) in 4-component vector of float)
+0:?     'vin[1].color' (layout(location=4 ) in 4-component vector of float)
+0:?     'vin[1].uv' (layout(location=5 ) in 2-component vector of float)
+0:?     'position' (layout(location=0 ) out 4-component vector of float)
+0:?     'color' (layout(location=1 ) out 4-component vector of float)
+0:?     'uv' (layout(location=2 ) out 2-component vector of float)
+
+SPIR-V is not generated for failed compile or link

+ 113 - 85
3rdparty/glslang/Test/baseResults/hlsl.structin.vert.out

@@ -16,14 +16,8 @@ Shader version: 450
 0:11          add (temp 4-component vector of float)
 0:11            add (temp 4-component vector of float)
 0:11              add (temp 4-component vector of float)
-0:11                direct index (layout(location=1 ) temp 4-component vector of float)
-0:?                   'm' (layout(location=1 ) in 2-element array of 4-component vector of float)
-0:11                  Constant:
-0:11                    1 (const int)
-0:11                direct index (layout(location=1 ) temp 4-component vector of float)
-0:?                   'm' (layout(location=1 ) in 2-element array of 4-component vector of float)
-0:11                  Constant:
-0:11                    0 (const int)
+0:?                 'm[1]' (layout(location=2 ) in 4-component vector of float)
+0:?                 'm[0]' (layout(location=1 ) in 4-component vector of float)
 0:11              Construct vec4 (temp 4-component vector of float)
 0:11                Convert uint to float (temp float)
 0:11                  direct index (temp uint)
@@ -34,12 +28,24 @@ Shader version: 450
 0:11          'e' (layout(location=5 ) in 4-component vector of float)
 0:13      Sequence
 0:13        Sequence
-0:13          move second child to first child (temp 2-element array of 4-component vector of float)
-0:?             'm' (layout(location=0 ) out 2-element array of 4-component vector of float)
-0:13            m: direct index for structure (temp 2-element array of 4-component vector of float)
-0:13              'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
+0:13          move second child to first child (temp 4-component vector of float)
+0:?             'm[0]' (layout(location=0 ) out 4-component vector of float)
+0:13            direct index (temp 4-component vector of float)
+0:13              m: direct index for structure (temp 2-element array of 4-component vector of float)
+0:13                'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
+0:13                Constant:
+0:13                  0 (const int)
 0:13              Constant:
 0:13                0 (const int)
+0:13          move second child to first child (temp 4-component vector of float)
+0:?             'm[1]' (layout(location=1 ) out 4-component vector of float)
+0:13            direct index (temp 4-component vector of float)
+0:13              m: direct index for structure (temp 2-element array of 4-component vector of float)
+0:13                'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
+0:13                Constant:
+0:13                  0 (const int)
+0:13              Constant:
+0:13                1 (const int)
 0:13          move second child to first child (temp 2-component vector of uint)
 0:?             'coord' (layout(location=2 ) out 2-component vector of uint)
 0:13            coord: direct index for structure (temp 2-component vector of uint)
@@ -54,14 +60,20 @@ Shader version: 450
 0:13                2 (const int)
 0:13        Branch: Return
 0:?   Linker Objects
-0:?     'm' (layout(location=0 ) out 2-element array of 4-component vector of float)
+0:?     'm[0]' (layout(location=0 ) out 4-component vector of float)
+0:?     'm[1]' (layout(location=1 ) out 4-component vector of float)
 0:?     'coord' (layout(location=2 ) out 2-component vector of uint)
 0:?     'b' (layout(location=3 ) smooth out 4-component vector of float)
 0:?     'd' (layout(location=0 ) in 4-component vector of float)
-0:?     'm' (layout(location=1 ) in 2-element array of 4-component vector of float)
+0:?     'm[0]' (layout(location=1 ) in 4-component vector of float)
+0:?     'm[1]' (layout(location=2 ) in 4-component vector of float)
 0:?     'coord' (layout(location=3 ) in 2-component vector of uint)
 0:?     'b' (layout(location=4 ) in 4-component vector of float)
 0:?     'e' (layout(location=5 ) in 4-component vector of float)
+0:?     'm[0]' (layout(location=0 ) out 4-component vector of float)
+0:?     'm[1]' (layout(location=1 ) out 4-component vector of float)
+0:?     'm[0]' (layout(location=1 ) in 4-component vector of float)
+0:?     'm[1]' (layout(location=2 ) in 4-component vector of float)
 
 
 Linked vertex stage:
@@ -84,14 +96,8 @@ Shader version: 450
 0:11          add (temp 4-component vector of float)
 0:11            add (temp 4-component vector of float)
 0:11              add (temp 4-component vector of float)
-0:11                direct index (layout(location=1 ) temp 4-component vector of float)
-0:?                   'm' (layout(location=1 ) in 2-element array of 4-component vector of float)
-0:11                  Constant:
-0:11                    1 (const int)
-0:11                direct index (layout(location=1 ) temp 4-component vector of float)
-0:?                   'm' (layout(location=1 ) in 2-element array of 4-component vector of float)
-0:11                  Constant:
-0:11                    0 (const int)
+0:?                 'm[1]' (layout(location=2 ) in 4-component vector of float)
+0:?                 'm[0]' (layout(location=1 ) in 4-component vector of float)
 0:11              Construct vec4 (temp 4-component vector of float)
 0:11                Convert uint to float (temp float)
 0:11                  direct index (temp uint)
@@ -102,12 +108,24 @@ Shader version: 450
 0:11          'e' (layout(location=5 ) in 4-component vector of float)
 0:13      Sequence
 0:13        Sequence
-0:13          move second child to first child (temp 2-element array of 4-component vector of float)
-0:?             'm' (layout(location=0 ) out 2-element array of 4-component vector of float)
-0:13            m: direct index for structure (temp 2-element array of 4-component vector of float)
-0:13              'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
+0:13          move second child to first child (temp 4-component vector of float)
+0:?             'm[0]' (layout(location=0 ) out 4-component vector of float)
+0:13            direct index (temp 4-component vector of float)
+0:13              m: direct index for structure (temp 2-element array of 4-component vector of float)
+0:13                'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
+0:13                Constant:
+0:13                  0 (const int)
 0:13              Constant:
 0:13                0 (const int)
+0:13          move second child to first child (temp 4-component vector of float)
+0:?             'm[1]' (layout(location=1 ) out 4-component vector of float)
+0:13            direct index (temp 4-component vector of float)
+0:13              m: direct index for structure (temp 2-element array of 4-component vector of float)
+0:13                'local' (temp structure{temp 2-element array of 4-component vector of float m, temp 2-component vector of uint coord, temp 4-component vector of float b})
+0:13                Constant:
+0:13                  0 (const int)
+0:13              Constant:
+0:13                1 (const int)
 0:13          move second child to first child (temp 2-component vector of uint)
 0:?             'coord' (layout(location=2 ) out 2-component vector of uint)
 0:13            coord: direct index for structure (temp 2-component vector of uint)
@@ -122,45 +140,55 @@ Shader version: 450
 0:13                2 (const int)
 0:13        Branch: Return
 0:?   Linker Objects
-0:?     'm' (layout(location=0 ) out 2-element array of 4-component vector of float)
+0:?     'm[0]' (layout(location=0 ) out 4-component vector of float)
+0:?     'm[1]' (layout(location=1 ) out 4-component vector of float)
 0:?     'coord' (layout(location=2 ) out 2-component vector of uint)
 0:?     'b' (layout(location=3 ) smooth out 4-component vector of float)
 0:?     'd' (layout(location=0 ) in 4-component vector of float)
-0:?     'm' (layout(location=1 ) in 2-element array of 4-component vector of float)
+0:?     'm[0]' (layout(location=1 ) in 4-component vector of float)
+0:?     'm[1]' (layout(location=2 ) in 4-component vector of float)
 0:?     'coord' (layout(location=3 ) in 2-component vector of uint)
 0:?     'b' (layout(location=4 ) in 4-component vector of float)
 0:?     'e' (layout(location=5 ) in 4-component vector of float)
+0:?     'm[0]' (layout(location=0 ) out 4-component vector of float)
+0:?     'm[1]' (layout(location=1 ) out 4-component vector of float)
+0:?     'm[0]' (layout(location=1 ) in 4-component vector of float)
+0:?     'm[1]' (layout(location=2 ) in 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 60
+// Id's are bound by 59
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "main" 18 28 36 39 45 50 55 59
+                              EntryPoint Vertex 4  "main" 18 20 24 32 35 41 45 50 54 58
                               Name 4  "main"
                               Name 12  "VI"
                               MemberName 12(VI) 0  "m"
                               MemberName 12(VI) 1  "coord"
                               MemberName 12(VI) 2  "b"
                               Name 14  "local"
-                              Name 18  "m"
-                              Name 28  "coord"
-                              Name 36  "d"
-                              Name 39  "e"
-                              Name 45  "m"
+                              Name 18  "m[1]"
+                              Name 20  "m[0]"
+                              Name 24  "coord"
+                              Name 32  "d"
+                              Name 35  "e"
+                              Name 41  "m[0]"
+                              Name 45  "m[1]"
                               Name 50  "coord"
-                              Name 55  "b"
-                              Name 59  "b"
-                              Decorate 18(m) Location 1
-                              Decorate 28(coord) Location 3
-                              Decorate 36(d) Location 0
-                              Decorate 39(e) Location 5
-                              Decorate 45(m) Location 0
+                              Name 54  "b"
+                              Name 58  "b"
+                              Decorate 18(m[1]) Location 2
+                              Decorate 20(m[0]) Location 1
+                              Decorate 24(coord) Location 3
+                              Decorate 32(d) Location 0
+                              Decorate 35(e) Location 5
+                              Decorate 41(m[0]) Location 0
+                              Decorate 45(m[1]) Location 1
                               Decorate 50(coord) Location 2
-                              Decorate 55(b) Location 3
-                              Decorate 59(b) Location 4
+                              Decorate 54(b) Location 3
+                              Decorate 58(b) Location 4
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -173,54 +201,54 @@ Shader version: 450
               13:             TypePointer Function 12(VI)
               15:             TypeInt 32 1
               16:     15(int) Constant 2
-              17:             TypePointer Input 10
-           18(m):     17(ptr) Variable Input
-              19:     15(int) Constant 1
-              20:             TypePointer Input 7(fvec4)
-              23:     15(int) Constant 0
-              27:             TypePointer Input 11(ivec2)
-       28(coord):     27(ptr) Variable Input
-              29:      8(int) Constant 0
-              30:             TypePointer Input 8(int)
-           36(d):     20(ptr) Variable Input
-           39(e):     20(ptr) Variable Input
-              42:             TypePointer Function 7(fvec4)
-              44:             TypePointer Output 10
-           45(m):     44(ptr) Variable Output
-              46:             TypePointer Function 10
+              17:             TypePointer Input 7(fvec4)
+        18(m[1]):     17(ptr) Variable Input
+        20(m[0]):     17(ptr) Variable Input
+              23:             TypePointer Input 11(ivec2)
+       24(coord):     23(ptr) Variable Input
+              25:      8(int) Constant 0
+              26:             TypePointer Input 8(int)
+           32(d):     17(ptr) Variable Input
+           35(e):     17(ptr) Variable Input
+              38:             TypePointer Function 7(fvec4)
+              40:             TypePointer Output 7(fvec4)
+        41(m[0]):     40(ptr) Variable Output
+              42:     15(int) Constant 0
+        45(m[1]):     40(ptr) Variable Output
+              46:     15(int) Constant 1
               49:             TypePointer Output 11(ivec2)
        50(coord):     49(ptr) Variable Output
               51:             TypePointer Function 11(ivec2)
-              54:             TypePointer Output 7(fvec4)
-           55(b):     54(ptr) Variable Output
-           59(b):     20(ptr) Variable Input
+           54(b):     40(ptr) Variable Output
+           58(b):     17(ptr) Variable Input
          4(main):           2 Function None 3
                5:             Label
        14(local):     13(ptr) Variable Function
-              21:     20(ptr) AccessChain 18(m) 19
-              22:    7(fvec4) Load 21
-              24:     20(ptr) AccessChain 18(m) 23
-              25:    7(fvec4) Load 24
-              26:    7(fvec4) FAdd 22 25
-              31:     30(ptr) AccessChain 28(coord) 29
-              32:      8(int) Load 31
-              33:    6(float) ConvertUToF 32
-              34:    7(fvec4) CompositeConstruct 33 33 33 33
-              35:    7(fvec4) FAdd 26 34
-              37:    7(fvec4) Load 36(d)
-              38:    7(fvec4) FAdd 35 37
-              40:    7(fvec4) Load 39(e)
-              41:    7(fvec4) FAdd 38 40
-              43:     42(ptr) AccessChain 14(local) 16
-                              Store 43 41
-              47:     46(ptr) AccessChain 14(local) 23
-              48:          10 Load 47
-                              Store 45(m) 48
-              52:     51(ptr) AccessChain 14(local) 19
+              19:    7(fvec4) Load 18(m[1])
+              21:    7(fvec4) Load 20(m[0])
+              22:    7(fvec4) FAdd 19 21
+              27:     26(ptr) AccessChain 24(coord) 25
+              28:      8(int) Load 27
+              29:    6(float) ConvertUToF 28
+              30:    7(fvec4) CompositeConstruct 29 29 29 29
+              31:    7(fvec4) FAdd 22 30
+              33:    7(fvec4) Load 32(d)
+              34:    7(fvec4) FAdd 31 33
+              36:    7(fvec4) Load 35(e)
+              37:    7(fvec4) FAdd 34 36
+              39:     38(ptr) AccessChain 14(local) 16
+                              Store 39 37
+              43:     38(ptr) AccessChain 14(local) 42 42
+              44:    7(fvec4) Load 43
+                              Store 41(m[0]) 44
+              47:     38(ptr) AccessChain 14(local) 42 46
+              48:    7(fvec4) Load 47
+                              Store 45(m[1]) 48
+              52:     51(ptr) AccessChain 14(local) 46
               53:   11(ivec2) Load 52
                               Store 50(coord) 53
-              56:     42(ptr) AccessChain 14(local) 16
-              57:    7(fvec4) Load 56
-                              Store 55(b) 57
+              55:     38(ptr) AccessChain 14(local) 16
+              56:    7(fvec4) Load 55
+                              Store 54(b) 56
                               Return
                               FunctionEnd

+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.swizzle.frag.out

@@ -38,6 +38,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -106,6 +107,7 @@ gl_FragCoord origin is upper left
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
                               Store 14(AmbientColor) 18
+                              Return
                               FunctionEnd
 11(ShaderFunction(vf4;):    7(fvec4) Function None 9
        10(input):      8(ptr) FunctionParameter

+ 2 - 0
3rdparty/glslang/Test/baseResults/hlsl.typedef.frag.out

@@ -39,6 +39,7 @@ gl_FragCoord origin is upper left
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -106,6 +107,7 @@ gl_FragCoord origin is upper left
               20:      9(int) Constant 2
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
+                              Return
                               FunctionEnd
 14(ShaderFunction(vf4;i1;):    7(fvec4) Function None 11
        12(input):      8(ptr) FunctionParameter

+ 0 - 29
3rdparty/glslang/Test/baseResults/lineContinuation.vert.out

@@ -176,16 +176,6 @@ ERROR: node is still EOpNull!
 0:20        'gl_Position' (gl_Position highp 4-component vector of float Position)
 0:20        Construct vec4 (temp highp 4-component vector of float)
 0:20          'foo' (global highp float)
-0:22  Function Definition: foo2(vf4; (global highp 4-component vector of float)
-0:22    Function Parameters: 
-0:22      'a' (in highp 4-component vector of float)
-0:24    Sequence
-0:24      Sequence
-0:24        move second child to first child (temp highp 4-component vector of float)
-0:24          'b' (temp highp 4-component vector of float)
-0:24          'a' (in highp 4-component vector of float)
-0:25      Branch: Return with expression
-0:25        'b' (temp highp 4-component vector of float)
 0:47  Sequence
 0:47    move second child to first child (temp highp int)
 0:47      'q1' (global highp int)
@@ -256,25 +246,6 @@ ERROR: node is still EOpNull!
 0:123      'bar107' (global highp int)
 0:128      Constant:
 0:128        5 (const int)
-0:131  Function Definition: foo203209409( (global void)
-0:131    Function Parameters: 
-0:134    Sequence
-0:134      add second child into first child (temp highp int)
-0:133        'bar107' (global highp int)
-0:134        Constant:
-0:134          37 (const int)
-0:135      multiply second child into first child (temp highp int)
-0:135        'bar107' (global highp int)
-0:136        Constant:
-0:136          38 (const int)
-0:137      divide second child into first child (temp highp int)
-0:137        'bar107' (global highp int)
-0:138        Constant:
-0:138          39 (const int)
-0:139      add (temp highp int)
-0:139        'bar107' (global highp int)
-0:140        Constant:
-0:140          41 (const int)
 0:?   Linker Objects
 0:?     'foo' (global highp float)
 0:?     'goodDecl' (global highp int)

+ 0 - 10
3rdparty/glslang/Test/baseResults/lineContinuation100.vert.out

@@ -90,16 +90,6 @@ ERROR: node is still EOpNull!
 0:20        'gl_Position' (gl_Position highp 4-component vector of float Position)
 0:20        Construct vec4 (temp highp 4-component vector of float)
 0:20          'foo' (global highp float)
-0:22  Function Definition: foo2(vf4; (global highp 4-component vector of float)
-0:22    Function Parameters: 
-0:22      'a' (in highp 4-component vector of float)
-0:24    Sequence
-0:24      Sequence
-0:24        move second child to first child (temp highp 4-component vector of float)
-0:24          'b' (temp highp 4-component vector of float)
-0:24          'a' (in highp 4-component vector of float)
-0:25      Branch: Return with expression
-0:25        'b' (temp highp 4-component vector of float)
 0:45  Sequence
 0:45    move second child to first child (temp highp int)
 0:45      'q1' (global highp int)

+ 1 - 4
3rdparty/glslang/Test/baseResults/mains1.frag.out

@@ -48,6 +48,7 @@ ERROR: Linking geometry stage: At least one shader must specify a layout(max_ver
 
 Linked fragment stage:
 
+ERROR: Linking fragment stage: can't handle multiple entry points per stage
 ERROR: Linking fragment stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:
     main(
 
@@ -57,10 +58,6 @@ max_vertices = -1
 input primitive = none
 output primitive = points
 ERROR: node is still EOpNull!
-0:3  Function Definition: foo( (global void)
-0:3    Function Parameters: 
-0:3  Function Definition: bar( (global void)
-0:3    Function Parameters: 
 0:?   Linker Objects
 Shader version: 110
 0:? Sequence

+ 98 - 0
3rdparty/glslang/Test/baseResults/missingBodies.vert.out

@@ -0,0 +1,98 @@
+missingBodies.vert
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+Shader version: 450
+0:? Sequence
+0:4  Function Definition: foo( (global void)
+0:4    Function Parameters: 
+0:4    Sequence
+0:4      Function Call: bar( (global void)
+0:8  Function Definition: C(i1;i1; (global void)
+0:8    Function Parameters: 
+0:8      '' (in int)
+0:8      '' (in int)
+0:10  Function Definition: A( (global void)
+0:10    Function Parameters: 
+0:10    Sequence
+0:10      Function Call: B( (global void)
+0:10      Function Call: C(i1; (global void)
+0:10        Constant:
+0:10          1 (const int)
+0:10      Function Call: C(b1; (global void)
+0:10        Constant:
+0:10          true (const bool)
+0:10      Function Call: C(i1;i1; (global void)
+0:10        Constant:
+0:10          1 (const int)
+0:10        Constant:
+0:10          2 (const int)
+0:12  Function Definition: main( (global void)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      Function Call: foo( (global void)
+0:15      Function Call: C(b1; (global void)
+0:15        Constant:
+0:15          true (const bool)
+0:20  Sequence
+0:20    move second child to first child (temp int)
+0:20      'f1' (global int)
+0:20      Function Call: ret1( (global int)
+0:22  Function Definition: ret2( (global int)
+0:22    Function Parameters: 
+0:22    Sequence
+0:22      Branch: Return with expression
+0:22        Constant:
+0:22          3 (const int)
+0:24  Sequence
+0:24    move second child to first child (temp int)
+0:24      'f2' (global int)
+0:24      Function Call: ret2( (global int)
+0:?   Linker Objects
+0:?     'f1' (global int)
+0:?     'f2' (global int)
+0:?     'gl_VertexID' (gl_VertexId int VertexId)
+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: No function definition (body) found: 
+    ret1(
+ERROR: Linking vertex stage: No function definition (body) found: 
+    C(b1;
+ERROR: Linking vertex stage: No function definition (body) found: 
+    bar(
+
+Shader version: 450
+0:? Sequence
+0:4  Function Definition: foo( (global void)
+0:4    Function Parameters: 
+0:4    Sequence
+0:4      Function Call: bar( (global void)
+0:12  Function Definition: main( (global void)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      Function Call: foo( (global void)
+0:15      Function Call: C(b1; (global void)
+0:15        Constant:
+0:15          true (const bool)
+0:20  Sequence
+0:20    move second child to first child (temp int)
+0:20      'f1' (global int)
+0:20      Function Call: ret1( (global int)
+0:22  Function Definition: ret2( (global int)
+0:22    Function Parameters: 
+0:22    Sequence
+0:22      Branch: Return with expression
+0:22        Constant:
+0:22          3 (const int)
+0:24  Sequence
+0:24    move second child to first child (temp int)
+0:24      'f2' (global int)
+0:24      Function Call: ret2( (global int)
+0:?   Linker Objects
+0:?     'f1' (global int)
+0:?     'f2' (global int)
+0:?     'gl_VertexID' (gl_VertexId int VertexId)
+0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)
+

+ 0 - 2
3rdparty/glslang/Test/baseResults/noMain.vert.out

@@ -30,8 +30,6 @@ Linked fragment stage:
 
 Shader version: 300
 0:? Sequence
-0:3  Function Definition: foo( (global void)
-0:3    Function Parameters: 
 0:?   Linker Objects
 0:?     'gl_VertexID' (gl_VertexId highp int VertexId)
 0:?     'gl_InstanceID' (gl_InstanceId highp int InstanceId)

+ 0 - 370
3rdparty/glslang/Test/baseResults/precise.tesc.out

@@ -392,376 +392,6 @@ Requested GL_EXT_shader_io_blocks
 Requested GL_EXT_tessellation_shader
 vertices = -1
 0:? Sequence
-0:5  Function Definition: minimal( (global float)
-0:5    Function Parameters: 
-0:6    Sequence
-0:6      Sequence
-0:6        move second child to first child (temp float)
-0:6          'result' (noContraction temp float)
-0:6          Constant:
-0:6            5.000000
-0:7      Sequence
-0:7        move second child to first child (temp float)
-0:7          'a' (noContraction temp float)
-0:7          Constant:
-0:7            10.000000
-0:8      Sequence
-0:8        move second child to first child (temp float)
-0:8          'b' (noContraction temp float)
-0:8          Constant:
-0:8            20.000000
-0:9      Sequence
-0:9        move second child to first child (temp float)
-0:9          'c' (noContraction temp float)
-0:9          Constant:
-0:9            30.000000
-0:10      Sequence
-0:10        move second child to first child (temp float)
-0:10          'd' (noContraction temp float)
-0:10          Constant:
-0:10            40.000000
-0:11      move second child to first child (temp float)
-0:11        'result' (noContraction temp float)
-0:11        add (noContraction temp float)
-0:11          component-wise multiply (noContraction temp float)
-0:11            'a' (noContraction temp float)
-0:11            'b' (noContraction temp float)
-0:11          component-wise multiply (noContraction temp float)
-0:11            'c' (noContraction temp float)
-0:11            'd' (noContraction temp float)
-0:12      Branch: Return with expression
-0:12        'result' (noContraction temp float)
-0:15  Function Definition: continuous_assignment( (global void)
-0:15    Function Parameters: 
-0:16    Sequence
-0:16      Sequence
-0:16        move second child to first child (temp float)
-0:16          'result' (noContraction temp float)
-0:16          Constant:
-0:16            5.000000
-0:17      Sequence
-0:17        move second child to first child (temp float)
-0:17          'a' (noContraction temp float)
-0:17          Constant:
-0:17            10.000000
-0:18      Sequence
-0:18        move second child to first child (temp float)
-0:18          'b' (noContraction temp float)
-0:18          Constant:
-0:18            20.000000
-0:19      move second child to first child (temp float)
-0:19        'result' (noContraction temp float)
-0:19        move second child to first child (temp float)
-0:19          'a' (noContraction temp float)
-0:19          add (noContraction temp float)
-0:19            'b' (noContraction temp float)
-0:19            Constant:
-0:19              4.000000
-0:22  Function Definition: convert( (global void)
-0:22    Function Parameters: 
-0:?     Sequence
-0:24      Sequence
-0:24        move second child to first child (temp float)
-0:24          'a' (noContraction temp float)
-0:24          Constant:
-0:24            10.000000
-0:25      Sequence
-0:25        move second child to first child (temp float)
-0:25          'b' (noContraction temp float)
-0:25          Constant:
-0:25            20.000000
-0:26      move second child to first child (temp float)
-0:26        'b' (noContraction temp float)
-0:26        add (noContraction temp float)
-0:26          'a' (noContraction temp float)
-0:26          'b' (noContraction temp float)
-0:27      move second child to first child (temp double)
-0:27        'result' (noContraction temp double)
-0:27        Convert float to double (temp double)
-0:27          'b' (noContraction temp float)
-0:30  Function Definition: loop_for( (global float)
-0:30    Function Parameters: 
-0:31    Sequence
-0:31      Sequence
-0:31        move second child to first child (temp float)
-0:31          'r1' (noContraction temp float)
-0:31          Constant:
-0:31            5.000000
-0:32      Sequence
-0:32        move second child to first child (temp float)
-0:32          'r2' (noContraction temp float)
-0:32          Constant:
-0:32            10.000000
-0:33      Sequence
-0:33        move second child to first child (temp int)
-0:33          'a' (temp int)
-0:33          Constant:
-0:33            10 (const int)
-0:34      Sequence
-0:34        move second child to first child (temp int)
-0:34          'b' (noContraction temp int)
-0:34          Constant:
-0:34            20 (const int)
-0:35      Sequence
-0:35        move second child to first child (temp int)
-0:35          'c' (noContraction temp int)
-0:35          Constant:
-0:35            30 (const int)
-0:36      Sequence
-0:36        Sequence
-0:36          move second child to first child (temp int)
-0:36            'i' (noContraction temp int)
-0:36            Constant:
-0:36              0 (const int)
-0:36        Loop with condition tested first
-0:36          Loop Condition
-0:36          Compare Less Than (temp bool)
-0:36            'i' (temp int)
-0:36            'a' (temp int)
-0:36          Loop Body
-0:37          Sequence
-0:37            add second child into first child (noContraction temp float)
-0:37              'r1' (noContraction temp float)
-0:37              add (noContraction temp float)
-0:37                add (noContraction temp float)
-0:37                  Constant:
-0:37                    3.120000
-0:37                  Convert int to float (temp float)
-0:37                    'b' (noContraction temp int)
-0:37                Convert int to float (temp float)
-0:37                  'i' (noContraction temp int)
-0:38            add second child into first child (noContraction temp int)
-0:38              'c' (noContraction temp int)
-0:38              Constant:
-0:38                1 (const int)
-0:36          Loop Terminal Expression
-0:36          Post-Increment (noContraction temp int)
-0:36            'i' (noContraction temp int)
-0:40      add second child into first child (temp int)
-0:40        'a' (temp int)
-0:40        Constant:
-0:40          1 (const int)
-0:41      move second child to first child (temp float)
-0:41        'r2' (noContraction temp float)
-0:41        Convert int to float (temp float)
-0:41          'c' (noContraction temp int)
-0:42      Branch: Return with expression
-0:42        Construct float (temp float)
-0:42          add (temp float)
-0:42            'r1' (noContraction temp float)
-0:42            'r2' (noContraction temp float)
-0:45  Function Definition: loop_array( (global void)
-0:45    Function Parameters: 
-0:?     Sequence
-0:48      Sequence
-0:48        move second child to first child (temp int)
-0:48          'x' (noContraction temp int)
-0:48          Constant:
-0:48            22 (const int)
-0:49      Sequence
-0:49        move second child to first child (temp int)
-0:49          'y' (noContraction temp int)
-0:49          Constant:
-0:49            33 (const int)
-0:52      add second child into first child (noContraction temp float)
-0:52        'result' (noContraction temp float)
-0:52        add (noContraction temp float)
-0:52          Convert int to float (temp float)
-0:52            'x' (noContraction temp int)
-0:52          Convert int to float (temp float)
-0:52            'y' (noContraction temp int)
-0:54      Sequence
-0:54        Sequence
-0:54          move second child to first child (temp int)
-0:54            'i' (temp int)
-0:54            Constant:
-0:54              0 (const int)
-0:54        Loop with condition tested first
-0:54          Loop Condition
-0:54          Compare Less Than (temp bool)
-0:54            'i' (temp int)
-0:54            Constant:
-0:54              3 (const int)
-0:54          Loop Body
-0:56          Sequence
-0:56            add second child into first child (noContraction temp float)
-0:56              'result' (noContraction temp float)
-0:56              add (noContraction temp float)
-0:56                indirect index (noContraction temp float)
-0:56                  'a0' (temp 3-element array of float)
-0:56                  'i' (temp int)
-0:56                Constant:
-0:56                  2.000000
-0:58            move second child to first child (temp float)
-0:58              indirect index (noContraction temp float)
-0:58                'a0' (noContraction temp 3-element array of float)
-0:58                'i' (temp int)
-0:58              subtract (noContraction temp float)
-0:58                Constant:
-0:58                  3.000000
-0:58                Post-Increment (noContraction temp float)
-0:58                  'result' (noContraction temp float)
-0:54          Loop Terminal Expression
-0:54          Pre-Increment (temp int)
-0:54            'i' (temp int)
-0:62  Function Definition: loop_while( (global void)
-0:62    Function Parameters: 
-0:63    Sequence
-0:63      Sequence
-0:63        move second child to first child (temp float)
-0:63          'result' (noContraction temp float)
-0:63          Constant:
-0:63            5.000000
-0:64      Sequence
-0:64        move second child to first child (temp int)
-0:64          'a' (noContraction temp int)
-0:64          Constant:
-0:64            10 (const int)
-0:65      Sequence
-0:65        move second child to first child (temp int)
-0:65          'b' (noContraction temp int)
-0:65          Constant:
-0:65            20 (const int)
-0:66      Loop with condition tested first
-0:66        Loop Condition
-0:66        Compare Less Than (temp bool)
-0:66          'result' (noContraction temp float)
-0:66          Constant:
-0:66            10.000000
-0:66        Loop Body
-0:67        Sequence
-0:67          add second child into first child (noContraction temp float)
-0:67            'result' (noContraction temp float)
-0:67            add (noContraction temp float)
-0:67              Constant:
-0:67                3.120000
-0:67              Convert int to float (temp float)
-0:67                'b' (noContraction temp int)
-0:69      move second child to first child (temp float)
-0:69        'result' (noContraction temp float)
-0:69        Convert int to float (temp float)
-0:69          add (temp int)
-0:69            add (temp int)
-0:69              'a' (noContraction temp int)
-0:69              'b' (noContraction temp int)
-0:69            Constant:
-0:69              5 (const int)
-0:70      move second child to first child (temp float)
-0:70        'result' (noContraction temp float)
-0:70        Constant:
-0:70          11.100000
-0:73  Function Definition: fma_not_decorated( (global float)
-0:73    Function Parameters: 
-0:?     Sequence
-0:75      Sequence
-0:75        move second child to first child (temp float)
-0:75          'a' (noContraction temp float)
-0:75          Constant:
-0:75            1.000000
-0:76      Sequence
-0:76        move second child to first child (temp float)
-0:76          'b' (noContraction temp float)
-0:76          Constant:
-0:76            2.000000
-0:77      Sequence
-0:77        move second child to first child (temp float)
-0:77          'c' (noContraction temp float)
-0:77          Constant:
-0:77            3.000000
-0:78      move second child to first child (temp float)
-0:78        'b' (noContraction temp float)
-0:78        add (noContraction temp float)
-0:78          'b' (noContraction temp float)
-0:78          'c' (noContraction temp float)
-0:79      move second child to first child (temp float)
-0:79        'result' (noContraction temp float)
-0:79        fma (global float)
-0:79          'a' (noContraction temp float)
-0:79          'b' (noContraction temp float)
-0:79          'c' (noContraction temp float)
-0:80      Branch: Return with expression
-0:80        'result' (noContraction temp float)
-0:83  Function Definition: precise_return_exp_func( (noContraction temp float)
-0:83    Function Parameters: 
-0:84    Sequence
-0:84      Sequence
-0:84        move second child to first child (temp float)
-0:84          'a' (noContraction temp float)
-0:84          Constant:
-0:84            1.000000
-0:85      Sequence
-0:85        move second child to first child (temp float)
-0:85          'b' (noContraction temp float)
-0:85          Constant:
-0:85            2.000000
-0:86      Branch: Return with expression
-0:86        add (noContraction temp float)
-0:86          'a' (noContraction temp float)
-0:86          'b' (noContraction temp float)
-0:89  Function Definition: precise_return_val_func( (noContraction temp float)
-0:89    Function Parameters: 
-0:90    Sequence
-0:90      Sequence
-0:90        move second child to first child (temp float)
-0:90          'a' (noContraction temp float)
-0:90          Constant:
-0:90            1.000000
-0:91      Sequence
-0:91        move second child to first child (temp float)
-0:91          'b' (noContraction temp float)
-0:91          Constant:
-0:91            2.000000
-0:92      Sequence
-0:92        move second child to first child (temp float)
-0:92          'result' (noContraction temp float)
-0:92          add (noContraction temp float)
-0:92            'a' (noContraction temp float)
-0:92            'b' (noContraction temp float)
-0:93      Branch: Return with expression
-0:93        'result' (noContraction temp float)
-0:96  Function Definition: precise_func_parameter(f1;f1; (global float)
-0:96    Function Parameters: 
-0:96      'b' (in float)
-0:96      'c' (noContraction out float)
-0:97    Sequence
-0:97      Sequence
-0:97        move second child to first child (temp float)
-0:97          'a' (noContraction temp float)
-0:97          Constant:
-0:97            0.500000
-0:98      move second child to first child (temp float)
-0:98        'c' (noContraction out float)
-0:98        add (noContraction temp float)
-0:98          'a' (noContraction temp float)
-0:98          'b' (noContraction in float)
-0:99      Branch: Return with expression
-0:99        subtract (temp float)
-0:99          'a' (temp float)
-0:99          'b' (in float)
-0:102  Function Definition: matrix(mf23;mf32; (global 3X3 matrix of float)
-0:102    Function Parameters: 
-0:102      'a' (in 2X3 matrix of float)
-0:102      'b' (in 3X2 matrix of float)
-0:103    Sequence
-0:103      Sequence
-0:103        move second child to first child (temp 2X3 matrix of float)
-0:103          'c' (noContraction temp 2X3 matrix of float)
-0:103          Constant:
-0:103            1.000000
-0:103            2.000000
-0:103            3.000000
-0:103            4.000000
-0:103            5.000000
-0:103            6.000000
-0:105      move second child to first child (temp 3X3 matrix of float)
-0:105        'result' (noContraction temp 3X3 matrix of float)
-0:105        matrix-multiply (noContraction temp 3X3 matrix of float)
-0:105          add (noContraction temp 2X3 matrix of float)
-0:105            'a' (noContraction in 2X3 matrix of float)
-0:105            'c' (noContraction temp 2X3 matrix of float)
-0:105          'b' (noContraction in 3X2 matrix of float)
-0:106      Branch: Return with expression
-0:106        'result' (noContraction temp 3X3 matrix of float)
 0:109  Function Definition: main( (global void)
 0:109    Function Parameters: 
 0:?   Linker Objects

+ 0 - 509
3rdparty/glslang/Test/baseResults/precise_struct_block.vert.out

@@ -526,515 +526,6 @@ Linked vertex stage:
 
 Shader version: 450
 0:? Sequence
-0:11  Function Definition: struct_member( (global float)
-0:11    Function Parameters: 
-0:12    Sequence
-0:12      Sequence
-0:12        move second child to first child (temp float)
-0:12          'a' (noContraction temp float)
-0:12          Constant:
-0:12            1.000000
-0:13      Sequence
-0:13        move second child to first child (temp float)
-0:13          'b' (temp float)
-0:13          Constant:
-0:13            2.000000
-0:14      Sequence
-0:14        move second child to first child (temp float)
-0:14          'c' (temp float)
-0:14          Constant:
-0:14            3.000000
-0:15      Sequence
-0:15        move second child to first child (temp float)
-0:15          'd' (temp float)
-0:15          Constant:
-0:15            4.000000
-0:21      move second child to first child (temp float)
-0:21        f1: direct index for structure (noContraction global float)
-0:21          'S2' (temp structure{global float f1, global float f2})
-0:21          Constant:
-0:21            0 (const int)
-0:21        add (noContraction temp float)
-0:21          'a' (noContraction temp float)
-0:21          Constant:
-0:21            0.200000
-0:22      move second child to first child (temp float)
-0:22        f2: direct index for structure (global float)
-0:22          'S2' (temp structure{global float f1, global float f2})
-0:22          Constant:
-0:22            1 (const int)
-0:22        add (temp float)
-0:22          'b' (temp float)
-0:22          Constant:
-0:22            0.200000
-0:23      move second child to first child (temp float)
-0:23        f1: direct index for structure (global float)
-0:23          'S3' (temp structure{global float f1, global float f2})
-0:23          Constant:
-0:23            0 (const int)
-0:23        add (temp float)
-0:23          'a' (temp float)
-0:23          'b' (temp float)
-0:24      move second child to first child (temp structure{global float f1, global float f2})
-0:24        'S' (temp structure{global float f1, global float f2})
-0:24        'S2' (temp structure{global float f1, global float f2})
-0:25      move second child to first child (temp float)
-0:25        'result' (noContraction temp float)
-0:25        add (noContraction temp float)
-0:25          f1: direct index for structure (noContraction global float)
-0:25            'S' (temp structure{global float f1, global float f2})
-0:25            Constant:
-0:25              0 (const int)
-0:25          Constant:
-0:25            0.100000
-0:27      Branch: Return with expression
-0:27        'result' (noContraction temp float)
-0:30  Function Definition: complex_array_struct( (global float)
-0:30    Function Parameters: 
-0:?     Sequence
-0:43      Sequence
-0:43        Sequence
-0:43          move second child to first child (temp int)
-0:43            'i' (noContraction temp int)
-0:43            Constant:
-0:43              0 (const int)
-0:43        Loop with condition tested first
-0:43          Loop Condition
-0:43          Compare Less Than (temp bool)
-0:43            'i' (temp int)
-0:43            Constant:
-0:43              10 (const int)
-0:43          Loop Body
-0:44          Sequence
-0:44            move second child to first child (temp float)
-0:44              f: direct index for structure (temp float)
-0:44                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:44                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:44                  'i' (temp int)
-0:44                Constant:
-0:44                  0 (const int)
-0:44              divide (temp float)
-0:44                Convert int to float (temp float)
-0:44                  'i' (temp int)
-0:44                Constant:
-0:44                  3.000000
-0:45            move second child to first child (temp 4-component vector of float)
-0:45              v: direct index for structure (noContraction temp 4-component vector of float)
-0:45                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:45                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:45                  'i' (temp int)
-0:45                Constant:
-0:45                  2 (const int)
-0:45              Construct vec4 (temp 4-component vector of float)
-0:45                component-wise multiply (noContraction temp float)
-0:45                  Convert int to float (temp float)
-0:45                    'i' (noContraction temp int)
-0:45                  Constant:
-0:45                    1.500000
-0:46            move second child to first child (temp int)
-0:46              p: direct index for structure (temp int)
-0:46                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:46                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:46                  'i' (temp int)
-0:46                Constant:
-0:46                  3 (const int)
-0:46              add (temp int)
-0:46                'i' (temp int)
-0:46                Constant:
-0:46                  1 (const int)
-0:47            Sequence
-0:47              Sequence
-0:47                move second child to first child (temp int)
-0:47                  'j' (temp int)
-0:47                  Constant:
-0:47                    0 (const int)
-0:47              Loop with condition tested first
-0:47                Loop Condition
-0:47                Compare Less Than (temp bool)
-0:47                  'j' (temp int)
-0:47                  Constant:
-0:47                    5 (const int)
-0:47                Loop Body
-0:48                Sequence
-0:48                  Sequence
-0:48                    Sequence
-0:48                      move second child to first child (temp int)
-0:48                        'k' (temp int)
-0:48                        Constant:
-0:48                          0 (const int)
-0:48                    Loop with condition tested first
-0:48                      Loop Condition
-0:48                      Compare Less Than (temp bool)
-0:48                        'k' (temp int)
-0:48                        Constant:
-0:48                          3 (const int)
-0:48                      Loop Body
-0:49                      Sequence
-0:49                        move second child to first child (temp float)
-0:49                          indirect index (temp float)
-0:49                            t1_array: direct index for structure (temp 3-element array of float)
-0:49                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:49                                t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:49                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:49                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:49                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:49                                      'i' (temp int)
-0:49                                    Constant:
-0:49                                      1 (const int)
-0:49                                  Constant:
-0:49                                    0 (const int)
-0:49                                'j' (temp int)
-0:49                              Constant:
-0:49                                0 (const int)
-0:49                            'k' (temp int)
-0:49                          Convert int to float (temp float)
-0:49                            add (temp int)
-0:49                              component-wise multiply (temp int)
-0:49                                'i' (temp int)
-0:49                                'j' (temp int)
-0:49                              'k' (temp int)
-0:48                      Loop Terminal Expression
-0:48                      Post-Increment (temp int)
-0:48                        'k' (temp int)
-0:51                  move second child to first child (temp float)
-0:51                    t1_scalar: direct index for structure (temp float)
-0:51                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:51                        t1a: direct index for structure (temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:51                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:51                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:51                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:51                              'i' (temp int)
-0:51                            Constant:
-0:51                              1 (const int)
-0:51                          Constant:
-0:51                            0 (const int)
-0:51                        'j' (temp int)
-0:51                      Constant:
-0:51                        1 (const int)
-0:51                    divide (temp float)
-0:51                      component-wise multiply (temp float)
-0:51                        Convert int to float (temp float)
-0:51                          'j' (temp int)
-0:51                        Constant:
-0:51                          2.000000
-0:51                      Convert int to float (temp float)
-0:51                        'i' (temp int)
-0:47                Loop Terminal Expression
-0:47                Post-Increment (temp int)
-0:47                  'j' (temp int)
-0:54            Sequence
-0:54              Sequence
-0:54                move second child to first child (temp int)
-0:54                  'j' (noContraction temp int)
-0:54                  Constant:
-0:54                    0 (const int)
-0:54              Loop with condition tested first
-0:54                Loop Condition
-0:54                Compare Less Than (temp bool)
-0:54                  'j' (temp int)
-0:54                  Constant:
-0:54                    6 (const int)
-0:54                Loop Body
-0:55                Sequence
-0:55                  Sequence
-0:55                    Sequence
-0:55                      move second child to first child (temp int)
-0:55                        'k' (temp int)
-0:55                        Constant:
-0:55                          0 (const int)
-0:55                    Loop with condition tested first
-0:55                      Loop Condition
-0:55                      Compare Less Than (temp bool)
-0:55                        'k' (temp int)
-0:55                        Constant:
-0:55                          3 (const int)
-0:55                      Loop Body
-0:56                      Sequence
-0:56                        move second child to first child (temp float)
-0:56                          indirect index (temp float)
-0:56                            t1_array: direct index for structure (temp 3-element array of float)
-0:56                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:56                                t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:56                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:56                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:56                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:56                                      'i' (temp int)
-0:56                                    Constant:
-0:56                                      1 (const int)
-0:56                                  Constant:
-0:56                                    1 (const int)
-0:56                                'j' (temp int)
-0:56                              Constant:
-0:56                                0 (const int)
-0:56                            'k' (temp int)
-0:56                          Convert int to float (temp float)
-0:56                            add (temp int)
-0:56                              component-wise multiply (temp int)
-0:56                                'i' (temp int)
-0:56                                'j' (temp int)
-0:56                              'k' (temp int)
-0:55                      Loop Terminal Expression
-0:55                      Post-Increment (temp int)
-0:55                        'k' (temp int)
-0:58                  move second child to first child (temp float)
-0:58                    t1_scalar: direct index for structure (noContraction temp float)
-0:58                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:58                        t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:58                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:58                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:58                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:58                              'i' (temp int)
-0:58                            Constant:
-0:58                              1 (const int)
-0:58                          Constant:
-0:58                            1 (const int)
-0:58                        'j' (temp int)
-0:58                      Constant:
-0:58                        1 (const int)
-0:58                    divide (noContraction temp float)
-0:58                      component-wise multiply (noContraction temp float)
-0:58                        Convert int to float (temp float)
-0:58                          'j' (noContraction temp int)
-0:58                        Constant:
-0:58                          2.000000
-0:58                      Convert int to float (temp float)
-0:58                        'i' (noContraction temp int)
-0:54                Loop Terminal Expression
-0:54                Post-Increment (noContraction temp int)
-0:54                  'j' (noContraction temp int)
-0:61            Sequence
-0:61              Sequence
-0:61                move second child to first child (temp int)
-0:61                  'j' (noContraction temp int)
-0:61                  Constant:
-0:61                    0 (const int)
-0:61              Loop with condition tested first
-0:61                Loop Condition
-0:61                Compare Less Than (temp bool)
-0:61                  'j' (temp int)
-0:61                  Constant:
-0:61                    6 (const int)
-0:61                Loop Body
-0:62                Sequence
-0:62                  Sequence
-0:62                    Sequence
-0:62                      move second child to first child (temp int)
-0:62                        'k' (noContraction temp int)
-0:62                        Constant:
-0:62                          0 (const int)
-0:62                    Loop with condition tested first
-0:62                      Loop Condition
-0:62                      Compare Less Than (temp bool)
-0:62                        'k' (temp int)
-0:62                        Constant:
-0:62                          3 (const int)
-0:62                      Loop Body
-0:63                      Sequence
-0:63                        move second child to first child (temp float)
-0:63                          indirect index (noContraction temp float)
-0:63                            t1_array: direct index for structure (noContraction temp 3-element array of float)
-0:63                              indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:63                                t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:63                                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:63                                    indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:63                                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:63                                      'i' (temp int)
-0:63                                    Constant:
-0:63                                      1 (const int)
-0:63                                  Constant:
-0:63                                    2 (const int)
-0:63                                'j' (temp int)
-0:63                              Constant:
-0:63                                0 (const int)
-0:63                            'k' (temp int)
-0:63                          Convert int to float (temp float)
-0:63                            add (temp int)
-0:63                              component-wise multiply (temp int)
-0:63                                'i' (noContraction temp int)
-0:63                                'j' (noContraction temp int)
-0:63                              'k' (noContraction temp int)
-0:62                      Loop Terminal Expression
-0:62                      Post-Increment (noContraction temp int)
-0:62                        'k' (noContraction temp int)
-0:65                  move second child to first child (temp float)
-0:65                    t1_scalar: direct index for structure (temp float)
-0:65                      indirect index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:65                        t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:65                          t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:65                            indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:65                              't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:65                              'i' (temp int)
-0:65                            Constant:
-0:65                              1 (const int)
-0:65                          Constant:
-0:65                            2 (const int)
-0:65                        'j' (temp int)
-0:65                      Constant:
-0:65                        1 (const int)
-0:65                    divide (temp float)
-0:65                      component-wise multiply (temp float)
-0:65                        Convert int to float (temp float)
-0:65                          'j' (temp int)
-0:65                        Constant:
-0:65                          2.000000
-0:65                      Convert int to float (temp float)
-0:65                        'i' (temp int)
-0:61                Loop Terminal Expression
-0:61                Post-Increment (noContraction temp int)
-0:61                  'j' (noContraction temp int)
-0:43          Loop Terminal Expression
-0:43          Post-Increment (noContraction temp int)
-0:43            'i' (noContraction temp int)
-0:68      Sequence
-0:68        move second child to first child (temp int)
-0:68          'i' (temp int)
-0:68          Constant:
-0:68            2 (const int)
-0:69      move second child to first child (temp float)
-0:69        'result' (noContraction temp float)
-0:71        add (noContraction temp float)
-0:70          add (noContraction temp float)
-0:69            direct index (noContraction temp float)
-0:69              t1_array: direct index for structure (temp 3-element array of float)
-0:69                direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:69                  t1c: direct index for structure (temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:69                    t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:69                      direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:69                        't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:69                        Constant:
-0:69                          5 (const int)
-0:69                      Constant:
-0:69                        1 (const int)
-0:69                    Constant:
-0:69                      2 (const int)
-0:69                  Constant:
-0:69                    6 (const int)
-0:69                Constant:
-0:69                  0 (const int)
-0:69              Constant:
-0:69                1 (const int)
-0:70            t1_scalar: direct index for structure (noContraction temp float)
-0:70              direct index (temp structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:70                t1b: direct index for structure (temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar})
-0:70                  t2: direct index for structure (temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c})
-0:70                    direct index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:70                      't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:70                      Constant:
-0:70                        2 (const int)
-0:70                    Constant:
-0:70                      1 (const int)
-0:70                  Constant:
-0:70                    1 (const int)
-0:70                Constant:
-0:70                  1 (const int)
-0:70              Constant:
-0:70                1 (const int)
-0:71          direct index (noContraction temp float)
-0:71            vector swizzle (temp 2-component vector of float)
-0:71              v: direct index for structure (temp 4-component vector of float)
-0:71                indirect index (temp structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:71                  't3' (temp 10-element array of structure{temp float f, temp structure{temp 5-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1a, temp 6-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1b, temp 7-element array of structure{temp 3-element array of float t1_array, temp float t1_scalar} t1c} t2, temp 4-component vector of float v, temp int p})
-0:71                  subtract (temp int)
-0:71                    'i' (temp int)
-0:71                    Constant:
-0:71                      1 (const int)
-0:71                Constant:
-0:71                  2 (const int)
-0:71              Sequence
-0:71                Constant:
-0:71                  0 (const int)
-0:71                Constant:
-0:71                  1 (const int)
-0:71            Constant:
-0:71              0 (const int)
-0:72      Branch: Return with expression
-0:72        'result' (noContraction temp float)
-0:75  Function Definition: out_block( (global float)
-0:75    Function Parameters: 
-0:76    Sequence
-0:76      Sequence
-0:76        move second child to first child (temp float)
-0:76          'a' (noContraction temp float)
-0:76          Constant:
-0:76            0.100000
-0:77      Sequence
-0:77        move second child to first child (temp float)
-0:77          'b' (noContraction temp float)
-0:77          Constant:
-0:77            0.200000
-0:78      move second child to first child (temp float)
-0:78        f1: direct index for structure (noContraction global float)
-0:78          s: direct index for structure (noContraction out structure{global float f1, global float f2})
-0:78            'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
-0:78            Constant:
-0:78              0 (const int)
-0:78          Constant:
-0:78            0 (const int)
-0:78        add (noContraction temp float)
-0:78          'a' (noContraction temp float)
-0:78          'b' (noContraction temp float)
-0:79      move second child to first child (temp float)
-0:79        f2: direct index for structure (noContraction global float)
-0:79          s: direct index for structure (noContraction out structure{global float f1, global float f2})
-0:79            'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
-0:79            Constant:
-0:79              0 (const int)
-0:79          Constant:
-0:79            1 (const int)
-0:79        subtract (noContraction temp float)
-0:79          'a' (noContraction temp float)
-0:79          'b' (noContraction temp float)
-0:80      move second child to first child (temp float)
-0:80        x: direct index for structure (out float)
-0:80          'partial_precise_block' (out block{noContraction out structure{global float f1, global float f2} s, out float x})
-0:80          Constant:
-0:80            1 (const int)
-0:80        component-wise multiply (temp float)
-0:80          'a' (temp float)
-0:80          'b' (temp float)
-0:82      move second child to first child (temp float)
-0:82        f1: direct index for structure (noContraction global float)
-0:82          s: direct index for structure (noContraction out structure{global float f1, global float f2})
-0:82            'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
-0:82            Constant:
-0:82              0 (const int)
-0:82          Constant:
-0:82            0 (const int)
-0:82        add (noContraction temp float)
-0:82          add (noContraction temp float)
-0:82            'a' (noContraction temp float)
-0:82            'b' (noContraction temp float)
-0:82          Constant:
-0:82            1.000000
-0:83      move second child to first child (temp float)
-0:83        f2: direct index for structure (noContraction global float)
-0:83          s: direct index for structure (noContraction out structure{global float f1, global float f2})
-0:83            'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
-0:83            Constant:
-0:83              0 (const int)
-0:83          Constant:
-0:83            1 (const int)
-0:83        subtract (noContraction temp float)
-0:83          subtract (noContraction temp float)
-0:83            'a' (noContraction temp float)
-0:83            'b' (noContraction temp float)
-0:83          Constant:
-0:83            1.000000
-0:84      move second child to first child (temp float)
-0:84        x: direct index for structure (noContraction out float)
-0:84          'all_precise_block' (noContraction out block{out structure{global float f1, global float f2} s, out float x})
-0:84          Constant:
-0:84            1 (const int)
-0:84        component-wise multiply (noContraction temp float)
-0:84          component-wise multiply (noContraction temp float)
-0:84            'a' (noContraction temp float)
-0:84            'b' (noContraction temp float)
-0:84          Constant:
-0:84            2.000000
-0:86      Branch: Return with expression
-0:86        add (temp float)
-0:86          'a' (temp float)
-0:86          'b' (temp float)
 0:89  Function Definition: main( (global void)
 0:89    Function Parameters: 
 0:?   Linker Objects

+ 0 - 12
3rdparty/glslang/Test/baseResults/precision.frag.out

@@ -130,18 +130,6 @@ Linked fragment stage:
 
 Shader version: 100
 ERROR: node is still EOpNull!
-0:5  Function Definition: foo(vf3; (global lowp 2-component vector of float)
-0:5    Function Parameters: 
-0:5      'mv3' (in mediump 3-component vector of float)
-0:?     Sequence
-0:8      Branch: Return with expression
-0:8        vector swizzle (temp highp 2-component vector of float)
-0:8          'hv4' (temp highp 4-component vector of float)
-0:8          Sequence
-0:8            Constant:
-0:8              0 (const int)
-0:8            Constant:
-0:8              1 (const int)
 0:25  Function Definition: main( (global void)
 0:25    Function Parameters: 
 0:27    Sequence

+ 0 - 168
3rdparty/glslang/Test/baseResults/recurse1.vert.out

@@ -218,66 +218,6 @@ Shader version: 330
 0:? Sequence
 0:3  Function Definition: main( (global void)
 0:3    Function Parameters: 
-0:9  Function Definition: self( (global void)
-0:9    Function Parameters: 
-0:11    Sequence
-0:11      Function Call: self( (global void)
-0:16  Function Definition: foo(f1; (global void)
-0:16    Function Parameters: 
-0:16      '' (in float)
-0:18    Sequence
-0:18      Function Call: bar(i1; (global float)
-0:18        Constant:
-0:18          2 (const int)
-0:21  Function Definition: bar(i1; (global float)
-0:21    Function Parameters: 
-0:21      '' (in int)
-0:23    Sequence
-0:23      Function Call: foo(f1; (global void)
-0:23        Constant:
-0:23          4.200000
-0:25      Branch: Return with expression
-0:25        Constant:
-0:25          3.200000
-0:32  Function Definition: A( (global void)
-0:32    Function Parameters: 
-0:32    Sequence
-0:32      Function Call: B( (global void)
-0:33  Function Definition: C( (global void)
-0:33    Function Parameters: 
-0:33    Sequence
-0:33      Function Call: D( (global void)
-0:34  Function Definition: B( (global void)
-0:34    Function Parameters: 
-0:34    Sequence
-0:34      Function Call: C( (global void)
-0:35  Function Definition: D( (global void)
-0:35    Function Parameters: 
-0:35    Sequence
-0:35      Function Call: A( (global void)
-0:41  Function Definition: AT( (global void)
-0:41    Function Parameters: 
-0:41    Sequence
-0:41      Function Call: BT( (global void)
-0:41      Function Call: BT( (global void)
-0:41      Function Call: BT( (global void)
-0:42  Function Definition: CT( (global void)
-0:42    Function Parameters: 
-0:42    Sequence
-0:42      Function Call: DT( (global void)
-0:42      Function Call: AT( (global void)
-0:42      Function Call: DT( (global void)
-0:42      Function Call: BT( (global void)
-0:43  Function Definition: BT( (global void)
-0:43    Function Parameters: 
-0:43    Sequence
-0:43      Function Call: CT( (global void)
-0:43      Function Call: CT( (global void)
-0:43      Function Call: CT( (global void)
-0:44  Function Definition: DT( (global void)
-0:44    Function Parameters: 
-0:44    Sequence
-0:44      Function Call: AT( (global void)
 0:?   Linker Objects
 0:?     'gl_VertexID' (gl_VertexId int VertexId)
 0:?     'gl_InstanceID' (gl_InstanceId int InstanceId)
@@ -285,113 +225,5 @@ Shader version: 330
 0:? Sequence
 0:5  Function Definition: main( (global void)
 0:5    Function Parameters: 
-0:11  Function Definition: cfoo(f1; (global void)
-0:11    Function Parameters: 
-0:11      '' (in float)
-0:13    Sequence
-0:13      Function Call: cbar(i1; (global float)
-0:13        Constant:
-0:13          2 (const int)
-0:20  Function Definition: CA( (global void)
-0:20    Function Parameters: 
-0:20    Sequence
-0:20      Function Call: CB( (global void)
-0:21  Function Definition: CC( (global void)
-0:21    Function Parameters: 
-0:21    Sequence
-0:21      Function Call: CD( (global void)
-0:27  Function Definition: CAT( (global void)
-0:27    Function Parameters: 
-0:27    Sequence
-0:27      Function Call: CBT( (global void)
-0:27      Function Call: CBT( (global void)
-0:27      Function Call: CBT( (global void)
-0:28  Function Definition: CCT( (global void)
-0:28    Function Parameters: 
-0:28    Sequence
-0:28      Function Call: CDT( (global void)
-0:28      Function Call: CDT( (global void)
-0:28      Function Call: CBT( (global void)
-0:32  Function Definition: norA( (global void)
-0:32    Function Parameters: 
-0:33  Function Definition: norB( (global void)
-0:33    Function Parameters: 
-0:33    Sequence
-0:33      Function Call: norA( (global void)
-0:34  Function Definition: norC( (global void)
-0:34    Function Parameters: 
-0:34    Sequence
-0:34      Function Call: norA( (global void)
-0:35  Function Definition: norD( (global void)
-0:35    Function Parameters: 
-0:35    Sequence
-0:35      Function Call: norA( (global void)
-0:36  Function Definition: norE( (global void)
-0:36    Function Parameters: 
-0:36    Sequence
-0:36      Function Call: norB( (global void)
-0:37  Function Definition: norF( (global void)
-0:37    Function Parameters: 
-0:37    Sequence
-0:37      Function Call: norB( (global void)
-0:38  Function Definition: norG( (global void)
-0:38    Function Parameters: 
-0:38    Sequence
-0:38      Function Call: norE( (global void)
-0:39  Function Definition: norH( (global void)
-0:39    Function Parameters: 
-0:39    Sequence
-0:39      Function Call: norE( (global void)
-0:40  Function Definition: norI( (global void)
-0:40    Function Parameters: 
-0:40    Sequence
-0:40      Function Call: norE( (global void)
-0:44  Function Definition: norcA( (global void)
-0:44    Function Parameters: 
-0:45  Function Definition: norcB( (global void)
-0:45    Function Parameters: 
-0:45    Sequence
-0:45      Function Call: norcA( (global void)
-0:46  Function Definition: norcC( (global void)
-0:46    Function Parameters: 
-0:46    Sequence
-0:46      Function Call: norcB( (global void)
-0:47  Function Definition: norcD( (global void)
-0:47    Function Parameters: 
-0:47    Sequence
-0:47      Function Call: norcC( (global void)
-0:47      Function Call: norcB( (global void)
-0:48  Function Definition: norcE( (global void)
-0:48    Function Parameters: 
-0:48    Sequence
-0:48      Function Call: norcD( (global void)
-0:9  Function Definition: cbar(i1; (global float)
-0:9    Function Parameters: 
-0:9      '' (in int)
-0:11    Sequence
-0:11      Function Call: cfoo(f1; (global void)
-0:11        Constant:
-0:11          4.200000
-0:13      Branch: Return with expression
-0:13        Constant:
-0:13          3.200000
-0:20  Function Definition: CB( (global void)
-0:20    Function Parameters: 
-0:20    Sequence
-0:20      Function Call: CC( (global void)
-0:21  Function Definition: CD( (global void)
-0:21    Function Parameters: 
-0:21    Sequence
-0:21      Function Call: CA( (global void)
-0:27  Function Definition: CBT( (global void)
-0:27    Function Parameters: 
-0:27    Sequence
-0:27      Function Call: CCT( (global void)
-0:27      Function Call: CCT( (global void)
-0:27      Function Call: CCT( (global void)
-0:28  Function Definition: CDT( (global void)
-0:28    Function Parameters: 
-0:28    Sequence
-0:28      Function Call: CAT( (global void)
 0:?   Linker Objects
 

+ 0 - 4
3rdparty/glslang/Test/baseResults/reflection.vert.out

@@ -1,10 +1,6 @@
 reflection.vert
 Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.
 
-
-Linked vertex stage:
-
-
 Uniform reflection:
 image_ui2D: offset -1, type 9063, size 1, index -1, binding -1
 sampler_2D: offset -1, type 8b5e, size 1, index -1, binding -1

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.basic.dcefunc.frag.out

@@ -1,10 +1,6 @@
 remap.basic.dcefunc.frag
 Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 19

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.basic.everything.frag.out

@@ -1,10 +1,6 @@
 remap.basic.everything.frag
 Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24969

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.basic.none.frag.out

@@ -1,10 +1,6 @@
 remap.basic.none.frag
 Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 20

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.basic.strip.frag.out

@@ -1,10 +1,6 @@
 remap.basic.strip.frag
 Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 20

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out

@@ -1,10 +1,6 @@
 remap.hlsl.sample.basic.everything.frag
 WARNING: 0:4: 'immediate sampler state' : unimplemented 
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 24916

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.none.frag.out

@@ -1,10 +1,6 @@
 remap.hlsl.sample.basic.none.frag
 WARNING: 0:4: 'immediate sampler state' : unimplemented 
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 190

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out

@@ -1,10 +1,6 @@
 remap.hlsl.sample.basic.strip.frag
 WARNING: 0:4: 'immediate sampler state' : unimplemented 
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 190

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out

@@ -1,8 +1,4 @@
 remap.hlsl.templatetypes.everything.frag
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 9012

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.hlsl.templatetypes.none.frag.out

@@ -1,8 +1,4 @@
 remap.hlsl.templatetypes.none.frag
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 149

+ 0 - 4
3rdparty/glslang/Test/baseResults/remap.if.everything.frag.out

@@ -1,10 +1,6 @@
 remap.if.everything.frag
 Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
 
-
-Linked fragment stage:
-
-
 // Module Version 10000
 // Generated by (magic number): 80001
 // Id's are bound by 22855

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff