diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index 49bb0a1..7abd04d 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -99,7 +99,7 @@
 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 @@
     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 @@
 
     // 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 @@
     : 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 @@
     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);
 }
 
 //
@@ -1382,17 +1383,17 @@
     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;
@@ -4118,11 +4119,9 @@
 // Create group invocation operations.
 spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
 {
-    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
 #ifdef AMD_EXTENSIONS
+    bool isUnsigned = typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64;
     bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble || typeProxy == glslang::EbtFloat16;
-#else
-    bool isFloat = typeProxy == glslang::EbtFloat || typeProxy == glslang::EbtDouble;
 #endif
 
     spv::Op opCode = spv::OpNop;
@@ -4133,10 +4132,12 @@
         builder.addCapability(spv::CapabilitySubgroupBallotKHR);
     } else {
         builder.addCapability(spv::CapabilityGroups);
+#ifdef AMD_EXTENSIONS
         if (op == glslang::EOpMinInvocationsNonUniform ||
             op == glslang::EOpMaxInvocationsNonUniform ||
             op == glslang::EOpAddInvocationsNonUniform)
             builder.addExtension(spv::E_SPV_AMD_shader_ballot);
+#endif
 
         spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
 #ifdef AMD_EXTENSIONS
@@ -4597,7 +4598,7 @@
         builder.createNoResultOp(spv::OpEndPrimitive);
         return 0;
     case glslang::EOpBarrier:
-        builder.createControlBarrier(spv::ScopeDevice, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
+        builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeDevice, spv::MemorySemanticsMaskNone);
         return 0;
     case glslang::EOpMemoryBarrier:
         builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory);
@@ -5120,9 +5121,8 @@
     glslang::GetThreadPoolAllocator().push();
 
     TGlslangToSpvTraverser it(&intermediate, logger);
-
     root->traverse(&it);
-
+    it.finishSpv();
     it.dumpSpv(spirv);
 
     glslang::GetThreadPoolAllocator().pop();
diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h
index 97b280c..428cfb6 100644
--- a/SPIRV/GlslangToSpv.h
+++ b/SPIRV/GlslangToSpv.h
@@ -32,6 +32,10 @@
 //ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 //POSSIBILITY OF SUCH DAMAGE.
 
+#if _MSC_VER >= 1900
+    #pragma warning(disable : 4464) // relative include path contains '..'
+#endif
+
 #include "../glslang/Include/intermediate.h"
 
 #include <string>
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 4703edc..04b0f04 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -64,7 +64,7 @@
     builderNumber(magicNumber),
     buildPoint(0),
     uniqueId(0),
-    mainFunction(0),
+    entryPointFunction(0),
     generatingOpCodeForSpecConst(false),
     logger(buildLogger)
 {
@@ -967,15 +967,15 @@
 // 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
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
index 0e8d9ca..e8524b2 100755
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -564,7 +564,7 @@
     Module module;
     Block* buildPoint;
     Id uniqueId;
-    Function* mainFunction;
+    Function* entryPointFunction;
     bool generatingOpCodeForSpecConst;
     AccessChain accessChain;
 
diff --git a/StandAlone/ResourceLimits.cpp b/StandAlone/ResourceLimits.cpp
index 8a5e6f3..e22ec80 100644
--- a/StandAlone/ResourceLimits.cpp
+++ b/StandAlone/ResourceLimits.cpp
@@ -35,6 +35,7 @@
 #include <cstdlib>
 #include <cstring>
 #include <sstream>
+#include <cctype>
 
 #include "ResourceLimits.h"
 
@@ -240,208 +241,217 @@
 
 void DecodeResourceLimits(TBuiltInResource* resources, char* config)
 {
-    const char* delims = " \t\n\r";
-#pragma warning(suppress: 4996)
-    const char* token = strtok(config, delims);
-    while (token) {
-#pragma warning(suppress: 4996)
-        const char* valueStr = strtok(0, delims);
-        if (valueStr == 0 || ! (valueStr[0] == '-' || (valueStr[0] >= '0' && valueStr[0] <= '9'))) {
-            printf("Error: '%s' bad .conf file.  Each name must be followed by one number.\n", valueStr ? valueStr : "");
+    static const char* delims = " \t\n\r";
+
+    size_t pos     = 0;
+    std::string configStr(config);
+
+    while ((pos = configStr.find_first_not_of(delims, pos)) != std::string::npos) {
+        const size_t token_s = pos;
+        const size_t token_e = configStr.find_first_of(delims, token_s);
+        const size_t value_s = configStr.find_first_not_of(delims, token_e);
+        const size_t value_e = configStr.find_first_of(delims, value_s);
+        pos = value_e;
+
+        // Faster to use compare(), but prefering readability.
+        const std::string tokenStr = configStr.substr(token_s, token_e-token_s);
+        const std::string valueStr = configStr.substr(value_s, value_e-value_s);
+
+        if (value_s == std::string::npos || ! (valueStr[0] == '-' || isdigit(valueStr[0]))) {
+            printf("Error: '%s' bad .conf file.  Each name must be followed by one number.\n",
+                   valueStr.c_str());
             return;
         }
-        int value = atoi(valueStr);
 
-        if (strcmp(token, "MaxLights") == 0)
+        const int value = std::atoi(valueStr.c_str());
+
+        if (tokenStr == "MaxLights")
             resources->maxLights = value;
-        else if (strcmp(token, "MaxClipPlanes") == 0)
+        else if (tokenStr == "MaxClipPlanes")
             resources->maxClipPlanes = value;
-        else if (strcmp(token, "MaxTextureUnits") == 0)
+        else if (tokenStr == "MaxTextureUnits")
             resources->maxTextureUnits = value;
-        else if (strcmp(token, "MaxTextureCoords") == 0)
+        else if (tokenStr == "MaxTextureCoords")
             resources->maxTextureCoords = value;
-        else if (strcmp(token, "MaxVertexAttribs") == 0)
+        else if (tokenStr == "MaxVertexAttribs")
             resources->maxVertexAttribs = value;
-        else if (strcmp(token, "MaxVertexUniformComponents") == 0)
+        else if (tokenStr == "MaxVertexUniformComponents")
             resources->maxVertexUniformComponents = value;
-        else if (strcmp(token, "MaxVaryingFloats") == 0)
+        else if (tokenStr == "MaxVaryingFloats")
             resources->maxVaryingFloats = value;
-        else if (strcmp(token, "MaxVertexTextureImageUnits") == 0)
+        else if (tokenStr == "MaxVertexTextureImageUnits")
             resources->maxVertexTextureImageUnits = value;
-        else if (strcmp(token, "MaxCombinedTextureImageUnits") == 0)
+        else if (tokenStr == "MaxCombinedTextureImageUnits")
             resources->maxCombinedTextureImageUnits = value;
-        else if (strcmp(token, "MaxTextureImageUnits") == 0)
+        else if (tokenStr == "MaxTextureImageUnits")
             resources->maxTextureImageUnits = value;
-        else if (strcmp(token, "MaxFragmentUniformComponents") == 0)
+        else if (tokenStr == "MaxFragmentUniformComponents")
             resources->maxFragmentUniformComponents = value;
-        else if (strcmp(token, "MaxDrawBuffers") == 0)
+        else if (tokenStr == "MaxDrawBuffers")
             resources->maxDrawBuffers = value;
-        else if (strcmp(token, "MaxVertexUniformVectors") == 0)
+        else if (tokenStr == "MaxVertexUniformVectors")
             resources->maxVertexUniformVectors = value;
-        else if (strcmp(token, "MaxVaryingVectors") == 0)
+        else if (tokenStr == "MaxVaryingVectors")
             resources->maxVaryingVectors = value;
-        else if (strcmp(token, "MaxFragmentUniformVectors") == 0)
+        else if (tokenStr == "MaxFragmentUniformVectors")
             resources->maxFragmentUniformVectors = value;
-        else if (strcmp(token, "MaxVertexOutputVectors") == 0)
+        else if (tokenStr == "MaxVertexOutputVectors")
             resources->maxVertexOutputVectors = value;
-        else if (strcmp(token, "MaxFragmentInputVectors") == 0)
+        else if (tokenStr == "MaxFragmentInputVectors")
             resources->maxFragmentInputVectors = value;
-        else if (strcmp(token, "MinProgramTexelOffset") == 0)
+        else if (tokenStr == "MinProgramTexelOffset")
             resources->minProgramTexelOffset = value;
-        else if (strcmp(token, "MaxProgramTexelOffset") == 0)
+        else if (tokenStr == "MaxProgramTexelOffset")
             resources->maxProgramTexelOffset = value;
-        else if (strcmp(token, "MaxClipDistances") == 0)
+        else if (tokenStr == "MaxClipDistances")
             resources->maxClipDistances = value;
-        else if (strcmp(token, "MaxComputeWorkGroupCountX") == 0)
+        else if (tokenStr == "MaxComputeWorkGroupCountX")
             resources->maxComputeWorkGroupCountX = value;
-        else if (strcmp(token, "MaxComputeWorkGroupCountY") == 0)
+        else if (tokenStr == "MaxComputeWorkGroupCountY")
             resources->maxComputeWorkGroupCountY = value;
-        else if (strcmp(token, "MaxComputeWorkGroupCountZ") == 0)
+        else if (tokenStr == "MaxComputeWorkGroupCountZ")
             resources->maxComputeWorkGroupCountZ = value;
-        else if (strcmp(token, "MaxComputeWorkGroupSizeX") == 0)
+        else if (tokenStr == "MaxComputeWorkGroupSizeX")
             resources->maxComputeWorkGroupSizeX = value;
-        else if (strcmp(token, "MaxComputeWorkGroupSizeY") == 0)
+        else if (tokenStr == "MaxComputeWorkGroupSizeY")
             resources->maxComputeWorkGroupSizeY = value;
-        else if (strcmp(token, "MaxComputeWorkGroupSizeZ") == 0)
+        else if (tokenStr == "MaxComputeWorkGroupSizeZ")
             resources->maxComputeWorkGroupSizeZ = value;
-        else if (strcmp(token, "MaxComputeUniformComponents") == 0)
+        else if (tokenStr == "MaxComputeUniformComponents")
             resources->maxComputeUniformComponents = value;
-        else if (strcmp(token, "MaxComputeTextureImageUnits") == 0)
+        else if (tokenStr == "MaxComputeTextureImageUnits")
             resources->maxComputeTextureImageUnits = value;
-        else if (strcmp(token, "MaxComputeImageUniforms") == 0)
+        else if (tokenStr == "MaxComputeImageUniforms")
             resources->maxComputeImageUniforms = value;
-        else if (strcmp(token, "MaxComputeAtomicCounters") == 0)
+        else if (tokenStr == "MaxComputeAtomicCounters")
             resources->maxComputeAtomicCounters = value;
-        else if (strcmp(token, "MaxComputeAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxComputeAtomicCounterBuffers")
             resources->maxComputeAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxVaryingComponents") == 0)
+        else if (tokenStr == "MaxVaryingComponents")
             resources->maxVaryingComponents = value;
-        else if (strcmp(token, "MaxVertexOutputComponents") == 0)
+        else if (tokenStr == "MaxVertexOutputComponents")
             resources->maxVertexOutputComponents = value;
-        else if (strcmp(token, "MaxGeometryInputComponents") == 0)
+        else if (tokenStr == "MaxGeometryInputComponents")
             resources->maxGeometryInputComponents = value;
-        else if (strcmp(token, "MaxGeometryOutputComponents") == 0)
+        else if (tokenStr == "MaxGeometryOutputComponents")
             resources->maxGeometryOutputComponents = value;
-        else if (strcmp(token, "MaxFragmentInputComponents") == 0)
+        else if (tokenStr == "MaxFragmentInputComponents")
             resources->maxFragmentInputComponents = value;
-        else if (strcmp(token, "MaxImageUnits") == 0)
+        else if (tokenStr == "MaxImageUnits")
             resources->maxImageUnits = value;
-        else if (strcmp(token, "MaxCombinedImageUnitsAndFragmentOutputs") == 0)
+        else if (tokenStr == "MaxCombinedImageUnitsAndFragmentOutputs")
             resources->maxCombinedImageUnitsAndFragmentOutputs = value;
-        else if (strcmp(token, "MaxCombinedShaderOutputResources") == 0)
+        else if (tokenStr == "MaxCombinedShaderOutputResources")
             resources->maxCombinedShaderOutputResources = value;
-        else if (strcmp(token, "MaxImageSamples") == 0)
+        else if (tokenStr == "MaxImageSamples")
             resources->maxImageSamples = value;
-        else if (strcmp(token, "MaxVertexImageUniforms") == 0)
+        else if (tokenStr == "MaxVertexImageUniforms")
             resources->maxVertexImageUniforms = value;
-        else if (strcmp(token, "MaxTessControlImageUniforms") == 0)
+        else if (tokenStr == "MaxTessControlImageUniforms")
             resources->maxTessControlImageUniforms = value;
-        else if (strcmp(token, "MaxTessEvaluationImageUniforms") == 0)
+        else if (tokenStr == "MaxTessEvaluationImageUniforms")
             resources->maxTessEvaluationImageUniforms = value;
-        else if (strcmp(token, "MaxGeometryImageUniforms") == 0)
+        else if (tokenStr == "MaxGeometryImageUniforms")
             resources->maxGeometryImageUniforms = value;
-        else if (strcmp(token, "MaxFragmentImageUniforms") == 0)
+        else if (tokenStr == "MaxFragmentImageUniforms")
             resources->maxFragmentImageUniforms = value;
-        else if (strcmp(token, "MaxCombinedImageUniforms") == 0)
+        else if (tokenStr == "MaxCombinedImageUniforms")
             resources->maxCombinedImageUniforms = value;
-        else if (strcmp(token, "MaxGeometryTextureImageUnits") == 0)
+        else if (tokenStr == "MaxGeometryTextureImageUnits")
             resources->maxGeometryTextureImageUnits = value;
-        else if (strcmp(token, "MaxGeometryOutputVertices") == 0)
+        else if (tokenStr == "MaxGeometryOutputVertices")
             resources->maxGeometryOutputVertices = value;
-        else if (strcmp(token, "MaxGeometryTotalOutputComponents") == 0)
+        else if (tokenStr == "MaxGeometryTotalOutputComponents")
             resources->maxGeometryTotalOutputComponents = value;
-        else if (strcmp(token, "MaxGeometryUniformComponents") == 0)
+        else if (tokenStr == "MaxGeometryUniformComponents")
             resources->maxGeometryUniformComponents = value;
-        else if (strcmp(token, "MaxGeometryVaryingComponents") == 0)
+        else if (tokenStr == "MaxGeometryVaryingComponents")
             resources->maxGeometryVaryingComponents = value;
-        else if (strcmp(token, "MaxTessControlInputComponents") == 0)
+        else if (tokenStr == "MaxTessControlInputComponents")
             resources->maxTessControlInputComponents = value;
-        else if (strcmp(token, "MaxTessControlOutputComponents") == 0)
+        else if (tokenStr == "MaxTessControlOutputComponents")
             resources->maxTessControlOutputComponents = value;
-        else if (strcmp(token, "MaxTessControlTextureImageUnits") == 0)
+        else if (tokenStr == "MaxTessControlTextureImageUnits")
             resources->maxTessControlTextureImageUnits = value;
-        else if (strcmp(token, "MaxTessControlUniformComponents") == 0)
+        else if (tokenStr == "MaxTessControlUniformComponents")
             resources->maxTessControlUniformComponents = value;
-        else if (strcmp(token, "MaxTessControlTotalOutputComponents") == 0)
+        else if (tokenStr == "MaxTessControlTotalOutputComponents")
             resources->maxTessControlTotalOutputComponents = value;
-        else if (strcmp(token, "MaxTessEvaluationInputComponents") == 0)
+        else if (tokenStr == "MaxTessEvaluationInputComponents")
             resources->maxTessEvaluationInputComponents = value;
-        else if (strcmp(token, "MaxTessEvaluationOutputComponents") == 0)
+        else if (tokenStr == "MaxTessEvaluationOutputComponents")
             resources->maxTessEvaluationOutputComponents = value;
-        else if (strcmp(token, "MaxTessEvaluationTextureImageUnits") == 0)
+        else if (tokenStr == "MaxTessEvaluationTextureImageUnits")
             resources->maxTessEvaluationTextureImageUnits = value;
-        else if (strcmp(token, "MaxTessEvaluationUniformComponents") == 0)
+        else if (tokenStr == "MaxTessEvaluationUniformComponents")
             resources->maxTessEvaluationUniformComponents = value;
-        else if (strcmp(token, "MaxTessPatchComponents") == 0)
+        else if (tokenStr == "MaxTessPatchComponents")
             resources->maxTessPatchComponents = value;
-        else if (strcmp(token, "MaxPatchVertices") == 0)
+        else if (tokenStr == "MaxPatchVertices")
             resources->maxPatchVertices = value;
-        else if (strcmp(token, "MaxTessGenLevel") == 0)
+        else if (tokenStr == "MaxTessGenLevel")
             resources->maxTessGenLevel = value;
-        else if (strcmp(token, "MaxViewports") == 0)
+        else if (tokenStr == "MaxViewports")
             resources->maxViewports = value;
-        else if (strcmp(token, "MaxVertexAtomicCounters") == 0)
+        else if (tokenStr == "MaxVertexAtomicCounters")
             resources->maxVertexAtomicCounters = value;
-        else if (strcmp(token, "MaxTessControlAtomicCounters") == 0)
+        else if (tokenStr == "MaxTessControlAtomicCounters")
             resources->maxTessControlAtomicCounters = value;
-        else if (strcmp(token, "MaxTessEvaluationAtomicCounters") == 0)
+        else if (tokenStr == "MaxTessEvaluationAtomicCounters")
             resources->maxTessEvaluationAtomicCounters = value;
-        else if (strcmp(token, "MaxGeometryAtomicCounters") == 0)
+        else if (tokenStr == "MaxGeometryAtomicCounters")
             resources->maxGeometryAtomicCounters = value;
-        else if (strcmp(token, "MaxFragmentAtomicCounters") == 0)
+        else if (tokenStr == "MaxFragmentAtomicCounters")
             resources->maxFragmentAtomicCounters = value;
-        else if (strcmp(token, "MaxCombinedAtomicCounters") == 0)
+        else if (tokenStr == "MaxCombinedAtomicCounters")
             resources->maxCombinedAtomicCounters = value;
-        else if (strcmp(token, "MaxAtomicCounterBindings") == 0)
+        else if (tokenStr == "MaxAtomicCounterBindings")
             resources->maxAtomicCounterBindings = value;
-        else if (strcmp(token, "MaxVertexAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxVertexAtomicCounterBuffers")
             resources->maxVertexAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxTessControlAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxTessControlAtomicCounterBuffers")
             resources->maxTessControlAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxTessEvaluationAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxTessEvaluationAtomicCounterBuffers")
             resources->maxTessEvaluationAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxGeometryAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxGeometryAtomicCounterBuffers")
             resources->maxGeometryAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxFragmentAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxFragmentAtomicCounterBuffers")
             resources->maxFragmentAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxCombinedAtomicCounterBuffers") == 0)
+        else if (tokenStr == "MaxCombinedAtomicCounterBuffers")
             resources->maxCombinedAtomicCounterBuffers = value;
-        else if (strcmp(token, "MaxAtomicCounterBufferSize") == 0)
+        else if (tokenStr == "MaxAtomicCounterBufferSize")
             resources->maxAtomicCounterBufferSize = value;
-        else if (strcmp(token, "MaxTransformFeedbackBuffers") == 0)
+        else if (tokenStr == "MaxTransformFeedbackBuffers")
             resources->maxTransformFeedbackBuffers = value;
-        else if (strcmp(token, "MaxTransformFeedbackInterleavedComponents") == 0)
+        else if (tokenStr == "MaxTransformFeedbackInterleavedComponents")
             resources->maxTransformFeedbackInterleavedComponents = value;
-        else if (strcmp(token, "MaxCullDistances") == 0)
+        else if (tokenStr == "MaxCullDistances")
             resources->maxCullDistances = value;
-        else if (strcmp(token, "MaxCombinedClipAndCullDistances") == 0)
+        else if (tokenStr == "MaxCombinedClipAndCullDistances")
             resources->maxCombinedClipAndCullDistances = value;
-        else if (strcmp(token, "MaxSamples") == 0)
+        else if (tokenStr == "MaxSamples")
             resources->maxSamples = value;
-
-        else if (strcmp(token, "nonInductiveForLoops") == 0)
+        else if (tokenStr == "nonInductiveForLoops")
             resources->limits.nonInductiveForLoops = (value != 0);
-        else if (strcmp(token, "whileLoops") == 0)
+        else if (tokenStr == "whileLoops")
             resources->limits.whileLoops = (value != 0);
-        else if (strcmp(token, "doWhileLoops") == 0)
+        else if (tokenStr == "doWhileLoops")
             resources->limits.doWhileLoops = (value != 0);
-        else if (strcmp(token, "generalUniformIndexing") == 0)
+        else if (tokenStr == "generalUniformIndexing")
             resources->limits.generalUniformIndexing = (value != 0);
-        else if (strcmp(token, "generalAttributeMatrixVectorIndexing") == 0)
+        else if (tokenStr == "generalAttributeMatrixVectorIndexing")
             resources->limits.generalAttributeMatrixVectorIndexing = (value != 0);
-        else if (strcmp(token, "generalVaryingIndexing") == 0)
+        else if (tokenStr == "generalVaryingIndexing")
             resources->limits.generalVaryingIndexing = (value != 0);
-        else if (strcmp(token, "generalSamplerIndexing") == 0)
+        else if (tokenStr == "generalSamplerIndexing")
             resources->limits.generalSamplerIndexing = (value != 0);
-        else if (strcmp(token, "generalVariableIndexing") == 0)
+        else if (tokenStr == "generalVariableIndexing")
             resources->limits.generalVariableIndexing = (value != 0);
-        else if (strcmp(token, "generalConstantMatrixVectorIndexing") == 0)
+        else if (tokenStr == "generalConstantMatrixVectorIndexing")
             resources->limits.generalConstantMatrixVectorIndexing = (value != 0);
         else
-            printf("Warning: unrecognized limit (%s) in configuration file.\n", token);
+            printf("Warning: unrecognized limit (%s) in configuration file.\n", tokenStr.c_str());
 
-#pragma warning(suppress: 4996)
-        token = strtok(0, delims);
     }
 }
 
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index 0ac72d3..377e7cb 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -164,6 +164,7 @@
 
 std::array<unsigned int, EShLangCount> baseSamplerBinding;
 std::array<unsigned int, EShLangCount> baseTextureBinding;
+std::array<unsigned int, EShLangCount> baseImageBinding;
 std::array<unsigned int, EShLangCount> baseUboBinding;
 
 //
@@ -252,6 +253,7 @@
 {
     baseSamplerBinding.fill(0);
     baseTextureBinding.fill(0);
+    baseImageBinding.fill(0);
     baseUboBinding.fill(0);
 
     ExecutableName = argv[0];
@@ -279,6 +281,10 @@
                                lowerword == "shift-texture-binding"  ||
                                lowerword == "stb") {
                         ProcessBindingBase(argc, argv, baseTextureBinding);
+                    } else if (lowerword == "shift-image-bindings" ||  // synonyms
+                               lowerword == "shift-image-binding"  ||
+                               lowerword == "sib") {
+                        ProcessBindingBase(argc, argv, baseImageBinding);
                     } else if (lowerword == "shift-ubo-bindings" ||  // synonyms
                                lowerword == "shift-ubo-binding"  ||
                                lowerword == "sub") {
@@ -544,6 +550,7 @@
 
         shader->setShiftSamplerBinding(baseSamplerBinding[compUnit.stage]);
         shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]);
+        shader->setShiftImageBinding(baseImageBinding[compUnit.stage]);
         shader->setShiftUboBinding(baseUboBinding[compUnit.stage]);
         shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
         shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
@@ -941,6 +948,9 @@
            "  --shift-texture-binding [stage] num     set base binding number for textures\n"
            "  --stb [stage] num                       synonym for --shift-texture-binding\n"
            "\n"
+           "  --shift-image-binding [stage] num       set base binding number for images (uav)\n"
+           "  --sib [stage] num                       synonym for --shift-image-binding\n"
+           "\n"
            "  --shift-UBO-binding [stage] num         set base binding number for UBOs\n"
            "  --sub [stage] num                       synonym for --shift-UBO-binding\n"
            "\n"
diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out
index edd65ab..74a597f 100644
--- a/Test/baseResults/100.frag.out
+++ b/Test/baseResults/100.frag.out
@@ -393,13 +393,13 @@
 0:?     'a' (global 3-element array of mediump int)
 0:?     'uint' (global mediump int)
 0:?     'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:?     'f' (global mediump float)
+0:?     'f' (invariant global mediump float)
 0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
 0:?     'fa' (global implicitly-sized array of mediump float)
-0:?     'f13' (global mediump float)
+0:?     'f13' (invariant global mediump float)
 0:?     'fi' (invariant temp mediump float)
-0:?     'av' (smooth in mediump 4-component vector of float)
-0:?     'uv2' (uniform mediump 2-component vector of float)
+0:?     'av' (invariant smooth in mediump 4-component vector of float)
+0:?     'uv2' (invariant uniform mediump 2-component vector of float)
 0:?     'uv3' (invariant uniform mediump 3-component vector of float)
 0:?     'glob2D' (global lowp sampler2D)
 0:?     'vary2D' (smooth in lowp sampler2D)
@@ -731,13 +731,13 @@
 0:?     'a' (global 3-element array of mediump int)
 0:?     'uint' (global mediump int)
 0:?     'v' (smooth in 3-element array of mediump 4-component vector of float)
-0:?     'f' (global mediump float)
+0:?     'f' (invariant global mediump float)
 0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})
 0:?     'fa' (global 1-element array of mediump float)
-0:?     'f13' (global mediump float)
+0:?     'f13' (invariant global mediump float)
 0:?     'fi' (invariant temp mediump float)
-0:?     'av' (smooth in mediump 4-component vector of float)
-0:?     'uv2' (uniform mediump 2-component vector of float)
+0:?     'av' (invariant smooth in mediump 4-component vector of float)
+0:?     'uv2' (invariant uniform mediump 2-component vector of float)
 0:?     'uv3' (invariant uniform mediump 3-component vector of float)
 0:?     'glob2D' (global lowp sampler2D)
 0:?     'vary2D' (smooth in lowp sampler2D)
diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out
index 73ced6a..18fb221 100644
--- a/Test/baseResults/120.vert.out
+++ b/Test/baseResults/120.vert.out
@@ -420,7 +420,6 @@
 0:?     'concall' (const float)
 0:?       0.295520
 0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
 0:?     'c' (uniform int)
 0:?     'x' (in 2-component vector of int)
 0:?     'v2a' (in 2-component vector of float)
@@ -772,7 +771,6 @@
 0:?     'concall' (const float)
 0:?       0.295520
 0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
-0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float TexCoord)
 0:?     'c' (uniform int)
 0:?     'x' (in 2-component vector of int)
 0:?     'v2a' (in 2-component vector of float)
diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out
index b2b4dd0..a28908e 100644
--- a/Test/baseResults/130.frag.out
+++ b/Test/baseResults/130.frag.out
@@ -383,8 +383,7 @@
 0:?     'fnop' (noperspective in float)
 0:?     'gl_ClipDistance' (smooth in implicitly-sized array of float ClipDistance)
 0:?     'sampC' (uniform samplerCube)
-0:?     'gl_Color' (smooth in 4-component vector of float Color)
-0:?     'gl_Color' (flat in 4-component vector of float Color)
+0:?     'gl_Color' (in 4-component vector of float Color)
 0:?     'samp2D' (uniform sampler2D)
 0:?     'samp2DS' (uniform sampler2DShadow)
 0:?     'samp2DR' (uniform sampler2DRect)
@@ -759,8 +758,7 @@
 0:?     'fnop' (noperspective in float)
 0:?     'gl_ClipDistance' (smooth in 4-element array of float ClipDistance)
 0:?     'sampC' (uniform samplerCube)
-0:?     'gl_Color' (smooth in 4-component vector of float Color)
-0:?     'gl_Color' (flat in 4-component vector of float Color)
+0:?     'gl_Color' (in 4-component vector of float Color)
 0:?     'samp2D' (uniform sampler2D)
 0:?     'samp2DS' (uniform sampler2DShadow)
 0:?     'samp2DR' (uniform sampler2DRect)
diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out
index fbeee83..38c3b9f 100644
--- a/Test/baseResults/140.frag.out
+++ b/Test/baseResults/140.frag.out
@@ -104,7 +104,6 @@
 0:?     'i' (smooth in 4-component vector of float)
 0:?     'o' (out 4-component vector of float)
 0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
 0:?     's' (smooth in structure{global float f})
 0:?     'patch' (global float)
 0:?     'vl' (layout(location=3 ) smooth in 4-component vector of float)
@@ -211,7 +210,6 @@
 0:?     'i' (smooth in 4-component vector of float)
 0:?     'o' (out 4-component vector of float)
 0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
-0:?     'gl_ClipDistance' (smooth in 5-element array of float ClipDistance)
 0:?     's' (smooth in structure{global float f})
 0:?     'patch' (global float)
 0:?     'vl' (layout(location=3 ) smooth in 4-component vector of float)
diff --git a/Test/baseResults/140.vert.out b/Test/baseResults/140.vert.out
index 634458c..365a0aa 100644
--- a/Test/baseResults/140.vert.out
+++ b/Test/baseResults/140.vert.out
@@ -124,10 +124,7 @@
 0:?     'locBad' (layout(location=9 ) in 4-component vector of float)
 0:?     'loc' (layout(location=9 ) in 4-component vector of float)
 0:?     'gl_PointSize' (gl_PointSize float PointSize)
-0:?     'gl_PointSize' (gl_PointSize float PointSize)
 0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)
 0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)
 0:?     's2dr' (uniform sampler2DRect)
 0:?     's2drs' (uniform sampler2DRectShadow)
@@ -254,10 +251,7 @@
 0:?     'locBad' (layout(location=9 ) in 4-component vector of float)
 0:?     'loc' (layout(location=9 ) in 4-component vector of float)
 0:?     'gl_PointSize' (gl_PointSize float PointSize)
-0:?     'gl_PointSize' (gl_PointSize float PointSize)
 0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:?     'gl_ClipVertex' (gl_ClipVertex 4-component vector of float ClipVertex)
-0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)
 0:?     'gl_FogFragCoord' (smooth out float FogFragCoord)
 0:?     's2dr' (uniform sampler2DRect)
 0:?     's2drs' (uniform sampler2DRectShadow)
diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out
index 082a827..0972fdc 100644
--- a/Test/baseResults/150.frag.out
+++ b/Test/baseResults/150.frag.out
@@ -108,7 +108,6 @@
 0:49        'gl_PrimitiveID' (flat in int PrimitiveID)
 0:?   Linker Objects
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'foo' (smooth in 4-component vector of float)
 0:?     's' (smooth in structure{global float f})
 0:?     'patch' (global float)
@@ -228,7 +227,6 @@
 0:49        'gl_PrimitiveID' (flat in int PrimitiveID)
 0:?   Linker Objects
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'foo' (smooth in 4-component vector of float)
 0:?     's' (smooth in structure{global float f})
 0:?     'patch' (global float)
diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out
index ecfa3d5..d35929f 100644
--- a/Test/baseResults/300.vert.out
+++ b/Test/baseResults/300.vert.out
@@ -308,9 +308,9 @@
 0:?     'badsize2' (global implicitly-sized array of highp float)
 0:?     'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a})
 0:?     'okayA' (global 2-element array of highp float)
-0:?     'newV' (smooth out highp 3-component vector of float)
-0:?     'invIn' (in highp 4-component vector of float)
-0:?     's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:?     'newV' (invariant smooth out highp 3-component vector of float)
+0:?     'invIn' (invariant in highp 4-component vector of float)
+0:?     's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
 0:?     's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
 0:?     'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
 0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
@@ -592,9 +592,9 @@
 0:?     'badsize2' (global 1-element array of highp float)
 0:?     'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})
 0:?     'okayA' (global 2-element array of highp float)
-0:?     'newV' (smooth out highp 3-component vector of float)
-0:?     'invIn' (in highp 4-component vector of float)
-0:?     's2' (smooth out structure{global highp 3-component vector of float c, global highp float f})
+0:?     'newV' (invariant smooth out highp 3-component vector of float)
+0:?     'invIn' (invariant in highp 4-component vector of float)
+0:?     's2' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
 0:?     's3' (invariant smooth out structure{global highp 3-component vector of float c, global highp float f})
 0:?     'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})
 0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})
diff --git a/Test/baseResults/310.frag.out b/Test/baseResults/310.frag.out
index 6cfd3f4..66d6ae0 100644
--- a/Test/baseResults/310.frag.out
+++ b/Test/baseResults/310.frag.out
@@ -963,7 +963,6 @@
 0:?     'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
 0:?     'arrayedInst' (in 4-element array of block{in mediump float f})
 0:?     'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:?     'gl_FragDepth' (gl_FragDepth highp float FragDepth)
 0:?     'inf' (smooth in mediump 2-component vector of float)
 0:?     'ing' (smooth in mediump 2-component vector of float)
 0:?     'offsets' (uniform 4-element array of mediump 2-component vector of int)
@@ -1844,7 +1843,6 @@
 0:?     'aliased' (layout(location=13 ) smooth in mediump 4-component vector of float)
 0:?     'arrayedInst' (in 4-element array of block{in mediump float f})
 0:?     'gl_FragDepth' (gl_FragDepth highp float FragDepth)
-0:?     'gl_FragDepth' (gl_FragDepth highp float FragDepth)
 0:?     'inf' (smooth in mediump 2-component vector of float)
 0:?     'ing' (smooth in mediump 2-component vector of float)
 0:?     'offsets' (uniform 4-element array of mediump 2-component vector of int)
diff --git a/Test/baseResults/310AofA.vert.out b/Test/baseResults/310AofA.vert.out
index 83f105c..28592d5 100644
--- a/Test/baseResults/310AofA.vert.out
+++ b/Test/baseResults/310AofA.vert.out
@@ -5,7 +5,7 @@
 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'
diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out
index 33a8c9a..9090414 100644
--- a/Test/baseResults/400.frag.out
+++ b/Test/baseResults/400.frag.out
@@ -481,8 +481,6 @@
 0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)
 0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)
 0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'u2drs' (uniform sampler2DRectShadow)
 0:?     'patchIn' (smooth patch in 4-component vector of float)
@@ -962,8 +960,6 @@
 0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)
 0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)
 0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:?     'anon@0' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, smooth in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'u2drs' (uniform sampler2DRectShadow)
 0:?     'patchIn' (smooth patch in 4-component vector of float)
diff --git a/Test/baseResults/420.frag.out b/Test/baseResults/420.frag.out
index 784cdb4..3b4c9be 100644
--- a/Test/baseResults/420.frag.out
+++ b/Test/baseResults/420.frag.out
@@ -19,7 +19,6 @@
 0:8          0.300000
 0:?   Linker Objects
 0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
 0:?     'depth' (smooth in float)
 0:?     'a' (layout(binding=0 offset=0 ) uniform implicitly-sized array of atomic_uint)
 
@@ -39,7 +38,6 @@
 0:8          0.300000
 0:?   Linker Objects
 0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
 0:?     'depth' (smooth in float)
 0:?     'a' (layout(binding=0 offset=0 ) uniform 1-element array of atomic_uint)
 
diff --git a/Test/baseResults/430AofA.frag.out b/Test/baseResults/430AofA.frag.out
index 68285f7..f3bbfb8 100644
--- a/Test/baseResults/430AofA.frag.out
+++ b/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'
diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
index 1be5906..44d7655 100755
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -58,7 +58,7 @@
 0:25          Constant:
 0:25            0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
 
 
 Linked fragment stage:
@@ -123,7 +123,7 @@
 0:25          Constant:
 0:25            0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index cbfb0ef..74a348a 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -138,6 +138,7 @@
 0:?                   'g_samp[2]' (uniform sampler)
 0:37              'aggShadow' (temp 3-element array of sampler)
 0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_tex[0]' (uniform texture1D)
 0:?     'g_tex[1]' (uniform texture1D)
 0:?     'g_tex[2]' (uniform texture1D)
@@ -150,9 +151,8 @@
 0:?     'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
 0:?     'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
 0:?     'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
 0:?     'not_flattened_a' (global 5-element array of int)
-0:?     'color' (layout(location=0 ) out 4-component vector of float)
 
 
 Linked fragment stage:
@@ -297,6 +297,7 @@
 0:?                   'g_samp[2]' (uniform sampler)
 0:37              'aggShadow' (temp 3-element array of sampler)
 0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_tex[0]' (uniform texture1D)
 0:?     'g_tex[1]' (uniform texture1D)
 0:?     'g_tex[2]' (uniform texture1D)
@@ -309,9 +310,8 @@
 0:?     'g_samp_explicit[0]' (layout(binding=5 ) uniform sampler)
 0:?     'g_samp_explicit[1]' (layout(binding=6 ) uniform sampler)
 0:?     'g_samp_explicit[2]' (layout(binding=7 ) uniform sampler)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 3X3 matrix of float g_mats, layout(binding=10 offset=192 ) uniform 4-element array of 3X3 matrix of float g_mats_explicit, layout(offset=384 ) uniform 4-element array of float g_floats})
 0:?     'not_flattened_a' (global 5-element array of int)
-0:?     'color' (layout(location=0 ) out 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 00aedb3..e04a5e8 100755
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -57,9 +57,9 @@
 0:10        Branch: Return
 0:?   Linker Objects
 0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
 0:?     'i' (layout(location=0 ) in int)
 0:?     'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
 
 
 Linked fragment stage:
@@ -123,9 +123,9 @@
 0:10        Branch: Return
 0:?   Linker Objects
 0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
 0:?     'i' (layout(location=0 ) in int)
 0:?     'input' (layout(location=1 ) in 3-element array of 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-element array of 4-component vector of float a, layout(offset=64 ) uniform 11-element array of structure{temp 7-element array of 4-component vector of float m} s})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.array.implicit-size.frag.out b/Test/baseResults/hlsl.array.implicit-size.frag.out
index d8e0ed8..5674cb4 100644
--- a/Test/baseResults/hlsl.array.implicit-size.frag.out
+++ b/Test/baseResults/hlsl.array.implicit-size.frag.out
@@ -81,6 +81,7 @@
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -234,6 +235,7 @@
                               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
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
index a2df1a8..66890b5 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -59,7 +59,7 @@
 0:19        Branch: Return
 0:?   Linker Objects
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
 
 
 Linked fragment stage:
@@ -125,7 +125,7 @@
 0:19        Branch: Return
 0:?   Linker Objects
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 5-element array of 4-element array of 3-element array of float float_array})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
new file mode 100644
index 0000000..2316cd9
--- /dev/null
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -0,0 +1,138 @@
+hlsl.attribute.expression.comp
+Shader version: 450
+local_size = (4, 6, 8)
+0:? Sequence
+0:9  Function Definition: main( (temp 4-component vector of float)
+0:9    Function Parameters: 
+0:?     Sequence
+0:11      Sequence
+0:11        move second child to first child (temp int)
+0:11          'x' (temp int)
+0:11          Constant:
+0:11            0 (const int)
+0:11        Loop with condition tested first
+0:11          Loop Condition
+0:11          Compare Less Than (temp bool)
+0:11            'x' (temp int)
+0:11            bound: direct index for structure (layout(offset=0 ) uniform int)
+0:11              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+0:11              Constant:
+0:11                0 (const uint)
+0:11          No loop body
+0:11          Loop Terminal Expression
+0:11          Pre-Increment (temp int)
+0:11            'x' (temp int)
+0:14      Sequence
+0:14        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:14        Branch: Return
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+
+
+Linked compute stage:
+
+
+Shader version: 450
+local_size = (4, 6, 8)
+0:? Sequence
+0:9  Function Definition: main( (temp 4-component vector of float)
+0:9    Function Parameters: 
+0:?     Sequence
+0:11      Sequence
+0:11        move second child to first child (temp int)
+0:11          'x' (temp int)
+0:11          Constant:
+0:11            0 (const int)
+0:11        Loop with condition tested first
+0:11          Loop Condition
+0:11          Compare Less Than (temp bool)
+0:11            'x' (temp int)
+0:11            bound: direct index for structure (layout(offset=0 ) uniform int)
+0:11              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+0:11              Constant:
+0:11                0 (const uint)
+0:11          No loop body
+0:11          Loop Terminal Expression
+0:11          Pre-Increment (temp int)
+0:11            'x' (temp int)
+0:14      Sequence
+0:14        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:14        Branch: Return
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int bound})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 34
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main" 30
+                              ExecutionMode 4 LocalSize 4 6 8
+                              Name 4  "main"
+                              Name 8  "x"
+                              Name 16  "$Global"
+                              MemberName 16($Global) 0  "bound"
+                              Name 18  ""
+                              Name 30  "@entryPointOutput"
+                              MemberDecorate 16($Global) 0 Offset 0
+                              Decorate 16($Global) Block
+                              Decorate 18 DescriptorSet 0
+                              Decorate 30(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 0
+     16($Global):             TypeStruct 6(int)
+              17:             TypePointer Uniform 16($Global)
+              18:     17(ptr) Variable Uniform
+              19:             TypePointer Uniform 6(int)
+              22:             TypeBool
+              25:      6(int) Constant 1
+              27:             TypeFloat 32
+              28:             TypeVector 27(float) 4
+              29:             TypePointer Output 28(fvec4)
+30(@entryPointOutput):     29(ptr) Variable Output
+              31:   27(float) Constant 0
+              32:   28(fvec4) ConstantComposite 31 31 31 31
+         4(main):           2 Function None 3
+               5:             Label
+            8(x):      7(ptr) Variable Function
+                              Store 8(x) 9
+                              Branch 10
+              10:             Label
+                              LoopMerge 12 13 None
+                              Branch 14
+              14:             Label
+              15:      6(int) Load 8(x)
+              20:     19(ptr) AccessChain 18 9
+              21:      6(int) Load 20
+              23:    22(bool) SLessThan 15 21
+                              BranchConditional 23 11 12
+              11:               Label
+                                Branch 13
+              13:               Label
+              24:      6(int)   Load 8(x)
+              26:      6(int)   IAdd 24 25
+                                Store 8(x) 26
+                                Branch 10
+              12:             Label
+                              Store 30(@entryPointOutput) 32
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
index c6dc3e5..9101e22 100755
--- a/Test/baseResults/hlsl.basic.comp.out
+++ b/Test/baseResults/hlsl.basic.comp.out
@@ -8,8 +8,8 @@
 0:?     Sequence
 0:5      'dti' (in int LocalInvocationID)
 0:?   Linker Objects
-0:?     'a' (shared 100-element array of 4-component vector of float)
 0:?     'dti' (in int LocalInvocationID)
+0:?     'a' (shared 100-element array of 4-component vector of float)
 
 
 Linked compute stage:
@@ -24,8 +24,8 @@
 0:?     Sequence
 0:5      'dti' (in int LocalInvocationID)
 0:?   Linker Objects
-0:?     'a' (shared 100-element array of 4-component vector of float)
 0:?     'dti' (in int LocalInvocationID)
+0:?     'a' (shared 100-element array of 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.basic.geom.out b/Test/baseResults/hlsl.basic.geom.out
new file mode 100644
index 0000000..2c20b43
--- /dev/null
+++ b/Test/baseResults/hlsl.basic.geom.out
@@ -0,0 +1,201 @@
+hlsl.basic.geom
+Shader version: 450
+invocations = -1
+max_vertices = 4
+input primitive = triangles
+output primitive = line_strip
+0:? Sequence
+0:16  Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
+0:16    Function Parameters: 
+0:16      'VertexID' (layout(location=0 ) in 3-element array of uint)
+0:16      'test' (layout(location=3 ) in 3-element array of uint)
+0:16      'OutputStream' (out structure{temp float myfloat, temp int something})
+0:?     Sequence
+0:19      move second child to first child (temp float)
+0:19        myfloat: direct index for structure (temp float)
+0:19          'Vert' (temp structure{temp float myfloat, temp int something})
+0:19          Constant:
+0:19            0 (const int)
+0:19        Convert uint to float (temp float)
+0:19          add (temp uint)
+0:19            add (temp uint)
+0:19              direct index (layout(location=3 ) temp uint)
+0:19                'test' (layout(location=3 ) in 3-element array of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19              direct index (layout(location=3 ) temp uint)
+0:19                'test' (layout(location=3 ) in 3-element array of uint)
+0:19                Constant:
+0:19                  1 (const int)
+0:19            direct index (layout(location=3 ) temp uint)
+0:19              'test' (layout(location=3 ) in 3-element array of uint)
+0:19              Constant:
+0:19                2 (const int)
+0:20      move second child to first child (temp int)
+0:20        something: direct index for structure (temp int)
+0:20          'Vert' (temp structure{temp float myfloat, temp int something})
+0:20          Constant:
+0:20            1 (const int)
+0:20        Convert uint to int (temp int)
+0:20          direct index (layout(location=0 ) temp uint)
+0:20            'VertexID' (layout(location=0 ) in 3-element array of uint)
+0:20            Constant:
+0:20              0 (const int)
+0:22      Sequence
+0:22        move second child to first child (temp structure{temp float myfloat, temp int something})
+0:22          'OutputStream' (out structure{temp float myfloat, temp int something})
+0:22          'Vert' (temp structure{temp float myfloat, temp int something})
+0:22        EmitVertex (temp void)
+0:23      Sequence
+0:23        move second child to first child (temp structure{temp float myfloat, temp int something})
+0:23          'OutputStream' (out structure{temp float myfloat, temp int something})
+0:23          'Vert' (temp structure{temp float myfloat, temp int something})
+0:23        EmitVertex (temp void)
+0:24      EndPrimitive (temp void)
+0:?   Linker Objects
+0:?     'VertexID' (layout(location=0 ) in 3-element array of uint)
+0:?     'test' (layout(location=3 ) in 3-element array of uint)
+0:?     'myfloat' (layout(location=0 ) out float)
+0:?     'something' (layout(location=1 ) out int)
+
+
+Linked geometry stage:
+
+
+Shader version: 450
+invocations = 1
+max_vertices = 4
+input primitive = triangles
+output primitive = line_strip
+0:? Sequence
+0:16  Function Definition: main(u1[3];u1[3];struct-PSInput-f1-i11; (temp void)
+0:16    Function Parameters: 
+0:16      'VertexID' (layout(location=0 ) in 3-element array of uint)
+0:16      'test' (layout(location=3 ) in 3-element array of uint)
+0:16      'OutputStream' (out structure{temp float myfloat, temp int something})
+0:?     Sequence
+0:19      move second child to first child (temp float)
+0:19        myfloat: direct index for structure (temp float)
+0:19          'Vert' (temp structure{temp float myfloat, temp int something})
+0:19          Constant:
+0:19            0 (const int)
+0:19        Convert uint to float (temp float)
+0:19          add (temp uint)
+0:19            add (temp uint)
+0:19              direct index (layout(location=3 ) temp uint)
+0:19                'test' (layout(location=3 ) in 3-element array of uint)
+0:19                Constant:
+0:19                  0 (const int)
+0:19              direct index (layout(location=3 ) temp uint)
+0:19                'test' (layout(location=3 ) in 3-element array of uint)
+0:19                Constant:
+0:19                  1 (const int)
+0:19            direct index (layout(location=3 ) temp uint)
+0:19              'test' (layout(location=3 ) in 3-element array of uint)
+0:19              Constant:
+0:19                2 (const int)
+0:20      move second child to first child (temp int)
+0:20        something: direct index for structure (temp int)
+0:20          'Vert' (temp structure{temp float myfloat, temp int something})
+0:20          Constant:
+0:20            1 (const int)
+0:20        Convert uint to int (temp int)
+0:20          direct index (layout(location=0 ) temp uint)
+0:20            'VertexID' (layout(location=0 ) in 3-element array of uint)
+0:20            Constant:
+0:20              0 (const int)
+0:22      Sequence
+0:22        move second child to first child (temp structure{temp float myfloat, temp int something})
+0:22          'OutputStream' (out structure{temp float myfloat, temp int something})
+0:22          'Vert' (temp structure{temp float myfloat, temp int something})
+0:22        EmitVertex (temp void)
+0:23      Sequence
+0:23        move second child to first child (temp structure{temp float myfloat, temp int something})
+0:23          'OutputStream' (out structure{temp float myfloat, temp int something})
+0:23          'Vert' (temp structure{temp float myfloat, temp int something})
+0:23        EmitVertex (temp void)
+0:24      EndPrimitive (temp void)
+0:?   Linker Objects
+0:?     'VertexID' (layout(location=0 ) in 3-element array of uint)
+0:?     'test' (layout(location=3 ) in 3-element array of uint)
+0:?     'myfloat' (layout(location=0 ) out float)
+0:?     'something' (layout(location=1 ) out int)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 45
+
+                              Capability Geometry
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Geometry 4  "main" 16 31 38 42 44
+                              ExecutionMode 4 Triangles
+                              ExecutionMode 4 Invocations 1
+                              ExecutionMode 4 OutputLineStrip
+                              ExecutionMode 4 OutputVertices 4
+                              Name 4  "main"
+                              Name 8  "PSInput"
+                              MemberName 8(PSInput) 0  "myfloat"
+                              MemberName 8(PSInput) 1  "something"
+                              Name 10  "Vert"
+                              Name 16  "test"
+                              Name 31  "VertexID"
+                              Name 38  "OutputStream"
+                              Name 42  "myfloat"
+                              Name 44  "something"
+                              Decorate 16(test) Location 3
+                              Decorate 31(VertexID) Location 0
+                              Decorate 42(myfloat) Location 0
+                              Decorate 44(something) Location 1
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeInt 32 1
+      8(PSInput):             TypeStruct 6(float) 7(int)
+               9:             TypePointer Function 8(PSInput)
+              11:      7(int) Constant 0
+              12:             TypeInt 32 0
+              13:     12(int) Constant 3
+              14:             TypeArray 12(int) 13
+              15:             TypePointer Input 14
+        16(test):     15(ptr) Variable Input
+              17:             TypePointer Input 12(int)
+              20:      7(int) Constant 1
+              24:      7(int) Constant 2
+              29:             TypePointer Function 6(float)
+    31(VertexID):     15(ptr) Variable Input
+              35:             TypePointer Function 7(int)
+              37:             TypePointer Output 8(PSInput)
+38(OutputStream):     37(ptr) Variable Output
+              41:             TypePointer Output 6(float)
+     42(myfloat):     41(ptr) Variable Output
+              43:             TypePointer Output 7(int)
+   44(something):     43(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+        10(Vert):      9(ptr) Variable Function
+              18:     17(ptr) AccessChain 16(test) 11
+              19:     12(int) Load 18
+              21:     17(ptr) AccessChain 16(test) 20
+              22:     12(int) Load 21
+              23:     12(int) IAdd 19 22
+              25:     17(ptr) AccessChain 16(test) 24
+              26:     12(int) Load 25
+              27:     12(int) IAdd 23 26
+              28:    6(float) ConvertUToF 27
+              30:     29(ptr) AccessChain 10(Vert) 11
+                              Store 30 28
+              32:     17(ptr) AccessChain 31(VertexID) 11
+              33:     12(int) Load 32
+              34:      7(int) Bitcast 33
+              36:     35(ptr) AccessChain 10(Vert) 20
+                              Store 36 34
+              39:  8(PSInput) Load 10(Vert)
+                              Store 38(OutputStream) 39
+                              EmitVertex
+              40:  8(PSInput) Load 10(Vert)
+                              Store 38(OutputStream) 40
+                              EmitVertex
+                              EndPrimitive
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out
index 2eb1f9c..dbb2b5e 100755
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -32,12 +32,12 @@
 0:31                0 (const uint)
 0:31        Branch: Return
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'input' (layout(location=0 ) in 4-component vector of float)
 0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
 0:?     'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
 0:?     'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
 0:?     'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'input' (layout(location=0 ) in 4-component vector of float)
 
 
 Linked fragment stage:
@@ -76,12 +76,12 @@
 0:31                0 (const uint)
 0:31        Branch: Return
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'input' (layout(location=0 ) in 4-component vector of float)
 0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v1})
 0:?     'anon@1' (layout(row_major std430 ) buffer block{layout(row_major std430 ) buffer 4-component vector of float v2})
 0:?     'anon@2' (layout(set=10 binding=2 row_major std140 ) uniform block{layout(row_major std140 ) uniform 4-component vector of float v3, layout(row_major std140 offset=20 ) uniform int i3})
 0:?     'anon@3' (layout(binding=8 row_major std430 ) buffer block{layout(row_major std430 offset=16 ) buffer 4-component vector of float v4, layout(row_major std430 offset=48 ) buffer int i4, layout(row_major std430 offset=60 ) buffer float f1, layout(row_major std430 offset=64 ) buffer float f3, layout(row_major std430 offset=68 ) buffer float f4, layout(row_major std430 offset=72 ) buffer float f5, layout(row_major std430 ) buffer float f6, layout(row_major std430 ) buffer float f7, layout(row_major std430 ) buffer 3X4 matrix of float m1, layout(column_major std430 ) buffer 3X4 matrix of float m2, layout(row_major std430 ) buffer 3X4 matrix of float m3, ...})
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'input' (layout(location=0 ) in 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index ff18441..56a2ce8 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -155,6 +155,8 @@
 0:43                1 (const int)
 0:43        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -166,8 +168,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -329,6 +329,8 @@
 0:43                1 (const int)
 0:43        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -340,8 +342,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
index ecd1f0d..799dcc3 100644
--- a/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
@@ -167,6 +167,8 @@
 0:43                1 (const int)
 0:43        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -178,8 +180,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -341,6 +341,8 @@
 0:43                1 (const int)
 0:43        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -352,7 +354,5 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
new file mode 100644
index 0000000..1bf63ec
--- /dev/null
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -0,0 +1,402 @@
+hlsl.comparison.vec.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:4  Function Definition: Bug1(vf4; (temp void)
+0:4    Function Parameters: 
+0:4      'a' (in 4-component vector of float)
+0:?     Sequence
+0:5      Sequence
+0:5        move second child to first child (temp 4-component vector of float)
+0:5          'v04' (temp 4-component vector of float)
+0:?           Constant:
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:6      Sequence
+0:6        move second child to first child (temp float)
+0:6          'v01' (temp float)
+0:6          Constant:
+0:6            0.000000
+0:8      Sequence
+0:8        move second child to first child (temp 4-component vector of bool)
+0:8          'r00' (temp 4-component vector of bool)
+0:8          Equal (temp 4-component vector of bool)
+0:8            'a' (in 4-component vector of float)
+0:8            'v04' (temp 4-component vector of float)
+0:9      Sequence
+0:9        move second child to first child (temp 4-component vector of bool)
+0:9          'r01' (temp 4-component vector of bool)
+0:9          NotEqual (temp 4-component vector of bool)
+0:9            'a' (in 4-component vector of float)
+0:9            'v04' (temp 4-component vector of float)
+0:10      Sequence
+0:10        move second child to first child (temp 4-component vector of bool)
+0:10          'r02' (temp 4-component vector of bool)
+0:10          Compare Less Than (temp 4-component vector of bool)
+0:10            'a' (in 4-component vector of float)
+0:10            'v04' (temp 4-component vector of float)
+0:11      Sequence
+0:11        move second child to first child (temp 4-component vector of bool)
+0:11          'r03' (temp 4-component vector of bool)
+0:11          Compare Greater Than (temp 4-component vector of bool)
+0:11            'a' (in 4-component vector of float)
+0:11            'v04' (temp 4-component vector of float)
+0:13      Sequence
+0:13        move second child to first child (temp 4-component vector of bool)
+0:13          'r10' (temp 4-component vector of bool)
+0:13          Equal (temp 4-component vector of bool)
+0:13            'a' (in 4-component vector of float)
+0:13            Construct vec4 (in 4-component vector of float)
+0:13              'v01' (temp float)
+0:14      Sequence
+0:14        move second child to first child (temp 4-component vector of bool)
+0:14          'r11' (temp 4-component vector of bool)
+0:14          NotEqual (temp 4-component vector of bool)
+0:14            'a' (in 4-component vector of float)
+0:14            Construct vec4 (in 4-component vector of float)
+0:14              'v01' (temp float)
+0:15      Sequence
+0:15        move second child to first child (temp 4-component vector of bool)
+0:15          'r12' (temp 4-component vector of bool)
+0:15          Compare Less Than (temp 4-component vector of bool)
+0:15            'a' (in 4-component vector of float)
+0:15            Construct vec4 (in 4-component vector of float)
+0:15              'v01' (temp float)
+0:16      Sequence
+0:16        move second child to first child (temp 4-component vector of bool)
+0:16          'r13' (temp 4-component vector of bool)
+0:16          Compare Greater Than (temp 4-component vector of bool)
+0:16            'a' (in 4-component vector of float)
+0:16            Construct vec4 (in 4-component vector of float)
+0:16              'v01' (temp float)
+0:18      Sequence
+0:18        move second child to first child (temp 4-component vector of bool)
+0:18          'r20' (temp 4-component vector of bool)
+0:18          Equal (temp 4-component vector of bool)
+0:18            Construct vec4 (in 4-component vector of float)
+0:18              'v01' (temp float)
+0:18            'a' (in 4-component vector of float)
+0:19      Sequence
+0:19        move second child to first child (temp 4-component vector of bool)
+0:19          'r21' (temp 4-component vector of bool)
+0:19          NotEqual (temp 4-component vector of bool)
+0:19            Construct vec4 (in 4-component vector of float)
+0:19              'v01' (temp float)
+0:19            'a' (in 4-component vector of float)
+0:20      Sequence
+0:20        move second child to first child (temp 4-component vector of bool)
+0:20          'r22' (temp 4-component vector of bool)
+0:20          Compare Less Than (temp 4-component vector of bool)
+0:20            Construct vec4 (in 4-component vector of float)
+0:20              'v01' (temp float)
+0:20            'a' (in 4-component vector of float)
+0:21      Sequence
+0:21        move second child to first child (temp 4-component vector of bool)
+0:21          'r23' (temp 4-component vector of bool)
+0:21          Compare Greater Than (temp 4-component vector of bool)
+0:21            Construct vec4 (in 4-component vector of float)
+0:21              'v01' (temp float)
+0:21            'a' (in 4-component vector of float)
+0:30  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:30    Function Parameters: 
+0:?     Sequence
+0:32      move second child to first child (temp 4-component vector of float)
+0:32        Color: direct index for structure (temp 4-component vector of float)
+0:32          'psout' (temp structure{temp 4-component vector of float Color})
+0:32          Constant:
+0:32            0 (const int)
+0:32        Constant:
+0:32          0.000000
+0:32          0.000000
+0:32          0.000000
+0:32          0.000000
+0:33      Sequence
+0:33        Sequence
+0:33          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:33            Color: direct index for structure (temp 4-component vector of float)
+0:33              'psout' (temp structure{temp 4-component vector of float Color})
+0:33              Constant:
+0:33                0 (const int)
+0:33        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 4-component vector of float uf4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:4  Function Definition: Bug1(vf4; (temp void)
+0:4    Function Parameters: 
+0:4      'a' (in 4-component vector of float)
+0:?     Sequence
+0:5      Sequence
+0:5        move second child to first child (temp 4-component vector of float)
+0:5          'v04' (temp 4-component vector of float)
+0:?           Constant:
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:?             0.000000
+0:6      Sequence
+0:6        move second child to first child (temp float)
+0:6          'v01' (temp float)
+0:6          Constant:
+0:6            0.000000
+0:8      Sequence
+0:8        move second child to first child (temp 4-component vector of bool)
+0:8          'r00' (temp 4-component vector of bool)
+0:8          Equal (temp 4-component vector of bool)
+0:8            'a' (in 4-component vector of float)
+0:8            'v04' (temp 4-component vector of float)
+0:9      Sequence
+0:9        move second child to first child (temp 4-component vector of bool)
+0:9          'r01' (temp 4-component vector of bool)
+0:9          NotEqual (temp 4-component vector of bool)
+0:9            'a' (in 4-component vector of float)
+0:9            'v04' (temp 4-component vector of float)
+0:10      Sequence
+0:10        move second child to first child (temp 4-component vector of bool)
+0:10          'r02' (temp 4-component vector of bool)
+0:10          Compare Less Than (temp 4-component vector of bool)
+0:10            'a' (in 4-component vector of float)
+0:10            'v04' (temp 4-component vector of float)
+0:11      Sequence
+0:11        move second child to first child (temp 4-component vector of bool)
+0:11          'r03' (temp 4-component vector of bool)
+0:11          Compare Greater Than (temp 4-component vector of bool)
+0:11            'a' (in 4-component vector of float)
+0:11            'v04' (temp 4-component vector of float)
+0:13      Sequence
+0:13        move second child to first child (temp 4-component vector of bool)
+0:13          'r10' (temp 4-component vector of bool)
+0:13          Equal (temp 4-component vector of bool)
+0:13            'a' (in 4-component vector of float)
+0:13            Construct vec4 (in 4-component vector of float)
+0:13              'v01' (temp float)
+0:14      Sequence
+0:14        move second child to first child (temp 4-component vector of bool)
+0:14          'r11' (temp 4-component vector of bool)
+0:14          NotEqual (temp 4-component vector of bool)
+0:14            'a' (in 4-component vector of float)
+0:14            Construct vec4 (in 4-component vector of float)
+0:14              'v01' (temp float)
+0:15      Sequence
+0:15        move second child to first child (temp 4-component vector of bool)
+0:15          'r12' (temp 4-component vector of bool)
+0:15          Compare Less Than (temp 4-component vector of bool)
+0:15            'a' (in 4-component vector of float)
+0:15            Construct vec4 (in 4-component vector of float)
+0:15              'v01' (temp float)
+0:16      Sequence
+0:16        move second child to first child (temp 4-component vector of bool)
+0:16          'r13' (temp 4-component vector of bool)
+0:16          Compare Greater Than (temp 4-component vector of bool)
+0:16            'a' (in 4-component vector of float)
+0:16            Construct vec4 (in 4-component vector of float)
+0:16              'v01' (temp float)
+0:18      Sequence
+0:18        move second child to first child (temp 4-component vector of bool)
+0:18          'r20' (temp 4-component vector of bool)
+0:18          Equal (temp 4-component vector of bool)
+0:18            Construct vec4 (in 4-component vector of float)
+0:18              'v01' (temp float)
+0:18            'a' (in 4-component vector of float)
+0:19      Sequence
+0:19        move second child to first child (temp 4-component vector of bool)
+0:19          'r21' (temp 4-component vector of bool)
+0:19          NotEqual (temp 4-component vector of bool)
+0:19            Construct vec4 (in 4-component vector of float)
+0:19              'v01' (temp float)
+0:19            'a' (in 4-component vector of float)
+0:20      Sequence
+0:20        move second child to first child (temp 4-component vector of bool)
+0:20          'r22' (temp 4-component vector of bool)
+0:20          Compare Less Than (temp 4-component vector of bool)
+0:20            Construct vec4 (in 4-component vector of float)
+0:20              'v01' (temp float)
+0:20            'a' (in 4-component vector of float)
+0:21      Sequence
+0:21        move second child to first child (temp 4-component vector of bool)
+0:21          'r23' (temp 4-component vector of bool)
+0:21          Compare Greater Than (temp 4-component vector of bool)
+0:21            Construct vec4 (in 4-component vector of float)
+0:21              'v01' (temp float)
+0:21            'a' (in 4-component vector of float)
+0:30  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:30    Function Parameters: 
+0:?     Sequence
+0:32      move second child to first child (temp 4-component vector of float)
+0:32        Color: direct index for structure (temp 4-component vector of float)
+0:32          'psout' (temp structure{temp 4-component vector of float Color})
+0:32          Constant:
+0:32            0 (const int)
+0:32        Constant:
+0:32          0.000000
+0:32          0.000000
+0:32          0.000000
+0:32          0.000000
+0:33      Sequence
+0:33        Sequence
+0:33          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:33            Color: direct index for structure (temp 4-component vector of float)
+0:33              'psout' (temp structure{temp 4-component vector of float Color})
+0:33              Constant:
+0:33                0 (const int)
+0:33        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 4-component vector of float uf4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 91
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 84
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 11  "Bug1(vf4;"
+                              Name 10  "a"
+                              Name 13  "v04"
+                              Name 17  "v01"
+                              Name 21  "r00"
+                              Name 25  "r01"
+                              Name 29  "r02"
+                              Name 33  "r03"
+                              Name 37  "r10"
+                              Name 42  "r11"
+                              Name 47  "r12"
+                              Name 52  "r13"
+                              Name 57  "r20"
+                              Name 62  "r21"
+                              Name 67  "r22"
+                              Name 72  "r23"
+                              Name 77  "PS_OUTPUT"
+                              MemberName 77(PS_OUTPUT) 0  "Color"
+                              Name 79  "psout"
+                              Name 84  "Color"
+                              Name 88  "$Global"
+                              MemberName 88($Global) 0  "uf4"
+                              Name 90  ""
+                              Decorate 84(Color) Location 0
+                              MemberDecorate 88($Global) 0 Offset 0
+                              Decorate 88($Global) Block
+                              Decorate 90 DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 2 8(ptr)
+              14:    6(float) Constant 0
+              15:    7(fvec4) ConstantComposite 14 14 14 14
+              16:             TypePointer Function 6(float)
+              18:             TypeBool
+              19:             TypeVector 18(bool) 4
+              20:             TypePointer Function 19(bvec4)
+   77(PS_OUTPUT):             TypeStruct 7(fvec4)
+              78:             TypePointer Function 77(PS_OUTPUT)
+              80:             TypeInt 32 1
+              81:     80(int) Constant 0
+              83:             TypePointer Output 7(fvec4)
+       84(Color):     83(ptr) Variable Output
+     88($Global):             TypeStruct 7(fvec4)
+              89:             TypePointer Uniform 88($Global)
+              90:     89(ptr) Variable Uniform
+         4(main):           2 Function None 3
+               5:             Label
+       79(psout):     78(ptr) Variable Function
+              82:      8(ptr) AccessChain 79(psout) 81
+                              Store 82 15
+              85:      8(ptr) AccessChain 79(psout) 81
+              86:    7(fvec4) Load 85
+                              Store 84(Color) 86
+                              Return
+                              FunctionEnd
+   11(Bug1(vf4;):           2 Function None 9
+           10(a):      8(ptr) FunctionParameter
+              12:             Label
+         13(v04):      8(ptr) Variable Function
+         17(v01):     16(ptr) Variable Function
+         21(r00):     20(ptr) Variable Function
+         25(r01):     20(ptr) Variable Function
+         29(r02):     20(ptr) Variable Function
+         33(r03):     20(ptr) Variable Function
+         37(r10):     20(ptr) Variable Function
+         42(r11):     20(ptr) Variable Function
+         47(r12):     20(ptr) Variable Function
+         52(r13):     20(ptr) Variable Function
+         57(r20):     20(ptr) Variable Function
+         62(r21):     20(ptr) Variable Function
+         67(r22):     20(ptr) Variable Function
+         72(r23):     20(ptr) Variable Function
+                              Store 13(v04) 15
+                              Store 17(v01) 14
+              22:    7(fvec4) Load 10(a)
+              23:    7(fvec4) Load 13(v04)
+              24:   19(bvec4) FOrdEqual 22 23
+                              Store 21(r00) 24
+              26:    7(fvec4) Load 10(a)
+              27:    7(fvec4) Load 13(v04)
+              28:   19(bvec4) FOrdNotEqual 26 27
+                              Store 25(r01) 28
+              30:    7(fvec4) Load 10(a)
+              31:    7(fvec4) Load 13(v04)
+              32:   19(bvec4) FOrdLessThan 30 31
+                              Store 29(r02) 32
+              34:    7(fvec4) Load 10(a)
+              35:    7(fvec4) Load 13(v04)
+              36:   19(bvec4) FOrdGreaterThan 34 35
+                              Store 33(r03) 36
+              38:    7(fvec4) Load 10(a)
+              39:    6(float) Load 17(v01)
+              40:    7(fvec4) CompositeConstruct 39 39 39 39
+              41:   19(bvec4) FOrdEqual 38 40
+                              Store 37(r10) 41
+              43:    7(fvec4) Load 10(a)
+              44:    6(float) Load 17(v01)
+              45:    7(fvec4) CompositeConstruct 44 44 44 44
+              46:   19(bvec4) FOrdNotEqual 43 45
+                              Store 42(r11) 46
+              48:    7(fvec4) Load 10(a)
+              49:    6(float) Load 17(v01)
+              50:    7(fvec4) CompositeConstruct 49 49 49 49
+              51:   19(bvec4) FOrdLessThan 48 50
+                              Store 47(r12) 51
+              53:    7(fvec4) Load 10(a)
+              54:    6(float) Load 17(v01)
+              55:    7(fvec4) CompositeConstruct 54 54 54 54
+              56:   19(bvec4) FOrdGreaterThan 53 55
+                              Store 52(r13) 56
+              58:    6(float) Load 17(v01)
+              59:    7(fvec4) CompositeConstruct 58 58 58 58
+              60:    7(fvec4) Load 10(a)
+              61:   19(bvec4) FOrdEqual 59 60
+                              Store 57(r20) 61
+              63:    6(float) Load 17(v01)
+              64:    7(fvec4) CompositeConstruct 63 63 63 63
+              65:    7(fvec4) Load 10(a)
+              66:   19(bvec4) FOrdNotEqual 64 65
+                              Store 62(r21) 66
+              68:    6(float) Load 17(v01)
+              69:    7(fvec4) CompositeConstruct 68 68 68 68
+              70:    7(fvec4) Load 10(a)
+              71:   19(bvec4) FOrdLessThan 69 70
+                              Store 67(r22) 71
+              73:    6(float) Load 17(v01)
+              74:    7(fvec4) CompositeConstruct 73 73 73 73
+              75:    7(fvec4) Load 10(a)
+              76:   19(bvec4) FOrdGreaterThan 74 75
+                              Store 72(r23) 76
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out
index 2d5a8fb..c060cdc 100755
--- a/Test/baseResults/hlsl.doLoop.frag.out
+++ b/Test/baseResults/hlsl.doLoop.frag.out
@@ -18,9 +18,10 @@
 0:4        No loop body
 0:5      Loop with condition not tested first
 0:5        Loop Condition
-0:5        Compare Equal (temp bool)
-0:5          'input' (layout(location=0 ) in 4-component vector of float)
-0:5          'input' (layout(location=0 ) in 4-component vector of float)
+0:5        all (temp bool)
+0:5          Equal (temp 4-component vector of bool)
+0:5            'input' (layout(location=0 ) in 4-component vector of float)
+0:5            'input' (layout(location=0 ) in 4-component vector of float)
 0:5        Loop Body
 0:5        Sequence
 0:5          move second child to first child (temp 4-component vector of float)
@@ -54,9 +55,10 @@
 0:4        No loop body
 0:5      Loop with condition not tested first
 0:5        Loop Condition
-0:5        Compare Equal (temp bool)
-0:5          'input' (layout(location=0 ) in 4-component vector of float)
-0:5          'input' (layout(location=0 ) in 4-component vector of float)
+0:5        all (temp bool)
+0:5          Equal (temp 4-component vector of bool)
+0:5            'input' (layout(location=0 ) in 4-component vector of float)
+0:5            'input' (layout(location=0 ) in 4-component vector of float)
 0:5        Loop Body
 0:5        Sequence
 0:5          move second child to first child (temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.float1.frag.out b/Test/baseResults/hlsl.float1.frag.out
index 83a243f..641febd 100755
--- a/Test/baseResults/hlsl.float1.frag.out
+++ b/Test/baseResults/hlsl.float1.frag.out
@@ -32,6 +32,7 @@
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -92,6 +93,7 @@
                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
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
index 6caac24..27c9a5c 100755
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -17,11 +17,12 @@
 0:10            Constant:
 0:10              0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
 
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -38,7 +39,7 @@
 0:10            Constant:
 0:10              0 (const uint)
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float AmbientColor, layout(offset=16 ) uniform bool Face ff1, layout(offset=20 ) uniform float ff2, layout(binding=0 offset=32 ) uniform 4-component vector of float ff3, layout(binding=1 offset=48 ) uniform 4-component vector of float ff4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
@@ -82,6 +83,7 @@
               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
diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out
index cc47578..85b8fb2 100755
--- a/Test/baseResults/hlsl.forLoop.frag.out
+++ b/Test/baseResults/hlsl.forLoop.frag.out
@@ -19,16 +19,18 @@
 0:?       Sequence
 0:5        Loop with condition tested first
 0:5          Loop Condition
-0:5          Compare Not Equal (temp bool)
-0:5            'input' (layout(location=0 ) in 4-component vector of float)
-0:5            'input' (layout(location=0 ) in 4-component vector of float)
+0:5          any (temp bool)
+0:5            NotEqual (temp 4-component vector of bool)
+0:5              'input' (layout(location=0 ) in 4-component vector of float)
+0:5              'input' (layout(location=0 ) in 4-component vector of float)
 0:5          No loop body
 0:?       Sequence
 0:6        Loop with condition tested first
 0:6          Loop Condition
-0:6          Compare Not Equal (temp bool)
-0:6            'input' (layout(location=0 ) in 4-component vector of float)
-0:6            'input' (layout(location=0 ) in 4-component vector of float)
+0:6          any (temp bool)
+0:6            NotEqual (temp 4-component vector of bool)
+0:6              'input' (layout(location=0 ) in 4-component vector of float)
+0:6              'input' (layout(location=0 ) in 4-component vector of float)
 0:6          Loop Body
 0:?           Sequence
 0:6            Sequence
@@ -42,9 +44,10 @@
 0:7          'input' (layout(location=0 ) in 4-component vector of float)
 0:7        Loop with condition tested first
 0:7          Loop Condition
-0:7          Compare Not Equal (temp bool)
-0:7            'input' (layout(location=0 ) in 4-component vector of float)
-0:7            'input' (layout(location=0 ) in 4-component vector of float)
+0:7          any (temp bool)
+0:7            NotEqual (temp 4-component vector of bool)
+0:7              'input' (layout(location=0 ) in 4-component vector of float)
+0:7              'input' (layout(location=0 ) in 4-component vector of float)
 0:7          Loop Body
 0:?           Sequence
 0:7            Sequence
@@ -141,16 +144,18 @@
 0:?       Sequence
 0:5        Loop with condition tested first
 0:5          Loop Condition
-0:5          Compare Not Equal (temp bool)
-0:5            'input' (layout(location=0 ) in 4-component vector of float)
-0:5            'input' (layout(location=0 ) in 4-component vector of float)
+0:5          any (temp bool)
+0:5            NotEqual (temp 4-component vector of bool)
+0:5              'input' (layout(location=0 ) in 4-component vector of float)
+0:5              'input' (layout(location=0 ) in 4-component vector of float)
 0:5          No loop body
 0:?       Sequence
 0:6        Loop with condition tested first
 0:6          Loop Condition
-0:6          Compare Not Equal (temp bool)
-0:6            'input' (layout(location=0 ) in 4-component vector of float)
-0:6            'input' (layout(location=0 ) in 4-component vector of float)
+0:6          any (temp bool)
+0:6            NotEqual (temp 4-component vector of bool)
+0:6              'input' (layout(location=0 ) in 4-component vector of float)
+0:6              'input' (layout(location=0 ) in 4-component vector of float)
 0:6          Loop Body
 0:?           Sequence
 0:6            Sequence
@@ -164,9 +169,10 @@
 0:7          'input' (layout(location=0 ) in 4-component vector of float)
 0:7        Loop with condition tested first
 0:7          Loop Condition
-0:7          Compare Not Equal (temp bool)
-0:7            'input' (layout(location=0 ) in 4-component vector of float)
-0:7            'input' (layout(location=0 ) in 4-component vector of float)
+0:7          any (temp bool)
+0:7            NotEqual (temp 4-component vector of bool)
+0:7              'input' (layout(location=0 ) in 4-component vector of float)
+0:7              'input' (layout(location=0 ) in 4-component vector of float)
 0:7          Loop Body
 0:?           Sequence
 0:7            Sequence
diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out
index a09b87c..ee550d1 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -8,7 +8,7 @@
 0:29      Sequence
 0:29        move second child to first child (temp 4-component vector of float)
 0:29          'txval20' (temp 4-component vector of float)
-0:29          textureGather (global 4-component vector of float)
+0:29          textureGather (temp 4-component vector of float)
 0:29            Construct combined texture-sampler (temp sampler2DArray)
 0:29              'g_tTex2df4a' (uniform texture2DArray)
 0:29              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -19,7 +19,7 @@
 0:30      Sequence
 0:30        move second child to first child (temp 4-component vector of int)
 0:30          'txval21' (temp 4-component vector of int)
-0:30          textureGather (global 4-component vector of int)
+0:30          textureGather (temp 4-component vector of int)
 0:30            Construct combined texture-sampler (temp isampler2DArray)
 0:30              'g_tTex2di4a' (uniform itexture2DArray)
 0:30              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -30,7 +30,7 @@
 0:31      Sequence
 0:31        move second child to first child (temp 4-component vector of uint)
 0:31          'txval22' (temp 4-component vector of uint)
-0:31          textureGather (global 4-component vector of uint)
+0:31          textureGather (temp 4-component vector of uint)
 0:31            Construct combined texture-sampler (temp usampler2DArray)
 0:31              'g_tTex2du4a' (uniform utexture2DArray)
 0:31              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -41,7 +41,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of float)
 0:35          'txval40' (temp 4-component vector of float)
-0:35          textureGather (global 4-component vector of float)
+0:35          textureGather (temp 4-component vector of float)
 0:35            Construct combined texture-sampler (temp samplerCubeArray)
 0:35              'g_tTexcdf4a' (uniform textureCubeArray)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -53,7 +53,7 @@
 0:36      Sequence
 0:36        move second child to first child (temp 4-component vector of int)
 0:36          'txval41' (temp 4-component vector of int)
-0:36          textureGather (global 4-component vector of int)
+0:36          textureGather (temp 4-component vector of int)
 0:36            Construct combined texture-sampler (temp isamplerCubeArray)
 0:36              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -65,7 +65,7 @@
 0:37      Sequence
 0:37        move second child to first child (temp 4-component vector of uint)
 0:37          'txval42' (temp 4-component vector of uint)
-0:37          textureGather (global 4-component vector of uint)
+0:37          textureGather (temp 4-component vector of uint)
 0:37            Construct combined texture-sampler (temp usamplerCubeArray)
 0:37              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -107,6 +107,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -118,8 +120,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -134,7 +134,7 @@
 0:29      Sequence
 0:29        move second child to first child (temp 4-component vector of float)
 0:29          'txval20' (temp 4-component vector of float)
-0:29          textureGather (global 4-component vector of float)
+0:29          textureGather (temp 4-component vector of float)
 0:29            Construct combined texture-sampler (temp sampler2DArray)
 0:29              'g_tTex2df4a' (uniform texture2DArray)
 0:29              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -145,7 +145,7 @@
 0:30      Sequence
 0:30        move second child to first child (temp 4-component vector of int)
 0:30          'txval21' (temp 4-component vector of int)
-0:30          textureGather (global 4-component vector of int)
+0:30          textureGather (temp 4-component vector of int)
 0:30            Construct combined texture-sampler (temp isampler2DArray)
 0:30              'g_tTex2di4a' (uniform itexture2DArray)
 0:30              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -156,7 +156,7 @@
 0:31      Sequence
 0:31        move second child to first child (temp 4-component vector of uint)
 0:31          'txval22' (temp 4-component vector of uint)
-0:31          textureGather (global 4-component vector of uint)
+0:31          textureGather (temp 4-component vector of uint)
 0:31            Construct combined texture-sampler (temp usampler2DArray)
 0:31              'g_tTex2du4a' (uniform utexture2DArray)
 0:31              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -167,7 +167,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of float)
 0:35          'txval40' (temp 4-component vector of float)
-0:35          textureGather (global 4-component vector of float)
+0:35          textureGather (temp 4-component vector of float)
 0:35            Construct combined texture-sampler (temp samplerCubeArray)
 0:35              'g_tTexcdf4a' (uniform textureCubeArray)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -179,7 +179,7 @@
 0:36      Sequence
 0:36        move second child to first child (temp 4-component vector of int)
 0:36          'txval41' (temp 4-component vector of int)
-0:36          textureGather (global 4-component vector of int)
+0:36          textureGather (temp 4-component vector of int)
 0:36            Construct combined texture-sampler (temp isamplerCubeArray)
 0:36              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -191,7 +191,7 @@
 0:37      Sequence
 0:37        move second child to first child (temp 4-component vector of uint)
 0:37          'txval42' (temp 4-component vector of uint)
-0:37          textureGather (global 4-component vector of uint)
+0:37          textureGather (temp 4-component vector of uint)
 0:37            Construct combined texture-sampler (temp usamplerCubeArray)
 0:37              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -233,6 +233,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -244,8 +246,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
index 467ccf4..86e106c 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -8,7 +8,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of float)
 0:34          'txval20' (temp 4-component vector of float)
-0:34          textureGather (global 4-component vector of float)
+0:34          textureGather (temp 4-component vector of float)
 0:34            Construct combined texture-sampler (temp sampler2D)
 0:34              'g_tTex2df4' (uniform texture2D)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -18,7 +18,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of int)
 0:35          'txval21' (temp 4-component vector of int)
-0:35          textureGather (global 4-component vector of int)
+0:35          textureGather (temp 4-component vector of int)
 0:35            Construct combined texture-sampler (temp isampler2D)
 0:35              'g_tTex2di4' (uniform itexture2D)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -28,7 +28,7 @@
 0:36      Sequence
 0:36        move second child to first child (temp 4-component vector of uint)
 0:36          'txval22' (temp 4-component vector of uint)
-0:36          textureGather (global 4-component vector of uint)
+0:36          textureGather (temp 4-component vector of uint)
 0:36            Construct combined texture-sampler (temp usampler2D)
 0:36              'g_tTex2du4' (uniform utexture2D)
 0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -38,7 +38,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of float)
 0:40          'txval40' (temp 4-component vector of float)
-0:40          textureGather (global 4-component vector of float)
+0:40          textureGather (temp 4-component vector of float)
 0:40            Construct combined texture-sampler (temp samplerCube)
 0:40              'g_tTexcdf4' (uniform textureCube)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -49,7 +49,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of int)
 0:41          'txval41' (temp 4-component vector of int)
-0:41          textureGather (global 4-component vector of int)
+0:41          textureGather (temp 4-component vector of int)
 0:41            Construct combined texture-sampler (temp isamplerCube)
 0:41              'g_tTexcdi4' (uniform itextureCube)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -60,7 +60,7 @@
 0:42      Sequence
 0:42        move second child to first child (temp 4-component vector of uint)
 0:42          'txval42' (temp 4-component vector of uint)
-0:42          textureGather (global 4-component vector of uint)
+0:42          textureGather (temp 4-component vector of uint)
 0:42            Construct combined texture-sampler (temp usamplerCube)
 0:42              'g_tTexcdu4' (uniform utextureCube)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -101,6 +101,8 @@
 0:47                1 (const int)
 0:47        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -116,8 +118,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -132,7 +132,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of float)
 0:34          'txval20' (temp 4-component vector of float)
-0:34          textureGather (global 4-component vector of float)
+0:34          textureGather (temp 4-component vector of float)
 0:34            Construct combined texture-sampler (temp sampler2D)
 0:34              'g_tTex2df4' (uniform texture2D)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -142,7 +142,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of int)
 0:35          'txval21' (temp 4-component vector of int)
-0:35          textureGather (global 4-component vector of int)
+0:35          textureGather (temp 4-component vector of int)
 0:35            Construct combined texture-sampler (temp isampler2D)
 0:35              'g_tTex2di4' (uniform itexture2D)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -152,7 +152,7 @@
 0:36      Sequence
 0:36        move second child to first child (temp 4-component vector of uint)
 0:36          'txval22' (temp 4-component vector of uint)
-0:36          textureGather (global 4-component vector of uint)
+0:36          textureGather (temp 4-component vector of uint)
 0:36            Construct combined texture-sampler (temp usampler2D)
 0:36              'g_tTex2du4' (uniform utexture2D)
 0:36              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -162,7 +162,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of float)
 0:40          'txval40' (temp 4-component vector of float)
-0:40          textureGather (global 4-component vector of float)
+0:40          textureGather (temp 4-component vector of float)
 0:40            Construct combined texture-sampler (temp samplerCube)
 0:40              'g_tTexcdf4' (uniform textureCube)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -173,7 +173,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of int)
 0:41          'txval41' (temp 4-component vector of int)
-0:41          textureGather (global 4-component vector of int)
+0:41          textureGather (temp 4-component vector of int)
 0:41            Construct combined texture-sampler (temp isamplerCube)
 0:41              'g_tTexcdi4' (uniform itextureCube)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -184,7 +184,7 @@
 0:42      Sequence
 0:42        move second child to first child (temp 4-component vector of uint)
 0:42          'txval42' (temp 4-component vector of uint)
-0:42          textureGather (global 4-component vector of uint)
+0:42          textureGather (temp 4-component vector of uint)
 0:42            Construct combined texture-sampler (temp usamplerCube)
 0:42              'g_tTexcdu4' (uniform utextureCube)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -225,6 +225,8 @@
 0:47                1 (const int)
 0:47        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -240,8 +242,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
index d08a57e..a893675 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -7,7 +7,7 @@
 0:33      Sequence
 0:33        move second child to first child (temp 4-component vector of float)
 0:33          'txval20' (temp 4-component vector of float)
-0:33          textureGather (global 4-component vector of float)
+0:33          textureGather (temp 4-component vector of float)
 0:33            Construct combined texture-sampler (temp sampler2D)
 0:33              'g_tTex2df4' (uniform texture2D)
 0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -17,7 +17,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of int)
 0:34          'txval21' (temp 4-component vector of int)
-0:34          textureGather (global 4-component vector of int)
+0:34          textureGather (temp 4-component vector of int)
 0:34            Construct combined texture-sampler (temp isampler2D)
 0:34              'g_tTex2di4' (uniform itexture2D)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -27,7 +27,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of uint)
 0:35          'txval22' (temp 4-component vector of uint)
-0:35          textureGather (global 4-component vector of uint)
+0:35          textureGather (temp 4-component vector of uint)
 0:35            Construct combined texture-sampler (temp usampler2D)
 0:35              'g_tTex2du4' (uniform utexture2D)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -37,7 +37,7 @@
 0:39      Sequence
 0:39        move second child to first child (temp 4-component vector of float)
 0:39          'txval40' (temp 4-component vector of float)
-0:39          textureGather (global 4-component vector of float)
+0:39          textureGather (temp 4-component vector of float)
 0:39            Construct combined texture-sampler (temp samplerCube)
 0:39              'g_tTexcdf4' (uniform textureCube)
 0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -48,7 +48,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of int)
 0:40          'txval41' (temp 4-component vector of int)
-0:40          textureGather (global 4-component vector of int)
+0:40          textureGather (temp 4-component vector of int)
 0:40            Construct combined texture-sampler (temp isamplerCube)
 0:40              'g_tTexcdi4' (uniform itextureCube)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -59,7 +59,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of uint)
 0:41          'txval42' (temp 4-component vector of uint)
-0:41          textureGather (global 4-component vector of uint)
+0:41          textureGather (temp 4-component vector of uint)
 0:41            Construct combined texture-sampler (temp usamplerCube)
 0:41              'g_tTexcdu4' (uniform utextureCube)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -87,6 +87,7 @@
 0:45                0 (const int)
 0:45        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -102,7 +103,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Pos' (out 4-component vector of float Position)
 
 
 Linked vertex stage:
@@ -116,7 +116,7 @@
 0:33      Sequence
 0:33        move second child to first child (temp 4-component vector of float)
 0:33          'txval20' (temp 4-component vector of float)
-0:33          textureGather (global 4-component vector of float)
+0:33          textureGather (temp 4-component vector of float)
 0:33            Construct combined texture-sampler (temp sampler2D)
 0:33              'g_tTex2df4' (uniform texture2D)
 0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -126,7 +126,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of int)
 0:34          'txval21' (temp 4-component vector of int)
-0:34          textureGather (global 4-component vector of int)
+0:34          textureGather (temp 4-component vector of int)
 0:34            Construct combined texture-sampler (temp isampler2D)
 0:34              'g_tTex2di4' (uniform itexture2D)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -136,7 +136,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of uint)
 0:35          'txval22' (temp 4-component vector of uint)
-0:35          textureGather (global 4-component vector of uint)
+0:35          textureGather (temp 4-component vector of uint)
 0:35            Construct combined texture-sampler (temp usampler2D)
 0:35              'g_tTex2du4' (uniform utexture2D)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -146,7 +146,7 @@
 0:39      Sequence
 0:39        move second child to first child (temp 4-component vector of float)
 0:39          'txval40' (temp 4-component vector of float)
-0:39          textureGather (global 4-component vector of float)
+0:39          textureGather (temp 4-component vector of float)
 0:39            Construct combined texture-sampler (temp samplerCube)
 0:39              'g_tTexcdf4' (uniform textureCube)
 0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -157,7 +157,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of int)
 0:40          'txval41' (temp 4-component vector of int)
-0:40          textureGather (global 4-component vector of int)
+0:40          textureGather (temp 4-component vector of int)
 0:40            Construct combined texture-sampler (temp isamplerCube)
 0:40              'g_tTexcdi4' (uniform itextureCube)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -168,7 +168,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of uint)
 0:41          'txval42' (temp 4-component vector of uint)
-0:41          textureGather (global 4-component vector of uint)
+0:41          textureGather (temp 4-component vector of uint)
 0:41            Construct combined texture-sampler (temp usamplerCube)
 0:41              'g_tTexcdu4' (uniform utextureCube)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -196,6 +196,7 @@
 0:45                0 (const int)
 0:45        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -211,7 +212,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Pos' (out 4-component vector of float Position)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
index ff7eb39..5b48bf3 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -8,7 +8,7 @@
 0:33      Sequence
 0:33        move second child to first child (temp 4-component vector of float)
 0:33          'txval20' (temp 4-component vector of float)
-0:33          textureGatherOffset (global 4-component vector of float)
+0:33          textureGatherOffset (temp 4-component vector of float)
 0:33            Construct combined texture-sampler (temp sampler2D)
 0:33              'g_tTex2df4' (uniform texture2D)
 0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -21,7 +21,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of int)
 0:34          'txval21' (temp 4-component vector of int)
-0:34          textureGatherOffset (global 4-component vector of int)
+0:34          textureGatherOffset (temp 4-component vector of int)
 0:34            Construct combined texture-sampler (temp isampler2D)
 0:34              'g_tTex2di4' (uniform itexture2D)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -34,7 +34,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of uint)
 0:35          'txval22' (temp 4-component vector of uint)
-0:35          textureGatherOffset (global 4-component vector of uint)
+0:35          textureGatherOffset (temp 4-component vector of uint)
 0:35            Construct combined texture-sampler (temp usampler2D)
 0:35              'g_tTex2du4' (uniform utexture2D)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -77,6 +77,8 @@
 0:43                1 (const int)
 0:43        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -91,8 +93,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -107,7 +107,7 @@
 0:33      Sequence
 0:33        move second child to first child (temp 4-component vector of float)
 0:33          'txval20' (temp 4-component vector of float)
-0:33          textureGatherOffset (global 4-component vector of float)
+0:33          textureGatherOffset (temp 4-component vector of float)
 0:33            Construct combined texture-sampler (temp sampler2D)
 0:33              'g_tTex2df4' (uniform texture2D)
 0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -120,7 +120,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of int)
 0:34          'txval21' (temp 4-component vector of int)
-0:34          textureGatherOffset (global 4-component vector of int)
+0:34          textureGatherOffset (temp 4-component vector of int)
 0:34            Construct combined texture-sampler (temp isampler2D)
 0:34              'g_tTex2di4' (uniform itexture2D)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -133,7 +133,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of uint)
 0:35          'txval22' (temp 4-component vector of uint)
-0:35          textureGatherOffset (global 4-component vector of uint)
+0:35          textureGatherOffset (temp 4-component vector of uint)
 0:35            Construct combined texture-sampler (temp usampler2D)
 0:35              'g_tTex2du4' (uniform utexture2D)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -176,6 +176,8 @@
 0:43                1 (const int)
 0:43        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -190,8 +192,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
index dc64a80..a7589cd 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -8,7 +8,7 @@
 0:25      Sequence
 0:25        move second child to first child (temp 4-component vector of float)
 0:25          'txval20' (temp 4-component vector of float)
-0:25          textureGatherOffset (global 4-component vector of float)
+0:25          textureGatherOffset (temp 4-component vector of float)
 0:25            Construct combined texture-sampler (temp sampler2DArray)
 0:25              'g_tTex2df4' (uniform texture2DArray)
 0:25              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -22,7 +22,7 @@
 0:26      Sequence
 0:26        move second child to first child (temp 4-component vector of int)
 0:26          'txval21' (temp 4-component vector of int)
-0:26          textureGatherOffset (global 4-component vector of int)
+0:26          textureGatherOffset (temp 4-component vector of int)
 0:26            Construct combined texture-sampler (temp isampler2DArray)
 0:26              'g_tTex2di4' (uniform itexture2DArray)
 0:26              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -36,7 +36,7 @@
 0:27      Sequence
 0:27        move second child to first child (temp 4-component vector of uint)
 0:27          'txval22' (temp 4-component vector of uint)
-0:27          textureGatherOffset (global 4-component vector of uint)
+0:27          textureGatherOffset (temp 4-component vector of uint)
 0:27            Construct combined texture-sampler (temp usampler2DArray)
 0:27              'g_tTex2du4' (uniform utexture2DArray)
 0:27              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -80,6 +80,8 @@
 0:35                1 (const int)
 0:35        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -88,8 +90,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -104,7 +104,7 @@
 0:25      Sequence
 0:25        move second child to first child (temp 4-component vector of float)
 0:25          'txval20' (temp 4-component vector of float)
-0:25          textureGatherOffset (global 4-component vector of float)
+0:25          textureGatherOffset (temp 4-component vector of float)
 0:25            Construct combined texture-sampler (temp sampler2DArray)
 0:25              'g_tTex2df4' (uniform texture2DArray)
 0:25              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -118,7 +118,7 @@
 0:26      Sequence
 0:26        move second child to first child (temp 4-component vector of int)
 0:26          'txval21' (temp 4-component vector of int)
-0:26          textureGatherOffset (global 4-component vector of int)
+0:26          textureGatherOffset (temp 4-component vector of int)
 0:26            Construct combined texture-sampler (temp isampler2DArray)
 0:26              'g_tTex2di4' (uniform itexture2DArray)
 0:26              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -132,7 +132,7 @@
 0:27      Sequence
 0:27        move second child to first child (temp 4-component vector of uint)
 0:27          'txval22' (temp 4-component vector of uint)
-0:27          textureGatherOffset (global 4-component vector of uint)
+0:27          textureGatherOffset (temp 4-component vector of uint)
 0:27            Construct combined texture-sampler (temp usampler2DArray)
 0:27              'g_tTex2du4' (uniform utexture2DArray)
 0:27              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -176,6 +176,8 @@
 0:35                1 (const int)
 0:35        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -184,8 +186,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
index 4e78cda..b04a857 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -8,7 +8,7 @@
 0:33      Sequence
 0:33        move second child to first child (temp 4-component vector of float)
 0:33          'txval00' (temp 4-component vector of float)
-0:33          textureGather (global 4-component vector of float)
+0:33          textureGather (temp 4-component vector of float)
 0:33            Construct combined texture-sampler (temp sampler2DArray)
 0:33              'g_tTex2df4a' (uniform texture2DArray)
 0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -21,7 +21,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of int)
 0:34          'txval01' (temp 4-component vector of int)
-0:34          textureGather (global 4-component vector of int)
+0:34          textureGather (temp 4-component vector of int)
 0:34            Construct combined texture-sampler (temp isampler2DArray)
 0:34              'g_tTex2di4a' (uniform itexture2DArray)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -34,7 +34,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of uint)
 0:35          'txval02' (temp 4-component vector of uint)
-0:35          textureGather (global 4-component vector of uint)
+0:35          textureGather (temp 4-component vector of uint)
 0:35            Construct combined texture-sampler (temp usampler2DArray)
 0:35              'g_tTex2du4a' (uniform utexture2DArray)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -47,7 +47,7 @@
 0:37      Sequence
 0:37        move second child to first child (temp 4-component vector of float)
 0:37          'txval10' (temp 4-component vector of float)
-0:37          textureGather (global 4-component vector of float)
+0:37          textureGather (temp 4-component vector of float)
 0:37            Construct combined texture-sampler (temp sampler2DArray)
 0:37              'g_tTex2df4a' (uniform texture2DArray)
 0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -60,7 +60,7 @@
 0:38      Sequence
 0:38        move second child to first child (temp 4-component vector of int)
 0:38          'txval11' (temp 4-component vector of int)
-0:38          textureGather (global 4-component vector of int)
+0:38          textureGather (temp 4-component vector of int)
 0:38            Construct combined texture-sampler (temp isampler2DArray)
 0:38              'g_tTex2di4a' (uniform itexture2DArray)
 0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -73,7 +73,7 @@
 0:39      Sequence
 0:39        move second child to first child (temp 4-component vector of uint)
 0:39          'txval12' (temp 4-component vector of uint)
-0:39          textureGather (global 4-component vector of uint)
+0:39          textureGather (temp 4-component vector of uint)
 0:39            Construct combined texture-sampler (temp usampler2DArray)
 0:39              'g_tTex2du4a' (uniform utexture2DArray)
 0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -86,7 +86,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of float)
 0:41          'txval20' (temp 4-component vector of float)
-0:41          textureGather (global 4-component vector of float)
+0:41          textureGather (temp 4-component vector of float)
 0:41            Construct combined texture-sampler (temp sampler2DArray)
 0:41              'g_tTex2df4a' (uniform texture2DArray)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -99,7 +99,7 @@
 0:42      Sequence
 0:42        move second child to first child (temp 4-component vector of int)
 0:42          'txval21' (temp 4-component vector of int)
-0:42          textureGather (global 4-component vector of int)
+0:42          textureGather (temp 4-component vector of int)
 0:42            Construct combined texture-sampler (temp isampler2DArray)
 0:42              'g_tTex2di4a' (uniform itexture2DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -112,7 +112,7 @@
 0:43      Sequence
 0:43        move second child to first child (temp 4-component vector of uint)
 0:43          'txval22' (temp 4-component vector of uint)
-0:43          textureGather (global 4-component vector of uint)
+0:43          textureGather (temp 4-component vector of uint)
 0:43            Construct combined texture-sampler (temp usampler2DArray)
 0:43              'g_tTex2du4a' (uniform utexture2DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -125,7 +125,7 @@
 0:45      Sequence
 0:45        move second child to first child (temp 4-component vector of float)
 0:45          'txval30' (temp 4-component vector of float)
-0:45          textureGather (global 4-component vector of float)
+0:45          textureGather (temp 4-component vector of float)
 0:45            Construct combined texture-sampler (temp sampler2DArray)
 0:45              'g_tTex2df4a' (uniform texture2DArray)
 0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -138,7 +138,7 @@
 0:46      Sequence
 0:46        move second child to first child (temp 4-component vector of int)
 0:46          'txval31' (temp 4-component vector of int)
-0:46          textureGather (global 4-component vector of int)
+0:46          textureGather (temp 4-component vector of int)
 0:46            Construct combined texture-sampler (temp isampler2DArray)
 0:46              'g_tTex2di4a' (uniform itexture2DArray)
 0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -151,7 +151,7 @@
 0:47      Sequence
 0:47        move second child to first child (temp 4-component vector of uint)
 0:47          'txval32' (temp 4-component vector of uint)
-0:47          textureGather (global 4-component vector of uint)
+0:47          textureGather (temp 4-component vector of uint)
 0:47            Construct combined texture-sampler (temp usampler2DArray)
 0:47              'g_tTex2du4a' (uniform utexture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -164,7 +164,7 @@
 0:51      Sequence
 0:51        move second child to first child (temp 4-component vector of float)
 0:51          'txval40' (temp 4-component vector of float)
-0:51          textureGather (global 4-component vector of float)
+0:51          textureGather (temp 4-component vector of float)
 0:51            Construct combined texture-sampler (temp samplerCubeArray)
 0:51              'g_tTexcdf4a' (uniform textureCubeArray)
 0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -177,7 +177,7 @@
 0:52      Sequence
 0:52        move second child to first child (temp 4-component vector of int)
 0:52          'txval41' (temp 4-component vector of int)
-0:52          textureGather (global 4-component vector of int)
+0:52          textureGather (temp 4-component vector of int)
 0:52            Construct combined texture-sampler (temp isamplerCubeArray)
 0:52              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -190,7 +190,7 @@
 0:53      Sequence
 0:53        move second child to first child (temp 4-component vector of uint)
 0:53          'txval42' (temp 4-component vector of uint)
-0:53          textureGather (global 4-component vector of uint)
+0:53          textureGather (temp 4-component vector of uint)
 0:53            Construct combined texture-sampler (temp usamplerCubeArray)
 0:53              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -203,7 +203,7 @@
 0:55      Sequence
 0:55        move second child to first child (temp 4-component vector of float)
 0:55          'txval50' (temp 4-component vector of float)
-0:55          textureGather (global 4-component vector of float)
+0:55          textureGather (temp 4-component vector of float)
 0:55            Construct combined texture-sampler (temp samplerCubeArray)
 0:55              'g_tTexcdf4a' (uniform textureCubeArray)
 0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -216,7 +216,7 @@
 0:56      Sequence
 0:56        move second child to first child (temp 4-component vector of int)
 0:56          'txval51' (temp 4-component vector of int)
-0:56          textureGather (global 4-component vector of int)
+0:56          textureGather (temp 4-component vector of int)
 0:56            Construct combined texture-sampler (temp isamplerCubeArray)
 0:56              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -229,7 +229,7 @@
 0:57      Sequence
 0:57        move second child to first child (temp 4-component vector of uint)
 0:57          'txval52' (temp 4-component vector of uint)
-0:57          textureGather (global 4-component vector of uint)
+0:57          textureGather (temp 4-component vector of uint)
 0:57            Construct combined texture-sampler (temp usamplerCubeArray)
 0:57              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -242,7 +242,7 @@
 0:59      Sequence
 0:59        move second child to first child (temp 4-component vector of float)
 0:59          'txval60' (temp 4-component vector of float)
-0:59          textureGather (global 4-component vector of float)
+0:59          textureGather (temp 4-component vector of float)
 0:59            Construct combined texture-sampler (temp samplerCubeArray)
 0:59              'g_tTexcdf4a' (uniform textureCubeArray)
 0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -255,7 +255,7 @@
 0:60      Sequence
 0:60        move second child to first child (temp 4-component vector of int)
 0:60          'txval61' (temp 4-component vector of int)
-0:60          textureGather (global 4-component vector of int)
+0:60          textureGather (temp 4-component vector of int)
 0:60            Construct combined texture-sampler (temp isamplerCubeArray)
 0:60              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -268,7 +268,7 @@
 0:61      Sequence
 0:61        move second child to first child (temp 4-component vector of uint)
 0:61          'txval62' (temp 4-component vector of uint)
-0:61          textureGather (global 4-component vector of uint)
+0:61          textureGather (temp 4-component vector of uint)
 0:61            Construct combined texture-sampler (temp usamplerCubeArray)
 0:61              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -281,7 +281,7 @@
 0:63      Sequence
 0:63        move second child to first child (temp 4-component vector of float)
 0:63          'txval70' (temp 4-component vector of float)
-0:63          textureGather (global 4-component vector of float)
+0:63          textureGather (temp 4-component vector of float)
 0:63            Construct combined texture-sampler (temp samplerCubeArray)
 0:63              'g_tTexcdf4a' (uniform textureCubeArray)
 0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -294,7 +294,7 @@
 0:64      Sequence
 0:64        move second child to first child (temp 4-component vector of int)
 0:64          'txval71' (temp 4-component vector of int)
-0:64          textureGather (global 4-component vector of int)
+0:64          textureGather (temp 4-component vector of int)
 0:64            Construct combined texture-sampler (temp isamplerCubeArray)
 0:64              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -307,7 +307,7 @@
 0:65      Sequence
 0:65        move second child to first child (temp 4-component vector of uint)
 0:65          'txval72' (temp 4-component vector of uint)
-0:65          textureGather (global 4-component vector of uint)
+0:65          textureGather (temp 4-component vector of uint)
 0:65            Construct combined texture-sampler (temp usamplerCubeArray)
 0:65              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -350,6 +350,8 @@
 0:70                1 (const int)
 0:70        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -361,9 +363,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
 
 
 Linked fragment stage:
@@ -378,7 +378,7 @@
 0:33      Sequence
 0:33        move second child to first child (temp 4-component vector of float)
 0:33          'txval00' (temp 4-component vector of float)
-0:33          textureGather (global 4-component vector of float)
+0:33          textureGather (temp 4-component vector of float)
 0:33            Construct combined texture-sampler (temp sampler2DArray)
 0:33              'g_tTex2df4a' (uniform texture2DArray)
 0:33              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -391,7 +391,7 @@
 0:34      Sequence
 0:34        move second child to first child (temp 4-component vector of int)
 0:34          'txval01' (temp 4-component vector of int)
-0:34          textureGather (global 4-component vector of int)
+0:34          textureGather (temp 4-component vector of int)
 0:34            Construct combined texture-sampler (temp isampler2DArray)
 0:34              'g_tTex2di4a' (uniform itexture2DArray)
 0:34              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -404,7 +404,7 @@
 0:35      Sequence
 0:35        move second child to first child (temp 4-component vector of uint)
 0:35          'txval02' (temp 4-component vector of uint)
-0:35          textureGather (global 4-component vector of uint)
+0:35          textureGather (temp 4-component vector of uint)
 0:35            Construct combined texture-sampler (temp usampler2DArray)
 0:35              'g_tTex2du4a' (uniform utexture2DArray)
 0:35              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -417,7 +417,7 @@
 0:37      Sequence
 0:37        move second child to first child (temp 4-component vector of float)
 0:37          'txval10' (temp 4-component vector of float)
-0:37          textureGather (global 4-component vector of float)
+0:37          textureGather (temp 4-component vector of float)
 0:37            Construct combined texture-sampler (temp sampler2DArray)
 0:37              'g_tTex2df4a' (uniform texture2DArray)
 0:37              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -430,7 +430,7 @@
 0:38      Sequence
 0:38        move second child to first child (temp 4-component vector of int)
 0:38          'txval11' (temp 4-component vector of int)
-0:38          textureGather (global 4-component vector of int)
+0:38          textureGather (temp 4-component vector of int)
 0:38            Construct combined texture-sampler (temp isampler2DArray)
 0:38              'g_tTex2di4a' (uniform itexture2DArray)
 0:38              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -443,7 +443,7 @@
 0:39      Sequence
 0:39        move second child to first child (temp 4-component vector of uint)
 0:39          'txval12' (temp 4-component vector of uint)
-0:39          textureGather (global 4-component vector of uint)
+0:39          textureGather (temp 4-component vector of uint)
 0:39            Construct combined texture-sampler (temp usampler2DArray)
 0:39              'g_tTex2du4a' (uniform utexture2DArray)
 0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -456,7 +456,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of float)
 0:41          'txval20' (temp 4-component vector of float)
-0:41          textureGather (global 4-component vector of float)
+0:41          textureGather (temp 4-component vector of float)
 0:41            Construct combined texture-sampler (temp sampler2DArray)
 0:41              'g_tTex2df4a' (uniform texture2DArray)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -469,7 +469,7 @@
 0:42      Sequence
 0:42        move second child to first child (temp 4-component vector of int)
 0:42          'txval21' (temp 4-component vector of int)
-0:42          textureGather (global 4-component vector of int)
+0:42          textureGather (temp 4-component vector of int)
 0:42            Construct combined texture-sampler (temp isampler2DArray)
 0:42              'g_tTex2di4a' (uniform itexture2DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -482,7 +482,7 @@
 0:43      Sequence
 0:43        move second child to first child (temp 4-component vector of uint)
 0:43          'txval22' (temp 4-component vector of uint)
-0:43          textureGather (global 4-component vector of uint)
+0:43          textureGather (temp 4-component vector of uint)
 0:43            Construct combined texture-sampler (temp usampler2DArray)
 0:43              'g_tTex2du4a' (uniform utexture2DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -495,7 +495,7 @@
 0:45      Sequence
 0:45        move second child to first child (temp 4-component vector of float)
 0:45          'txval30' (temp 4-component vector of float)
-0:45          textureGather (global 4-component vector of float)
+0:45          textureGather (temp 4-component vector of float)
 0:45            Construct combined texture-sampler (temp sampler2DArray)
 0:45              'g_tTex2df4a' (uniform texture2DArray)
 0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -508,7 +508,7 @@
 0:46      Sequence
 0:46        move second child to first child (temp 4-component vector of int)
 0:46          'txval31' (temp 4-component vector of int)
-0:46          textureGather (global 4-component vector of int)
+0:46          textureGather (temp 4-component vector of int)
 0:46            Construct combined texture-sampler (temp isampler2DArray)
 0:46              'g_tTex2di4a' (uniform itexture2DArray)
 0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -521,7 +521,7 @@
 0:47      Sequence
 0:47        move second child to first child (temp 4-component vector of uint)
 0:47          'txval32' (temp 4-component vector of uint)
-0:47          textureGather (global 4-component vector of uint)
+0:47          textureGather (temp 4-component vector of uint)
 0:47            Construct combined texture-sampler (temp usampler2DArray)
 0:47              'g_tTex2du4a' (uniform utexture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -534,7 +534,7 @@
 0:51      Sequence
 0:51        move second child to first child (temp 4-component vector of float)
 0:51          'txval40' (temp 4-component vector of float)
-0:51          textureGather (global 4-component vector of float)
+0:51          textureGather (temp 4-component vector of float)
 0:51            Construct combined texture-sampler (temp samplerCubeArray)
 0:51              'g_tTexcdf4a' (uniform textureCubeArray)
 0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -547,7 +547,7 @@
 0:52      Sequence
 0:52        move second child to first child (temp 4-component vector of int)
 0:52          'txval41' (temp 4-component vector of int)
-0:52          textureGather (global 4-component vector of int)
+0:52          textureGather (temp 4-component vector of int)
 0:52            Construct combined texture-sampler (temp isamplerCubeArray)
 0:52              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -560,7 +560,7 @@
 0:53      Sequence
 0:53        move second child to first child (temp 4-component vector of uint)
 0:53          'txval42' (temp 4-component vector of uint)
-0:53          textureGather (global 4-component vector of uint)
+0:53          textureGather (temp 4-component vector of uint)
 0:53            Construct combined texture-sampler (temp usamplerCubeArray)
 0:53              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -573,7 +573,7 @@
 0:55      Sequence
 0:55        move second child to first child (temp 4-component vector of float)
 0:55          'txval50' (temp 4-component vector of float)
-0:55          textureGather (global 4-component vector of float)
+0:55          textureGather (temp 4-component vector of float)
 0:55            Construct combined texture-sampler (temp samplerCubeArray)
 0:55              'g_tTexcdf4a' (uniform textureCubeArray)
 0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -586,7 +586,7 @@
 0:56      Sequence
 0:56        move second child to first child (temp 4-component vector of int)
 0:56          'txval51' (temp 4-component vector of int)
-0:56          textureGather (global 4-component vector of int)
+0:56          textureGather (temp 4-component vector of int)
 0:56            Construct combined texture-sampler (temp isamplerCubeArray)
 0:56              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -599,7 +599,7 @@
 0:57      Sequence
 0:57        move second child to first child (temp 4-component vector of uint)
 0:57          'txval52' (temp 4-component vector of uint)
-0:57          textureGather (global 4-component vector of uint)
+0:57          textureGather (temp 4-component vector of uint)
 0:57            Construct combined texture-sampler (temp usamplerCubeArray)
 0:57              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -612,7 +612,7 @@
 0:59      Sequence
 0:59        move second child to first child (temp 4-component vector of float)
 0:59          'txval60' (temp 4-component vector of float)
-0:59          textureGather (global 4-component vector of float)
+0:59          textureGather (temp 4-component vector of float)
 0:59            Construct combined texture-sampler (temp samplerCubeArray)
 0:59              'g_tTexcdf4a' (uniform textureCubeArray)
 0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -625,7 +625,7 @@
 0:60      Sequence
 0:60        move second child to first child (temp 4-component vector of int)
 0:60          'txval61' (temp 4-component vector of int)
-0:60          textureGather (global 4-component vector of int)
+0:60          textureGather (temp 4-component vector of int)
 0:60            Construct combined texture-sampler (temp isamplerCubeArray)
 0:60              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -638,7 +638,7 @@
 0:61      Sequence
 0:61        move second child to first child (temp 4-component vector of uint)
 0:61          'txval62' (temp 4-component vector of uint)
-0:61          textureGather (global 4-component vector of uint)
+0:61          textureGather (temp 4-component vector of uint)
 0:61            Construct combined texture-sampler (temp usamplerCubeArray)
 0:61              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -651,7 +651,7 @@
 0:63      Sequence
 0:63        move second child to first child (temp 4-component vector of float)
 0:63          'txval70' (temp 4-component vector of float)
-0:63          textureGather (global 4-component vector of float)
+0:63          textureGather (temp 4-component vector of float)
 0:63            Construct combined texture-sampler (temp samplerCubeArray)
 0:63              'g_tTexcdf4a' (uniform textureCubeArray)
 0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -664,7 +664,7 @@
 0:64      Sequence
 0:64        move second child to first child (temp 4-component vector of int)
 0:64          'txval71' (temp 4-component vector of int)
-0:64          textureGather (global 4-component vector of int)
+0:64          textureGather (temp 4-component vector of int)
 0:64            Construct combined texture-sampler (temp isamplerCubeArray)
 0:64              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -677,7 +677,7 @@
 0:65      Sequence
 0:65        move second child to first child (temp 4-component vector of uint)
 0:65          'txval72' (temp 4-component vector of uint)
-0:65          textureGather (global 4-component vector of uint)
+0:65          textureGather (temp 4-component vector of uint)
 0:65            Construct combined texture-sampler (temp usamplerCubeArray)
 0:65              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -720,6 +720,8 @@
 0:70                1 (const int)
 0:70        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -731,9 +733,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
index ef1e7e0..d2fb0b1 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -8,7 +8,7 @@
 0:39      Sequence
 0:39        move second child to first child (temp 4-component vector of float)
 0:39          'txval00' (temp 4-component vector of float)
-0:39          textureGather (global 4-component vector of float)
+0:39          textureGather (temp 4-component vector of float)
 0:39            Construct combined texture-sampler (temp sampler2D)
 0:39              'g_tTex2df4' (uniform texture2D)
 0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -21,7 +21,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of int)
 0:40          'txval01' (temp 4-component vector of int)
-0:40          textureGather (global 4-component vector of int)
+0:40          textureGather (temp 4-component vector of int)
 0:40            Construct combined texture-sampler (temp isampler2D)
 0:40              'g_tTex2di4' (uniform itexture2D)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -34,7 +34,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of uint)
 0:41          'txval02' (temp 4-component vector of uint)
-0:41          textureGather (global 4-component vector of uint)
+0:41          textureGather (temp 4-component vector of uint)
 0:41            Construct combined texture-sampler (temp usampler2D)
 0:41              'g_tTex2du4' (uniform utexture2D)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -47,7 +47,7 @@
 0:43      Sequence
 0:43        move second child to first child (temp 4-component vector of float)
 0:43          'txval10' (temp 4-component vector of float)
-0:43          textureGather (global 4-component vector of float)
+0:43          textureGather (temp 4-component vector of float)
 0:43            Construct combined texture-sampler (temp sampler2D)
 0:43              'g_tTex2df4' (uniform texture2D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -60,7 +60,7 @@
 0:44      Sequence
 0:44        move second child to first child (temp 4-component vector of int)
 0:44          'txval11' (temp 4-component vector of int)
-0:44          textureGather (global 4-component vector of int)
+0:44          textureGather (temp 4-component vector of int)
 0:44            Construct combined texture-sampler (temp isampler2D)
 0:44              'g_tTex2di4' (uniform itexture2D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -73,7 +73,7 @@
 0:45      Sequence
 0:45        move second child to first child (temp 4-component vector of uint)
 0:45          'txval12' (temp 4-component vector of uint)
-0:45          textureGather (global 4-component vector of uint)
+0:45          textureGather (temp 4-component vector of uint)
 0:45            Construct combined texture-sampler (temp usampler2D)
 0:45              'g_tTex2du4' (uniform utexture2D)
 0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -86,7 +86,7 @@
 0:47      Sequence
 0:47        move second child to first child (temp 4-component vector of float)
 0:47          'txval20' (temp 4-component vector of float)
-0:47          textureGather (global 4-component vector of float)
+0:47          textureGather (temp 4-component vector of float)
 0:47            Construct combined texture-sampler (temp sampler2D)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -99,7 +99,7 @@
 0:48      Sequence
 0:48        move second child to first child (temp 4-component vector of int)
 0:48          'txval21' (temp 4-component vector of int)
-0:48          textureGather (global 4-component vector of int)
+0:48          textureGather (temp 4-component vector of int)
 0:48            Construct combined texture-sampler (temp isampler2D)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -112,7 +112,7 @@
 0:49      Sequence
 0:49        move second child to first child (temp 4-component vector of uint)
 0:49          'txval22' (temp 4-component vector of uint)
-0:49          textureGather (global 4-component vector of uint)
+0:49          textureGather (temp 4-component vector of uint)
 0:49            Construct combined texture-sampler (temp usampler2D)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -125,7 +125,7 @@
 0:51      Sequence
 0:51        move second child to first child (temp 4-component vector of float)
 0:51          'txval30' (temp 4-component vector of float)
-0:51          textureGather (global 4-component vector of float)
+0:51          textureGather (temp 4-component vector of float)
 0:51            Construct combined texture-sampler (temp sampler2D)
 0:51              'g_tTex2df4' (uniform texture2D)
 0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -138,7 +138,7 @@
 0:52      Sequence
 0:52        move second child to first child (temp 4-component vector of int)
 0:52          'txval31' (temp 4-component vector of int)
-0:52          textureGather (global 4-component vector of int)
+0:52          textureGather (temp 4-component vector of int)
 0:52            Construct combined texture-sampler (temp isampler2D)
 0:52              'g_tTex2di4' (uniform itexture2D)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -151,7 +151,7 @@
 0:53      Sequence
 0:53        move second child to first child (temp 4-component vector of uint)
 0:53          'txval32' (temp 4-component vector of uint)
-0:53          textureGather (global 4-component vector of uint)
+0:53          textureGather (temp 4-component vector of uint)
 0:53            Construct combined texture-sampler (temp usampler2D)
 0:53              'g_tTex2du4' (uniform utexture2D)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -164,7 +164,7 @@
 0:57      Sequence
 0:57        move second child to first child (temp 4-component vector of float)
 0:57          'txval40' (temp 4-component vector of float)
-0:57          textureGather (global 4-component vector of float)
+0:57          textureGather (temp 4-component vector of float)
 0:57            Construct combined texture-sampler (temp samplerCube)
 0:57              'g_tTexcdf4' (uniform textureCube)
 0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -177,7 +177,7 @@
 0:58      Sequence
 0:58        move second child to first child (temp 4-component vector of int)
 0:58          'txval41' (temp 4-component vector of int)
-0:58          textureGather (global 4-component vector of int)
+0:58          textureGather (temp 4-component vector of int)
 0:58            Construct combined texture-sampler (temp isamplerCube)
 0:58              'g_tTexcdi4' (uniform itextureCube)
 0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -190,7 +190,7 @@
 0:59      Sequence
 0:59        move second child to first child (temp 4-component vector of uint)
 0:59          'txval42' (temp 4-component vector of uint)
-0:59          textureGather (global 4-component vector of uint)
+0:59          textureGather (temp 4-component vector of uint)
 0:59            Construct combined texture-sampler (temp usamplerCube)
 0:59              'g_tTexcdu4' (uniform utextureCube)
 0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -203,7 +203,7 @@
 0:61      Sequence
 0:61        move second child to first child (temp 4-component vector of float)
 0:61          'txval50' (temp 4-component vector of float)
-0:61          textureGather (global 4-component vector of float)
+0:61          textureGather (temp 4-component vector of float)
 0:61            Construct combined texture-sampler (temp samplerCube)
 0:61              'g_tTexcdf4' (uniform textureCube)
 0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -216,7 +216,7 @@
 0:62      Sequence
 0:62        move second child to first child (temp 4-component vector of int)
 0:62          'txval51' (temp 4-component vector of int)
-0:62          textureGather (global 4-component vector of int)
+0:62          textureGather (temp 4-component vector of int)
 0:62            Construct combined texture-sampler (temp isamplerCube)
 0:62              'g_tTexcdi4' (uniform itextureCube)
 0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -229,7 +229,7 @@
 0:63      Sequence
 0:63        move second child to first child (temp 4-component vector of uint)
 0:63          'txval52' (temp 4-component vector of uint)
-0:63          textureGather (global 4-component vector of uint)
+0:63          textureGather (temp 4-component vector of uint)
 0:63            Construct combined texture-sampler (temp usamplerCube)
 0:63              'g_tTexcdu4' (uniform utextureCube)
 0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -242,7 +242,7 @@
 0:65      Sequence
 0:65        move second child to first child (temp 4-component vector of float)
 0:65          'txval60' (temp 4-component vector of float)
-0:65          textureGather (global 4-component vector of float)
+0:65          textureGather (temp 4-component vector of float)
 0:65            Construct combined texture-sampler (temp samplerCube)
 0:65              'g_tTexcdf4' (uniform textureCube)
 0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -255,7 +255,7 @@
 0:66      Sequence
 0:66        move second child to first child (temp 4-component vector of int)
 0:66          'txval61' (temp 4-component vector of int)
-0:66          textureGather (global 4-component vector of int)
+0:66          textureGather (temp 4-component vector of int)
 0:66            Construct combined texture-sampler (temp isamplerCube)
 0:66              'g_tTexcdi4' (uniform itextureCube)
 0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -268,7 +268,7 @@
 0:67      Sequence
 0:67        move second child to first child (temp 4-component vector of uint)
 0:67          'txval62' (temp 4-component vector of uint)
-0:67          textureGather (global 4-component vector of uint)
+0:67          textureGather (temp 4-component vector of uint)
 0:67            Construct combined texture-sampler (temp usamplerCube)
 0:67              'g_tTexcdu4' (uniform utextureCube)
 0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -281,7 +281,7 @@
 0:69      Sequence
 0:69        move second child to first child (temp 4-component vector of float)
 0:69          'txval70' (temp 4-component vector of float)
-0:69          textureGather (global 4-component vector of float)
+0:69          textureGather (temp 4-component vector of float)
 0:69            Construct combined texture-sampler (temp samplerCube)
 0:69              'g_tTexcdf4' (uniform textureCube)
 0:69              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -294,7 +294,7 @@
 0:70      Sequence
 0:70        move second child to first child (temp 4-component vector of int)
 0:70          'txval71' (temp 4-component vector of int)
-0:70          textureGather (global 4-component vector of int)
+0:70          textureGather (temp 4-component vector of int)
 0:70            Construct combined texture-sampler (temp isamplerCube)
 0:70              'g_tTexcdi4' (uniform itextureCube)
 0:70              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -307,7 +307,7 @@
 0:71      Sequence
 0:71        move second child to first child (temp 4-component vector of uint)
 0:71          'txval72' (temp 4-component vector of uint)
-0:71          textureGather (global 4-component vector of uint)
+0:71          textureGather (temp 4-component vector of uint)
 0:71            Construct combined texture-sampler (temp usamplerCube)
 0:71              'g_tTexcdu4' (uniform utextureCube)
 0:71              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -350,6 +350,8 @@
 0:76                1 (const int)
 0:76        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -365,9 +367,7 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
 
 
 Linked fragment stage:
@@ -382,7 +382,7 @@
 0:39      Sequence
 0:39        move second child to first child (temp 4-component vector of float)
 0:39          'txval00' (temp 4-component vector of float)
-0:39          textureGather (global 4-component vector of float)
+0:39          textureGather (temp 4-component vector of float)
 0:39            Construct combined texture-sampler (temp sampler2D)
 0:39              'g_tTex2df4' (uniform texture2D)
 0:39              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -395,7 +395,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of int)
 0:40          'txval01' (temp 4-component vector of int)
-0:40          textureGather (global 4-component vector of int)
+0:40          textureGather (temp 4-component vector of int)
 0:40            Construct combined texture-sampler (temp isampler2D)
 0:40              'g_tTex2di4' (uniform itexture2D)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -408,7 +408,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of uint)
 0:41          'txval02' (temp 4-component vector of uint)
-0:41          textureGather (global 4-component vector of uint)
+0:41          textureGather (temp 4-component vector of uint)
 0:41            Construct combined texture-sampler (temp usampler2D)
 0:41              'g_tTex2du4' (uniform utexture2D)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -421,7 +421,7 @@
 0:43      Sequence
 0:43        move second child to first child (temp 4-component vector of float)
 0:43          'txval10' (temp 4-component vector of float)
-0:43          textureGather (global 4-component vector of float)
+0:43          textureGather (temp 4-component vector of float)
 0:43            Construct combined texture-sampler (temp sampler2D)
 0:43              'g_tTex2df4' (uniform texture2D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -434,7 +434,7 @@
 0:44      Sequence
 0:44        move second child to first child (temp 4-component vector of int)
 0:44          'txval11' (temp 4-component vector of int)
-0:44          textureGather (global 4-component vector of int)
+0:44          textureGather (temp 4-component vector of int)
 0:44            Construct combined texture-sampler (temp isampler2D)
 0:44              'g_tTex2di4' (uniform itexture2D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -447,7 +447,7 @@
 0:45      Sequence
 0:45        move second child to first child (temp 4-component vector of uint)
 0:45          'txval12' (temp 4-component vector of uint)
-0:45          textureGather (global 4-component vector of uint)
+0:45          textureGather (temp 4-component vector of uint)
 0:45            Construct combined texture-sampler (temp usampler2D)
 0:45              'g_tTex2du4' (uniform utexture2D)
 0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -460,7 +460,7 @@
 0:47      Sequence
 0:47        move second child to first child (temp 4-component vector of float)
 0:47          'txval20' (temp 4-component vector of float)
-0:47          textureGather (global 4-component vector of float)
+0:47          textureGather (temp 4-component vector of float)
 0:47            Construct combined texture-sampler (temp sampler2D)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -473,7 +473,7 @@
 0:48      Sequence
 0:48        move second child to first child (temp 4-component vector of int)
 0:48          'txval21' (temp 4-component vector of int)
-0:48          textureGather (global 4-component vector of int)
+0:48          textureGather (temp 4-component vector of int)
 0:48            Construct combined texture-sampler (temp isampler2D)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -486,7 +486,7 @@
 0:49      Sequence
 0:49        move second child to first child (temp 4-component vector of uint)
 0:49          'txval22' (temp 4-component vector of uint)
-0:49          textureGather (global 4-component vector of uint)
+0:49          textureGather (temp 4-component vector of uint)
 0:49            Construct combined texture-sampler (temp usampler2D)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -499,7 +499,7 @@
 0:51      Sequence
 0:51        move second child to first child (temp 4-component vector of float)
 0:51          'txval30' (temp 4-component vector of float)
-0:51          textureGather (global 4-component vector of float)
+0:51          textureGather (temp 4-component vector of float)
 0:51            Construct combined texture-sampler (temp sampler2D)
 0:51              'g_tTex2df4' (uniform texture2D)
 0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -512,7 +512,7 @@
 0:52      Sequence
 0:52        move second child to first child (temp 4-component vector of int)
 0:52          'txval31' (temp 4-component vector of int)
-0:52          textureGather (global 4-component vector of int)
+0:52          textureGather (temp 4-component vector of int)
 0:52            Construct combined texture-sampler (temp isampler2D)
 0:52              'g_tTex2di4' (uniform itexture2D)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -525,7 +525,7 @@
 0:53      Sequence
 0:53        move second child to first child (temp 4-component vector of uint)
 0:53          'txval32' (temp 4-component vector of uint)
-0:53          textureGather (global 4-component vector of uint)
+0:53          textureGather (temp 4-component vector of uint)
 0:53            Construct combined texture-sampler (temp usampler2D)
 0:53              'g_tTex2du4' (uniform utexture2D)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -538,7 +538,7 @@
 0:57      Sequence
 0:57        move second child to first child (temp 4-component vector of float)
 0:57          'txval40' (temp 4-component vector of float)
-0:57          textureGather (global 4-component vector of float)
+0:57          textureGather (temp 4-component vector of float)
 0:57            Construct combined texture-sampler (temp samplerCube)
 0:57              'g_tTexcdf4' (uniform textureCube)
 0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -551,7 +551,7 @@
 0:58      Sequence
 0:58        move second child to first child (temp 4-component vector of int)
 0:58          'txval41' (temp 4-component vector of int)
-0:58          textureGather (global 4-component vector of int)
+0:58          textureGather (temp 4-component vector of int)
 0:58            Construct combined texture-sampler (temp isamplerCube)
 0:58              'g_tTexcdi4' (uniform itextureCube)
 0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -564,7 +564,7 @@
 0:59      Sequence
 0:59        move second child to first child (temp 4-component vector of uint)
 0:59          'txval42' (temp 4-component vector of uint)
-0:59          textureGather (global 4-component vector of uint)
+0:59          textureGather (temp 4-component vector of uint)
 0:59            Construct combined texture-sampler (temp usamplerCube)
 0:59              'g_tTexcdu4' (uniform utextureCube)
 0:59              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -577,7 +577,7 @@
 0:61      Sequence
 0:61        move second child to first child (temp 4-component vector of float)
 0:61          'txval50' (temp 4-component vector of float)
-0:61          textureGather (global 4-component vector of float)
+0:61          textureGather (temp 4-component vector of float)
 0:61            Construct combined texture-sampler (temp samplerCube)
 0:61              'g_tTexcdf4' (uniform textureCube)
 0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -590,7 +590,7 @@
 0:62      Sequence
 0:62        move second child to first child (temp 4-component vector of int)
 0:62          'txval51' (temp 4-component vector of int)
-0:62          textureGather (global 4-component vector of int)
+0:62          textureGather (temp 4-component vector of int)
 0:62            Construct combined texture-sampler (temp isamplerCube)
 0:62              'g_tTexcdi4' (uniform itextureCube)
 0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -603,7 +603,7 @@
 0:63      Sequence
 0:63        move second child to first child (temp 4-component vector of uint)
 0:63          'txval52' (temp 4-component vector of uint)
-0:63          textureGather (global 4-component vector of uint)
+0:63          textureGather (temp 4-component vector of uint)
 0:63            Construct combined texture-sampler (temp usamplerCube)
 0:63              'g_tTexcdu4' (uniform utextureCube)
 0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -616,7 +616,7 @@
 0:65      Sequence
 0:65        move second child to first child (temp 4-component vector of float)
 0:65          'txval60' (temp 4-component vector of float)
-0:65          textureGather (global 4-component vector of float)
+0:65          textureGather (temp 4-component vector of float)
 0:65            Construct combined texture-sampler (temp samplerCube)
 0:65              'g_tTexcdf4' (uniform textureCube)
 0:65              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -629,7 +629,7 @@
 0:66      Sequence
 0:66        move second child to first child (temp 4-component vector of int)
 0:66          'txval61' (temp 4-component vector of int)
-0:66          textureGather (global 4-component vector of int)
+0:66          textureGather (temp 4-component vector of int)
 0:66            Construct combined texture-sampler (temp isamplerCube)
 0:66              'g_tTexcdi4' (uniform itextureCube)
 0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -642,7 +642,7 @@
 0:67      Sequence
 0:67        move second child to first child (temp 4-component vector of uint)
 0:67          'txval62' (temp 4-component vector of uint)
-0:67          textureGather (global 4-component vector of uint)
+0:67          textureGather (temp 4-component vector of uint)
 0:67            Construct combined texture-sampler (temp usamplerCube)
 0:67              'g_tTexcdu4' (uniform utextureCube)
 0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -655,7 +655,7 @@
 0:69      Sequence
 0:69        move second child to first child (temp 4-component vector of float)
 0:69          'txval70' (temp 4-component vector of float)
-0:69          textureGather (global 4-component vector of float)
+0:69          textureGather (temp 4-component vector of float)
 0:69            Construct combined texture-sampler (temp samplerCube)
 0:69              'g_tTexcdf4' (uniform textureCube)
 0:69              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -668,7 +668,7 @@
 0:70      Sequence
 0:70        move second child to first child (temp 4-component vector of int)
 0:70          'txval71' (temp 4-component vector of int)
-0:70          textureGather (global 4-component vector of int)
+0:70          textureGather (temp 4-component vector of int)
 0:70            Construct combined texture-sampler (temp isamplerCube)
 0:70              'g_tTexcdi4' (uniform itextureCube)
 0:70              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -681,7 +681,7 @@
 0:71      Sequence
 0:71        move second child to first child (temp 4-component vector of uint)
 0:71          'txval72' (temp 4-component vector of uint)
-0:71          textureGather (global 4-component vector of uint)
+0:71          textureGather (temp 4-component vector of uint)
 0:71            Construct combined texture-sampler (temp usamplerCube)
 0:71              'g_tTexcdu4' (uniform utextureCube)
 0:71              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -724,6 +724,8 @@
 0:76                1 (const int)
 0:76        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -739,9 +741,7 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index f178c3b..4339574 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -8,7 +8,7 @@
 0:46      Sequence
 0:46        move second child to first child (temp 4-component vector of float)
 0:46          'txval001' (temp 4-component vector of float)
-0:46          textureGatherOffset (global 4-component vector of float)
+0:46          textureGatherOffset (temp 4-component vector of float)
 0:46            Construct combined texture-sampler (temp sampler2D)
 0:46              'g_tTex2df4' (uniform texture2D)
 0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -25,7 +25,7 @@
 0:47      Sequence
 0:47        move second child to first child (temp 4-component vector of int)
 0:47          'txval011' (temp 4-component vector of int)
-0:47          textureGatherOffset (global 4-component vector of int)
+0:47          textureGatherOffset (temp 4-component vector of int)
 0:47            Construct combined texture-sampler (temp isampler2D)
 0:47              'g_tTex2di4' (uniform itexture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -42,7 +42,7 @@
 0:48      Sequence
 0:48        move second child to first child (temp 4-component vector of uint)
 0:48          'txval021' (temp 4-component vector of uint)
-0:48          textureGatherOffset (global 4-component vector of uint)
+0:48          textureGatherOffset (temp 4-component vector of uint)
 0:48            Construct combined texture-sampler (temp usampler2D)
 0:48              'g_tTex2du4' (uniform utexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -59,7 +59,7 @@
 0:50      Sequence
 0:50        move second child to first child (temp 4-component vector of float)
 0:50          'txval004' (temp 4-component vector of float)
-0:50          textureGatherOffsets (global 4-component vector of float)
+0:50          textureGatherOffsets (temp 4-component vector of float)
 0:50            Construct combined texture-sampler (temp sampler2D)
 0:50              'g_tTex2df4' (uniform texture2D)
 0:50              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -89,7 +89,7 @@
 0:51      Sequence
 0:51        move second child to first child (temp 4-component vector of int)
 0:51          'txval014' (temp 4-component vector of int)
-0:51          textureGatherOffsets (global 4-component vector of int)
+0:51          textureGatherOffsets (temp 4-component vector of int)
 0:51            Construct combined texture-sampler (temp isampler2D)
 0:51              'g_tTex2di4' (uniform itexture2D)
 0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -119,7 +119,7 @@
 0:52      Sequence
 0:52        move second child to first child (temp 4-component vector of uint)
 0:52          'txval024' (temp 4-component vector of uint)
-0:52          textureGatherOffsets (global 4-component vector of uint)
+0:52          textureGatherOffsets (temp 4-component vector of uint)
 0:52            Construct combined texture-sampler (temp usampler2D)
 0:52              'g_tTex2du4' (uniform utexture2D)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -149,7 +149,7 @@
 0:62      Sequence
 0:62        move second child to first child (temp 4-component vector of float)
 0:62          'txval101' (temp 4-component vector of float)
-0:62          textureGatherOffset (global 4-component vector of float)
+0:62          textureGatherOffset (temp 4-component vector of float)
 0:62            Construct combined texture-sampler (temp sampler2D)
 0:62              'g_tTex2df4' (uniform texture2D)
 0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -166,7 +166,7 @@
 0:63      Sequence
 0:63        move second child to first child (temp 4-component vector of int)
 0:63          'txval111' (temp 4-component vector of int)
-0:63          textureGatherOffset (global 4-component vector of int)
+0:63          textureGatherOffset (temp 4-component vector of int)
 0:63            Construct combined texture-sampler (temp isampler2D)
 0:63              'g_tTex2di4' (uniform itexture2D)
 0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -183,7 +183,7 @@
 0:64      Sequence
 0:64        move second child to first child (temp 4-component vector of uint)
 0:64          'txval121' (temp 4-component vector of uint)
-0:64          textureGatherOffset (global 4-component vector of uint)
+0:64          textureGatherOffset (temp 4-component vector of uint)
 0:64            Construct combined texture-sampler (temp usampler2D)
 0:64              'g_tTex2du4' (uniform utexture2D)
 0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -200,7 +200,7 @@
 0:66      Sequence
 0:66        move second child to first child (temp 4-component vector of float)
 0:66          'txval104' (temp 4-component vector of float)
-0:66          textureGatherOffsets (global 4-component vector of float)
+0:66          textureGatherOffsets (temp 4-component vector of float)
 0:66            Construct combined texture-sampler (temp sampler2D)
 0:66              'g_tTex2df4' (uniform texture2D)
 0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -230,7 +230,7 @@
 0:67      Sequence
 0:67        move second child to first child (temp 4-component vector of int)
 0:67          'txval114' (temp 4-component vector of int)
-0:67          textureGatherOffsets (global 4-component vector of int)
+0:67          textureGatherOffsets (temp 4-component vector of int)
 0:67            Construct combined texture-sampler (temp isampler2D)
 0:67              'g_tTex2di4' (uniform itexture2D)
 0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -260,7 +260,7 @@
 0:68      Sequence
 0:68        move second child to first child (temp 4-component vector of uint)
 0:68          'txval124' (temp 4-component vector of uint)
-0:68          textureGatherOffsets (global 4-component vector of uint)
+0:68          textureGatherOffsets (temp 4-component vector of uint)
 0:68            Construct combined texture-sampler (temp usampler2D)
 0:68              'g_tTex2du4' (uniform utexture2D)
 0:68              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -290,7 +290,7 @@
 0:78      Sequence
 0:78        move second child to first child (temp 4-component vector of float)
 0:78          'txval201' (temp 4-component vector of float)
-0:78          textureGatherOffset (global 4-component vector of float)
+0:78          textureGatherOffset (temp 4-component vector of float)
 0:78            Construct combined texture-sampler (temp sampler2D)
 0:78              'g_tTex2df4' (uniform texture2D)
 0:78              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -307,7 +307,7 @@
 0:79      Sequence
 0:79        move second child to first child (temp 4-component vector of int)
 0:79          'txval211' (temp 4-component vector of int)
-0:79          textureGatherOffset (global 4-component vector of int)
+0:79          textureGatherOffset (temp 4-component vector of int)
 0:79            Construct combined texture-sampler (temp isampler2D)
 0:79              'g_tTex2di4' (uniform itexture2D)
 0:79              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -324,7 +324,7 @@
 0:80      Sequence
 0:80        move second child to first child (temp 4-component vector of uint)
 0:80          'txval221' (temp 4-component vector of uint)
-0:80          textureGatherOffset (global 4-component vector of uint)
+0:80          textureGatherOffset (temp 4-component vector of uint)
 0:80            Construct combined texture-sampler (temp usampler2D)
 0:80              'g_tTex2du4' (uniform utexture2D)
 0:80              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -341,7 +341,7 @@
 0:82      Sequence
 0:82        move second child to first child (temp 4-component vector of float)
 0:82          'txval204' (temp 4-component vector of float)
-0:82          textureGatherOffsets (global 4-component vector of float)
+0:82          textureGatherOffsets (temp 4-component vector of float)
 0:82            Construct combined texture-sampler (temp sampler2D)
 0:82              'g_tTex2df4' (uniform texture2D)
 0:82              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -371,7 +371,7 @@
 0:83      Sequence
 0:83        move second child to first child (temp 4-component vector of int)
 0:83          'txval214' (temp 4-component vector of int)
-0:83          textureGatherOffsets (global 4-component vector of int)
+0:83          textureGatherOffsets (temp 4-component vector of int)
 0:83            Construct combined texture-sampler (temp isampler2D)
 0:83              'g_tTex2di4' (uniform itexture2D)
 0:83              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -401,7 +401,7 @@
 0:84      Sequence
 0:84        move second child to first child (temp 4-component vector of uint)
 0:84          'txval224' (temp 4-component vector of uint)
-0:84          textureGatherOffsets (global 4-component vector of uint)
+0:84          textureGatherOffsets (temp 4-component vector of uint)
 0:84            Construct combined texture-sampler (temp usampler2D)
 0:84              'g_tTex2du4' (uniform utexture2D)
 0:84              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -431,7 +431,7 @@
 0:94      Sequence
 0:94        move second child to first child (temp 4-component vector of float)
 0:94          'txval301' (temp 4-component vector of float)
-0:94          textureGatherOffset (global 4-component vector of float)
+0:94          textureGatherOffset (temp 4-component vector of float)
 0:94            Construct combined texture-sampler (temp sampler2D)
 0:94              'g_tTex2df4' (uniform texture2D)
 0:94              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -448,7 +448,7 @@
 0:95      Sequence
 0:95        move second child to first child (temp 4-component vector of int)
 0:95          'txval311' (temp 4-component vector of int)
-0:95          textureGatherOffset (global 4-component vector of int)
+0:95          textureGatherOffset (temp 4-component vector of int)
 0:95            Construct combined texture-sampler (temp isampler2D)
 0:95              'g_tTex2di4' (uniform itexture2D)
 0:95              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -465,7 +465,7 @@
 0:96      Sequence
 0:96        move second child to first child (temp 4-component vector of uint)
 0:96          'txval321' (temp 4-component vector of uint)
-0:96          textureGatherOffset (global 4-component vector of uint)
+0:96          textureGatherOffset (temp 4-component vector of uint)
 0:96            Construct combined texture-sampler (temp usampler2D)
 0:96              'g_tTex2du4' (uniform utexture2D)
 0:96              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -482,7 +482,7 @@
 0:98      Sequence
 0:98        move second child to first child (temp 4-component vector of float)
 0:98          'txval304' (temp 4-component vector of float)
-0:98          textureGatherOffsets (global 4-component vector of float)
+0:98          textureGatherOffsets (temp 4-component vector of float)
 0:98            Construct combined texture-sampler (temp sampler2D)
 0:98              'g_tTex2df4' (uniform texture2D)
 0:98              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -512,7 +512,7 @@
 0:99      Sequence
 0:99        move second child to first child (temp 4-component vector of int)
 0:99          'txval314' (temp 4-component vector of int)
-0:99          textureGatherOffsets (global 4-component vector of int)
+0:99          textureGatherOffsets (temp 4-component vector of int)
 0:99            Construct combined texture-sampler (temp isampler2D)
 0:99              'g_tTex2di4' (uniform itexture2D)
 0:99              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -542,7 +542,7 @@
 0:100      Sequence
 0:100        move second child to first child (temp 4-component vector of uint)
 0:100          'txval324' (temp 4-component vector of uint)
-0:100          textureGatherOffsets (global 4-component vector of uint)
+0:100          textureGatherOffsets (temp 4-component vector of uint)
 0:100            Construct combined texture-sampler (temp usampler2D)
 0:100              'g_tTex2du4' (uniform utexture2D)
 0:100              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -602,6 +602,8 @@
 0:115                1 (const int)
 0:115        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -617,9 +619,7 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -634,7 +634,7 @@
 0:46      Sequence
 0:46        move second child to first child (temp 4-component vector of float)
 0:46          'txval001' (temp 4-component vector of float)
-0:46          textureGatherOffset (global 4-component vector of float)
+0:46          textureGatherOffset (temp 4-component vector of float)
 0:46            Construct combined texture-sampler (temp sampler2D)
 0:46              'g_tTex2df4' (uniform texture2D)
 0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -651,7 +651,7 @@
 0:47      Sequence
 0:47        move second child to first child (temp 4-component vector of int)
 0:47          'txval011' (temp 4-component vector of int)
-0:47          textureGatherOffset (global 4-component vector of int)
+0:47          textureGatherOffset (temp 4-component vector of int)
 0:47            Construct combined texture-sampler (temp isampler2D)
 0:47              'g_tTex2di4' (uniform itexture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -668,7 +668,7 @@
 0:48      Sequence
 0:48        move second child to first child (temp 4-component vector of uint)
 0:48          'txval021' (temp 4-component vector of uint)
-0:48          textureGatherOffset (global 4-component vector of uint)
+0:48          textureGatherOffset (temp 4-component vector of uint)
 0:48            Construct combined texture-sampler (temp usampler2D)
 0:48              'g_tTex2du4' (uniform utexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -685,7 +685,7 @@
 0:50      Sequence
 0:50        move second child to first child (temp 4-component vector of float)
 0:50          'txval004' (temp 4-component vector of float)
-0:50          textureGatherOffsets (global 4-component vector of float)
+0:50          textureGatherOffsets (temp 4-component vector of float)
 0:50            Construct combined texture-sampler (temp sampler2D)
 0:50              'g_tTex2df4' (uniform texture2D)
 0:50              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -715,7 +715,7 @@
 0:51      Sequence
 0:51        move second child to first child (temp 4-component vector of int)
 0:51          'txval014' (temp 4-component vector of int)
-0:51          textureGatherOffsets (global 4-component vector of int)
+0:51          textureGatherOffsets (temp 4-component vector of int)
 0:51            Construct combined texture-sampler (temp isampler2D)
 0:51              'g_tTex2di4' (uniform itexture2D)
 0:51              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -745,7 +745,7 @@
 0:52      Sequence
 0:52        move second child to first child (temp 4-component vector of uint)
 0:52          'txval024' (temp 4-component vector of uint)
-0:52          textureGatherOffsets (global 4-component vector of uint)
+0:52          textureGatherOffsets (temp 4-component vector of uint)
 0:52            Construct combined texture-sampler (temp usampler2D)
 0:52              'g_tTex2du4' (uniform utexture2D)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -775,7 +775,7 @@
 0:62      Sequence
 0:62        move second child to first child (temp 4-component vector of float)
 0:62          'txval101' (temp 4-component vector of float)
-0:62          textureGatherOffset (global 4-component vector of float)
+0:62          textureGatherOffset (temp 4-component vector of float)
 0:62            Construct combined texture-sampler (temp sampler2D)
 0:62              'g_tTex2df4' (uniform texture2D)
 0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -792,7 +792,7 @@
 0:63      Sequence
 0:63        move second child to first child (temp 4-component vector of int)
 0:63          'txval111' (temp 4-component vector of int)
-0:63          textureGatherOffset (global 4-component vector of int)
+0:63          textureGatherOffset (temp 4-component vector of int)
 0:63            Construct combined texture-sampler (temp isampler2D)
 0:63              'g_tTex2di4' (uniform itexture2D)
 0:63              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -809,7 +809,7 @@
 0:64      Sequence
 0:64        move second child to first child (temp 4-component vector of uint)
 0:64          'txval121' (temp 4-component vector of uint)
-0:64          textureGatherOffset (global 4-component vector of uint)
+0:64          textureGatherOffset (temp 4-component vector of uint)
 0:64            Construct combined texture-sampler (temp usampler2D)
 0:64              'g_tTex2du4' (uniform utexture2D)
 0:64              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -826,7 +826,7 @@
 0:66      Sequence
 0:66        move second child to first child (temp 4-component vector of float)
 0:66          'txval104' (temp 4-component vector of float)
-0:66          textureGatherOffsets (global 4-component vector of float)
+0:66          textureGatherOffsets (temp 4-component vector of float)
 0:66            Construct combined texture-sampler (temp sampler2D)
 0:66              'g_tTex2df4' (uniform texture2D)
 0:66              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -856,7 +856,7 @@
 0:67      Sequence
 0:67        move second child to first child (temp 4-component vector of int)
 0:67          'txval114' (temp 4-component vector of int)
-0:67          textureGatherOffsets (global 4-component vector of int)
+0:67          textureGatherOffsets (temp 4-component vector of int)
 0:67            Construct combined texture-sampler (temp isampler2D)
 0:67              'g_tTex2di4' (uniform itexture2D)
 0:67              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -886,7 +886,7 @@
 0:68      Sequence
 0:68        move second child to first child (temp 4-component vector of uint)
 0:68          'txval124' (temp 4-component vector of uint)
-0:68          textureGatherOffsets (global 4-component vector of uint)
+0:68          textureGatherOffsets (temp 4-component vector of uint)
 0:68            Construct combined texture-sampler (temp usampler2D)
 0:68              'g_tTex2du4' (uniform utexture2D)
 0:68              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -916,7 +916,7 @@
 0:78      Sequence
 0:78        move second child to first child (temp 4-component vector of float)
 0:78          'txval201' (temp 4-component vector of float)
-0:78          textureGatherOffset (global 4-component vector of float)
+0:78          textureGatherOffset (temp 4-component vector of float)
 0:78            Construct combined texture-sampler (temp sampler2D)
 0:78              'g_tTex2df4' (uniform texture2D)
 0:78              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -933,7 +933,7 @@
 0:79      Sequence
 0:79        move second child to first child (temp 4-component vector of int)
 0:79          'txval211' (temp 4-component vector of int)
-0:79          textureGatherOffset (global 4-component vector of int)
+0:79          textureGatherOffset (temp 4-component vector of int)
 0:79            Construct combined texture-sampler (temp isampler2D)
 0:79              'g_tTex2di4' (uniform itexture2D)
 0:79              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -950,7 +950,7 @@
 0:80      Sequence
 0:80        move second child to first child (temp 4-component vector of uint)
 0:80          'txval221' (temp 4-component vector of uint)
-0:80          textureGatherOffset (global 4-component vector of uint)
+0:80          textureGatherOffset (temp 4-component vector of uint)
 0:80            Construct combined texture-sampler (temp usampler2D)
 0:80              'g_tTex2du4' (uniform utexture2D)
 0:80              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -967,7 +967,7 @@
 0:82      Sequence
 0:82        move second child to first child (temp 4-component vector of float)
 0:82          'txval204' (temp 4-component vector of float)
-0:82          textureGatherOffsets (global 4-component vector of float)
+0:82          textureGatherOffsets (temp 4-component vector of float)
 0:82            Construct combined texture-sampler (temp sampler2D)
 0:82              'g_tTex2df4' (uniform texture2D)
 0:82              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -997,7 +997,7 @@
 0:83      Sequence
 0:83        move second child to first child (temp 4-component vector of int)
 0:83          'txval214' (temp 4-component vector of int)
-0:83          textureGatherOffsets (global 4-component vector of int)
+0:83          textureGatherOffsets (temp 4-component vector of int)
 0:83            Construct combined texture-sampler (temp isampler2D)
 0:83              'g_tTex2di4' (uniform itexture2D)
 0:83              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1027,7 +1027,7 @@
 0:84      Sequence
 0:84        move second child to first child (temp 4-component vector of uint)
 0:84          'txval224' (temp 4-component vector of uint)
-0:84          textureGatherOffsets (global 4-component vector of uint)
+0:84          textureGatherOffsets (temp 4-component vector of uint)
 0:84            Construct combined texture-sampler (temp usampler2D)
 0:84              'g_tTex2du4' (uniform utexture2D)
 0:84              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1057,7 +1057,7 @@
 0:94      Sequence
 0:94        move second child to first child (temp 4-component vector of float)
 0:94          'txval301' (temp 4-component vector of float)
-0:94          textureGatherOffset (global 4-component vector of float)
+0:94          textureGatherOffset (temp 4-component vector of float)
 0:94            Construct combined texture-sampler (temp sampler2D)
 0:94              'g_tTex2df4' (uniform texture2D)
 0:94              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1074,7 +1074,7 @@
 0:95      Sequence
 0:95        move second child to first child (temp 4-component vector of int)
 0:95          'txval311' (temp 4-component vector of int)
-0:95          textureGatherOffset (global 4-component vector of int)
+0:95          textureGatherOffset (temp 4-component vector of int)
 0:95            Construct combined texture-sampler (temp isampler2D)
 0:95              'g_tTex2di4' (uniform itexture2D)
 0:95              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1091,7 +1091,7 @@
 0:96      Sequence
 0:96        move second child to first child (temp 4-component vector of uint)
 0:96          'txval321' (temp 4-component vector of uint)
-0:96          textureGatherOffset (global 4-component vector of uint)
+0:96          textureGatherOffset (temp 4-component vector of uint)
 0:96            Construct combined texture-sampler (temp usampler2D)
 0:96              'g_tTex2du4' (uniform utexture2D)
 0:96              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1108,7 +1108,7 @@
 0:98      Sequence
 0:98        move second child to first child (temp 4-component vector of float)
 0:98          'txval304' (temp 4-component vector of float)
-0:98          textureGatherOffsets (global 4-component vector of float)
+0:98          textureGatherOffsets (temp 4-component vector of float)
 0:98            Construct combined texture-sampler (temp sampler2D)
 0:98              'g_tTex2df4' (uniform texture2D)
 0:98              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1138,7 +1138,7 @@
 0:99      Sequence
 0:99        move second child to first child (temp 4-component vector of int)
 0:99          'txval314' (temp 4-component vector of int)
-0:99          textureGatherOffsets (global 4-component vector of int)
+0:99          textureGatherOffsets (temp 4-component vector of int)
 0:99            Construct combined texture-sampler (temp isampler2D)
 0:99              'g_tTex2di4' (uniform itexture2D)
 0:99              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1168,7 +1168,7 @@
 0:100      Sequence
 0:100        move second child to first child (temp 4-component vector of uint)
 0:100          'txval324' (temp 4-component vector of uint)
-0:100          textureGatherOffsets (global 4-component vector of uint)
+0:100          textureGatherOffsets (temp 4-component vector of uint)
 0:100            Construct combined texture-sampler (temp usampler2D)
 0:100              'g_tTex2du4' (uniform utexture2D)
 0:100              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1228,6 +1228,8 @@
 0:115                1 (const int)
 0:115        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -1243,9 +1245,7 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index f565379..4722cff 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -8,7 +8,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of float)
 0:40          'txval001' (temp 4-component vector of float)
-0:40          textureGatherOffset (global 4-component vector of float)
+0:40          textureGatherOffset (temp 4-component vector of float)
 0:40            Construct combined texture-sampler (temp sampler2DArray)
 0:40              'g_tTex2df4a' (uniform texture2DArray)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -25,7 +25,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of int)
 0:41          'txval011' (temp 4-component vector of int)
-0:41          textureGatherOffset (global 4-component vector of int)
+0:41          textureGatherOffset (temp 4-component vector of int)
 0:41            Construct combined texture-sampler (temp isampler2DArray)
 0:41              'g_tTex2di4a' (uniform itexture2DArray)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -42,7 +42,7 @@
 0:42      Sequence
 0:42        move second child to first child (temp 4-component vector of uint)
 0:42          'txval021' (temp 4-component vector of uint)
-0:42          textureGatherOffset (global 4-component vector of uint)
+0:42          textureGatherOffset (temp 4-component vector of uint)
 0:42            Construct combined texture-sampler (temp usampler2DArray)
 0:42              'g_tTex2du4a' (uniform utexture2DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -59,7 +59,7 @@
 0:44      Sequence
 0:44        move second child to first child (temp 4-component vector of float)
 0:44          'txval004' (temp 4-component vector of float)
-0:44          textureGatherOffsets (global 4-component vector of float)
+0:44          textureGatherOffsets (temp 4-component vector of float)
 0:44            Construct combined texture-sampler (temp sampler2DArray)
 0:44              'g_tTex2df4a' (uniform texture2DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -89,7 +89,7 @@
 0:45      Sequence
 0:45        move second child to first child (temp 4-component vector of int)
 0:45          'txval014' (temp 4-component vector of int)
-0:45          textureGatherOffsets (global 4-component vector of int)
+0:45          textureGatherOffsets (temp 4-component vector of int)
 0:45            Construct combined texture-sampler (temp isampler2DArray)
 0:45              'g_tTex2di4a' (uniform itexture2DArray)
 0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -119,7 +119,7 @@
 0:46      Sequence
 0:46        move second child to first child (temp 4-component vector of uint)
 0:46          'txval024' (temp 4-component vector of uint)
-0:46          textureGatherOffsets (global 4-component vector of uint)
+0:46          textureGatherOffsets (temp 4-component vector of uint)
 0:46            Construct combined texture-sampler (temp usampler2DArray)
 0:46              'g_tTex2du4a' (uniform utexture2DArray)
 0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -149,7 +149,7 @@
 0:56      Sequence
 0:56        move second child to first child (temp 4-component vector of float)
 0:56          'txval101' (temp 4-component vector of float)
-0:56          textureGatherOffset (global 4-component vector of float)
+0:56          textureGatherOffset (temp 4-component vector of float)
 0:56            Construct combined texture-sampler (temp sampler2DArray)
 0:56              'g_tTex2df4a' (uniform texture2DArray)
 0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -166,7 +166,7 @@
 0:57      Sequence
 0:57        move second child to first child (temp 4-component vector of int)
 0:57          'txval111' (temp 4-component vector of int)
-0:57          textureGatherOffset (global 4-component vector of int)
+0:57          textureGatherOffset (temp 4-component vector of int)
 0:57            Construct combined texture-sampler (temp isampler2DArray)
 0:57              'g_tTex2di4a' (uniform itexture2DArray)
 0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -183,7 +183,7 @@
 0:58      Sequence
 0:58        move second child to first child (temp 4-component vector of uint)
 0:58          'txval121' (temp 4-component vector of uint)
-0:58          textureGatherOffset (global 4-component vector of uint)
+0:58          textureGatherOffset (temp 4-component vector of uint)
 0:58            Construct combined texture-sampler (temp usampler2DArray)
 0:58              'g_tTex2du4a' (uniform utexture2DArray)
 0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -200,7 +200,7 @@
 0:60      Sequence
 0:60        move second child to first child (temp 4-component vector of float)
 0:60          'txval104' (temp 4-component vector of float)
-0:60          textureGatherOffsets (global 4-component vector of float)
+0:60          textureGatherOffsets (temp 4-component vector of float)
 0:60            Construct combined texture-sampler (temp sampler2DArray)
 0:60              'g_tTex2df4a' (uniform texture2DArray)
 0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -230,7 +230,7 @@
 0:61      Sequence
 0:61        move second child to first child (temp 4-component vector of int)
 0:61          'txval114' (temp 4-component vector of int)
-0:61          textureGatherOffsets (global 4-component vector of int)
+0:61          textureGatherOffsets (temp 4-component vector of int)
 0:61            Construct combined texture-sampler (temp isampler2DArray)
 0:61              'g_tTex2di4a' (uniform itexture2DArray)
 0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -260,7 +260,7 @@
 0:62      Sequence
 0:62        move second child to first child (temp 4-component vector of uint)
 0:62          'txval124' (temp 4-component vector of uint)
-0:62          textureGatherOffsets (global 4-component vector of uint)
+0:62          textureGatherOffsets (temp 4-component vector of uint)
 0:62            Construct combined texture-sampler (temp usampler2DArray)
 0:62              'g_tTex2du4a' (uniform utexture2DArray)
 0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -290,7 +290,7 @@
 0:72      Sequence
 0:72        move second child to first child (temp 4-component vector of float)
 0:72          'txval201' (temp 4-component vector of float)
-0:72          textureGatherOffset (global 4-component vector of float)
+0:72          textureGatherOffset (temp 4-component vector of float)
 0:72            Construct combined texture-sampler (temp sampler2DArray)
 0:72              'g_tTex2df4a' (uniform texture2DArray)
 0:72              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -307,7 +307,7 @@
 0:73      Sequence
 0:73        move second child to first child (temp 4-component vector of int)
 0:73          'txval211' (temp 4-component vector of int)
-0:73          textureGatherOffset (global 4-component vector of int)
+0:73          textureGatherOffset (temp 4-component vector of int)
 0:73            Construct combined texture-sampler (temp isampler2DArray)
 0:73              'g_tTex2di4a' (uniform itexture2DArray)
 0:73              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -324,7 +324,7 @@
 0:74      Sequence
 0:74        move second child to first child (temp 4-component vector of uint)
 0:74          'txval221' (temp 4-component vector of uint)
-0:74          textureGatherOffset (global 4-component vector of uint)
+0:74          textureGatherOffset (temp 4-component vector of uint)
 0:74            Construct combined texture-sampler (temp usampler2DArray)
 0:74              'g_tTex2du4a' (uniform utexture2DArray)
 0:74              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -341,7 +341,7 @@
 0:76      Sequence
 0:76        move second child to first child (temp 4-component vector of float)
 0:76          'txval204' (temp 4-component vector of float)
-0:76          textureGatherOffsets (global 4-component vector of float)
+0:76          textureGatherOffsets (temp 4-component vector of float)
 0:76            Construct combined texture-sampler (temp sampler2DArray)
 0:76              'g_tTex2df4a' (uniform texture2DArray)
 0:76              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -371,7 +371,7 @@
 0:77      Sequence
 0:77        move second child to first child (temp 4-component vector of int)
 0:77          'txval214' (temp 4-component vector of int)
-0:77          textureGatherOffsets (global 4-component vector of int)
+0:77          textureGatherOffsets (temp 4-component vector of int)
 0:77            Construct combined texture-sampler (temp isampler2DArray)
 0:77              'g_tTex2di4a' (uniform itexture2DArray)
 0:77              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -401,7 +401,7 @@
 0:78      Sequence
 0:78        move second child to first child (temp 4-component vector of uint)
 0:78          'txval224' (temp 4-component vector of uint)
-0:78          textureGatherOffsets (global 4-component vector of uint)
+0:78          textureGatherOffsets (temp 4-component vector of uint)
 0:78            Construct combined texture-sampler (temp usampler2DArray)
 0:78              'g_tTex2du4a' (uniform utexture2DArray)
 0:78              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -431,7 +431,7 @@
 0:88      Sequence
 0:88        move second child to first child (temp 4-component vector of float)
 0:88          'txval301' (temp 4-component vector of float)
-0:88          textureGatherOffset (global 4-component vector of float)
+0:88          textureGatherOffset (temp 4-component vector of float)
 0:88            Construct combined texture-sampler (temp sampler2DArray)
 0:88              'g_tTex2df4a' (uniform texture2DArray)
 0:88              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -448,7 +448,7 @@
 0:89      Sequence
 0:89        move second child to first child (temp 4-component vector of int)
 0:89          'txval311' (temp 4-component vector of int)
-0:89          textureGatherOffset (global 4-component vector of int)
+0:89          textureGatherOffset (temp 4-component vector of int)
 0:89            Construct combined texture-sampler (temp isampler2DArray)
 0:89              'g_tTex2di4a' (uniform itexture2DArray)
 0:89              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -465,7 +465,7 @@
 0:90      Sequence
 0:90        move second child to first child (temp 4-component vector of uint)
 0:90          'txval321' (temp 4-component vector of uint)
-0:90          textureGatherOffset (global 4-component vector of uint)
+0:90          textureGatherOffset (temp 4-component vector of uint)
 0:90            Construct combined texture-sampler (temp usampler2DArray)
 0:90              'g_tTex2du4a' (uniform utexture2DArray)
 0:90              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -482,7 +482,7 @@
 0:92      Sequence
 0:92        move second child to first child (temp 4-component vector of float)
 0:92          'txval304' (temp 4-component vector of float)
-0:92          textureGatherOffsets (global 4-component vector of float)
+0:92          textureGatherOffsets (temp 4-component vector of float)
 0:92            Construct combined texture-sampler (temp sampler2DArray)
 0:92              'g_tTex2df4a' (uniform texture2DArray)
 0:92              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -512,7 +512,7 @@
 0:93      Sequence
 0:93        move second child to first child (temp 4-component vector of int)
 0:93          'txval314' (temp 4-component vector of int)
-0:93          textureGatherOffsets (global 4-component vector of int)
+0:93          textureGatherOffsets (temp 4-component vector of int)
 0:93            Construct combined texture-sampler (temp isampler2DArray)
 0:93              'g_tTex2di4a' (uniform itexture2DArray)
 0:93              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -542,7 +542,7 @@
 0:94      Sequence
 0:94        move second child to first child (temp 4-component vector of uint)
 0:94          'txval324' (temp 4-component vector of uint)
-0:94          textureGatherOffsets (global 4-component vector of uint)
+0:94          textureGatherOffsets (temp 4-component vector of uint)
 0:94            Construct combined texture-sampler (temp usampler2DArray)
 0:94              'g_tTex2du4a' (uniform utexture2DArray)
 0:94              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -602,6 +602,8 @@
 0:109                1 (const int)
 0:109        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -613,9 +615,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -630,7 +630,7 @@
 0:40      Sequence
 0:40        move second child to first child (temp 4-component vector of float)
 0:40          'txval001' (temp 4-component vector of float)
-0:40          textureGatherOffset (global 4-component vector of float)
+0:40          textureGatherOffset (temp 4-component vector of float)
 0:40            Construct combined texture-sampler (temp sampler2DArray)
 0:40              'g_tTex2df4a' (uniform texture2DArray)
 0:40              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -647,7 +647,7 @@
 0:41      Sequence
 0:41        move second child to first child (temp 4-component vector of int)
 0:41          'txval011' (temp 4-component vector of int)
-0:41          textureGatherOffset (global 4-component vector of int)
+0:41          textureGatherOffset (temp 4-component vector of int)
 0:41            Construct combined texture-sampler (temp isampler2DArray)
 0:41              'g_tTex2di4a' (uniform itexture2DArray)
 0:41              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -664,7 +664,7 @@
 0:42      Sequence
 0:42        move second child to first child (temp 4-component vector of uint)
 0:42          'txval021' (temp 4-component vector of uint)
-0:42          textureGatherOffset (global 4-component vector of uint)
+0:42          textureGatherOffset (temp 4-component vector of uint)
 0:42            Construct combined texture-sampler (temp usampler2DArray)
 0:42              'g_tTex2du4a' (uniform utexture2DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -681,7 +681,7 @@
 0:44      Sequence
 0:44        move second child to first child (temp 4-component vector of float)
 0:44          'txval004' (temp 4-component vector of float)
-0:44          textureGatherOffsets (global 4-component vector of float)
+0:44          textureGatherOffsets (temp 4-component vector of float)
 0:44            Construct combined texture-sampler (temp sampler2DArray)
 0:44              'g_tTex2df4a' (uniform texture2DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -711,7 +711,7 @@
 0:45      Sequence
 0:45        move second child to first child (temp 4-component vector of int)
 0:45          'txval014' (temp 4-component vector of int)
-0:45          textureGatherOffsets (global 4-component vector of int)
+0:45          textureGatherOffsets (temp 4-component vector of int)
 0:45            Construct combined texture-sampler (temp isampler2DArray)
 0:45              'g_tTex2di4a' (uniform itexture2DArray)
 0:45              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -741,7 +741,7 @@
 0:46      Sequence
 0:46        move second child to first child (temp 4-component vector of uint)
 0:46          'txval024' (temp 4-component vector of uint)
-0:46          textureGatherOffsets (global 4-component vector of uint)
+0:46          textureGatherOffsets (temp 4-component vector of uint)
 0:46            Construct combined texture-sampler (temp usampler2DArray)
 0:46              'g_tTex2du4a' (uniform utexture2DArray)
 0:46              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -771,7 +771,7 @@
 0:56      Sequence
 0:56        move second child to first child (temp 4-component vector of float)
 0:56          'txval101' (temp 4-component vector of float)
-0:56          textureGatherOffset (global 4-component vector of float)
+0:56          textureGatherOffset (temp 4-component vector of float)
 0:56            Construct combined texture-sampler (temp sampler2DArray)
 0:56              'g_tTex2df4a' (uniform texture2DArray)
 0:56              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -788,7 +788,7 @@
 0:57      Sequence
 0:57        move second child to first child (temp 4-component vector of int)
 0:57          'txval111' (temp 4-component vector of int)
-0:57          textureGatherOffset (global 4-component vector of int)
+0:57          textureGatherOffset (temp 4-component vector of int)
 0:57            Construct combined texture-sampler (temp isampler2DArray)
 0:57              'g_tTex2di4a' (uniform itexture2DArray)
 0:57              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -805,7 +805,7 @@
 0:58      Sequence
 0:58        move second child to first child (temp 4-component vector of uint)
 0:58          'txval121' (temp 4-component vector of uint)
-0:58          textureGatherOffset (global 4-component vector of uint)
+0:58          textureGatherOffset (temp 4-component vector of uint)
 0:58            Construct combined texture-sampler (temp usampler2DArray)
 0:58              'g_tTex2du4a' (uniform utexture2DArray)
 0:58              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -822,7 +822,7 @@
 0:60      Sequence
 0:60        move second child to first child (temp 4-component vector of float)
 0:60          'txval104' (temp 4-component vector of float)
-0:60          textureGatherOffsets (global 4-component vector of float)
+0:60          textureGatherOffsets (temp 4-component vector of float)
 0:60            Construct combined texture-sampler (temp sampler2DArray)
 0:60              'g_tTex2df4a' (uniform texture2DArray)
 0:60              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -852,7 +852,7 @@
 0:61      Sequence
 0:61        move second child to first child (temp 4-component vector of int)
 0:61          'txval114' (temp 4-component vector of int)
-0:61          textureGatherOffsets (global 4-component vector of int)
+0:61          textureGatherOffsets (temp 4-component vector of int)
 0:61            Construct combined texture-sampler (temp isampler2DArray)
 0:61              'g_tTex2di4a' (uniform itexture2DArray)
 0:61              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -882,7 +882,7 @@
 0:62      Sequence
 0:62        move second child to first child (temp 4-component vector of uint)
 0:62          'txval124' (temp 4-component vector of uint)
-0:62          textureGatherOffsets (global 4-component vector of uint)
+0:62          textureGatherOffsets (temp 4-component vector of uint)
 0:62            Construct combined texture-sampler (temp usampler2DArray)
 0:62              'g_tTex2du4a' (uniform utexture2DArray)
 0:62              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -912,7 +912,7 @@
 0:72      Sequence
 0:72        move second child to first child (temp 4-component vector of float)
 0:72          'txval201' (temp 4-component vector of float)
-0:72          textureGatherOffset (global 4-component vector of float)
+0:72          textureGatherOffset (temp 4-component vector of float)
 0:72            Construct combined texture-sampler (temp sampler2DArray)
 0:72              'g_tTex2df4a' (uniform texture2DArray)
 0:72              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -929,7 +929,7 @@
 0:73      Sequence
 0:73        move second child to first child (temp 4-component vector of int)
 0:73          'txval211' (temp 4-component vector of int)
-0:73          textureGatherOffset (global 4-component vector of int)
+0:73          textureGatherOffset (temp 4-component vector of int)
 0:73            Construct combined texture-sampler (temp isampler2DArray)
 0:73              'g_tTex2di4a' (uniform itexture2DArray)
 0:73              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -946,7 +946,7 @@
 0:74      Sequence
 0:74        move second child to first child (temp 4-component vector of uint)
 0:74          'txval221' (temp 4-component vector of uint)
-0:74          textureGatherOffset (global 4-component vector of uint)
+0:74          textureGatherOffset (temp 4-component vector of uint)
 0:74            Construct combined texture-sampler (temp usampler2DArray)
 0:74              'g_tTex2du4a' (uniform utexture2DArray)
 0:74              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -963,7 +963,7 @@
 0:76      Sequence
 0:76        move second child to first child (temp 4-component vector of float)
 0:76          'txval204' (temp 4-component vector of float)
-0:76          textureGatherOffsets (global 4-component vector of float)
+0:76          textureGatherOffsets (temp 4-component vector of float)
 0:76            Construct combined texture-sampler (temp sampler2DArray)
 0:76              'g_tTex2df4a' (uniform texture2DArray)
 0:76              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -993,7 +993,7 @@
 0:77      Sequence
 0:77        move second child to first child (temp 4-component vector of int)
 0:77          'txval214' (temp 4-component vector of int)
-0:77          textureGatherOffsets (global 4-component vector of int)
+0:77          textureGatherOffsets (temp 4-component vector of int)
 0:77            Construct combined texture-sampler (temp isampler2DArray)
 0:77              'g_tTex2di4a' (uniform itexture2DArray)
 0:77              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1023,7 +1023,7 @@
 0:78      Sequence
 0:78        move second child to first child (temp 4-component vector of uint)
 0:78          'txval224' (temp 4-component vector of uint)
-0:78          textureGatherOffsets (global 4-component vector of uint)
+0:78          textureGatherOffsets (temp 4-component vector of uint)
 0:78            Construct combined texture-sampler (temp usampler2DArray)
 0:78              'g_tTex2du4a' (uniform utexture2DArray)
 0:78              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1053,7 +1053,7 @@
 0:88      Sequence
 0:88        move second child to first child (temp 4-component vector of float)
 0:88          'txval301' (temp 4-component vector of float)
-0:88          textureGatherOffset (global 4-component vector of float)
+0:88          textureGatherOffset (temp 4-component vector of float)
 0:88            Construct combined texture-sampler (temp sampler2DArray)
 0:88              'g_tTex2df4a' (uniform texture2DArray)
 0:88              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1070,7 +1070,7 @@
 0:89      Sequence
 0:89        move second child to first child (temp 4-component vector of int)
 0:89          'txval311' (temp 4-component vector of int)
-0:89          textureGatherOffset (global 4-component vector of int)
+0:89          textureGatherOffset (temp 4-component vector of int)
 0:89            Construct combined texture-sampler (temp isampler2DArray)
 0:89              'g_tTex2di4a' (uniform itexture2DArray)
 0:89              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1087,7 +1087,7 @@
 0:90      Sequence
 0:90        move second child to first child (temp 4-component vector of uint)
 0:90          'txval321' (temp 4-component vector of uint)
-0:90          textureGatherOffset (global 4-component vector of uint)
+0:90          textureGatherOffset (temp 4-component vector of uint)
 0:90            Construct combined texture-sampler (temp usampler2DArray)
 0:90              'g_tTex2du4a' (uniform utexture2DArray)
 0:90              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1104,7 +1104,7 @@
 0:92      Sequence
 0:92        move second child to first child (temp 4-component vector of float)
 0:92          'txval304' (temp 4-component vector of float)
-0:92          textureGatherOffsets (global 4-component vector of float)
+0:92          textureGatherOffsets (temp 4-component vector of float)
 0:92            Construct combined texture-sampler (temp sampler2DArray)
 0:92              'g_tTex2df4a' (uniform texture2DArray)
 0:92              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1134,7 +1134,7 @@
 0:93      Sequence
 0:93        move second child to first child (temp 4-component vector of int)
 0:93          'txval314' (temp 4-component vector of int)
-0:93          textureGatherOffsets (global 4-component vector of int)
+0:93          textureGatherOffsets (temp 4-component vector of int)
 0:93            Construct combined texture-sampler (temp isampler2DArray)
 0:93              'g_tTex2di4a' (uniform itexture2DArray)
 0:93              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1164,7 +1164,7 @@
 0:94      Sequence
 0:94        move second child to first child (temp 4-component vector of uint)
 0:94          'txval324' (temp 4-component vector of uint)
-0:94          textureGatherOffsets (global 4-component vector of uint)
+0:94          textureGatherOffsets (temp 4-component vector of uint)
 0:94            Construct combined texture-sampler (temp usampler2DArray)
 0:94              'g_tTex2du4a' (uniform utexture2DArray)
 0:94              'g_sSamp' (layout(binding=0 ) uniform sampler)
@@ -1224,6 +1224,8 @@
 0:109                1 (const int)
 0:109        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=0 ) uniform texture1DArray)
@@ -1235,9 +1237,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform float c1, layout(offset=8 ) uniform 2-component vector of float c2, layout(offset=16 ) uniform 3-component vector of float c3, layout(offset=32 ) uniform 4-component vector of float c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
index 3a55d68..0c488cf 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
@@ -1076,6 +1076,8 @@
 0:279                1 (const int)
 0:279        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -1104,8 +1106,6 @@
 0:?     'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:?     'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:?     'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -2188,6 +2188,8 @@
 0:279                1 (const int)
 0:279        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -2216,8 +2218,6 @@
 0:?     'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:?     'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:?     'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
index 3a05bca..c1c90f4 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
@@ -46,9 +46,9 @@
 0:26                0 (const int)
 0:26        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
-0:?     'Pos' (out 4-component vector of float Position)
 
 
 Linked vertex stage:
@@ -101,9 +101,9 @@
 0:26                0 (const int)
 0:26        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
-0:?     'Pos' (out 4-component vector of float Position)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
index 717c376..918246b 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -326,6 +326,8 @@
 0:95                1 (const int)
 0:95        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -345,9 +347,7 @@
 0:?     'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
 0:?     'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -680,6 +680,8 @@
 0:95                1 (const int)
 0:95        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -699,9 +701,7 @@
 0:?     'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
 0:?     'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
@@ -796,6 +796,14 @@
                               Decorate 214(Depth) BuiltIn FragDepth
                               Decorate 220(g_sSamp) DescriptorSet 0
                               Decorate 220(g_sSamp) Binding 0
+                              MemberDecorate 222($Global) 0 Offset 0
+                              MemberDecorate 222($Global) 1 Offset 8
+                              MemberDecorate 222($Global) 2 Offset 16
+                              MemberDecorate 222($Global) 3 Offset 32
+                              MemberDecorate 222($Global) 4 Offset 48
+                              MemberDecorate 222($Global) 5 Offset 56
+                              MemberDecorate 222($Global) 6 Offset 64
+                              MemberDecorate 222($Global) 7 Offset 80
                               Decorate 222($Global) Block
                               Decorate 224 DescriptorSet 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
index 9465c62..5985ead 100644
--- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
@@ -14,7 +14,7 @@
 0:16        move second child to first child (temp 2-component vector of float)
 0:16          'r00' (temp 2-component vector of float)
 0:16          ERROR: Bad aggregation op
- (global 2-component vector of float)
+ (temp 2-component vector of float)
 0:16            'g_tTex2dmsf4' (uniform texture2DMS)
 0:16            Constant:
 0:16              1 (const int)
@@ -22,7 +22,7 @@
 0:17        move second child to first child (temp 2-component vector of float)
 0:17          'r01' (temp 2-component vector of float)
 0:17          ERROR: Bad aggregation op
- (global 2-component vector of float)
+ (temp 2-component vector of float)
 0:17            'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:17            Constant:
 0:17              2 (const int)
@@ -59,11 +59,11 @@
 0:22                1 (const int)
 0:22        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex2dmsf4' (uniform texture2DMS)
 0:?     'g_tTex2dmsf4a' (uniform texture2DMSArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -79,7 +79,7 @@
 0:16        move second child to first child (temp 2-component vector of float)
 0:16          'r00' (temp 2-component vector of float)
 0:16          ERROR: Bad aggregation op
- (global 2-component vector of float)
+ (temp 2-component vector of float)
 0:16            'g_tTex2dmsf4' (uniform texture2DMS)
 0:16            Constant:
 0:16              1 (const int)
@@ -87,7 +87,7 @@
 0:17        move second child to first child (temp 2-component vector of float)
 0:17          'r01' (temp 2-component vector of float)
 0:17          ERROR: Bad aggregation op
- (global 2-component vector of float)
+ (temp 2-component vector of float)
 0:17            'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:17            Constant:
 0:17              2 (const int)
@@ -124,10 +124,10 @@
 0:22                1 (const int)
 0:22        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex2dmsf4' (uniform texture2DMS)
 0:?     'g_tTex2dmsf4a' (uniform texture2DMSArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.identifier.sample.frag.out b/Test/baseResults/hlsl.identifier.sample.frag.out
new file mode 100644
index 0000000..8e74081
--- /dev/null
+++ b/Test/baseResults/hlsl.identifier.sample.frag.out
@@ -0,0 +1,103 @@
+hlsl.identifier.sample.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:9  Function Definition: sample(i1; (temp int)
+0:9    Function Parameters: 
+0:9      'x' (in int)
+0:?     Sequence
+0:9      Branch: Return with expression
+0:9        'x' (in int)
+0:12  Function Definition: main( (temp 4-component vector of float)
+0:12    Function Parameters: 
+0:?     Sequence
+0:15      Sequence
+0:15        move second child to first child (temp int)
+0:15          'sample' (temp int)
+0:15          Constant:
+0:15            3 (const int)
+0:17      Sequence
+0:17        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:17        Branch: Return
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:9  Function Definition: sample(i1; (temp int)
+0:9    Function Parameters: 
+0:9      'x' (in int)
+0:?     Sequence
+0:9      Branch: Return with expression
+0:9        'x' (in int)
+0:12  Function Definition: main( (temp 4-component vector of float)
+0:12    Function Parameters: 
+0:?     Sequence
+0:15      Sequence
+0:15        move second child to first child (temp int)
+0:15          'sample' (temp int)
+0:15          Constant:
+0:15            3 (const int)
+0:17      Sequence
+0:17        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:17        Branch: Return
+0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 24
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 20
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 10  "sample(i1;"
+                              Name 9  "x"
+                              Name 15  "sample"
+                              Name 20  "@entryPointOutput"
+                              Decorate 20(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               8:             TypeFunction 6(int) 7(ptr)
+              16:      6(int) Constant 3
+              17:             TypeFloat 32
+              18:             TypeVector 17(float) 4
+              19:             TypePointer Output 18(fvec4)
+20(@entryPointOutput):     19(ptr) Variable Output
+              21:   17(float) Constant 0
+              22:   18(fvec4) ConstantComposite 21 21 21 21
+         4(main):           2 Function None 3
+               5:             Label
+      15(sample):      7(ptr) Variable Function
+                              Store 15(sample) 16
+                              Store 20(@entryPointOutput) 22
+                              Return
+                              FunctionEnd
+  10(sample(i1;):      6(int) Function None 8
+            9(x):      7(ptr) FunctionParameter
+              11:             Label
+              12:      6(int) Load 9(x)
+                              ReturnValue 12
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out
index 3b329ae..c37bff6 100755
--- a/Test/baseResults/hlsl.if.frag.out
+++ b/Test/baseResults/hlsl.if.frag.out
@@ -8,9 +8,10 @@
 0:?     Sequence
 0:3      Test condition and select (temp void)
 0:3        Condition
-0:3        Compare Equal (temp bool)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
+0:3        all (temp bool)
+0:3          Equal (temp 4-component vector of bool)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
 0:3        true case
 0:4        Sequence
 0:4          move second child to first child (temp 4-component vector of float)
@@ -19,9 +20,10 @@
 0:4          Branch: Return
 0:6      Test condition and select (temp void)
 0:6        Condition
-0:6        Compare Equal (temp bool)
-0:6          'input' (layout(location=0 ) in 4-component vector of float)
-0:6          'input' (layout(location=0 ) in 4-component vector of float)
+0:6        all (temp bool)
+0:6          Equal (temp 4-component vector of bool)
+0:6            'input' (layout(location=0 ) in 4-component vector of float)
+0:6            'input' (layout(location=0 ) in 4-component vector of float)
 0:6        true case
 0:7        Sequence
 0:7          move second child to first child (temp 4-component vector of float)
@@ -37,21 +39,24 @@
 0:9          Branch: Return
 0:11      Test condition and select (temp void)
 0:11        Condition
-0:11        Compare Equal (temp bool)
-0:11          'input' (layout(location=0 ) in 4-component vector of float)
-0:11          'input' (layout(location=0 ) in 4-component vector of float)
+0:11        all (temp bool)
+0:11          Equal (temp 4-component vector of bool)
+0:11            'input' (layout(location=0 ) in 4-component vector of float)
+0:11            'input' (layout(location=0 ) in 4-component vector of float)
 0:11        true case is null
 0:14      Test condition and select (temp void)
 0:14        Condition
-0:14        Compare Equal (temp bool)
-0:14          'input' (layout(location=0 ) in 4-component vector of float)
-0:14          'input' (layout(location=0 ) in 4-component vector of float)
+0:14        all (temp bool)
+0:14          Equal (temp 4-component vector of bool)
+0:14            'input' (layout(location=0 ) in 4-component vector of float)
+0:14            'input' (layout(location=0 ) in 4-component vector of float)
 0:14        true case is null
 0:19      Test condition and select (temp void)
 0:19        Condition
-0:19        Compare Equal (temp bool)
-0:19          'input' (layout(location=0 ) in 4-component vector of float)
-0:19          'input' (layout(location=0 ) in 4-component vector of float)
+0:19        all (temp bool)
+0:19          Equal (temp 4-component vector of bool)
+0:19            'input' (layout(location=0 ) in 4-component vector of float)
+0:19            'input' (layout(location=0 ) in 4-component vector of float)
 0:19        true case
 0:?         Sequence
 0:20          Sequence
@@ -61,9 +66,10 @@
 0:20            Branch: Return
 0:23      Test condition and select (temp void)
 0:23        Condition
-0:23        Compare Equal (temp bool)
-0:23          'input' (layout(location=0 ) in 4-component vector of float)
-0:23          'input' (layout(location=0 ) in 4-component vector of float)
+0:23        all (temp bool)
+0:23          Equal (temp 4-component vector of bool)
+0:23            'input' (layout(location=0 ) in 4-component vector of float)
+0:23            'input' (layout(location=0 ) in 4-component vector of float)
 0:23        true case
 0:?         Sequence
 0:24          Sequence
@@ -109,9 +115,10 @@
 0:?     Sequence
 0:3      Test condition and select (temp void)
 0:3        Condition
-0:3        Compare Equal (temp bool)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
+0:3        all (temp bool)
+0:3          Equal (temp 4-component vector of bool)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
 0:3        true case
 0:4        Sequence
 0:4          move second child to first child (temp 4-component vector of float)
@@ -120,9 +127,10 @@
 0:4          Branch: Return
 0:6      Test condition and select (temp void)
 0:6        Condition
-0:6        Compare Equal (temp bool)
-0:6          'input' (layout(location=0 ) in 4-component vector of float)
-0:6          'input' (layout(location=0 ) in 4-component vector of float)
+0:6        all (temp bool)
+0:6          Equal (temp 4-component vector of bool)
+0:6            'input' (layout(location=0 ) in 4-component vector of float)
+0:6            'input' (layout(location=0 ) in 4-component vector of float)
 0:6        true case
 0:7        Sequence
 0:7          move second child to first child (temp 4-component vector of float)
@@ -138,21 +146,24 @@
 0:9          Branch: Return
 0:11      Test condition and select (temp void)
 0:11        Condition
-0:11        Compare Equal (temp bool)
-0:11          'input' (layout(location=0 ) in 4-component vector of float)
-0:11          'input' (layout(location=0 ) in 4-component vector of float)
+0:11        all (temp bool)
+0:11          Equal (temp 4-component vector of bool)
+0:11            'input' (layout(location=0 ) in 4-component vector of float)
+0:11            'input' (layout(location=0 ) in 4-component vector of float)
 0:11        true case is null
 0:14      Test condition and select (temp void)
 0:14        Condition
-0:14        Compare Equal (temp bool)
-0:14          'input' (layout(location=0 ) in 4-component vector of float)
-0:14          'input' (layout(location=0 ) in 4-component vector of float)
+0:14        all (temp bool)
+0:14          Equal (temp 4-component vector of bool)
+0:14            'input' (layout(location=0 ) in 4-component vector of float)
+0:14            'input' (layout(location=0 ) in 4-component vector of float)
 0:14        true case is null
 0:19      Test condition and select (temp void)
 0:19        Condition
-0:19        Compare Equal (temp bool)
-0:19          'input' (layout(location=0 ) in 4-component vector of float)
-0:19          'input' (layout(location=0 ) in 4-component vector of float)
+0:19        all (temp bool)
+0:19          Equal (temp 4-component vector of bool)
+0:19            'input' (layout(location=0 ) in 4-component vector of float)
+0:19            'input' (layout(location=0 ) in 4-component vector of float)
 0:19        true case
 0:?         Sequence
 0:20          Sequence
@@ -162,9 +173,10 @@
 0:20            Branch: Return
 0:23      Test condition and select (temp void)
 0:23        Condition
-0:23        Compare Equal (temp bool)
-0:23          'input' (layout(location=0 ) in 4-component vector of float)
-0:23          'input' (layout(location=0 ) in 4-component vector of float)
+0:23        all (temp bool)
+0:23          Equal (temp 4-component vector of bool)
+0:23            'input' (layout(location=0 ) in 4-component vector of float)
+0:23            'input' (layout(location=0 ) in 4-component vector of float)
 0:23        true case
 0:?         Sequence
 0:24          Sequence
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
index b31921b..42f94ca 100755
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -132,6 +132,8 @@
 0:35            'a1' (global 4-component vector of float)
 0:35        Branch: Return
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'input' (layout(location=0 ) in 4-component vector of float)
 0:?     'a1' (global 4-component vector of float)
 0:?     'b1' (global 4-component vector of float)
 0:?     'a1i' (global 4-component vector of float)
@@ -150,8 +152,6 @@
 0:?     'single2' (global structure{temp 2-component vector of uint v})
 0:?     'single3' (global structure{temp structure{temp int f} s1})
 0:?     'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'input' (layout(location=0 ) in 4-component vector of float)
 
 
 Linked fragment stage:
@@ -290,6 +290,8 @@
 0:35            'a1' (global 4-component vector of float)
 0:35        Branch: Return
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'input' (layout(location=0 ) in 4-component vector of float)
 0:?     'a1' (global 4-component vector of float)
 0:?     'b1' (global 4-component vector of float)
 0:?     'a1i' (global 4-component vector of float)
@@ -308,8 +310,6 @@
 0:?     'single2' (global structure{temp 2-component vector of uint v})
 0:?     'single3' (global structure{temp structure{temp int f} s1})
 0:?     'single4' (global structure{temp structure{temp 2-component vector of uint v} s1})
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'input' (layout(location=0 ) in 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/Test/baseResults/hlsl.intrinsics.barriers.comp.out
index 5d92dd1..07bd370 100644
--- a/Test/baseResults/hlsl.intrinsics.barriers.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.barriers.comp.out
@@ -5,12 +5,12 @@
 0:3  Function Definition: ComputeShaderFunction( (temp float)
 0:3    Function Parameters: 
 0:?     Sequence
-0:4      MemoryBarrier (global void)
-0:5      AllMemoryBarrierWithGroupSync (global void)
-0:6      GroupMemoryBarrier (global void)
-0:7      GroupMemoryBarrierWithGroupSync (global void)
-0:8      WorkgroupMemoryBarrier (global void)
-0:9      WorkgroupMemoryBarrierWithGroupSync (global void)
+0:4      MemoryBarrier (temp void)
+0:5      AllMemoryBarrierWithGroupSync (temp void)
+0:6      GroupMemoryBarrier (temp void)
+0:7      GroupMemoryBarrierWithGroupSync (temp void)
+0:8      WorkgroupMemoryBarrier (temp void)
+0:9      WorkgroupMemoryBarrierWithGroupSync (temp void)
 0:11      Sequence
 0:11        move second child to first child (temp float)
 0:?           '@entryPointOutput' (layout(location=0 ) out float)
@@ -30,12 +30,12 @@
 0:3  Function Definition: ComputeShaderFunction( (temp float)
 0:3    Function Parameters: 
 0:?     Sequence
-0:4      MemoryBarrier (global void)
-0:5      AllMemoryBarrierWithGroupSync (global void)
-0:6      GroupMemoryBarrier (global void)
-0:7      GroupMemoryBarrierWithGroupSync (global void)
-0:8      WorkgroupMemoryBarrier (global void)
-0:9      WorkgroupMemoryBarrierWithGroupSync (global void)
+0:4      MemoryBarrier (temp void)
+0:5      AllMemoryBarrierWithGroupSync (temp void)
+0:6      GroupMemoryBarrier (temp void)
+0:7      GroupMemoryBarrierWithGroupSync (temp void)
+0:8      WorkgroupMemoryBarrier (temp void)
+0:9      WorkgroupMemoryBarrierWithGroupSync (temp void)
 0:11      Sequence
 0:11        move second child to first child (temp float)
 0:?           '@entryPointOutput' (layout(location=0 ) out float)
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index cd366fc..42ad973 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -10,9 +10,9 @@
 0:17      'inU0' (in uint)
 0:17      'inU1' (in uint)
 0:?     Sequence
-0:21      all (global bool)
+0:21      all (temp bool)
 0:21        'inF0' (in float)
-0:24      AtomicAdd (global void)
+0:24      AtomicAdd (temp void)
 0:24        'gs_ua' (shared uint)
 0:24        'gs_ub' (shared uint)
 0:25      move second child to first child (temp uint)
@@ -20,7 +20,7 @@
 0:25        AtomicAdd (temp uint)
 0:25          'gs_ua' (shared uint)
 0:25          'gs_ub' (shared uint)
-0:26      AtomicAnd (global void)
+0:26      AtomicAnd (temp void)
 0:26        'gs_ua' (shared uint)
 0:26        'gs_ub' (shared uint)
 0:27      move second child to first child (temp uint)
@@ -39,7 +39,7 @@
 0:29        AtomicExchange (temp uint)
 0:29          'gs_ua' (shared uint)
 0:29          'gs_ub' (shared uint)
-0:30      AtomicMax (global void)
+0:30      AtomicMax (temp void)
 0:30        'gs_ua' (shared uint)
 0:30        'gs_ub' (shared uint)
 0:31      move second child to first child (temp uint)
@@ -47,7 +47,7 @@
 0:31        AtomicMax (temp uint)
 0:31          'gs_ua' (shared uint)
 0:31          'gs_ub' (shared uint)
-0:32      AtomicMin (global void)
+0:32      AtomicMin (temp void)
 0:32        'gs_ua' (shared uint)
 0:32        'gs_ub' (shared uint)
 0:33      move second child to first child (temp uint)
@@ -55,7 +55,7 @@
 0:33        AtomicMin (temp uint)
 0:33          'gs_ua' (shared uint)
 0:33          'gs_ub' (shared uint)
-0:34      AtomicOr (global void)
+0:34      AtomicOr (temp void)
 0:34        'gs_ua' (shared uint)
 0:34        'gs_ub' (shared uint)
 0:35      move second child to first child (temp uint)
@@ -63,7 +63,7 @@
 0:35        AtomicOr (temp uint)
 0:35          'gs_ua' (shared uint)
 0:35          'gs_ub' (shared uint)
-0:36      AtomicXor (global void)
+0:36      AtomicXor (temp void)
 0:36        'gs_ua' (shared uint)
 0:36        'gs_ub' (shared uint)
 0:37      move second child to first child (temp uint)
@@ -91,9 +91,9 @@
 0:51      'inU0' (in 2-component vector of uint)
 0:51      'inU1' (in 2-component vector of uint)
 0:?     Sequence
-0:55      all (global bool)
+0:55      all (temp bool)
 0:55        'inF0' (in 2-component vector of float)
-0:58      AtomicAdd (global void)
+0:58      AtomicAdd (temp void)
 0:58        'gs_ua2' (shared 2-component vector of uint)
 0:58        'gs_ub2' (shared 2-component vector of uint)
 0:59      move second child to first child (temp 2-component vector of uint)
@@ -101,7 +101,7 @@
 0:59        AtomicAdd (temp 2-component vector of uint)
 0:59          'gs_ua2' (shared 2-component vector of uint)
 0:59          'gs_ub2' (shared 2-component vector of uint)
-0:60      AtomicAnd (global void)
+0:60      AtomicAnd (temp void)
 0:60        'gs_ua2' (shared 2-component vector of uint)
 0:60        'gs_ub2' (shared 2-component vector of uint)
 0:61      move second child to first child (temp 2-component vector of uint)
@@ -120,7 +120,7 @@
 0:63        AtomicExchange (temp 2-component vector of uint)
 0:63          'gs_ua2' (shared 2-component vector of uint)
 0:63          'gs_ub2' (shared 2-component vector of uint)
-0:64      AtomicMax (global void)
+0:64      AtomicMax (temp void)
 0:64        'gs_ua2' (shared 2-component vector of uint)
 0:64        'gs_ub2' (shared 2-component vector of uint)
 0:65      move second child to first child (temp 2-component vector of uint)
@@ -128,7 +128,7 @@
 0:65        AtomicMax (temp 2-component vector of uint)
 0:65          'gs_ua2' (shared 2-component vector of uint)
 0:65          'gs_ub2' (shared 2-component vector of uint)
-0:66      AtomicMin (global void)
+0:66      AtomicMin (temp void)
 0:66        'gs_ua2' (shared 2-component vector of uint)
 0:66        'gs_ub2' (shared 2-component vector of uint)
 0:67      move second child to first child (temp 2-component vector of uint)
@@ -136,7 +136,7 @@
 0:67        AtomicMin (temp 2-component vector of uint)
 0:67          'gs_ua2' (shared 2-component vector of uint)
 0:67          'gs_ub2' (shared 2-component vector of uint)
-0:68      AtomicOr (global void)
+0:68      AtomicOr (temp void)
 0:68        'gs_ua2' (shared 2-component vector of uint)
 0:68        'gs_ub2' (shared 2-component vector of uint)
 0:69      move second child to first child (temp 2-component vector of uint)
@@ -144,7 +144,7 @@
 0:69        AtomicOr (temp 2-component vector of uint)
 0:69          'gs_ua2' (shared 2-component vector of uint)
 0:69          'gs_ub2' (shared 2-component vector of uint)
-0:70      AtomicXor (global void)
+0:70      AtomicXor (temp void)
 0:70        'gs_ua2' (shared 2-component vector of uint)
 0:70        'gs_ub2' (shared 2-component vector of uint)
 0:71      move second child to first child (temp 2-component vector of uint)
@@ -164,9 +164,9 @@
 0:78      'inU0' (in 3-component vector of uint)
 0:78      'inU1' (in 3-component vector of uint)
 0:?     Sequence
-0:82      all (global bool)
+0:82      all (temp bool)
 0:82        'inF0' (in 3-component vector of float)
-0:85      AtomicAdd (global void)
+0:85      AtomicAdd (temp void)
 0:85        'gs_ua3' (shared 3-component vector of uint)
 0:85        'gs_ub3' (shared 3-component vector of uint)
 0:86      move second child to first child (temp 3-component vector of uint)
@@ -174,7 +174,7 @@
 0:86        AtomicAdd (temp 3-component vector of uint)
 0:86          'gs_ua3' (shared 3-component vector of uint)
 0:86          'gs_ub3' (shared 3-component vector of uint)
-0:87      AtomicAnd (global void)
+0:87      AtomicAnd (temp void)
 0:87        'gs_ua3' (shared 3-component vector of uint)
 0:87        'gs_ub3' (shared 3-component vector of uint)
 0:88      move second child to first child (temp 3-component vector of uint)
@@ -193,7 +193,7 @@
 0:90        AtomicExchange (temp 3-component vector of uint)
 0:90          'gs_ua3' (shared 3-component vector of uint)
 0:90          'gs_ub3' (shared 3-component vector of uint)
-0:91      AtomicMax (global void)
+0:91      AtomicMax (temp void)
 0:91        'gs_ua3' (shared 3-component vector of uint)
 0:91        'gs_ub3' (shared 3-component vector of uint)
 0:92      move second child to first child (temp 3-component vector of uint)
@@ -201,7 +201,7 @@
 0:92        AtomicMax (temp 3-component vector of uint)
 0:92          'gs_ua3' (shared 3-component vector of uint)
 0:92          'gs_ub3' (shared 3-component vector of uint)
-0:93      AtomicMin (global void)
+0:93      AtomicMin (temp void)
 0:93        'gs_ua3' (shared 3-component vector of uint)
 0:93        'gs_ub3' (shared 3-component vector of uint)
 0:94      move second child to first child (temp 3-component vector of uint)
@@ -209,7 +209,7 @@
 0:94        AtomicMin (temp 3-component vector of uint)
 0:94          'gs_ua3' (shared 3-component vector of uint)
 0:94          'gs_ub3' (shared 3-component vector of uint)
-0:95      AtomicOr (global void)
+0:95      AtomicOr (temp void)
 0:95        'gs_ua3' (shared 3-component vector of uint)
 0:95        'gs_ub3' (shared 3-component vector of uint)
 0:96      move second child to first child (temp 3-component vector of uint)
@@ -217,7 +217,7 @@
 0:96        AtomicOr (temp 3-component vector of uint)
 0:96          'gs_ua3' (shared 3-component vector of uint)
 0:96          'gs_ub3' (shared 3-component vector of uint)
-0:97      AtomicXor (global void)
+0:97      AtomicXor (temp void)
 0:97        'gs_ua3' (shared 3-component vector of uint)
 0:97        'gs_ub3' (shared 3-component vector of uint)
 0:98      move second child to first child (temp 3-component vector of uint)
@@ -238,9 +238,9 @@
 0:105      'inU0' (layout(location=3 ) in 4-component vector of uint)
 0:105      'inU1' (layout(location=4 ) in 4-component vector of uint)
 0:?     Sequence
-0:109      all (global bool)
+0:109      all (temp bool)
 0:109        'inF0' (layout(location=0 ) in 4-component vector of float)
-0:112      AtomicAdd (global void)
+0:112      AtomicAdd (temp void)
 0:112        'gs_ua4' (shared 4-component vector of uint)
 0:112        'gs_ub4' (shared 4-component vector of uint)
 0:113      move second child to first child (temp 4-component vector of uint)
@@ -248,7 +248,7 @@
 0:113        AtomicAdd (temp 4-component vector of uint)
 0:113          'gs_ua4' (shared 4-component vector of uint)
 0:113          'gs_ub4' (shared 4-component vector of uint)
-0:114      AtomicAnd (global void)
+0:114      AtomicAnd (temp void)
 0:114        'gs_ua4' (shared 4-component vector of uint)
 0:114        'gs_ub4' (shared 4-component vector of uint)
 0:115      move second child to first child (temp 4-component vector of uint)
@@ -267,7 +267,7 @@
 0:117        AtomicExchange (temp 4-component vector of uint)
 0:117          'gs_ua4' (shared 4-component vector of uint)
 0:117          'gs_ub4' (shared 4-component vector of uint)
-0:118      AtomicMax (global void)
+0:118      AtomicMax (temp void)
 0:118        'gs_ua4' (shared 4-component vector of uint)
 0:118        'gs_ub4' (shared 4-component vector of uint)
 0:119      move second child to first child (temp 4-component vector of uint)
@@ -275,7 +275,7 @@
 0:119        AtomicMax (temp 4-component vector of uint)
 0:119          'gs_ua4' (shared 4-component vector of uint)
 0:119          'gs_ub4' (shared 4-component vector of uint)
-0:120      AtomicMin (global void)
+0:120      AtomicMin (temp void)
 0:120        'gs_ua4' (shared 4-component vector of uint)
 0:120        'gs_ub4' (shared 4-component vector of uint)
 0:121      move second child to first child (temp 4-component vector of uint)
@@ -283,7 +283,7 @@
 0:121        AtomicMin (temp 4-component vector of uint)
 0:121          'gs_ua4' (shared 4-component vector of uint)
 0:121          'gs_ub4' (shared 4-component vector of uint)
-0:122      AtomicOr (global void)
+0:122      AtomicOr (temp void)
 0:122        'gs_ua4' (shared 4-component vector of uint)
 0:122        'gs_ub4' (shared 4-component vector of uint)
 0:123      move second child to first child (temp 4-component vector of uint)
@@ -291,7 +291,7 @@
 0:123        AtomicOr (temp 4-component vector of uint)
 0:123          'gs_ua4' (shared 4-component vector of uint)
 0:123          'gs_ub4' (shared 4-component vector of uint)
-0:124      AtomicXor (global void)
+0:124      AtomicXor (temp void)
 0:124        'gs_ua4' (shared 4-component vector of uint)
 0:124        'gs_ub4' (shared 4-component vector of uint)
 0:125      move second child to first child (temp 4-component vector of uint)
@@ -309,6 +309,12 @@
 0:?             4.000000
 0:128        Branch: Return
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
+0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
+0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
+0:?     'inU0' (layout(location=3 ) in 4-component vector of uint)
+0:?     'inU1' (layout(location=4 ) in 4-component vector of uint)
 0:?     'gs_ua' (shared uint)
 0:?     'gs_ub' (shared uint)
 0:?     'gs_uc' (shared uint)
@@ -321,12 +327,6 @@
 0:?     'gs_ua4' (shared 4-component vector of uint)
 0:?     'gs_ub4' (shared 4-component vector of uint)
 0:?     'gs_uc4' (shared 4-component vector of uint)
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
-0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
-0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
-0:?     'inU0' (layout(location=3 ) in 4-component vector of uint)
-0:?     'inU1' (layout(location=4 ) in 4-component vector of uint)
 
 
 Linked compute stage:
@@ -343,9 +343,9 @@
 0:17      'inU0' (in uint)
 0:17      'inU1' (in uint)
 0:?     Sequence
-0:21      all (global bool)
+0:21      all (temp bool)
 0:21        'inF0' (in float)
-0:24      AtomicAdd (global void)
+0:24      AtomicAdd (temp void)
 0:24        'gs_ua' (shared uint)
 0:24        'gs_ub' (shared uint)
 0:25      move second child to first child (temp uint)
@@ -353,7 +353,7 @@
 0:25        AtomicAdd (temp uint)
 0:25          'gs_ua' (shared uint)
 0:25          'gs_ub' (shared uint)
-0:26      AtomicAnd (global void)
+0:26      AtomicAnd (temp void)
 0:26        'gs_ua' (shared uint)
 0:26        'gs_ub' (shared uint)
 0:27      move second child to first child (temp uint)
@@ -372,7 +372,7 @@
 0:29        AtomicExchange (temp uint)
 0:29          'gs_ua' (shared uint)
 0:29          'gs_ub' (shared uint)
-0:30      AtomicMax (global void)
+0:30      AtomicMax (temp void)
 0:30        'gs_ua' (shared uint)
 0:30        'gs_ub' (shared uint)
 0:31      move second child to first child (temp uint)
@@ -380,7 +380,7 @@
 0:31        AtomicMax (temp uint)
 0:31          'gs_ua' (shared uint)
 0:31          'gs_ub' (shared uint)
-0:32      AtomicMin (global void)
+0:32      AtomicMin (temp void)
 0:32        'gs_ua' (shared uint)
 0:32        'gs_ub' (shared uint)
 0:33      move second child to first child (temp uint)
@@ -388,7 +388,7 @@
 0:33        AtomicMin (temp uint)
 0:33          'gs_ua' (shared uint)
 0:33          'gs_ub' (shared uint)
-0:34      AtomicOr (global void)
+0:34      AtomicOr (temp void)
 0:34        'gs_ua' (shared uint)
 0:34        'gs_ub' (shared uint)
 0:35      move second child to first child (temp uint)
@@ -396,7 +396,7 @@
 0:35        AtomicOr (temp uint)
 0:35          'gs_ua' (shared uint)
 0:35          'gs_ub' (shared uint)
-0:36      AtomicXor (global void)
+0:36      AtomicXor (temp void)
 0:36        'gs_ua' (shared uint)
 0:36        'gs_ub' (shared uint)
 0:37      move second child to first child (temp uint)
@@ -424,9 +424,9 @@
 0:51      'inU0' (in 2-component vector of uint)
 0:51      'inU1' (in 2-component vector of uint)
 0:?     Sequence
-0:55      all (global bool)
+0:55      all (temp bool)
 0:55        'inF0' (in 2-component vector of float)
-0:58      AtomicAdd (global void)
+0:58      AtomicAdd (temp void)
 0:58        'gs_ua2' (shared 2-component vector of uint)
 0:58        'gs_ub2' (shared 2-component vector of uint)
 0:59      move second child to first child (temp 2-component vector of uint)
@@ -434,7 +434,7 @@
 0:59        AtomicAdd (temp 2-component vector of uint)
 0:59          'gs_ua2' (shared 2-component vector of uint)
 0:59          'gs_ub2' (shared 2-component vector of uint)
-0:60      AtomicAnd (global void)
+0:60      AtomicAnd (temp void)
 0:60        'gs_ua2' (shared 2-component vector of uint)
 0:60        'gs_ub2' (shared 2-component vector of uint)
 0:61      move second child to first child (temp 2-component vector of uint)
@@ -453,7 +453,7 @@
 0:63        AtomicExchange (temp 2-component vector of uint)
 0:63          'gs_ua2' (shared 2-component vector of uint)
 0:63          'gs_ub2' (shared 2-component vector of uint)
-0:64      AtomicMax (global void)
+0:64      AtomicMax (temp void)
 0:64        'gs_ua2' (shared 2-component vector of uint)
 0:64        'gs_ub2' (shared 2-component vector of uint)
 0:65      move second child to first child (temp 2-component vector of uint)
@@ -461,7 +461,7 @@
 0:65        AtomicMax (temp 2-component vector of uint)
 0:65          'gs_ua2' (shared 2-component vector of uint)
 0:65          'gs_ub2' (shared 2-component vector of uint)
-0:66      AtomicMin (global void)
+0:66      AtomicMin (temp void)
 0:66        'gs_ua2' (shared 2-component vector of uint)
 0:66        'gs_ub2' (shared 2-component vector of uint)
 0:67      move second child to first child (temp 2-component vector of uint)
@@ -469,7 +469,7 @@
 0:67        AtomicMin (temp 2-component vector of uint)
 0:67          'gs_ua2' (shared 2-component vector of uint)
 0:67          'gs_ub2' (shared 2-component vector of uint)
-0:68      AtomicOr (global void)
+0:68      AtomicOr (temp void)
 0:68        'gs_ua2' (shared 2-component vector of uint)
 0:68        'gs_ub2' (shared 2-component vector of uint)
 0:69      move second child to first child (temp 2-component vector of uint)
@@ -477,7 +477,7 @@
 0:69        AtomicOr (temp 2-component vector of uint)
 0:69          'gs_ua2' (shared 2-component vector of uint)
 0:69          'gs_ub2' (shared 2-component vector of uint)
-0:70      AtomicXor (global void)
+0:70      AtomicXor (temp void)
 0:70        'gs_ua2' (shared 2-component vector of uint)
 0:70        'gs_ub2' (shared 2-component vector of uint)
 0:71      move second child to first child (temp 2-component vector of uint)
@@ -497,9 +497,9 @@
 0:78      'inU0' (in 3-component vector of uint)
 0:78      'inU1' (in 3-component vector of uint)
 0:?     Sequence
-0:82      all (global bool)
+0:82      all (temp bool)
 0:82        'inF0' (in 3-component vector of float)
-0:85      AtomicAdd (global void)
+0:85      AtomicAdd (temp void)
 0:85        'gs_ua3' (shared 3-component vector of uint)
 0:85        'gs_ub3' (shared 3-component vector of uint)
 0:86      move second child to first child (temp 3-component vector of uint)
@@ -507,7 +507,7 @@
 0:86        AtomicAdd (temp 3-component vector of uint)
 0:86          'gs_ua3' (shared 3-component vector of uint)
 0:86          'gs_ub3' (shared 3-component vector of uint)
-0:87      AtomicAnd (global void)
+0:87      AtomicAnd (temp void)
 0:87        'gs_ua3' (shared 3-component vector of uint)
 0:87        'gs_ub3' (shared 3-component vector of uint)
 0:88      move second child to first child (temp 3-component vector of uint)
@@ -526,7 +526,7 @@
 0:90        AtomicExchange (temp 3-component vector of uint)
 0:90          'gs_ua3' (shared 3-component vector of uint)
 0:90          'gs_ub3' (shared 3-component vector of uint)
-0:91      AtomicMax (global void)
+0:91      AtomicMax (temp void)
 0:91        'gs_ua3' (shared 3-component vector of uint)
 0:91        'gs_ub3' (shared 3-component vector of uint)
 0:92      move second child to first child (temp 3-component vector of uint)
@@ -534,7 +534,7 @@
 0:92        AtomicMax (temp 3-component vector of uint)
 0:92          'gs_ua3' (shared 3-component vector of uint)
 0:92          'gs_ub3' (shared 3-component vector of uint)
-0:93      AtomicMin (global void)
+0:93      AtomicMin (temp void)
 0:93        'gs_ua3' (shared 3-component vector of uint)
 0:93        'gs_ub3' (shared 3-component vector of uint)
 0:94      move second child to first child (temp 3-component vector of uint)
@@ -542,7 +542,7 @@
 0:94        AtomicMin (temp 3-component vector of uint)
 0:94          'gs_ua3' (shared 3-component vector of uint)
 0:94          'gs_ub3' (shared 3-component vector of uint)
-0:95      AtomicOr (global void)
+0:95      AtomicOr (temp void)
 0:95        'gs_ua3' (shared 3-component vector of uint)
 0:95        'gs_ub3' (shared 3-component vector of uint)
 0:96      move second child to first child (temp 3-component vector of uint)
@@ -550,7 +550,7 @@
 0:96        AtomicOr (temp 3-component vector of uint)
 0:96          'gs_ua3' (shared 3-component vector of uint)
 0:96          'gs_ub3' (shared 3-component vector of uint)
-0:97      AtomicXor (global void)
+0:97      AtomicXor (temp void)
 0:97        'gs_ua3' (shared 3-component vector of uint)
 0:97        'gs_ub3' (shared 3-component vector of uint)
 0:98      move second child to first child (temp 3-component vector of uint)
@@ -571,9 +571,9 @@
 0:105      'inU0' (layout(location=3 ) in 4-component vector of uint)
 0:105      'inU1' (layout(location=4 ) in 4-component vector of uint)
 0:?     Sequence
-0:109      all (global bool)
+0:109      all (temp bool)
 0:109        'inF0' (layout(location=0 ) in 4-component vector of float)
-0:112      AtomicAdd (global void)
+0:112      AtomicAdd (temp void)
 0:112        'gs_ua4' (shared 4-component vector of uint)
 0:112        'gs_ub4' (shared 4-component vector of uint)
 0:113      move second child to first child (temp 4-component vector of uint)
@@ -581,7 +581,7 @@
 0:113        AtomicAdd (temp 4-component vector of uint)
 0:113          'gs_ua4' (shared 4-component vector of uint)
 0:113          'gs_ub4' (shared 4-component vector of uint)
-0:114      AtomicAnd (global void)
+0:114      AtomicAnd (temp void)
 0:114        'gs_ua4' (shared 4-component vector of uint)
 0:114        'gs_ub4' (shared 4-component vector of uint)
 0:115      move second child to first child (temp 4-component vector of uint)
@@ -600,7 +600,7 @@
 0:117        AtomicExchange (temp 4-component vector of uint)
 0:117          'gs_ua4' (shared 4-component vector of uint)
 0:117          'gs_ub4' (shared 4-component vector of uint)
-0:118      AtomicMax (global void)
+0:118      AtomicMax (temp void)
 0:118        'gs_ua4' (shared 4-component vector of uint)
 0:118        'gs_ub4' (shared 4-component vector of uint)
 0:119      move second child to first child (temp 4-component vector of uint)
@@ -608,7 +608,7 @@
 0:119        AtomicMax (temp 4-component vector of uint)
 0:119          'gs_ua4' (shared 4-component vector of uint)
 0:119          'gs_ub4' (shared 4-component vector of uint)
-0:120      AtomicMin (global void)
+0:120      AtomicMin (temp void)
 0:120        'gs_ua4' (shared 4-component vector of uint)
 0:120        'gs_ub4' (shared 4-component vector of uint)
 0:121      move second child to first child (temp 4-component vector of uint)
@@ -616,7 +616,7 @@
 0:121        AtomicMin (temp 4-component vector of uint)
 0:121          'gs_ua4' (shared 4-component vector of uint)
 0:121          'gs_ub4' (shared 4-component vector of uint)
-0:122      AtomicOr (global void)
+0:122      AtomicOr (temp void)
 0:122        'gs_ua4' (shared 4-component vector of uint)
 0:122        'gs_ub4' (shared 4-component vector of uint)
 0:123      move second child to first child (temp 4-component vector of uint)
@@ -624,7 +624,7 @@
 0:123        AtomicOr (temp 4-component vector of uint)
 0:123          'gs_ua4' (shared 4-component vector of uint)
 0:123          'gs_ub4' (shared 4-component vector of uint)
-0:124      AtomicXor (global void)
+0:124      AtomicXor (temp void)
 0:124        'gs_ua4' (shared 4-component vector of uint)
 0:124        'gs_ub4' (shared 4-component vector of uint)
 0:125      move second child to first child (temp 4-component vector of uint)
@@ -642,6 +642,12 @@
 0:?             4.000000
 0:128        Branch: Return
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
+0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
+0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
+0:?     'inU0' (layout(location=3 ) in 4-component vector of uint)
+0:?     'inU1' (layout(location=4 ) in 4-component vector of uint)
 0:?     'gs_ua' (shared uint)
 0:?     'gs_ub' (shared uint)
 0:?     'gs_uc' (shared uint)
@@ -654,12 +660,6 @@
 0:?     'gs_ua4' (shared 4-component vector of uint)
 0:?     'gs_ub4' (shared 4-component vector of uint)
 0:?     'gs_uc4' (shared 4-component vector of uint)
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
-0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
-0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
-0:?     'inU0' (layout(location=3 ) in 4-component vector of uint)
-0:?     'inU1' (layout(location=4 ) in 4-component vector of uint)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.double.frag.out b/Test/baseResults/hlsl.intrinsics.double.frag.out
index 554e552..91abf73 100644
--- a/Test/baseResults/hlsl.intrinsics.double.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.double.frag.out
@@ -16,7 +16,7 @@
 0:6      Sequence
 0:6        move second child to first child (temp double)
 0:6          'r00' (temp double)
-0:6          fma (global double)
+0:6          fma (temp double)
 0:6            'inDV1a' (layout(location=0 ) in double)
 0:6            'inDV1b' (layout(location=1 ) in double)
 0:6            'inDV1c' (layout(location=2 ) in double)
@@ -65,7 +65,7 @@
 0:6      Sequence
 0:6        move second child to first child (temp double)
 0:6          'r00' (temp double)
-0:6          fma (global double)
+0:6          fma (temp double)
 0:6            'inDV1a' (layout(location=0 ) in double)
 0:6            'inDV1b' (layout(location=1 ) in double)
 0:6            'inDV1c' (layout(location=2 ) in double)
diff --git a/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/Test/baseResults/hlsl.intrinsics.f1632.frag.out
index 5fcb5f9..0b4c074 100644
--- a/Test/baseResults/hlsl.intrinsics.f1632.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.f1632.frag.out
@@ -14,7 +14,7 @@
 0:2      'inF0' (in float)
 0:?     Sequence
 0:3      ERROR: Bad unary op
- (global uint)
+ (temp uint)
 0:3        'inF0' (in float)
 0:5      Branch: Return with expression
 0:5        Constant:
@@ -31,7 +31,7 @@
 0:15      'inF0' (in 2-component vector of float)
 0:?     Sequence
 0:16      ERROR: Bad unary op
- (global 2-component vector of uint)
+ (temp 2-component vector of uint)
 0:16        'inF0' (in 2-component vector of float)
 0:18      Branch: Return with expression
 0:?         Constant:
@@ -42,7 +42,7 @@
 0:22      'inF0' (in 3-component vector of float)
 0:?     Sequence
 0:23      ERROR: Bad unary op
- (global 3-component vector of uint)
+ (temp 3-component vector of uint)
 0:23        'inF0' (in 3-component vector of float)
 0:25      Branch: Return with expression
 0:?         Constant:
@@ -54,7 +54,7 @@
 0:29      'inF0' (layout(location=0 ) in 4-component vector of float)
 0:?     Sequence
 0:30      ERROR: Bad unary op
- (global 4-component vector of uint)
+ (temp 4-component vector of uint)
 0:30        'inF0' (layout(location=0 ) in 4-component vector of float)
 0:32      Sequence
 0:32        move second child to first child (temp 4-component vector of float)
@@ -81,7 +81,7 @@
 0:2      'inF0' (in float)
 0:?     Sequence
 0:3      ERROR: Bad unary op
- (global uint)
+ (temp uint)
 0:3        'inF0' (in float)
 0:5      Branch: Return with expression
 0:5        Constant:
@@ -98,7 +98,7 @@
 0:15      'inF0' (in 2-component vector of float)
 0:?     Sequence
 0:16      ERROR: Bad unary op
- (global 2-component vector of uint)
+ (temp 2-component vector of uint)
 0:16        'inF0' (in 2-component vector of float)
 0:18      Branch: Return with expression
 0:?         Constant:
@@ -109,7 +109,7 @@
 0:22      'inF0' (in 3-component vector of float)
 0:?     Sequence
 0:23      ERROR: Bad unary op
- (global 3-component vector of uint)
+ (temp 3-component vector of uint)
 0:23        'inF0' (in 3-component vector of float)
 0:25      Branch: Return with expression
 0:?         Constant:
@@ -121,7 +121,7 @@
 0:29      'inF0' (layout(location=0 ) in 4-component vector of float)
 0:?     Sequence
 0:30      ERROR: Bad unary op
- (global 4-component vector of uint)
+ (temp 4-component vector of uint)
 0:30        'inF0' (layout(location=0 ) in 4-component vector of float)
 0:32      Sequence
 0:32        move second child to first child (temp 4-component vector of float)
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index d5a0f99..8a1935e 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -13,63 +13,63 @@
 0:20      Sequence
 0:20        move second child to first child (temp bool)
 0:20          'r000' (temp bool)
-0:20          all (global bool)
+0:20          all (temp bool)
 0:20            'inF0' (in float)
 0:21      Sequence
 0:21        move second child to first child (temp float)
 0:21          'r001' (temp float)
-0:21          Absolute value (global float)
+0:21          Absolute value (temp float)
 0:21            'inF0' (in float)
 0:22      Sequence
 0:22        move second child to first child (temp float)
 0:22          'r002' (temp float)
-0:22          arc cosine (global float)
+0:22          arc cosine (temp float)
 0:22            'inF0' (in float)
 0:23      Sequence
 0:23        move second child to first child (temp bool)
 0:23          'r003' (temp bool)
-0:23          any (global bool)
+0:23          any (temp bool)
 0:23            'inF0' (in float)
 0:24      Sequence
 0:24        move second child to first child (temp float)
 0:24          'r004' (temp float)
-0:24          arc sine (global float)
+0:24          arc sine (temp float)
 0:24            'inF0' (in float)
 0:25      Sequence
 0:25        move second child to first child (temp int)
 0:25          'r005' (temp int)
-0:25          floatBitsToInt (global int)
+0:25          floatBitsToInt (temp int)
 0:25            'inF0' (in float)
 0:26      Sequence
 0:26        move second child to first child (temp uint)
 0:26          'r006' (temp uint)
-0:26          floatBitsToUint (global uint)
+0:26          floatBitsToUint (temp uint)
 0:26            'inF0' (in float)
 0:27      Sequence
 0:27        move second child to first child (temp float)
 0:27          'r007' (temp float)
-0:27          intBitsToFloat (global float)
+0:27          intBitsToFloat (temp float)
 0:27            'inU0' (in uint)
 0:29      Sequence
 0:29        move second child to first child (temp float)
 0:29          'r009' (temp float)
-0:29          arc tangent (global float)
+0:29          arc tangent (temp float)
 0:29            'inF0' (in float)
 0:30      Sequence
 0:30        move second child to first child (temp float)
 0:30          'r010' (temp float)
-0:30          arc tangent (global float)
+0:30          arc tangent (temp float)
 0:30            'inF0' (in float)
 0:30            'inF1' (in float)
 0:31      Sequence
 0:31        move second child to first child (temp float)
 0:31          'r011' (temp float)
-0:31          Ceiling (global float)
+0:31          Ceiling (temp float)
 0:31            'inF0' (in float)
 0:32      Sequence
 0:32        move second child to first child (temp float)
 0:32          'r012' (temp float)
-0:32          clamp (global float)
+0:32          clamp (temp float)
 0:32            'inF0' (in float)
 0:32            'inF1' (in float)
 0:32            'inF2' (in float)
@@ -84,132 +84,132 @@
 0:34      Sequence
 0:34        move second child to first child (temp float)
 0:34          'r014' (temp float)
-0:34          cosine (global float)
+0:34          cosine (temp float)
 0:34            'inF0' (in float)
 0:35      Sequence
 0:35        move second child to first child (temp float)
 0:35          'r015' (temp float)
-0:35          hyp. cosine (global float)
+0:35          hyp. cosine (temp float)
 0:35            'inF0' (in float)
 0:36      Sequence
 0:36        move second child to first child (temp uint)
 0:36          'r016' (temp uint)
-0:36          bitCount (global uint)
+0:36          bitCount (temp uint)
 0:36            Constant:
 0:36              7 (const uint)
 0:37      Sequence
 0:37        move second child to first child (temp float)
 0:37          'r017' (temp float)
-0:37          dPdx (global float)
+0:37          dPdx (temp float)
 0:37            'inF0' (in float)
 0:38      Sequence
 0:38        move second child to first child (temp float)
 0:38          'r018' (temp float)
-0:38          dPdxCoarse (global float)
+0:38          dPdxCoarse (temp float)
 0:38            'inF0' (in float)
 0:39      Sequence
 0:39        move second child to first child (temp float)
 0:39          'r019' (temp float)
-0:39          dPdxFine (global float)
+0:39          dPdxFine (temp float)
 0:39            'inF0' (in float)
 0:40      Sequence
 0:40        move second child to first child (temp float)
 0:40          'r020' (temp float)
-0:40          dPdy (global float)
+0:40          dPdy (temp float)
 0:40            'inF0' (in float)
 0:41      Sequence
 0:41        move second child to first child (temp float)
 0:41          'r021' (temp float)
-0:41          dPdyCoarse (global float)
+0:41          dPdyCoarse (temp float)
 0:41            'inF0' (in float)
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r022' (temp float)
-0:42          dPdyFine (global float)
+0:42          dPdyFine (temp float)
 0:42            'inF0' (in float)
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r023' (temp float)
-0:43          degrees (global float)
+0:43          degrees (temp float)
 0:43            'inF0' (in float)
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r027' (temp float)
-0:47          exp (global float)
+0:47          exp (temp float)
 0:47            'inF0' (in float)
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r028' (temp float)
-0:48          exp2 (global float)
+0:48          exp2 (temp float)
 0:48            'inF0' (in float)
 0:49      Sequence
 0:49        move second child to first child (temp uint)
 0:49          'r029' (temp uint)
 0:49          Convert int to uint (temp uint)
-0:49            findMSB (global int)
+0:49            findMSB (temp int)
 0:49              Constant:
 0:49                7 (const int)
 0:50      Sequence
 0:50        move second child to first child (temp uint)
 0:50          'r030' (temp uint)
 0:50          Convert int to uint (temp uint)
-0:50            findLSB (global int)
+0:50            findLSB (temp int)
 0:50              Constant:
 0:50                7 (const int)
 0:51      Sequence
 0:51        move second child to first child (temp float)
 0:51          'r031' (temp float)
-0:51          Floor (global float)
+0:51          Floor (temp float)
 0:51            'inF0' (in float)
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r033' (temp float)
-0:53          mod (global float)
+0:53          mod (temp float)
 0:53            'inF0' (in float)
 0:53            'inF1' (in float)
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r034' (temp float)
-0:54          Fraction (global float)
+0:54          Fraction (temp float)
 0:54            'inF0' (in float)
 0:55      Sequence
 0:55        move second child to first child (temp float)
 0:55          'r035' (temp float)
-0:55          frexp (global float)
+0:55          frexp (temp float)
 0:55            'inF0' (in float)
 0:55            'inF1' (in float)
 0:56      Sequence
 0:56        move second child to first child (temp float)
 0:56          'r036' (temp float)
-0:56          fwidth (global float)
+0:56          fwidth (temp float)
 0:56            'inF0' (in float)
 0:57      Sequence
 0:57        move second child to first child (temp bool)
 0:57          'r037' (temp bool)
-0:57          isinf (global bool)
+0:57          isinf (temp bool)
 0:57            'inF0' (in float)
 0:58      Sequence
 0:58        move second child to first child (temp bool)
 0:58          'r038' (temp bool)
-0:58          isnan (global bool)
+0:58          isnan (temp bool)
 0:58            'inF0' (in float)
 0:59      Sequence
 0:59        move second child to first child (temp float)
 0:59          'r039' (temp float)
-0:59          ldexp (global float)
+0:59          ldexp (temp float)
 0:59            'inF0' (in float)
 0:59            'inF1' (in float)
 0:60      Sequence
 0:60        move second child to first child (temp float)
 0:60          'r039a' (temp float)
-0:60          mix (global float)
+0:60          mix (temp float)
 0:60            'inF0' (in float)
 0:60            'inF1' (in float)
 0:60            'inF2' (in float)
 0:61      Sequence
 0:61        move second child to first child (temp float)
 0:61          'r040' (temp float)
-0:61          log (global float)
+0:61          log (temp float)
 0:61            'inF0' (in float)
 0:62      Sequence
 0:62        move second child to first child (temp float)
@@ -222,30 +222,30 @@
 0:63      Sequence
 0:63        move second child to first child (temp float)
 0:63          'r042' (temp float)
-0:63          log2 (global float)
+0:63          log2 (temp float)
 0:63            'inF0' (in float)
 0:64      Sequence
 0:64        move second child to first child (temp float)
 0:64          'r043' (temp float)
-0:64          max (global float)
+0:64          max (temp float)
 0:64            'inF0' (in float)
 0:64            'inF1' (in float)
 0:65      Sequence
 0:65        move second child to first child (temp float)
 0:65          'r044' (temp float)
-0:65          min (global float)
+0:65          min (temp float)
 0:65            'inF0' (in float)
 0:65            'inF1' (in float)
 0:66      Sequence
 0:66        move second child to first child (temp float)
 0:66          'r045' (temp float)
-0:66          pow (global float)
+0:66          pow (temp float)
 0:66            'inF0' (in float)
 0:66            'inF1' (in float)
 0:67      Sequence
 0:67        move second child to first child (temp float)
 0:67          'r046' (temp float)
-0:67          radians (global float)
+0:67          radians (temp float)
 0:67            'inF0' (in float)
 0:68      Sequence
 0:68        move second child to first child (temp float)
@@ -257,18 +257,18 @@
 0:69      Sequence
 0:69        move second child to first child (temp uint)
 0:69          'r048' (temp uint)
-0:69          bitFieldReverse (global uint)
+0:69          bitFieldReverse (temp uint)
 0:69            Constant:
 0:69              2 (const uint)
 0:70      Sequence
 0:70        move second child to first child (temp float)
 0:70          'r049' (temp float)
-0:70          roundEven (global float)
+0:70          roundEven (temp float)
 0:70            'inF0' (in float)
 0:71      Sequence
 0:71        move second child to first child (temp float)
 0:71          'r050' (temp float)
-0:71          inverse sqrt (global float)
+0:71          inverse sqrt (temp float)
 0:71            'inF0' (in float)
 0:72      Sequence
 0:72        move second child to first child (temp float)
@@ -282,12 +282,12 @@
 0:73      Sequence
 0:73        move second child to first child (temp float)
 0:73          'r052' (temp float)
-0:73          Sign (global float)
+0:73          Sign (temp float)
 0:73            'inF0' (in float)
 0:74      Sequence
 0:74        move second child to first child (temp float)
 0:74          'r053' (temp float)
-0:74          sine (global float)
+0:74          sine (temp float)
 0:74            'inF0' (in float)
 0:75      Sequence
 0:75        move second child to first child (temp float)
@@ -301,40 +301,40 @@
 0:76      Sequence
 0:76        move second child to first child (temp float)
 0:76          'r055' (temp float)
-0:76          hyp. sine (global float)
+0:76          hyp. sine (temp float)
 0:76            'inF0' (in float)
 0:77      Sequence
 0:77        move second child to first child (temp float)
 0:77          'r056' (temp float)
-0:77          smoothstep (global float)
+0:77          smoothstep (temp float)
 0:77            'inF0' (in float)
 0:77            'inF1' (in float)
 0:77            'inF2' (in float)
 0:78      Sequence
 0:78        move second child to first child (temp float)
 0:78          'r057' (temp float)
-0:78          sqrt (global float)
+0:78          sqrt (temp float)
 0:78            'inF0' (in float)
 0:79      Sequence
 0:79        move second child to first child (temp float)
 0:79          'r058' (temp float)
-0:79          step (global float)
+0:79          step (temp float)
 0:79            'inF0' (in float)
 0:79            'inF1' (in float)
 0:80      Sequence
 0:80        move second child to first child (temp float)
 0:80          'r059' (temp float)
-0:80          tangent (global float)
+0:80          tangent (temp float)
 0:80            'inF0' (in float)
 0:81      Sequence
 0:81        move second child to first child (temp float)
 0:81          'r060' (temp float)
-0:81          hyp. tangent (global float)
+0:81          hyp. tangent (temp float)
 0:81            'inF0' (in float)
 0:83      Sequence
 0:83        move second child to first child (temp float)
 0:83          'r061' (temp float)
-0:83          trunc (global float)
+0:83          trunc (temp float)
 0:83            'inF0' (in float)
 0:85      Branch: Return with expression
 0:85        Constant:
@@ -359,63 +359,63 @@
 0:98      Sequence
 0:98        move second child to first child (temp bool)
 0:98          'r000' (temp bool)
-0:98          all (global bool)
+0:98          all (temp bool)
 0:98            'inF0' (in 2-component vector of float)
 0:99      Sequence
 0:99        move second child to first child (temp 2-component vector of float)
 0:99          'r001' (temp 2-component vector of float)
-0:99          Absolute value (global 2-component vector of float)
+0:99          Absolute value (temp 2-component vector of float)
 0:99            'inF0' (in 2-component vector of float)
 0:100      Sequence
 0:100        move second child to first child (temp 2-component vector of float)
 0:100          'r002' (temp 2-component vector of float)
-0:100          arc cosine (global 2-component vector of float)
+0:100          arc cosine (temp 2-component vector of float)
 0:100            'inF0' (in 2-component vector of float)
 0:101      Sequence
 0:101        move second child to first child (temp bool)
 0:101          'r003' (temp bool)
-0:101          any (global bool)
+0:101          any (temp bool)
 0:101            'inF0' (in 2-component vector of float)
 0:102      Sequence
 0:102        move second child to first child (temp 2-component vector of float)
 0:102          'r004' (temp 2-component vector of float)
-0:102          arc sine (global 2-component vector of float)
+0:102          arc sine (temp 2-component vector of float)
 0:102            'inF0' (in 2-component vector of float)
 0:103      Sequence
 0:103        move second child to first child (temp 2-component vector of int)
 0:103          'r005' (temp 2-component vector of int)
-0:103          floatBitsToInt (global 2-component vector of int)
+0:103          floatBitsToInt (temp 2-component vector of int)
 0:103            'inF0' (in 2-component vector of float)
 0:104      Sequence
 0:104        move second child to first child (temp 2-component vector of uint)
 0:104          'r006' (temp 2-component vector of uint)
-0:104          floatBitsToUint (global 2-component vector of uint)
+0:104          floatBitsToUint (temp 2-component vector of uint)
 0:104            'inF0' (in 2-component vector of float)
 0:105      Sequence
 0:105        move second child to first child (temp 2-component vector of float)
 0:105          'r007' (temp 2-component vector of float)
-0:105          intBitsToFloat (global 2-component vector of float)
+0:105          intBitsToFloat (temp 2-component vector of float)
 0:105            'inU0' (in 2-component vector of uint)
 0:107      Sequence
 0:107        move second child to first child (temp 2-component vector of float)
 0:107          'r009' (temp 2-component vector of float)
-0:107          arc tangent (global 2-component vector of float)
+0:107          arc tangent (temp 2-component vector of float)
 0:107            'inF0' (in 2-component vector of float)
 0:108      Sequence
 0:108        move second child to first child (temp 2-component vector of float)
 0:108          'r010' (temp 2-component vector of float)
-0:108          arc tangent (global 2-component vector of float)
+0:108          arc tangent (temp 2-component vector of float)
 0:108            'inF0' (in 2-component vector of float)
 0:108            'inF1' (in 2-component vector of float)
 0:109      Sequence
 0:109        move second child to first child (temp 2-component vector of float)
 0:109          'r011' (temp 2-component vector of float)
-0:109          Ceiling (global 2-component vector of float)
+0:109          Ceiling (temp 2-component vector of float)
 0:109            'inF0' (in 2-component vector of float)
 0:110      Sequence
 0:110        move second child to first child (temp 2-component vector of float)
 0:110          'r012' (temp 2-component vector of float)
-0:110          clamp (global 2-component vector of float)
+0:110          clamp (temp 2-component vector of float)
 0:110            'inF0' (in 2-component vector of float)
 0:110            'inF1' (in 2-component vector of float)
 0:110            'inF2' (in 2-component vector of float)
@@ -432,157 +432,157 @@
 0:112      Sequence
 0:112        move second child to first child (temp 2-component vector of float)
 0:112          'r013' (temp 2-component vector of float)
-0:112          cosine (global 2-component vector of float)
+0:112          cosine (temp 2-component vector of float)
 0:112            'inF0' (in 2-component vector of float)
 0:113      Sequence
 0:113        move second child to first child (temp 2-component vector of float)
 0:113          'r015' (temp 2-component vector of float)
-0:113          hyp. cosine (global 2-component vector of float)
+0:113          hyp. cosine (temp 2-component vector of float)
 0:113            'inF0' (in 2-component vector of float)
 0:114      Sequence
 0:114        move second child to first child (temp 2-component vector of uint)
 0:114          'r016' (temp 2-component vector of uint)
-0:?           bitCount (global 2-component vector of uint)
+0:?           bitCount (temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:115      Sequence
 0:115        move second child to first child (temp 2-component vector of float)
 0:115          'r017' (temp 2-component vector of float)
-0:115          dPdx (global 2-component vector of float)
+0:115          dPdx (temp 2-component vector of float)
 0:115            'inF0' (in 2-component vector of float)
 0:116      Sequence
 0:116        move second child to first child (temp 2-component vector of float)
 0:116          'r018' (temp 2-component vector of float)
-0:116          dPdxCoarse (global 2-component vector of float)
+0:116          dPdxCoarse (temp 2-component vector of float)
 0:116            'inF0' (in 2-component vector of float)
 0:117      Sequence
 0:117        move second child to first child (temp 2-component vector of float)
 0:117          'r019' (temp 2-component vector of float)
-0:117          dPdxFine (global 2-component vector of float)
+0:117          dPdxFine (temp 2-component vector of float)
 0:117            'inF0' (in 2-component vector of float)
 0:118      Sequence
 0:118        move second child to first child (temp 2-component vector of float)
 0:118          'r020' (temp 2-component vector of float)
-0:118          dPdy (global 2-component vector of float)
+0:118          dPdy (temp 2-component vector of float)
 0:118            'inF0' (in 2-component vector of float)
 0:119      Sequence
 0:119        move second child to first child (temp 2-component vector of float)
 0:119          'r021' (temp 2-component vector of float)
-0:119          dPdyCoarse (global 2-component vector of float)
+0:119          dPdyCoarse (temp 2-component vector of float)
 0:119            'inF0' (in 2-component vector of float)
 0:120      Sequence
 0:120        move second child to first child (temp 2-component vector of float)
 0:120          'r022' (temp 2-component vector of float)
-0:120          dPdyFine (global 2-component vector of float)
+0:120          dPdyFine (temp 2-component vector of float)
 0:120            'inF0' (in 2-component vector of float)
 0:121      Sequence
 0:121        move second child to first child (temp 2-component vector of float)
 0:121          'r023' (temp 2-component vector of float)
-0:121          degrees (global 2-component vector of float)
+0:121          degrees (temp 2-component vector of float)
 0:121            'inF0' (in 2-component vector of float)
 0:125      Sequence
 0:125        move second child to first child (temp float)
 0:125          'r026' (temp float)
-0:125          distance (global float)
+0:125          distance (temp float)
 0:125            'inF0' (in 2-component vector of float)
 0:125            'inF1' (in 2-component vector of float)
 0:126      Sequence
 0:126        move second child to first child (temp float)
 0:126          'r027' (temp float)
-0:126          dot-product (global float)
+0:126          dot-product (temp float)
 0:126            'inF0' (in 2-component vector of float)
 0:126            'inF1' (in 2-component vector of float)
 0:130      Sequence
 0:130        move second child to first child (temp 2-component vector of float)
 0:130          'r028' (temp 2-component vector of float)
-0:130          exp (global 2-component vector of float)
+0:130          exp (temp 2-component vector of float)
 0:130            'inF0' (in 2-component vector of float)
 0:131      Sequence
 0:131        move second child to first child (temp 2-component vector of float)
 0:131          'r029' (temp 2-component vector of float)
-0:131          exp2 (global 2-component vector of float)
+0:131          exp2 (temp 2-component vector of float)
 0:131            'inF0' (in 2-component vector of float)
 0:132      Sequence
 0:132        move second child to first child (temp 2-component vector of float)
 0:132          'r030' (temp 2-component vector of float)
-0:132          face-forward (global 2-component vector of float)
+0:132          face-forward (temp 2-component vector of float)
 0:132            'inF0' (in 2-component vector of float)
 0:132            'inF1' (in 2-component vector of float)
 0:132            'inF2' (in 2-component vector of float)
 0:133      Sequence
 0:133        move second child to first child (temp 2-component vector of uint)
 0:133          'r031' (temp 2-component vector of uint)
-0:?           findMSB (global 2-component vector of uint)
+0:?           findMSB (temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:134      Sequence
 0:134        move second child to first child (temp 2-component vector of uint)
 0:134          'r032' (temp 2-component vector of uint)
-0:?           findLSB (global 2-component vector of uint)
+0:?           findLSB (temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:135      Sequence
 0:135        move second child to first child (temp 2-component vector of float)
 0:135          'r033' (temp 2-component vector of float)
-0:135          Floor (global 2-component vector of float)
+0:135          Floor (temp 2-component vector of float)
 0:135            'inF0' (in 2-component vector of float)
 0:137      Sequence
 0:137        move second child to first child (temp 2-component vector of float)
 0:137          'r035' (temp 2-component vector of float)
-0:137          mod (global 2-component vector of float)
+0:137          mod (temp 2-component vector of float)
 0:137            'inF0' (in 2-component vector of float)
 0:137            'inF1' (in 2-component vector of float)
 0:138      Sequence
 0:138        move second child to first child (temp 2-component vector of float)
 0:138          'r036' (temp 2-component vector of float)
-0:138          Fraction (global 2-component vector of float)
+0:138          Fraction (temp 2-component vector of float)
 0:138            'inF0' (in 2-component vector of float)
 0:139      Sequence
 0:139        move second child to first child (temp 2-component vector of float)
 0:139          'r037' (temp 2-component vector of float)
-0:139          frexp (global 2-component vector of float)
+0:139          frexp (temp 2-component vector of float)
 0:139            'inF0' (in 2-component vector of float)
 0:139            'inF1' (in 2-component vector of float)
 0:140      Sequence
 0:140        move second child to first child (temp 2-component vector of float)
 0:140          'r038' (temp 2-component vector of float)
-0:140          fwidth (global 2-component vector of float)
+0:140          fwidth (temp 2-component vector of float)
 0:140            'inF0' (in 2-component vector of float)
 0:141      Sequence
 0:141        move second child to first child (temp 2-component vector of bool)
 0:141          'r039' (temp 2-component vector of bool)
-0:141          isinf (global 2-component vector of bool)
+0:141          isinf (temp 2-component vector of bool)
 0:141            'inF0' (in 2-component vector of float)
 0:142      Sequence
 0:142        move second child to first child (temp 2-component vector of bool)
 0:142          'r040' (temp 2-component vector of bool)
-0:142          isnan (global 2-component vector of bool)
+0:142          isnan (temp 2-component vector of bool)
 0:142            'inF0' (in 2-component vector of float)
 0:143      Sequence
 0:143        move second child to first child (temp 2-component vector of float)
 0:143          'r041' (temp 2-component vector of float)
-0:143          ldexp (global 2-component vector of float)
+0:143          ldexp (temp 2-component vector of float)
 0:143            'inF0' (in 2-component vector of float)
 0:143            'inF1' (in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child (temp 2-component vector of float)
 0:144          'r039a' (temp 2-component vector of float)
-0:144          mix (global 2-component vector of float)
+0:144          mix (temp 2-component vector of float)
 0:144            'inF0' (in 2-component vector of float)
 0:144            'inF1' (in 2-component vector of float)
 0:144            'inF2' (in 2-component vector of float)
 0:145      Sequence
 0:145        move second child to first child (temp float)
 0:145          'r042' (temp float)
-0:145          length (global float)
+0:145          length (temp float)
 0:145            'inF0' (in 2-component vector of float)
 0:146      Sequence
 0:146        move second child to first child (temp 2-component vector of float)
 0:146          'r043' (temp 2-component vector of float)
-0:146          log (global 2-component vector of float)
+0:146          log (temp 2-component vector of float)
 0:146            'inF0' (in 2-component vector of float)
 0:147      Sequence
 0:147        move second child to first child (temp 2-component vector of float)
@@ -595,35 +595,35 @@
 0:148      Sequence
 0:148        move second child to first child (temp 2-component vector of float)
 0:148          'r045' (temp 2-component vector of float)
-0:148          log2 (global 2-component vector of float)
+0:148          log2 (temp 2-component vector of float)
 0:148            'inF0' (in 2-component vector of float)
 0:149      Sequence
 0:149        move second child to first child (temp 2-component vector of float)
 0:149          'r046' (temp 2-component vector of float)
-0:149          max (global 2-component vector of float)
+0:149          max (temp 2-component vector of float)
 0:149            'inF0' (in 2-component vector of float)
 0:149            'inF1' (in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child (temp 2-component vector of float)
 0:150          'r047' (temp 2-component vector of float)
-0:150          min (global 2-component vector of float)
+0:150          min (temp 2-component vector of float)
 0:150            'inF0' (in 2-component vector of float)
 0:150            'inF1' (in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child (temp 2-component vector of float)
 0:151          'r048' (temp 2-component vector of float)
-0:151          normalize (global 2-component vector of float)
+0:151          normalize (temp 2-component vector of float)
 0:151            'inF0' (in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child (temp 2-component vector of float)
 0:152          'r049' (temp 2-component vector of float)
-0:152          pow (global 2-component vector of float)
+0:152          pow (temp 2-component vector of float)
 0:152            'inF0' (in 2-component vector of float)
 0:152            'inF1' (in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child (temp 2-component vector of float)
 0:153          'r050' (temp 2-component vector of float)
-0:153          radians (global 2-component vector of float)
+0:153          radians (temp 2-component vector of float)
 0:153            'inF0' (in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child (temp 2-component vector of float)
@@ -635,13 +635,13 @@
 0:155      Sequence
 0:155        move second child to first child (temp 2-component vector of float)
 0:155          'r052' (temp 2-component vector of float)
-0:155          reflect (global 2-component vector of float)
+0:155          reflect (temp 2-component vector of float)
 0:155            'inF0' (in 2-component vector of float)
 0:155            'inF1' (in 2-component vector of float)
 0:156      Sequence
 0:156        move second child to first child (temp 2-component vector of float)
 0:156          'r053' (temp 2-component vector of float)
-0:156          refract (global 2-component vector of float)
+0:156          refract (temp 2-component vector of float)
 0:156            'inF0' (in 2-component vector of float)
 0:156            'inF1' (in 2-component vector of float)
 0:156            Constant:
@@ -649,19 +649,19 @@
 0:157      Sequence
 0:157        move second child to first child (temp 2-component vector of uint)
 0:157          'r054' (temp 2-component vector of uint)
-0:?           bitFieldReverse (global 2-component vector of uint)
+0:?           bitFieldReverse (temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:158      Sequence
 0:158        move second child to first child (temp 2-component vector of float)
 0:158          'r055' (temp 2-component vector of float)
-0:158          roundEven (global 2-component vector of float)
+0:158          roundEven (temp 2-component vector of float)
 0:158            'inF0' (in 2-component vector of float)
 0:159      Sequence
 0:159        move second child to first child (temp 2-component vector of float)
 0:159          'r056' (temp 2-component vector of float)
-0:159          inverse sqrt (global 2-component vector of float)
+0:159          inverse sqrt (temp 2-component vector of float)
 0:159            'inF0' (in 2-component vector of float)
 0:160      Sequence
 0:160        move second child to first child (temp 2-component vector of float)
@@ -675,12 +675,12 @@
 0:161      Sequence
 0:161        move second child to first child (temp 2-component vector of float)
 0:161          'r058' (temp 2-component vector of float)
-0:161          Sign (global 2-component vector of float)
+0:161          Sign (temp 2-component vector of float)
 0:161            'inF0' (in 2-component vector of float)
 0:162      Sequence
 0:162        move second child to first child (temp 2-component vector of float)
 0:162          'r059' (temp 2-component vector of float)
-0:162          sine (global 2-component vector of float)
+0:162          sine (temp 2-component vector of float)
 0:162            'inF0' (in 2-component vector of float)
 0:163      Sequence
 0:163        move second child to first child (temp 2-component vector of float)
@@ -694,40 +694,40 @@
 0:164      Sequence
 0:164        move second child to first child (temp 2-component vector of float)
 0:164          'r060' (temp 2-component vector of float)
-0:164          hyp. sine (global 2-component vector of float)
+0:164          hyp. sine (temp 2-component vector of float)
 0:164            'inF0' (in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child (temp 2-component vector of float)
 0:165          'r061' (temp 2-component vector of float)
-0:165          smoothstep (global 2-component vector of float)
+0:165          smoothstep (temp 2-component vector of float)
 0:165            'inF0' (in 2-component vector of float)
 0:165            'inF1' (in 2-component vector of float)
 0:165            'inF2' (in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child (temp 2-component vector of float)
 0:166          'r062' (temp 2-component vector of float)
-0:166          sqrt (global 2-component vector of float)
+0:166          sqrt (temp 2-component vector of float)
 0:166            'inF0' (in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child (temp 2-component vector of float)
 0:167          'r063' (temp 2-component vector of float)
-0:167          step (global 2-component vector of float)
+0:167          step (temp 2-component vector of float)
 0:167            'inF0' (in 2-component vector of float)
 0:167            'inF1' (in 2-component vector of float)
 0:168      Sequence
 0:168        move second child to first child (temp 2-component vector of float)
 0:168          'r064' (temp 2-component vector of float)
-0:168          tangent (global 2-component vector of float)
+0:168          tangent (temp 2-component vector of float)
 0:168            'inF0' (in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child (temp 2-component vector of float)
 0:169          'r065' (temp 2-component vector of float)
-0:169          hyp. tangent (global 2-component vector of float)
+0:169          hyp. tangent (temp 2-component vector of float)
 0:169            'inF0' (in 2-component vector of float)
 0:171      Sequence
 0:171        move second child to first child (temp 2-component vector of float)
 0:171          'r066' (temp 2-component vector of float)
-0:171          trunc (global 2-component vector of float)
+0:171          trunc (temp 2-component vector of float)
 0:171            'inF0' (in 2-component vector of float)
 0:174      Branch: Return with expression
 0:?         Constant:
@@ -744,63 +744,63 @@
 0:181      Sequence
 0:181        move second child to first child (temp bool)
 0:181          'r000' (temp bool)
-0:181          all (global bool)
+0:181          all (temp bool)
 0:181            'inF0' (in 3-component vector of float)
 0:182      Sequence
 0:182        move second child to first child (temp 3-component vector of float)
 0:182          'r001' (temp 3-component vector of float)
-0:182          Absolute value (global 3-component vector of float)
+0:182          Absolute value (temp 3-component vector of float)
 0:182            'inF0' (in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child (temp 3-component vector of float)
 0:183          'r002' (temp 3-component vector of float)
-0:183          arc cosine (global 3-component vector of float)
+0:183          arc cosine (temp 3-component vector of float)
 0:183            'inF0' (in 3-component vector of float)
 0:184      Sequence
 0:184        move second child to first child (temp bool)
 0:184          'r003' (temp bool)
-0:184          any (global bool)
+0:184          any (temp bool)
 0:184            'inF0' (in 3-component vector of float)
 0:185      Sequence
 0:185        move second child to first child (temp 3-component vector of float)
 0:185          'r004' (temp 3-component vector of float)
-0:185          arc sine (global 3-component vector of float)
+0:185          arc sine (temp 3-component vector of float)
 0:185            'inF0' (in 3-component vector of float)
 0:186      Sequence
 0:186        move second child to first child (temp 3-component vector of int)
 0:186          'r005' (temp 3-component vector of int)
-0:186          floatBitsToInt (global 3-component vector of int)
+0:186          floatBitsToInt (temp 3-component vector of int)
 0:186            'inF0' (in 3-component vector of float)
 0:187      Sequence
 0:187        move second child to first child (temp 3-component vector of uint)
 0:187          'r006' (temp 3-component vector of uint)
-0:187          floatBitsToUint (global 3-component vector of uint)
+0:187          floatBitsToUint (temp 3-component vector of uint)
 0:187            'inF0' (in 3-component vector of float)
 0:188      Sequence
 0:188        move second child to first child (temp 3-component vector of float)
 0:188          'r007' (temp 3-component vector of float)
-0:188          intBitsToFloat (global 3-component vector of float)
+0:188          intBitsToFloat (temp 3-component vector of float)
 0:188            'inU0' (in 3-component vector of uint)
 0:190      Sequence
 0:190        move second child to first child (temp 3-component vector of float)
 0:190          'r009' (temp 3-component vector of float)
-0:190          arc tangent (global 3-component vector of float)
+0:190          arc tangent (temp 3-component vector of float)
 0:190            'inF0' (in 3-component vector of float)
 0:191      Sequence
 0:191        move second child to first child (temp 3-component vector of float)
 0:191          'r010' (temp 3-component vector of float)
-0:191          arc tangent (global 3-component vector of float)
+0:191          arc tangent (temp 3-component vector of float)
 0:191            'inF0' (in 3-component vector of float)
 0:191            'inF1' (in 3-component vector of float)
 0:192      Sequence
 0:192        move second child to first child (temp 3-component vector of float)
 0:192          'r011' (temp 3-component vector of float)
-0:192          Ceiling (global 3-component vector of float)
+0:192          Ceiling (temp 3-component vector of float)
 0:192            'inF0' (in 3-component vector of float)
 0:193      Sequence
 0:193        move second child to first child (temp 3-component vector of float)
 0:193          'r012' (temp 3-component vector of float)
-0:193          clamp (global 3-component vector of float)
+0:193          clamp (temp 3-component vector of float)
 0:193            'inF0' (in 3-component vector of float)
 0:193            'inF1' (in 3-component vector of float)
 0:193            'inF2' (in 3-component vector of float)
@@ -818,17 +818,17 @@
 0:195      Sequence
 0:195        move second child to first child (temp 3-component vector of float)
 0:195          'r013' (temp 3-component vector of float)
-0:195          cosine (global 3-component vector of float)
+0:195          cosine (temp 3-component vector of float)
 0:195            'inF0' (in 3-component vector of float)
 0:196      Sequence
 0:196        move second child to first child (temp 3-component vector of float)
 0:196          'r014' (temp 3-component vector of float)
-0:196          hyp. cosine (global 3-component vector of float)
+0:196          hyp. cosine (temp 3-component vector of float)
 0:196            'inF0' (in 3-component vector of float)
 0:197      Sequence
 0:197        move second child to first child (temp 3-component vector of uint)
 0:197          'r015' (temp 3-component vector of uint)
-0:?           bitCount (global 3-component vector of uint)
+0:?           bitCount (temp 3-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
@@ -836,77 +836,77 @@
 0:198      Sequence
 0:198        move second child to first child (temp 3-component vector of float)
 0:198          'r016' (temp 3-component vector of float)
-0:198          cross-product (global 3-component vector of float)
+0:198          cross-product (temp 3-component vector of float)
 0:198            'inF0' (in 3-component vector of float)
 0:198            'inF1' (in 3-component vector of float)
 0:199      Sequence
 0:199        move second child to first child (temp 3-component vector of float)
 0:199          'r017' (temp 3-component vector of float)
-0:199          dPdx (global 3-component vector of float)
+0:199          dPdx (temp 3-component vector of float)
 0:199            'inF0' (in 3-component vector of float)
 0:200      Sequence
 0:200        move second child to first child (temp 3-component vector of float)
 0:200          'r018' (temp 3-component vector of float)
-0:200          dPdxCoarse (global 3-component vector of float)
+0:200          dPdxCoarse (temp 3-component vector of float)
 0:200            'inF0' (in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child (temp 3-component vector of float)
 0:201          'r019' (temp 3-component vector of float)
-0:201          dPdxFine (global 3-component vector of float)
+0:201          dPdxFine (temp 3-component vector of float)
 0:201            'inF0' (in 3-component vector of float)
 0:202      Sequence
 0:202        move second child to first child (temp 3-component vector of float)
 0:202          'r020' (temp 3-component vector of float)
-0:202          dPdy (global 3-component vector of float)
+0:202          dPdy (temp 3-component vector of float)
 0:202            'inF0' (in 3-component vector of float)
 0:203      Sequence
 0:203        move second child to first child (temp 3-component vector of float)
 0:203          'r021' (temp 3-component vector of float)
-0:203          dPdyCoarse (global 3-component vector of float)
+0:203          dPdyCoarse (temp 3-component vector of float)
 0:203            'inF0' (in 3-component vector of float)
 0:204      Sequence
 0:204        move second child to first child (temp 3-component vector of float)
 0:204          'r022' (temp 3-component vector of float)
-0:204          dPdyFine (global 3-component vector of float)
+0:204          dPdyFine (temp 3-component vector of float)
 0:204            'inF0' (in 3-component vector of float)
 0:205      Sequence
 0:205        move second child to first child (temp 3-component vector of float)
 0:205          'r023' (temp 3-component vector of float)
-0:205          degrees (global 3-component vector of float)
+0:205          degrees (temp 3-component vector of float)
 0:205            'inF0' (in 3-component vector of float)
 0:206      Sequence
 0:206        move second child to first child (temp float)
 0:206          'r024' (temp float)
-0:206          distance (global float)
+0:206          distance (temp float)
 0:206            'inF0' (in 3-component vector of float)
 0:206            'inF1' (in 3-component vector of float)
 0:207      Sequence
 0:207        move second child to first child (temp float)
 0:207          'r025' (temp float)
-0:207          dot-product (global float)
+0:207          dot-product (temp float)
 0:207            'inF0' (in 3-component vector of float)
 0:207            'inF1' (in 3-component vector of float)
 0:211      Sequence
 0:211        move second child to first child (temp 3-component vector of float)
 0:211          'r029' (temp 3-component vector of float)
-0:211          exp (global 3-component vector of float)
+0:211          exp (temp 3-component vector of float)
 0:211            'inF0' (in 3-component vector of float)
 0:212      Sequence
 0:212        move second child to first child (temp 3-component vector of float)
 0:212          'r030' (temp 3-component vector of float)
-0:212          exp2 (global 3-component vector of float)
+0:212          exp2 (temp 3-component vector of float)
 0:212            'inF0' (in 3-component vector of float)
 0:213      Sequence
 0:213        move second child to first child (temp 3-component vector of float)
 0:213          'r031' (temp 3-component vector of float)
-0:213          face-forward (global 3-component vector of float)
+0:213          face-forward (temp 3-component vector of float)
 0:213            'inF0' (in 3-component vector of float)
 0:213            'inF1' (in 3-component vector of float)
 0:213            'inF2' (in 3-component vector of float)
 0:214      Sequence
 0:214        move second child to first child (temp 3-component vector of uint)
 0:214          'r032' (temp 3-component vector of uint)
-0:?           findMSB (global 3-component vector of uint)
+0:?           findMSB (temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
@@ -914,7 +914,7 @@
 0:215      Sequence
 0:215        move second child to first child (temp 3-component vector of uint)
 0:215          'r033' (temp 3-component vector of uint)
-0:?           findLSB (global 3-component vector of uint)
+0:?           findLSB (temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
@@ -922,57 +922,57 @@
 0:216      Sequence
 0:216        move second child to first child (temp 3-component vector of float)
 0:216          'r034' (temp 3-component vector of float)
-0:216          Floor (global 3-component vector of float)
+0:216          Floor (temp 3-component vector of float)
 0:216            'inF0' (in 3-component vector of float)
 0:218      Sequence
 0:218        move second child to first child (temp 3-component vector of float)
 0:218          'r036' (temp 3-component vector of float)
-0:218          mod (global 3-component vector of float)
+0:218          mod (temp 3-component vector of float)
 0:218            'inF0' (in 3-component vector of float)
 0:218            'inF1' (in 3-component vector of float)
 0:219      Sequence
 0:219        move second child to first child (temp 3-component vector of float)
 0:219          'r037' (temp 3-component vector of float)
-0:219          Fraction (global 3-component vector of float)
+0:219          Fraction (temp 3-component vector of float)
 0:219            'inF0' (in 3-component vector of float)
 0:220      Sequence
 0:220        move second child to first child (temp 3-component vector of float)
 0:220          'r038' (temp 3-component vector of float)
-0:220          frexp (global 3-component vector of float)
+0:220          frexp (temp 3-component vector of float)
 0:220            'inF0' (in 3-component vector of float)
 0:220            'inF1' (in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child (temp 3-component vector of float)
 0:221          'r039' (temp 3-component vector of float)
-0:221          fwidth (global 3-component vector of float)
+0:221          fwidth (temp 3-component vector of float)
 0:221            'inF0' (in 3-component vector of float)
 0:222      Sequence
 0:222        move second child to first child (temp 3-component vector of bool)
 0:222          'r040' (temp 3-component vector of bool)
-0:222          isinf (global 3-component vector of bool)
+0:222          isinf (temp 3-component vector of bool)
 0:222            'inF0' (in 3-component vector of float)
 0:223      Sequence
 0:223        move second child to first child (temp 3-component vector of bool)
 0:223          'r041' (temp 3-component vector of bool)
-0:223          isnan (global 3-component vector of bool)
+0:223          isnan (temp 3-component vector of bool)
 0:223            'inF0' (in 3-component vector of float)
 0:224      Sequence
 0:224        move second child to first child (temp 3-component vector of float)
 0:224          'r042' (temp 3-component vector of float)
-0:224          ldexp (global 3-component vector of float)
+0:224          ldexp (temp 3-component vector of float)
 0:224            'inF0' (in 3-component vector of float)
 0:224            'inF1' (in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child (temp 3-component vector of float)
 0:225          'r039a' (temp 3-component vector of float)
-0:225          mix (global 3-component vector of float)
+0:225          mix (temp 3-component vector of float)
 0:225            'inF0' (in 3-component vector of float)
 0:225            'inF1' (in 3-component vector of float)
 0:225            'inF2' (in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child (temp 3-component vector of float)
 0:226          'r039b' (temp 3-component vector of float)
-0:226          mix (global 3-component vector of float)
+0:226          mix (temp 3-component vector of float)
 0:226            'inF0' (in 3-component vector of float)
 0:226            'inF1' (in 3-component vector of float)
 0:226            Constant:
@@ -980,12 +980,12 @@
 0:227      Sequence
 0:227        move second child to first child (temp float)
 0:227          'r043' (temp float)
-0:227          length (global float)
+0:227          length (temp float)
 0:227            'inF0' (in 3-component vector of float)
 0:228      Sequence
 0:228        move second child to first child (temp 3-component vector of float)
 0:228          'r044' (temp 3-component vector of float)
-0:228          log (global 3-component vector of float)
+0:228          log (temp 3-component vector of float)
 0:228            'inF0' (in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child (temp 3-component vector of float)
@@ -998,35 +998,35 @@
 0:230      Sequence
 0:230        move second child to first child (temp 3-component vector of float)
 0:230          'r046' (temp 3-component vector of float)
-0:230          log2 (global 3-component vector of float)
+0:230          log2 (temp 3-component vector of float)
 0:230            'inF0' (in 3-component vector of float)
 0:231      Sequence
 0:231        move second child to first child (temp 3-component vector of float)
 0:231          'r047' (temp 3-component vector of float)
-0:231          max (global 3-component vector of float)
+0:231          max (temp 3-component vector of float)
 0:231            'inF0' (in 3-component vector of float)
 0:231            'inF1' (in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child (temp 3-component vector of float)
 0:232          'r048' (temp 3-component vector of float)
-0:232          min (global 3-component vector of float)
+0:232          min (temp 3-component vector of float)
 0:232            'inF0' (in 3-component vector of float)
 0:232            'inF1' (in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child (temp 3-component vector of float)
 0:233          'r049' (temp 3-component vector of float)
-0:233          normalize (global 3-component vector of float)
+0:233          normalize (temp 3-component vector of float)
 0:233            'inF0' (in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child (temp 3-component vector of float)
 0:234          'r050' (temp 3-component vector of float)
-0:234          pow (global 3-component vector of float)
+0:234          pow (temp 3-component vector of float)
 0:234            'inF0' (in 3-component vector of float)
 0:234            'inF1' (in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child (temp 3-component vector of float)
 0:235          'r051' (temp 3-component vector of float)
-0:235          radians (global 3-component vector of float)
+0:235          radians (temp 3-component vector of float)
 0:235            'inF0' (in 3-component vector of float)
 0:236      Sequence
 0:236        move second child to first child (temp 3-component vector of float)
@@ -1038,13 +1038,13 @@
 0:237      Sequence
 0:237        move second child to first child (temp 3-component vector of float)
 0:237          'r053' (temp 3-component vector of float)
-0:237          reflect (global 3-component vector of float)
+0:237          reflect (temp 3-component vector of float)
 0:237            'inF0' (in 3-component vector of float)
 0:237            'inF1' (in 3-component vector of float)
 0:238      Sequence
 0:238        move second child to first child (temp 3-component vector of float)
 0:238          'r054' (temp 3-component vector of float)
-0:238          refract (global 3-component vector of float)
+0:238          refract (temp 3-component vector of float)
 0:238            'inF0' (in 3-component vector of float)
 0:238            'inF1' (in 3-component vector of float)
 0:238            Constant:
@@ -1052,7 +1052,7 @@
 0:239      Sequence
 0:239        move second child to first child (temp 3-component vector of uint)
 0:239          'r055' (temp 3-component vector of uint)
-0:?           bitFieldReverse (global 3-component vector of uint)
+0:?           bitFieldReverse (temp 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
@@ -1060,12 +1060,12 @@
 0:240      Sequence
 0:240        move second child to first child (temp 3-component vector of float)
 0:240          'r056' (temp 3-component vector of float)
-0:240          roundEven (global 3-component vector of float)
+0:240          roundEven (temp 3-component vector of float)
 0:240            'inF0' (in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child (temp 3-component vector of float)
 0:241          'r057' (temp 3-component vector of float)
-0:241          inverse sqrt (global 3-component vector of float)
+0:241          inverse sqrt (temp 3-component vector of float)
 0:241            'inF0' (in 3-component vector of float)
 0:242      Sequence
 0:242        move second child to first child (temp 3-component vector of float)
@@ -1079,12 +1079,12 @@
 0:243      Sequence
 0:243        move second child to first child (temp 3-component vector of float)
 0:243          'r059' (temp 3-component vector of float)
-0:243          Sign (global 3-component vector of float)
+0:243          Sign (temp 3-component vector of float)
 0:243            'inF0' (in 3-component vector of float)
 0:244      Sequence
 0:244        move second child to first child (temp 3-component vector of float)
 0:244          'r060' (temp 3-component vector of float)
-0:244          sine (global 3-component vector of float)
+0:244          sine (temp 3-component vector of float)
 0:244            'inF0' (in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child (temp 3-component vector of float)
@@ -1098,40 +1098,40 @@
 0:246      Sequence
 0:246        move second child to first child (temp 3-component vector of float)
 0:246          'r061' (temp 3-component vector of float)
-0:246          hyp. sine (global 3-component vector of float)
+0:246          hyp. sine (temp 3-component vector of float)
 0:246            'inF0' (in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child (temp 3-component vector of float)
 0:247          'r062' (temp 3-component vector of float)
-0:247          smoothstep (global 3-component vector of float)
+0:247          smoothstep (temp 3-component vector of float)
 0:247            'inF0' (in 3-component vector of float)
 0:247            'inF1' (in 3-component vector of float)
 0:247            'inF2' (in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child (temp 3-component vector of float)
 0:248          'r063' (temp 3-component vector of float)
-0:248          sqrt (global 3-component vector of float)
+0:248          sqrt (temp 3-component vector of float)
 0:248            'inF0' (in 3-component vector of float)
 0:249      Sequence
 0:249        move second child to first child (temp 3-component vector of float)
 0:249          'r064' (temp 3-component vector of float)
-0:249          step (global 3-component vector of float)
+0:249          step (temp 3-component vector of float)
 0:249            'inF0' (in 3-component vector of float)
 0:249            'inF1' (in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child (temp 3-component vector of float)
 0:250          'r065' (temp 3-component vector of float)
-0:250          tangent (global 3-component vector of float)
+0:250          tangent (temp 3-component vector of float)
 0:250            'inF0' (in 3-component vector of float)
 0:251      Sequence
 0:251        move second child to first child (temp 3-component vector of float)
 0:251          'r066' (temp 3-component vector of float)
-0:251          hyp. tangent (global 3-component vector of float)
+0:251          hyp. tangent (temp 3-component vector of float)
 0:251            'inF0' (in 3-component vector of float)
 0:253      Sequence
 0:253        move second child to first child (temp 3-component vector of float)
 0:253          'r067' (temp 3-component vector of float)
-0:253          trunc (global 3-component vector of float)
+0:253          trunc (temp 3-component vector of float)
 0:253            'inF0' (in 3-component vector of float)
 0:256      Branch: Return with expression
 0:?         Constant:
@@ -1149,63 +1149,63 @@
 0:263      Sequence
 0:263        move second child to first child (temp bool)
 0:263          'r000' (temp bool)
-0:263          all (global bool)
+0:263          all (temp bool)
 0:263            'inF0' (in 4-component vector of float)
 0:264      Sequence
 0:264        move second child to first child (temp 4-component vector of float)
 0:264          'r001' (temp 4-component vector of float)
-0:264          Absolute value (global 4-component vector of float)
+0:264          Absolute value (temp 4-component vector of float)
 0:264            'inF0' (in 4-component vector of float)
 0:265      Sequence
 0:265        move second child to first child (temp 4-component vector of float)
 0:265          'r002' (temp 4-component vector of float)
-0:265          arc cosine (global 4-component vector of float)
+0:265          arc cosine (temp 4-component vector of float)
 0:265            'inF0' (in 4-component vector of float)
 0:266      Sequence
 0:266        move second child to first child (temp bool)
 0:266          'r003' (temp bool)
-0:266          any (global bool)
+0:266          any (temp bool)
 0:266            'inF0' (in 4-component vector of float)
 0:267      Sequence
 0:267        move second child to first child (temp 4-component vector of float)
 0:267          'r004' (temp 4-component vector of float)
-0:267          arc sine (global 4-component vector of float)
+0:267          arc sine (temp 4-component vector of float)
 0:267            'inF0' (in 4-component vector of float)
 0:268      Sequence
 0:268        move second child to first child (temp 4-component vector of int)
 0:268          'r005' (temp 4-component vector of int)
-0:268          floatBitsToInt (global 4-component vector of int)
+0:268          floatBitsToInt (temp 4-component vector of int)
 0:268            'inF0' (in 4-component vector of float)
 0:269      Sequence
 0:269        move second child to first child (temp 4-component vector of uint)
 0:269          'r006' (temp 4-component vector of uint)
-0:269          floatBitsToUint (global 4-component vector of uint)
+0:269          floatBitsToUint (temp 4-component vector of uint)
 0:269            'inF0' (in 4-component vector of float)
 0:270      Sequence
 0:270        move second child to first child (temp 4-component vector of float)
 0:270          'r007' (temp 4-component vector of float)
-0:270          intBitsToFloat (global 4-component vector of float)
+0:270          intBitsToFloat (temp 4-component vector of float)
 0:270            'inU0' (in 4-component vector of uint)
 0:272      Sequence
 0:272        move second child to first child (temp 4-component vector of float)
 0:272          'r009' (temp 4-component vector of float)
-0:272          arc tangent (global 4-component vector of float)
+0:272          arc tangent (temp 4-component vector of float)
 0:272            'inF0' (in 4-component vector of float)
 0:273      Sequence
 0:273        move second child to first child (temp 4-component vector of float)
 0:273          'r010' (temp 4-component vector of float)
-0:273          arc tangent (global 4-component vector of float)
+0:273          arc tangent (temp 4-component vector of float)
 0:273            'inF0' (in 4-component vector of float)
 0:273            'inF1' (in 4-component vector of float)
 0:274      Sequence
 0:274        move second child to first child (temp 4-component vector of float)
 0:274          'r011' (temp 4-component vector of float)
-0:274          Ceiling (global 4-component vector of float)
+0:274          Ceiling (temp 4-component vector of float)
 0:274            'inF0' (in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child (temp 4-component vector of float)
 0:275          'r012' (temp 4-component vector of float)
-0:275          clamp (global 4-component vector of float)
+0:275          clamp (temp 4-component vector of float)
 0:275            'inF0' (in 4-component vector of float)
 0:275            'inF1' (in 4-component vector of float)
 0:275            'inF2' (in 4-component vector of float)
@@ -1224,17 +1224,17 @@
 0:277      Sequence
 0:277        move second child to first child (temp 4-component vector of float)
 0:277          'r013' (temp 4-component vector of float)
-0:277          cosine (global 4-component vector of float)
+0:277          cosine (temp 4-component vector of float)
 0:277            'inF0' (in 4-component vector of float)
 0:278      Sequence
 0:278        move second child to first child (temp 4-component vector of float)
 0:278          'r014' (temp 4-component vector of float)
-0:278          hyp. cosine (global 4-component vector of float)
+0:278          hyp. cosine (temp 4-component vector of float)
 0:278            'inF0' (in 4-component vector of float)
 0:279      Sequence
 0:279        move second child to first child (temp 4-component vector of uint)
 0:279          'r015' (temp 4-component vector of uint)
-0:?           bitCount (global 4-component vector of uint)
+0:?           bitCount (temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
@@ -1243,48 +1243,48 @@
 0:280      Sequence
 0:280        move second child to first child (temp 4-component vector of float)
 0:280          'r016' (temp 4-component vector of float)
-0:280          dPdx (global 4-component vector of float)
+0:280          dPdx (temp 4-component vector of float)
 0:280            'inF0' (in 4-component vector of float)
 0:281      Sequence
 0:281        move second child to first child (temp 4-component vector of float)
 0:281          'r017' (temp 4-component vector of float)
-0:281          dPdxCoarse (global 4-component vector of float)
+0:281          dPdxCoarse (temp 4-component vector of float)
 0:281            'inF0' (in 4-component vector of float)
 0:282      Sequence
 0:282        move second child to first child (temp 4-component vector of float)
 0:282          'r018' (temp 4-component vector of float)
-0:282          dPdxFine (global 4-component vector of float)
+0:282          dPdxFine (temp 4-component vector of float)
 0:282            'inF0' (in 4-component vector of float)
 0:283      Sequence
 0:283        move second child to first child (temp 4-component vector of float)
 0:283          'r019' (temp 4-component vector of float)
-0:283          dPdy (global 4-component vector of float)
+0:283          dPdy (temp 4-component vector of float)
 0:283            'inF0' (in 4-component vector of float)
 0:284      Sequence
 0:284        move second child to first child (temp 4-component vector of float)
 0:284          'r020' (temp 4-component vector of float)
-0:284          dPdyCoarse (global 4-component vector of float)
+0:284          dPdyCoarse (temp 4-component vector of float)
 0:284            'inF0' (in 4-component vector of float)
 0:285      Sequence
 0:285        move second child to first child (temp 4-component vector of float)
 0:285          'r021' (temp 4-component vector of float)
-0:285          dPdyFine (global 4-component vector of float)
+0:285          dPdyFine (temp 4-component vector of float)
 0:285            'inF0' (in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child (temp 4-component vector of float)
 0:286          'r022' (temp 4-component vector of float)
-0:286          degrees (global 4-component vector of float)
+0:286          degrees (temp 4-component vector of float)
 0:286            'inF0' (in 4-component vector of float)
 0:287      Sequence
 0:287        move second child to first child (temp float)
 0:287          'r023' (temp float)
-0:287          distance (global float)
+0:287          distance (temp float)
 0:287            'inF0' (in 4-component vector of float)
 0:287            'inF1' (in 4-component vector of float)
 0:288      Sequence
 0:288        move second child to first child (temp float)
 0:288          'r024' (temp float)
-0:288          dot-product (global float)
+0:288          dot-product (temp float)
 0:288            'inF0' (in 4-component vector of float)
 0:288            'inF1' (in 4-component vector of float)
 0:289      Sequence
@@ -1313,24 +1313,24 @@
 0:293      Sequence
 0:293        move second child to first child (temp 4-component vector of float)
 0:293          'r029' (temp 4-component vector of float)
-0:293          exp (global 4-component vector of float)
+0:293          exp (temp 4-component vector of float)
 0:293            'inF0' (in 4-component vector of float)
 0:294      Sequence
 0:294        move second child to first child (temp 4-component vector of float)
 0:294          'r030' (temp 4-component vector of float)
-0:294          exp2 (global 4-component vector of float)
+0:294          exp2 (temp 4-component vector of float)
 0:294            'inF0' (in 4-component vector of float)
 0:295      Sequence
 0:295        move second child to first child (temp 4-component vector of float)
 0:295          'r031' (temp 4-component vector of float)
-0:295          face-forward (global 4-component vector of float)
+0:295          face-forward (temp 4-component vector of float)
 0:295            'inF0' (in 4-component vector of float)
 0:295            'inF1' (in 4-component vector of float)
 0:295            'inF2' (in 4-component vector of float)
 0:296      Sequence
 0:296        move second child to first child (temp 4-component vector of uint)
 0:296          'r032' (temp 4-component vector of uint)
-0:?           findMSB (global 4-component vector of uint)
+0:?           findMSB (temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
@@ -1339,7 +1339,7 @@
 0:297      Sequence
 0:297        move second child to first child (temp 4-component vector of uint)
 0:297          'r033' (temp 4-component vector of uint)
-0:?           findLSB (global 4-component vector of uint)
+0:?           findLSB (temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
@@ -1348,62 +1348,62 @@
 0:298      Sequence
 0:298        move second child to first child (temp 4-component vector of float)
 0:298          'r034' (temp 4-component vector of float)
-0:298          Floor (global 4-component vector of float)
+0:298          Floor (temp 4-component vector of float)
 0:298            'inF0' (in 4-component vector of float)
 0:300      Sequence
 0:300        move second child to first child (temp 4-component vector of float)
 0:300          'r036' (temp 4-component vector of float)
-0:300          mod (global 4-component vector of float)
+0:300          mod (temp 4-component vector of float)
 0:300            'inF0' (in 4-component vector of float)
 0:300            'inF1' (in 4-component vector of float)
 0:301      Sequence
 0:301        move second child to first child (temp 4-component vector of float)
 0:301          'r037' (temp 4-component vector of float)
-0:301          Fraction (global 4-component vector of float)
+0:301          Fraction (temp 4-component vector of float)
 0:301            'inF0' (in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child (temp 4-component vector of float)
 0:302          'r038' (temp 4-component vector of float)
-0:302          frexp (global 4-component vector of float)
+0:302          frexp (temp 4-component vector of float)
 0:302            'inF0' (in 4-component vector of float)
 0:302            'inF1' (in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child (temp 4-component vector of float)
 0:303          'r039' (temp 4-component vector of float)
-0:303          fwidth (global 4-component vector of float)
+0:303          fwidth (temp 4-component vector of float)
 0:303            'inF0' (in 4-component vector of float)
 0:304      Sequence
 0:304        move second child to first child (temp 4-component vector of bool)
 0:304          'r040' (temp 4-component vector of bool)
-0:304          isinf (global 4-component vector of bool)
+0:304          isinf (temp 4-component vector of bool)
 0:304            'inF0' (in 4-component vector of float)
 0:305      Sequence
 0:305        move second child to first child (temp 4-component vector of bool)
 0:305          'r041' (temp 4-component vector of bool)
-0:305          isnan (global 4-component vector of bool)
+0:305          isnan (temp 4-component vector of bool)
 0:305            'inF0' (in 4-component vector of float)
 0:306      Sequence
 0:306        move second child to first child (temp 4-component vector of float)
 0:306          'r042' (temp 4-component vector of float)
-0:306          ldexp (global 4-component vector of float)
+0:306          ldexp (temp 4-component vector of float)
 0:306            'inF0' (in 4-component vector of float)
 0:306            'inF1' (in 4-component vector of float)
 0:307      Sequence
 0:307        move second child to first child (temp 4-component vector of float)
 0:307          'r039a' (temp 4-component vector of float)
-0:307          mix (global 4-component vector of float)
+0:307          mix (temp 4-component vector of float)
 0:307            'inF0' (in 4-component vector of float)
 0:307            'inF1' (in 4-component vector of float)
 0:307            'inF2' (in 4-component vector of float)
 0:308      Sequence
 0:308        move second child to first child (temp float)
 0:308          'r043' (temp float)
-0:308          length (global float)
+0:308          length (temp float)
 0:308            'inF0' (in 4-component vector of float)
 0:309      Sequence
 0:309        move second child to first child (temp 4-component vector of float)
 0:309          'r044' (temp 4-component vector of float)
-0:309          log (global 4-component vector of float)
+0:309          log (temp 4-component vector of float)
 0:309            'inF0' (in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child (temp 4-component vector of float)
@@ -1416,35 +1416,35 @@
 0:311      Sequence
 0:311        move second child to first child (temp 4-component vector of float)
 0:311          'r046' (temp 4-component vector of float)
-0:311          log2 (global 4-component vector of float)
+0:311          log2 (temp 4-component vector of float)
 0:311            'inF0' (in 4-component vector of float)
 0:312      Sequence
 0:312        move second child to first child (temp 4-component vector of float)
 0:312          'r047' (temp 4-component vector of float)
-0:312          max (global 4-component vector of float)
+0:312          max (temp 4-component vector of float)
 0:312            'inF0' (in 4-component vector of float)
 0:312            'inF1' (in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child (temp 4-component vector of float)
 0:313          'r048' (temp 4-component vector of float)
-0:313          min (global 4-component vector of float)
+0:313          min (temp 4-component vector of float)
 0:313            'inF0' (in 4-component vector of float)
 0:313            'inF1' (in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child (temp 4-component vector of float)
 0:314          'r049' (temp 4-component vector of float)
-0:314          normalize (global 4-component vector of float)
+0:314          normalize (temp 4-component vector of float)
 0:314            'inF0' (in 4-component vector of float)
 0:315      Sequence
 0:315        move second child to first child (temp 4-component vector of float)
 0:315          'r050' (temp 4-component vector of float)
-0:315          pow (global 4-component vector of float)
+0:315          pow (temp 4-component vector of float)
 0:315            'inF0' (in 4-component vector of float)
 0:315            'inF1' (in 4-component vector of float)
 0:316      Sequence
 0:316        move second child to first child (temp 4-component vector of float)
 0:316          'r051' (temp 4-component vector of float)
-0:316          radians (global 4-component vector of float)
+0:316          radians (temp 4-component vector of float)
 0:316            'inF0' (in 4-component vector of float)
 0:317      Sequence
 0:317        move second child to first child (temp 4-component vector of float)
@@ -1456,13 +1456,13 @@
 0:318      Sequence
 0:318        move second child to first child (temp 4-component vector of float)
 0:318          'r053' (temp 4-component vector of float)
-0:318          reflect (global 4-component vector of float)
+0:318          reflect (temp 4-component vector of float)
 0:318            'inF0' (in 4-component vector of float)
 0:318            'inF1' (in 4-component vector of float)
 0:319      Sequence
 0:319        move second child to first child (temp 4-component vector of float)
 0:319          'r054' (temp 4-component vector of float)
-0:319          refract (global 4-component vector of float)
+0:319          refract (temp 4-component vector of float)
 0:319            'inF0' (in 4-component vector of float)
 0:319            'inF1' (in 4-component vector of float)
 0:319            Constant:
@@ -1470,7 +1470,7 @@
 0:320      Sequence
 0:320        move second child to first child (temp 4-component vector of uint)
 0:320          'r055' (temp 4-component vector of uint)
-0:?           bitFieldReverse (global 4-component vector of uint)
+0:?           bitFieldReverse (temp 4-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
@@ -1479,12 +1479,12 @@
 0:321      Sequence
 0:321        move second child to first child (temp 4-component vector of float)
 0:321          'r056' (temp 4-component vector of float)
-0:321          roundEven (global 4-component vector of float)
+0:321          roundEven (temp 4-component vector of float)
 0:321            'inF0' (in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child (temp 4-component vector of float)
 0:322          'r057' (temp 4-component vector of float)
-0:322          inverse sqrt (global 4-component vector of float)
+0:322          inverse sqrt (temp 4-component vector of float)
 0:322            'inF0' (in 4-component vector of float)
 0:323      Sequence
 0:323        move second child to first child (temp 4-component vector of float)
@@ -1498,12 +1498,12 @@
 0:324      Sequence
 0:324        move second child to first child (temp 4-component vector of float)
 0:324          'r059' (temp 4-component vector of float)
-0:324          Sign (global 4-component vector of float)
+0:324          Sign (temp 4-component vector of float)
 0:324            'inF0' (in 4-component vector of float)
 0:325      Sequence
 0:325        move second child to first child (temp 4-component vector of float)
 0:325          'r060' (temp 4-component vector of float)
-0:325          sine (global 4-component vector of float)
+0:325          sine (temp 4-component vector of float)
 0:325            'inF0' (in 4-component vector of float)
 0:326      Sequence
 0:326        move second child to first child (temp 4-component vector of float)
@@ -1517,40 +1517,40 @@
 0:327      Sequence
 0:327        move second child to first child (temp 4-component vector of float)
 0:327          'r061' (temp 4-component vector of float)
-0:327          hyp. sine (global 4-component vector of float)
+0:327          hyp. sine (temp 4-component vector of float)
 0:327            'inF0' (in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child (temp 4-component vector of float)
 0:328          'r062' (temp 4-component vector of float)
-0:328          smoothstep (global 4-component vector of float)
+0:328          smoothstep (temp 4-component vector of float)
 0:328            'inF0' (in 4-component vector of float)
 0:328            'inF1' (in 4-component vector of float)
 0:328            'inF2' (in 4-component vector of float)
 0:329      Sequence
 0:329        move second child to first child (temp 4-component vector of float)
 0:329          'r063' (temp 4-component vector of float)
-0:329          sqrt (global 4-component vector of float)
+0:329          sqrt (temp 4-component vector of float)
 0:329            'inF0' (in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child (temp 4-component vector of float)
 0:330          'r064' (temp 4-component vector of float)
-0:330          step (global 4-component vector of float)
+0:330          step (temp 4-component vector of float)
 0:330            'inF0' (in 4-component vector of float)
 0:330            'inF1' (in 4-component vector of float)
 0:331      Sequence
 0:331        move second child to first child (temp 4-component vector of float)
 0:331          'r065' (temp 4-component vector of float)
-0:331          tangent (global 4-component vector of float)
+0:331          tangent (temp 4-component vector of float)
 0:331            'inF0' (in 4-component vector of float)
 0:332      Sequence
 0:332        move second child to first child (temp 4-component vector of float)
 0:332          'r066' (temp 4-component vector of float)
-0:332          hyp. tangent (global 4-component vector of float)
+0:332          hyp. tangent (temp 4-component vector of float)
 0:332            'inF0' (in 4-component vector of float)
 0:334      Sequence
 0:334        move second child to first child (temp 4-component vector of float)
 0:334          'r067' (temp 4-component vector of float)
-0:334          trunc (global 4-component vector of float)
+0:334          trunc (temp 4-component vector of float)
 0:334            'inF0' (in 4-component vector of float)
 0:337      Branch: Return with expression
 0:?         Constant:
@@ -1567,40 +1567,40 @@
 0:403      Sequence
 0:403        move second child to first child (temp bool)
 0:403          'r000' (temp bool)
-0:403          all (global bool)
+0:403          all (temp bool)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r001' (temp 2X2 matrix of float)
-0:403          Absolute value (global 2X2 matrix of float)
+0:403          Absolute value (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
-0:403      arc cosine (global 2X2 matrix of float)
+0:403      arc cosine (temp 2X2 matrix of float)
 0:403        'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp bool)
 0:403          'r003' (temp bool)
-0:403          any (global bool)
+0:403          any (temp bool)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r004' (temp 2X2 matrix of float)
-0:403          arc sine (global 2X2 matrix of float)
+0:403          arc sine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r005' (temp 2X2 matrix of float)
-0:403          arc tangent (global 2X2 matrix of float)
+0:403          arc tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r006' (temp 2X2 matrix of float)
-0:403          arc tangent (global 2X2 matrix of float)
+0:403          arc tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r007' (temp 2X2 matrix of float)
-0:403          Ceiling (global 2X2 matrix of float)
+0:403          Ceiling (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Test condition and select (temp void)
 0:403        Condition
@@ -1617,114 +1617,114 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r008' (temp 2X2 matrix of float)
-0:403          clamp (global 2X2 matrix of float)
+0:403          clamp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403            'inF2' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r009' (temp 2X2 matrix of float)
-0:403          cosine (global 2X2 matrix of float)
+0:403          cosine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r010' (temp 2X2 matrix of float)
-0:403          hyp. cosine (global 2X2 matrix of float)
+0:403          hyp. cosine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r011' (temp 2X2 matrix of float)
-0:403          dPdx (global 2X2 matrix of float)
+0:403          dPdx (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r012' (temp 2X2 matrix of float)
-0:403          dPdxCoarse (global 2X2 matrix of float)
+0:403          dPdxCoarse (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r013' (temp 2X2 matrix of float)
-0:403          dPdxFine (global 2X2 matrix of float)
+0:403          dPdxFine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r014' (temp 2X2 matrix of float)
-0:403          dPdy (global 2X2 matrix of float)
+0:403          dPdy (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r015' (temp 2X2 matrix of float)
-0:403          dPdyCoarse (global 2X2 matrix of float)
+0:403          dPdyCoarse (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r016' (temp 2X2 matrix of float)
-0:403          dPdyFine (global 2X2 matrix of float)
+0:403          dPdyFine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r017' (temp 2X2 matrix of float)
-0:403          degrees (global 2X2 matrix of float)
+0:403          degrees (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp float)
 0:403          'r018' (temp float)
-0:403          determinant (global float)
+0:403          determinant (temp float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r019' (temp 2X2 matrix of float)
-0:403          exp (global 2X2 matrix of float)
+0:403          exp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'R020' (temp 2X2 matrix of float)
-0:403          exp2 (global 2X2 matrix of float)
+0:403          exp2 (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r021' (temp 2X2 matrix of float)
-0:403          Floor (global 2X2 matrix of float)
+0:403          Floor (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r022' (temp 2X2 matrix of float)
-0:403          mod (global 2X2 matrix of float)
+0:403          mod (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r023' (temp 2X2 matrix of float)
-0:403          Fraction (global 2X2 matrix of float)
+0:403          Fraction (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r024' (temp 2X2 matrix of float)
-0:403          frexp (global 2X2 matrix of float)
+0:403          frexp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r025' (temp 2X2 matrix of float)
-0:403          fwidth (global 2X2 matrix of float)
+0:403          fwidth (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r026' (temp 2X2 matrix of float)
-0:403          ldexp (global 2X2 matrix of float)
+0:403          ldexp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r026a' (temp 2X2 matrix of float)
-0:403          mix (global 2X2 matrix of float)
+0:403          mix (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403            'inF2' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r027' (temp 2X2 matrix of float)
-0:403          log (global 2X2 matrix of float)
+0:403          log (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
@@ -1737,40 +1737,40 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r029' (temp 2X2 matrix of float)
-0:403          log2 (global 2X2 matrix of float)
+0:403          log2 (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r030' (temp 2X2 matrix of float)
-0:403          max (global 2X2 matrix of float)
+0:403          max (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r031' (temp 2X2 matrix of float)
-0:403          min (global 2X2 matrix of float)
+0:403          min (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r032' (temp 2X2 matrix of float)
-0:403          pow (global 2X2 matrix of float)
+0:403          pow (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r033' (temp 2X2 matrix of float)
-0:403          radians (global 2X2 matrix of float)
+0:403          radians (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r034' (temp 2X2 matrix of float)
-0:403          roundEven (global 2X2 matrix of float)
+0:403          roundEven (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r035' (temp 2X2 matrix of float)
-0:403          inverse sqrt (global 2X2 matrix of float)
+0:403          inverse sqrt (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
@@ -1784,12 +1784,12 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r037' (temp 2X2 matrix of float)
-0:403          Sign (global 2X2 matrix of float)
+0:403          Sign (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r038' (temp 2X2 matrix of float)
-0:403          sine (global 2X2 matrix of float)
+0:403          sine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
@@ -1803,42 +1803,42 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r039' (temp 2X2 matrix of float)
-0:403          hyp. sine (global 2X2 matrix of float)
+0:403          hyp. sine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r049' (temp 2X2 matrix of float)
-0:403          smoothstep (global 2X2 matrix of float)
+0:403          smoothstep (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403            'inF2' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r041' (temp 2X2 matrix of float)
-0:403          sqrt (global 2X2 matrix of float)
+0:403          sqrt (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r042' (temp 2X2 matrix of float)
-0:403          step (global 2X2 matrix of float)
+0:403          step (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r043' (temp 2X2 matrix of float)
-0:403          tangent (global 2X2 matrix of float)
+0:403          tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r044' (temp 2X2 matrix of float)
-0:403          hyp. tangent (global 2X2 matrix of float)
+0:403          hyp. tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
-0:403      transpose (global 2X2 matrix of float)
+0:403      transpose (temp 2X2 matrix of float)
 0:403        'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r046' (temp 2X2 matrix of float)
-0:403          trunc (global 2X2 matrix of float)
+0:403          trunc (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:406      Branch: Return with expression
 0:?         Constant:
@@ -1855,40 +1855,40 @@
 0:412      Sequence
 0:412        move second child to first child (temp bool)
 0:412          'r000' (temp bool)
-0:412          all (global bool)
+0:412          all (temp bool)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r001' (temp 3X3 matrix of float)
-0:412          Absolute value (global 3X3 matrix of float)
+0:412          Absolute value (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
-0:412      arc cosine (global 3X3 matrix of float)
+0:412      arc cosine (temp 3X3 matrix of float)
 0:412        'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp bool)
 0:412          'r003' (temp bool)
-0:412          any (global bool)
+0:412          any (temp bool)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r004' (temp 3X3 matrix of float)
-0:412          arc sine (global 3X3 matrix of float)
+0:412          arc sine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r005' (temp 3X3 matrix of float)
-0:412          arc tangent (global 3X3 matrix of float)
+0:412          arc tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r006' (temp 3X3 matrix of float)
-0:412          arc tangent (global 3X3 matrix of float)
+0:412          arc tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r007' (temp 3X3 matrix of float)
-0:412          Ceiling (global 3X3 matrix of float)
+0:412          Ceiling (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Test condition and select (temp void)
 0:412        Condition
@@ -1910,114 +1910,114 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r008' (temp 3X3 matrix of float)
-0:412          clamp (global 3X3 matrix of float)
+0:412          clamp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412            'inF2' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r009' (temp 3X3 matrix of float)
-0:412          cosine (global 3X3 matrix of float)
+0:412          cosine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r010' (temp 3X3 matrix of float)
-0:412          hyp. cosine (global 3X3 matrix of float)
+0:412          hyp. cosine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r011' (temp 3X3 matrix of float)
-0:412          dPdx (global 3X3 matrix of float)
+0:412          dPdx (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r012' (temp 3X3 matrix of float)
-0:412          dPdxCoarse (global 3X3 matrix of float)
+0:412          dPdxCoarse (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r013' (temp 3X3 matrix of float)
-0:412          dPdxFine (global 3X3 matrix of float)
+0:412          dPdxFine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r014' (temp 3X3 matrix of float)
-0:412          dPdy (global 3X3 matrix of float)
+0:412          dPdy (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r015' (temp 3X3 matrix of float)
-0:412          dPdyCoarse (global 3X3 matrix of float)
+0:412          dPdyCoarse (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r016' (temp 3X3 matrix of float)
-0:412          dPdyFine (global 3X3 matrix of float)
+0:412          dPdyFine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r017' (temp 3X3 matrix of float)
-0:412          degrees (global 3X3 matrix of float)
+0:412          degrees (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp float)
 0:412          'r018' (temp float)
-0:412          determinant (global float)
+0:412          determinant (temp float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r019' (temp 3X3 matrix of float)
-0:412          exp (global 3X3 matrix of float)
+0:412          exp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'R020' (temp 3X3 matrix of float)
-0:412          exp2 (global 3X3 matrix of float)
+0:412          exp2 (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r021' (temp 3X3 matrix of float)
-0:412          Floor (global 3X3 matrix of float)
+0:412          Floor (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r022' (temp 3X3 matrix of float)
-0:412          mod (global 3X3 matrix of float)
+0:412          mod (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r023' (temp 3X3 matrix of float)
-0:412          Fraction (global 3X3 matrix of float)
+0:412          Fraction (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r024' (temp 3X3 matrix of float)
-0:412          frexp (global 3X3 matrix of float)
+0:412          frexp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r025' (temp 3X3 matrix of float)
-0:412          fwidth (global 3X3 matrix of float)
+0:412          fwidth (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r026' (temp 3X3 matrix of float)
-0:412          ldexp (global 3X3 matrix of float)
+0:412          ldexp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r026a' (temp 3X3 matrix of float)
-0:412          mix (global 3X3 matrix of float)
+0:412          mix (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412            'inF2' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r027' (temp 3X3 matrix of float)
-0:412          log (global 3X3 matrix of float)
+0:412          log (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
@@ -2030,40 +2030,40 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r029' (temp 3X3 matrix of float)
-0:412          log2 (global 3X3 matrix of float)
+0:412          log2 (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r030' (temp 3X3 matrix of float)
-0:412          max (global 3X3 matrix of float)
+0:412          max (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r031' (temp 3X3 matrix of float)
-0:412          min (global 3X3 matrix of float)
+0:412          min (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r032' (temp 3X3 matrix of float)
-0:412          pow (global 3X3 matrix of float)
+0:412          pow (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r033' (temp 3X3 matrix of float)
-0:412          radians (global 3X3 matrix of float)
+0:412          radians (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r034' (temp 3X3 matrix of float)
-0:412          roundEven (global 3X3 matrix of float)
+0:412          roundEven (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r035' (temp 3X3 matrix of float)
-0:412          inverse sqrt (global 3X3 matrix of float)
+0:412          inverse sqrt (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
@@ -2077,12 +2077,12 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r037' (temp 3X3 matrix of float)
-0:412          Sign (global 3X3 matrix of float)
+0:412          Sign (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r038' (temp 3X3 matrix of float)
-0:412          sine (global 3X3 matrix of float)
+0:412          sine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
@@ -2096,42 +2096,42 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r039' (temp 3X3 matrix of float)
-0:412          hyp. sine (global 3X3 matrix of float)
+0:412          hyp. sine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r049' (temp 3X3 matrix of float)
-0:412          smoothstep (global 3X3 matrix of float)
+0:412          smoothstep (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412            'inF2' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r041' (temp 3X3 matrix of float)
-0:412          sqrt (global 3X3 matrix of float)
+0:412          sqrt (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r042' (temp 3X3 matrix of float)
-0:412          step (global 3X3 matrix of float)
+0:412          step (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r043' (temp 3X3 matrix of float)
-0:412          tangent (global 3X3 matrix of float)
+0:412          tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r044' (temp 3X3 matrix of float)
-0:412          hyp. tangent (global 3X3 matrix of float)
+0:412          hyp. tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
-0:412      transpose (global 3X3 matrix of float)
+0:412      transpose (temp 3X3 matrix of float)
 0:412        'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r046' (temp 3X3 matrix of float)
-0:412          trunc (global 3X3 matrix of float)
+0:412          trunc (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:415      Branch: Return with expression
 0:?         Constant:
@@ -2153,40 +2153,40 @@
 0:421      Sequence
 0:421        move second child to first child (temp bool)
 0:421          'r000' (temp bool)
-0:421          all (global bool)
+0:421          all (temp bool)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r001' (temp 4X4 matrix of float)
-0:421          Absolute value (global 4X4 matrix of float)
+0:421          Absolute value (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
-0:421      arc cosine (global 4X4 matrix of float)
+0:421      arc cosine (temp 4X4 matrix of float)
 0:421        'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp bool)
 0:421          'r003' (temp bool)
-0:421          any (global bool)
+0:421          any (temp bool)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r004' (temp 4X4 matrix of float)
-0:421          arc sine (global 4X4 matrix of float)
+0:421          arc sine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r005' (temp 4X4 matrix of float)
-0:421          arc tangent (global 4X4 matrix of float)
+0:421          arc tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r006' (temp 4X4 matrix of float)
-0:421          arc tangent (global 4X4 matrix of float)
+0:421          arc tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r007' (temp 4X4 matrix of float)
-0:421          Ceiling (global 4X4 matrix of float)
+0:421          Ceiling (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Test condition and select (temp void)
 0:421        Condition
@@ -2215,114 +2215,114 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r008' (temp 4X4 matrix of float)
-0:421          clamp (global 4X4 matrix of float)
+0:421          clamp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421            'inF2' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r009' (temp 4X4 matrix of float)
-0:421          cosine (global 4X4 matrix of float)
+0:421          cosine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r010' (temp 4X4 matrix of float)
-0:421          hyp. cosine (global 4X4 matrix of float)
+0:421          hyp. cosine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r011' (temp 4X4 matrix of float)
-0:421          dPdx (global 4X4 matrix of float)
+0:421          dPdx (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r012' (temp 4X4 matrix of float)
-0:421          dPdxCoarse (global 4X4 matrix of float)
+0:421          dPdxCoarse (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r013' (temp 4X4 matrix of float)
-0:421          dPdxFine (global 4X4 matrix of float)
+0:421          dPdxFine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r014' (temp 4X4 matrix of float)
-0:421          dPdy (global 4X4 matrix of float)
+0:421          dPdy (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r015' (temp 4X4 matrix of float)
-0:421          dPdyCoarse (global 4X4 matrix of float)
+0:421          dPdyCoarse (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r016' (temp 4X4 matrix of float)
-0:421          dPdyFine (global 4X4 matrix of float)
+0:421          dPdyFine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r017' (temp 4X4 matrix of float)
-0:421          degrees (global 4X4 matrix of float)
+0:421          degrees (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp float)
 0:421          'r018' (temp float)
-0:421          determinant (global float)
+0:421          determinant (temp float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r019' (temp 4X4 matrix of float)
-0:421          exp (global 4X4 matrix of float)
+0:421          exp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'R020' (temp 4X4 matrix of float)
-0:421          exp2 (global 4X4 matrix of float)
+0:421          exp2 (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r021' (temp 4X4 matrix of float)
-0:421          Floor (global 4X4 matrix of float)
+0:421          Floor (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r022' (temp 4X4 matrix of float)
-0:421          mod (global 4X4 matrix of float)
+0:421          mod (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r023' (temp 4X4 matrix of float)
-0:421          Fraction (global 4X4 matrix of float)
+0:421          Fraction (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r024' (temp 4X4 matrix of float)
-0:421          frexp (global 4X4 matrix of float)
+0:421          frexp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r025' (temp 4X4 matrix of float)
-0:421          fwidth (global 4X4 matrix of float)
+0:421          fwidth (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r026' (temp 4X4 matrix of float)
-0:421          ldexp (global 4X4 matrix of float)
+0:421          ldexp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r026a' (temp 4X4 matrix of float)
-0:421          mix (global 4X4 matrix of float)
+0:421          mix (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421            'inF2' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r027' (temp 4X4 matrix of float)
-0:421          log (global 4X4 matrix of float)
+0:421          log (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
@@ -2335,40 +2335,40 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r029' (temp 4X4 matrix of float)
-0:421          log2 (global 4X4 matrix of float)
+0:421          log2 (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r030' (temp 4X4 matrix of float)
-0:421          max (global 4X4 matrix of float)
+0:421          max (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r031' (temp 4X4 matrix of float)
-0:421          min (global 4X4 matrix of float)
+0:421          min (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r032' (temp 4X4 matrix of float)
-0:421          pow (global 4X4 matrix of float)
+0:421          pow (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r033' (temp 4X4 matrix of float)
-0:421          radians (global 4X4 matrix of float)
+0:421          radians (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r034' (temp 4X4 matrix of float)
-0:421          roundEven (global 4X4 matrix of float)
+0:421          roundEven (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r035' (temp 4X4 matrix of float)
-0:421          inverse sqrt (global 4X4 matrix of float)
+0:421          inverse sqrt (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
@@ -2382,12 +2382,12 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r037' (temp 4X4 matrix of float)
-0:421          Sign (global 4X4 matrix of float)
+0:421          Sign (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r038' (temp 4X4 matrix of float)
-0:421          sine (global 4X4 matrix of float)
+0:421          sine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
@@ -2401,42 +2401,42 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r039' (temp 4X4 matrix of float)
-0:421          hyp. sine (global 4X4 matrix of float)
+0:421          hyp. sine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r049' (temp 4X4 matrix of float)
-0:421          smoothstep (global 4X4 matrix of float)
+0:421          smoothstep (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421            'inF2' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r041' (temp 4X4 matrix of float)
-0:421          sqrt (global 4X4 matrix of float)
+0:421          sqrt (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r042' (temp 4X4 matrix of float)
-0:421          step (global 4X4 matrix of float)
+0:421          step (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r043' (temp 4X4 matrix of float)
-0:421          tangent (global 4X4 matrix of float)
+0:421          tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r044' (temp 4X4 matrix of float)
-0:421          hyp. tangent (global 4X4 matrix of float)
+0:421          hyp. tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
-0:421      transpose (global 4X4 matrix of float)
+0:421      transpose (temp 4X4 matrix of float)
 0:421        'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r046' (temp 4X4 matrix of float)
-0:421          trunc (global 4X4 matrix of float)
+0:421          trunc (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:424      Branch: Return with expression
 0:?         Constant:
@@ -2486,7 +2486,7 @@
 0:443      Sequence
 0:443        move second child to first child (temp float)
 0:443          'r3' (temp float)
-0:443          dot-product (global float)
+0:443          dot-product (temp float)
 0:443            'inFV0' (in 2-component vector of float)
 0:443            'inFV1' (in 2-component vector of float)
 0:443      Sequence
@@ -2549,7 +2549,7 @@
 0:450      Sequence
 0:450        move second child to first child (temp float)
 0:450          'r3' (temp float)
-0:450          dot-product (global float)
+0:450          dot-product (temp float)
 0:450            'inFV0' (in 3-component vector of float)
 0:450            'inFV1' (in 3-component vector of float)
 0:450      Sequence
@@ -2612,7 +2612,7 @@
 0:457      Sequence
 0:457        move second child to first child (temp float)
 0:457          'r3' (temp float)
-0:457          dot-product (global float)
+0:457          dot-product (temp float)
 0:457            'inFV0' (in 4-component vector of float)
 0:457            'inFV1' (in 4-component vector of float)
 0:457      Sequence
@@ -2690,13 +2690,13 @@
 0:472      Sequence
 0:472        move second child to first child (temp float)
 0:472          'r05' (temp float)
-0:472          dot-product (global float)
+0:472          dot-product (temp float)
 0:472            'inFV2' (in 2-component vector of float)
 0:472            'inFV2' (in 2-component vector of float)
 0:473      Sequence
 0:473        move second child to first child (temp float)
 0:473          'r06' (temp float)
-0:473          dot-product (global float)
+0:473          dot-product (temp float)
 0:473            'inFV3' (in 3-component vector of float)
 0:473            'inFV3' (in 3-component vector of float)
 0:474      Sequence
@@ -2782,6 +2782,7 @@
 0:492                0 (const int)
 0:492        Branch: Return
 0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
 0:?     'gs_ua' (shared uint)
 0:?     'gs_ub' (shared uint)
 0:?     'gs_uc' (shared uint)
@@ -2794,7 +2795,6 @@
 0:?     'gs_ua4' (shared 4-component vector of uint)
 0:?     'gs_ub4' (shared 4-component vector of uint)
 0:?     'gs_uc4' (shared 4-component vector of uint)
-0:?     'color' (layout(location=0 ) out 4-component vector of float)
 
 
 Linked fragment stage:
@@ -2814,63 +2814,63 @@
 0:20      Sequence
 0:20        move second child to first child (temp bool)
 0:20          'r000' (temp bool)
-0:20          all (global bool)
+0:20          all (temp bool)
 0:20            'inF0' (in float)
 0:21      Sequence
 0:21        move second child to first child (temp float)
 0:21          'r001' (temp float)
-0:21          Absolute value (global float)
+0:21          Absolute value (temp float)
 0:21            'inF0' (in float)
 0:22      Sequence
 0:22        move second child to first child (temp float)
 0:22          'r002' (temp float)
-0:22          arc cosine (global float)
+0:22          arc cosine (temp float)
 0:22            'inF0' (in float)
 0:23      Sequence
 0:23        move second child to first child (temp bool)
 0:23          'r003' (temp bool)
-0:23          any (global bool)
+0:23          any (temp bool)
 0:23            'inF0' (in float)
 0:24      Sequence
 0:24        move second child to first child (temp float)
 0:24          'r004' (temp float)
-0:24          arc sine (global float)
+0:24          arc sine (temp float)
 0:24            'inF0' (in float)
 0:25      Sequence
 0:25        move second child to first child (temp int)
 0:25          'r005' (temp int)
-0:25          floatBitsToInt (global int)
+0:25          floatBitsToInt (temp int)
 0:25            'inF0' (in float)
 0:26      Sequence
 0:26        move second child to first child (temp uint)
 0:26          'r006' (temp uint)
-0:26          floatBitsToUint (global uint)
+0:26          floatBitsToUint (temp uint)
 0:26            'inF0' (in float)
 0:27      Sequence
 0:27        move second child to first child (temp float)
 0:27          'r007' (temp float)
-0:27          intBitsToFloat (global float)
+0:27          intBitsToFloat (temp float)
 0:27            'inU0' (in uint)
 0:29      Sequence
 0:29        move second child to first child (temp float)
 0:29          'r009' (temp float)
-0:29          arc tangent (global float)
+0:29          arc tangent (temp float)
 0:29            'inF0' (in float)
 0:30      Sequence
 0:30        move second child to first child (temp float)
 0:30          'r010' (temp float)
-0:30          arc tangent (global float)
+0:30          arc tangent (temp float)
 0:30            'inF0' (in float)
 0:30            'inF1' (in float)
 0:31      Sequence
 0:31        move second child to first child (temp float)
 0:31          'r011' (temp float)
-0:31          Ceiling (global float)
+0:31          Ceiling (temp float)
 0:31            'inF0' (in float)
 0:32      Sequence
 0:32        move second child to first child (temp float)
 0:32          'r012' (temp float)
-0:32          clamp (global float)
+0:32          clamp (temp float)
 0:32            'inF0' (in float)
 0:32            'inF1' (in float)
 0:32            'inF2' (in float)
@@ -2885,132 +2885,132 @@
 0:34      Sequence
 0:34        move second child to first child (temp float)
 0:34          'r014' (temp float)
-0:34          cosine (global float)
+0:34          cosine (temp float)
 0:34            'inF0' (in float)
 0:35      Sequence
 0:35        move second child to first child (temp float)
 0:35          'r015' (temp float)
-0:35          hyp. cosine (global float)
+0:35          hyp. cosine (temp float)
 0:35            'inF0' (in float)
 0:36      Sequence
 0:36        move second child to first child (temp uint)
 0:36          'r016' (temp uint)
-0:36          bitCount (global uint)
+0:36          bitCount (temp uint)
 0:36            Constant:
 0:36              7 (const uint)
 0:37      Sequence
 0:37        move second child to first child (temp float)
 0:37          'r017' (temp float)
-0:37          dPdx (global float)
+0:37          dPdx (temp float)
 0:37            'inF0' (in float)
 0:38      Sequence
 0:38        move second child to first child (temp float)
 0:38          'r018' (temp float)
-0:38          dPdxCoarse (global float)
+0:38          dPdxCoarse (temp float)
 0:38            'inF0' (in float)
 0:39      Sequence
 0:39        move second child to first child (temp float)
 0:39          'r019' (temp float)
-0:39          dPdxFine (global float)
+0:39          dPdxFine (temp float)
 0:39            'inF0' (in float)
 0:40      Sequence
 0:40        move second child to first child (temp float)
 0:40          'r020' (temp float)
-0:40          dPdy (global float)
+0:40          dPdy (temp float)
 0:40            'inF0' (in float)
 0:41      Sequence
 0:41        move second child to first child (temp float)
 0:41          'r021' (temp float)
-0:41          dPdyCoarse (global float)
+0:41          dPdyCoarse (temp float)
 0:41            'inF0' (in float)
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r022' (temp float)
-0:42          dPdyFine (global float)
+0:42          dPdyFine (temp float)
 0:42            'inF0' (in float)
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r023' (temp float)
-0:43          degrees (global float)
+0:43          degrees (temp float)
 0:43            'inF0' (in float)
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r027' (temp float)
-0:47          exp (global float)
+0:47          exp (temp float)
 0:47            'inF0' (in float)
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r028' (temp float)
-0:48          exp2 (global float)
+0:48          exp2 (temp float)
 0:48            'inF0' (in float)
 0:49      Sequence
 0:49        move second child to first child (temp uint)
 0:49          'r029' (temp uint)
 0:49          Convert int to uint (temp uint)
-0:49            findMSB (global int)
+0:49            findMSB (temp int)
 0:49              Constant:
 0:49                7 (const int)
 0:50      Sequence
 0:50        move second child to first child (temp uint)
 0:50          'r030' (temp uint)
 0:50          Convert int to uint (temp uint)
-0:50            findLSB (global int)
+0:50            findLSB (temp int)
 0:50              Constant:
 0:50                7 (const int)
 0:51      Sequence
 0:51        move second child to first child (temp float)
 0:51          'r031' (temp float)
-0:51          Floor (global float)
+0:51          Floor (temp float)
 0:51            'inF0' (in float)
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r033' (temp float)
-0:53          mod (global float)
+0:53          mod (temp float)
 0:53            'inF0' (in float)
 0:53            'inF1' (in float)
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r034' (temp float)
-0:54          Fraction (global float)
+0:54          Fraction (temp float)
 0:54            'inF0' (in float)
 0:55      Sequence
 0:55        move second child to first child (temp float)
 0:55          'r035' (temp float)
-0:55          frexp (global float)
+0:55          frexp (temp float)
 0:55            'inF0' (in float)
 0:55            'inF1' (in float)
 0:56      Sequence
 0:56        move second child to first child (temp float)
 0:56          'r036' (temp float)
-0:56          fwidth (global float)
+0:56          fwidth (temp float)
 0:56            'inF0' (in float)
 0:57      Sequence
 0:57        move second child to first child (temp bool)
 0:57          'r037' (temp bool)
-0:57          isinf (global bool)
+0:57          isinf (temp bool)
 0:57            'inF0' (in float)
 0:58      Sequence
 0:58        move second child to first child (temp bool)
 0:58          'r038' (temp bool)
-0:58          isnan (global bool)
+0:58          isnan (temp bool)
 0:58            'inF0' (in float)
 0:59      Sequence
 0:59        move second child to first child (temp float)
 0:59          'r039' (temp float)
-0:59          ldexp (global float)
+0:59          ldexp (temp float)
 0:59            'inF0' (in float)
 0:59            'inF1' (in float)
 0:60      Sequence
 0:60        move second child to first child (temp float)
 0:60          'r039a' (temp float)
-0:60          mix (global float)
+0:60          mix (temp float)
 0:60            'inF0' (in float)
 0:60            'inF1' (in float)
 0:60            'inF2' (in float)
 0:61      Sequence
 0:61        move second child to first child (temp float)
 0:61          'r040' (temp float)
-0:61          log (global float)
+0:61          log (temp float)
 0:61            'inF0' (in float)
 0:62      Sequence
 0:62        move second child to first child (temp float)
@@ -3023,30 +3023,30 @@
 0:63      Sequence
 0:63        move second child to first child (temp float)
 0:63          'r042' (temp float)
-0:63          log2 (global float)
+0:63          log2 (temp float)
 0:63            'inF0' (in float)
 0:64      Sequence
 0:64        move second child to first child (temp float)
 0:64          'r043' (temp float)
-0:64          max (global float)
+0:64          max (temp float)
 0:64            'inF0' (in float)
 0:64            'inF1' (in float)
 0:65      Sequence
 0:65        move second child to first child (temp float)
 0:65          'r044' (temp float)
-0:65          min (global float)
+0:65          min (temp float)
 0:65            'inF0' (in float)
 0:65            'inF1' (in float)
 0:66      Sequence
 0:66        move second child to first child (temp float)
 0:66          'r045' (temp float)
-0:66          pow (global float)
+0:66          pow (temp float)
 0:66            'inF0' (in float)
 0:66            'inF1' (in float)
 0:67      Sequence
 0:67        move second child to first child (temp float)
 0:67          'r046' (temp float)
-0:67          radians (global float)
+0:67          radians (temp float)
 0:67            'inF0' (in float)
 0:68      Sequence
 0:68        move second child to first child (temp float)
@@ -3058,18 +3058,18 @@
 0:69      Sequence
 0:69        move second child to first child (temp uint)
 0:69          'r048' (temp uint)
-0:69          bitFieldReverse (global uint)
+0:69          bitFieldReverse (temp uint)
 0:69            Constant:
 0:69              2 (const uint)
 0:70      Sequence
 0:70        move second child to first child (temp float)
 0:70          'r049' (temp float)
-0:70          roundEven (global float)
+0:70          roundEven (temp float)
 0:70            'inF0' (in float)
 0:71      Sequence
 0:71        move second child to first child (temp float)
 0:71          'r050' (temp float)
-0:71          inverse sqrt (global float)
+0:71          inverse sqrt (temp float)
 0:71            'inF0' (in float)
 0:72      Sequence
 0:72        move second child to first child (temp float)
@@ -3083,12 +3083,12 @@
 0:73      Sequence
 0:73        move second child to first child (temp float)
 0:73          'r052' (temp float)
-0:73          Sign (global float)
+0:73          Sign (temp float)
 0:73            'inF0' (in float)
 0:74      Sequence
 0:74        move second child to first child (temp float)
 0:74          'r053' (temp float)
-0:74          sine (global float)
+0:74          sine (temp float)
 0:74            'inF0' (in float)
 0:75      Sequence
 0:75        move second child to first child (temp float)
@@ -3102,40 +3102,40 @@
 0:76      Sequence
 0:76        move second child to first child (temp float)
 0:76          'r055' (temp float)
-0:76          hyp. sine (global float)
+0:76          hyp. sine (temp float)
 0:76            'inF0' (in float)
 0:77      Sequence
 0:77        move second child to first child (temp float)
 0:77          'r056' (temp float)
-0:77          smoothstep (global float)
+0:77          smoothstep (temp float)
 0:77            'inF0' (in float)
 0:77            'inF1' (in float)
 0:77            'inF2' (in float)
 0:78      Sequence
 0:78        move second child to first child (temp float)
 0:78          'r057' (temp float)
-0:78          sqrt (global float)
+0:78          sqrt (temp float)
 0:78            'inF0' (in float)
 0:79      Sequence
 0:79        move second child to first child (temp float)
 0:79          'r058' (temp float)
-0:79          step (global float)
+0:79          step (temp float)
 0:79            'inF0' (in float)
 0:79            'inF1' (in float)
 0:80      Sequence
 0:80        move second child to first child (temp float)
 0:80          'r059' (temp float)
-0:80          tangent (global float)
+0:80          tangent (temp float)
 0:80            'inF0' (in float)
 0:81      Sequence
 0:81        move second child to first child (temp float)
 0:81          'r060' (temp float)
-0:81          hyp. tangent (global float)
+0:81          hyp. tangent (temp float)
 0:81            'inF0' (in float)
 0:83      Sequence
 0:83        move second child to first child (temp float)
 0:83          'r061' (temp float)
-0:83          trunc (global float)
+0:83          trunc (temp float)
 0:83            'inF0' (in float)
 0:85      Branch: Return with expression
 0:85        Constant:
@@ -3160,63 +3160,63 @@
 0:98      Sequence
 0:98        move second child to first child (temp bool)
 0:98          'r000' (temp bool)
-0:98          all (global bool)
+0:98          all (temp bool)
 0:98            'inF0' (in 2-component vector of float)
 0:99      Sequence
 0:99        move second child to first child (temp 2-component vector of float)
 0:99          'r001' (temp 2-component vector of float)
-0:99          Absolute value (global 2-component vector of float)
+0:99          Absolute value (temp 2-component vector of float)
 0:99            'inF0' (in 2-component vector of float)
 0:100      Sequence
 0:100        move second child to first child (temp 2-component vector of float)
 0:100          'r002' (temp 2-component vector of float)
-0:100          arc cosine (global 2-component vector of float)
+0:100          arc cosine (temp 2-component vector of float)
 0:100            'inF0' (in 2-component vector of float)
 0:101      Sequence
 0:101        move second child to first child (temp bool)
 0:101          'r003' (temp bool)
-0:101          any (global bool)
+0:101          any (temp bool)
 0:101            'inF0' (in 2-component vector of float)
 0:102      Sequence
 0:102        move second child to first child (temp 2-component vector of float)
 0:102          'r004' (temp 2-component vector of float)
-0:102          arc sine (global 2-component vector of float)
+0:102          arc sine (temp 2-component vector of float)
 0:102            'inF0' (in 2-component vector of float)
 0:103      Sequence
 0:103        move second child to first child (temp 2-component vector of int)
 0:103          'r005' (temp 2-component vector of int)
-0:103          floatBitsToInt (global 2-component vector of int)
+0:103          floatBitsToInt (temp 2-component vector of int)
 0:103            'inF0' (in 2-component vector of float)
 0:104      Sequence
 0:104        move second child to first child (temp 2-component vector of uint)
 0:104          'r006' (temp 2-component vector of uint)
-0:104          floatBitsToUint (global 2-component vector of uint)
+0:104          floatBitsToUint (temp 2-component vector of uint)
 0:104            'inF0' (in 2-component vector of float)
 0:105      Sequence
 0:105        move second child to first child (temp 2-component vector of float)
 0:105          'r007' (temp 2-component vector of float)
-0:105          intBitsToFloat (global 2-component vector of float)
+0:105          intBitsToFloat (temp 2-component vector of float)
 0:105            'inU0' (in 2-component vector of uint)
 0:107      Sequence
 0:107        move second child to first child (temp 2-component vector of float)
 0:107          'r009' (temp 2-component vector of float)
-0:107          arc tangent (global 2-component vector of float)
+0:107          arc tangent (temp 2-component vector of float)
 0:107            'inF0' (in 2-component vector of float)
 0:108      Sequence
 0:108        move second child to first child (temp 2-component vector of float)
 0:108          'r010' (temp 2-component vector of float)
-0:108          arc tangent (global 2-component vector of float)
+0:108          arc tangent (temp 2-component vector of float)
 0:108            'inF0' (in 2-component vector of float)
 0:108            'inF1' (in 2-component vector of float)
 0:109      Sequence
 0:109        move second child to first child (temp 2-component vector of float)
 0:109          'r011' (temp 2-component vector of float)
-0:109          Ceiling (global 2-component vector of float)
+0:109          Ceiling (temp 2-component vector of float)
 0:109            'inF0' (in 2-component vector of float)
 0:110      Sequence
 0:110        move second child to first child (temp 2-component vector of float)
 0:110          'r012' (temp 2-component vector of float)
-0:110          clamp (global 2-component vector of float)
+0:110          clamp (temp 2-component vector of float)
 0:110            'inF0' (in 2-component vector of float)
 0:110            'inF1' (in 2-component vector of float)
 0:110            'inF2' (in 2-component vector of float)
@@ -3233,157 +3233,157 @@
 0:112      Sequence
 0:112        move second child to first child (temp 2-component vector of float)
 0:112          'r013' (temp 2-component vector of float)
-0:112          cosine (global 2-component vector of float)
+0:112          cosine (temp 2-component vector of float)
 0:112            'inF0' (in 2-component vector of float)
 0:113      Sequence
 0:113        move second child to first child (temp 2-component vector of float)
 0:113          'r015' (temp 2-component vector of float)
-0:113          hyp. cosine (global 2-component vector of float)
+0:113          hyp. cosine (temp 2-component vector of float)
 0:113            'inF0' (in 2-component vector of float)
 0:114      Sequence
 0:114        move second child to first child (temp 2-component vector of uint)
 0:114          'r016' (temp 2-component vector of uint)
-0:?           bitCount (global 2-component vector of uint)
+0:?           bitCount (temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
 0:115      Sequence
 0:115        move second child to first child (temp 2-component vector of float)
 0:115          'r017' (temp 2-component vector of float)
-0:115          dPdx (global 2-component vector of float)
+0:115          dPdx (temp 2-component vector of float)
 0:115            'inF0' (in 2-component vector of float)
 0:116      Sequence
 0:116        move second child to first child (temp 2-component vector of float)
 0:116          'r018' (temp 2-component vector of float)
-0:116          dPdxCoarse (global 2-component vector of float)
+0:116          dPdxCoarse (temp 2-component vector of float)
 0:116            'inF0' (in 2-component vector of float)
 0:117      Sequence
 0:117        move second child to first child (temp 2-component vector of float)
 0:117          'r019' (temp 2-component vector of float)
-0:117          dPdxFine (global 2-component vector of float)
+0:117          dPdxFine (temp 2-component vector of float)
 0:117            'inF0' (in 2-component vector of float)
 0:118      Sequence
 0:118        move second child to first child (temp 2-component vector of float)
 0:118          'r020' (temp 2-component vector of float)
-0:118          dPdy (global 2-component vector of float)
+0:118          dPdy (temp 2-component vector of float)
 0:118            'inF0' (in 2-component vector of float)
 0:119      Sequence
 0:119        move second child to first child (temp 2-component vector of float)
 0:119          'r021' (temp 2-component vector of float)
-0:119          dPdyCoarse (global 2-component vector of float)
+0:119          dPdyCoarse (temp 2-component vector of float)
 0:119            'inF0' (in 2-component vector of float)
 0:120      Sequence
 0:120        move second child to first child (temp 2-component vector of float)
 0:120          'r022' (temp 2-component vector of float)
-0:120          dPdyFine (global 2-component vector of float)
+0:120          dPdyFine (temp 2-component vector of float)
 0:120            'inF0' (in 2-component vector of float)
 0:121      Sequence
 0:121        move second child to first child (temp 2-component vector of float)
 0:121          'r023' (temp 2-component vector of float)
-0:121          degrees (global 2-component vector of float)
+0:121          degrees (temp 2-component vector of float)
 0:121            'inF0' (in 2-component vector of float)
 0:125      Sequence
 0:125        move second child to first child (temp float)
 0:125          'r026' (temp float)
-0:125          distance (global float)
+0:125          distance (temp float)
 0:125            'inF0' (in 2-component vector of float)
 0:125            'inF1' (in 2-component vector of float)
 0:126      Sequence
 0:126        move second child to first child (temp float)
 0:126          'r027' (temp float)
-0:126          dot-product (global float)
+0:126          dot-product (temp float)
 0:126            'inF0' (in 2-component vector of float)
 0:126            'inF1' (in 2-component vector of float)
 0:130      Sequence
 0:130        move second child to first child (temp 2-component vector of float)
 0:130          'r028' (temp 2-component vector of float)
-0:130          exp (global 2-component vector of float)
+0:130          exp (temp 2-component vector of float)
 0:130            'inF0' (in 2-component vector of float)
 0:131      Sequence
 0:131        move second child to first child (temp 2-component vector of float)
 0:131          'r029' (temp 2-component vector of float)
-0:131          exp2 (global 2-component vector of float)
+0:131          exp2 (temp 2-component vector of float)
 0:131            'inF0' (in 2-component vector of float)
 0:132      Sequence
 0:132        move second child to first child (temp 2-component vector of float)
 0:132          'r030' (temp 2-component vector of float)
-0:132          face-forward (global 2-component vector of float)
+0:132          face-forward (temp 2-component vector of float)
 0:132            'inF0' (in 2-component vector of float)
 0:132            'inF1' (in 2-component vector of float)
 0:132            'inF2' (in 2-component vector of float)
 0:133      Sequence
 0:133        move second child to first child (temp 2-component vector of uint)
 0:133          'r031' (temp 2-component vector of uint)
-0:?           findMSB (global 2-component vector of uint)
+0:?           findMSB (temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:134      Sequence
 0:134        move second child to first child (temp 2-component vector of uint)
 0:134          'r032' (temp 2-component vector of uint)
-0:?           findLSB (global 2-component vector of uint)
+0:?           findLSB (temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:135      Sequence
 0:135        move second child to first child (temp 2-component vector of float)
 0:135          'r033' (temp 2-component vector of float)
-0:135          Floor (global 2-component vector of float)
+0:135          Floor (temp 2-component vector of float)
 0:135            'inF0' (in 2-component vector of float)
 0:137      Sequence
 0:137        move second child to first child (temp 2-component vector of float)
 0:137          'r035' (temp 2-component vector of float)
-0:137          mod (global 2-component vector of float)
+0:137          mod (temp 2-component vector of float)
 0:137            'inF0' (in 2-component vector of float)
 0:137            'inF1' (in 2-component vector of float)
 0:138      Sequence
 0:138        move second child to first child (temp 2-component vector of float)
 0:138          'r036' (temp 2-component vector of float)
-0:138          Fraction (global 2-component vector of float)
+0:138          Fraction (temp 2-component vector of float)
 0:138            'inF0' (in 2-component vector of float)
 0:139      Sequence
 0:139        move second child to first child (temp 2-component vector of float)
 0:139          'r037' (temp 2-component vector of float)
-0:139          frexp (global 2-component vector of float)
+0:139          frexp (temp 2-component vector of float)
 0:139            'inF0' (in 2-component vector of float)
 0:139            'inF1' (in 2-component vector of float)
 0:140      Sequence
 0:140        move second child to first child (temp 2-component vector of float)
 0:140          'r038' (temp 2-component vector of float)
-0:140          fwidth (global 2-component vector of float)
+0:140          fwidth (temp 2-component vector of float)
 0:140            'inF0' (in 2-component vector of float)
 0:141      Sequence
 0:141        move second child to first child (temp 2-component vector of bool)
 0:141          'r039' (temp 2-component vector of bool)
-0:141          isinf (global 2-component vector of bool)
+0:141          isinf (temp 2-component vector of bool)
 0:141            'inF0' (in 2-component vector of float)
 0:142      Sequence
 0:142        move second child to first child (temp 2-component vector of bool)
 0:142          'r040' (temp 2-component vector of bool)
-0:142          isnan (global 2-component vector of bool)
+0:142          isnan (temp 2-component vector of bool)
 0:142            'inF0' (in 2-component vector of float)
 0:143      Sequence
 0:143        move second child to first child (temp 2-component vector of float)
 0:143          'r041' (temp 2-component vector of float)
-0:143          ldexp (global 2-component vector of float)
+0:143          ldexp (temp 2-component vector of float)
 0:143            'inF0' (in 2-component vector of float)
 0:143            'inF1' (in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child (temp 2-component vector of float)
 0:144          'r039a' (temp 2-component vector of float)
-0:144          mix (global 2-component vector of float)
+0:144          mix (temp 2-component vector of float)
 0:144            'inF0' (in 2-component vector of float)
 0:144            'inF1' (in 2-component vector of float)
 0:144            'inF2' (in 2-component vector of float)
 0:145      Sequence
 0:145        move second child to first child (temp float)
 0:145          'r042' (temp float)
-0:145          length (global float)
+0:145          length (temp float)
 0:145            'inF0' (in 2-component vector of float)
 0:146      Sequence
 0:146        move second child to first child (temp 2-component vector of float)
 0:146          'r043' (temp 2-component vector of float)
-0:146          log (global 2-component vector of float)
+0:146          log (temp 2-component vector of float)
 0:146            'inF0' (in 2-component vector of float)
 0:147      Sequence
 0:147        move second child to first child (temp 2-component vector of float)
@@ -3396,35 +3396,35 @@
 0:148      Sequence
 0:148        move second child to first child (temp 2-component vector of float)
 0:148          'r045' (temp 2-component vector of float)
-0:148          log2 (global 2-component vector of float)
+0:148          log2 (temp 2-component vector of float)
 0:148            'inF0' (in 2-component vector of float)
 0:149      Sequence
 0:149        move second child to first child (temp 2-component vector of float)
 0:149          'r046' (temp 2-component vector of float)
-0:149          max (global 2-component vector of float)
+0:149          max (temp 2-component vector of float)
 0:149            'inF0' (in 2-component vector of float)
 0:149            'inF1' (in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child (temp 2-component vector of float)
 0:150          'r047' (temp 2-component vector of float)
-0:150          min (global 2-component vector of float)
+0:150          min (temp 2-component vector of float)
 0:150            'inF0' (in 2-component vector of float)
 0:150            'inF1' (in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child (temp 2-component vector of float)
 0:151          'r048' (temp 2-component vector of float)
-0:151          normalize (global 2-component vector of float)
+0:151          normalize (temp 2-component vector of float)
 0:151            'inF0' (in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child (temp 2-component vector of float)
 0:152          'r049' (temp 2-component vector of float)
-0:152          pow (global 2-component vector of float)
+0:152          pow (temp 2-component vector of float)
 0:152            'inF0' (in 2-component vector of float)
 0:152            'inF1' (in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child (temp 2-component vector of float)
 0:153          'r050' (temp 2-component vector of float)
-0:153          radians (global 2-component vector of float)
+0:153          radians (temp 2-component vector of float)
 0:153            'inF0' (in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child (temp 2-component vector of float)
@@ -3436,13 +3436,13 @@
 0:155      Sequence
 0:155        move second child to first child (temp 2-component vector of float)
 0:155          'r052' (temp 2-component vector of float)
-0:155          reflect (global 2-component vector of float)
+0:155          reflect (temp 2-component vector of float)
 0:155            'inF0' (in 2-component vector of float)
 0:155            'inF1' (in 2-component vector of float)
 0:156      Sequence
 0:156        move second child to first child (temp 2-component vector of float)
 0:156          'r053' (temp 2-component vector of float)
-0:156          refract (global 2-component vector of float)
+0:156          refract (temp 2-component vector of float)
 0:156            'inF0' (in 2-component vector of float)
 0:156            'inF1' (in 2-component vector of float)
 0:156            Constant:
@@ -3450,19 +3450,19 @@
 0:157      Sequence
 0:157        move second child to first child (temp 2-component vector of uint)
 0:157          'r054' (temp 2-component vector of uint)
-0:?           bitFieldReverse (global 2-component vector of uint)
+0:?           bitFieldReverse (temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:158      Sequence
 0:158        move second child to first child (temp 2-component vector of float)
 0:158          'r055' (temp 2-component vector of float)
-0:158          roundEven (global 2-component vector of float)
+0:158          roundEven (temp 2-component vector of float)
 0:158            'inF0' (in 2-component vector of float)
 0:159      Sequence
 0:159        move second child to first child (temp 2-component vector of float)
 0:159          'r056' (temp 2-component vector of float)
-0:159          inverse sqrt (global 2-component vector of float)
+0:159          inverse sqrt (temp 2-component vector of float)
 0:159            'inF0' (in 2-component vector of float)
 0:160      Sequence
 0:160        move second child to first child (temp 2-component vector of float)
@@ -3476,12 +3476,12 @@
 0:161      Sequence
 0:161        move second child to first child (temp 2-component vector of float)
 0:161          'r058' (temp 2-component vector of float)
-0:161          Sign (global 2-component vector of float)
+0:161          Sign (temp 2-component vector of float)
 0:161            'inF0' (in 2-component vector of float)
 0:162      Sequence
 0:162        move second child to first child (temp 2-component vector of float)
 0:162          'r059' (temp 2-component vector of float)
-0:162          sine (global 2-component vector of float)
+0:162          sine (temp 2-component vector of float)
 0:162            'inF0' (in 2-component vector of float)
 0:163      Sequence
 0:163        move second child to first child (temp 2-component vector of float)
@@ -3495,40 +3495,40 @@
 0:164      Sequence
 0:164        move second child to first child (temp 2-component vector of float)
 0:164          'r060' (temp 2-component vector of float)
-0:164          hyp. sine (global 2-component vector of float)
+0:164          hyp. sine (temp 2-component vector of float)
 0:164            'inF0' (in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child (temp 2-component vector of float)
 0:165          'r061' (temp 2-component vector of float)
-0:165          smoothstep (global 2-component vector of float)
+0:165          smoothstep (temp 2-component vector of float)
 0:165            'inF0' (in 2-component vector of float)
 0:165            'inF1' (in 2-component vector of float)
 0:165            'inF2' (in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child (temp 2-component vector of float)
 0:166          'r062' (temp 2-component vector of float)
-0:166          sqrt (global 2-component vector of float)
+0:166          sqrt (temp 2-component vector of float)
 0:166            'inF0' (in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child (temp 2-component vector of float)
 0:167          'r063' (temp 2-component vector of float)
-0:167          step (global 2-component vector of float)
+0:167          step (temp 2-component vector of float)
 0:167            'inF0' (in 2-component vector of float)
 0:167            'inF1' (in 2-component vector of float)
 0:168      Sequence
 0:168        move second child to first child (temp 2-component vector of float)
 0:168          'r064' (temp 2-component vector of float)
-0:168          tangent (global 2-component vector of float)
+0:168          tangent (temp 2-component vector of float)
 0:168            'inF0' (in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child (temp 2-component vector of float)
 0:169          'r065' (temp 2-component vector of float)
-0:169          hyp. tangent (global 2-component vector of float)
+0:169          hyp. tangent (temp 2-component vector of float)
 0:169            'inF0' (in 2-component vector of float)
 0:171      Sequence
 0:171        move second child to first child (temp 2-component vector of float)
 0:171          'r066' (temp 2-component vector of float)
-0:171          trunc (global 2-component vector of float)
+0:171          trunc (temp 2-component vector of float)
 0:171            'inF0' (in 2-component vector of float)
 0:174      Branch: Return with expression
 0:?         Constant:
@@ -3545,63 +3545,63 @@
 0:181      Sequence
 0:181        move second child to first child (temp bool)
 0:181          'r000' (temp bool)
-0:181          all (global bool)
+0:181          all (temp bool)
 0:181            'inF0' (in 3-component vector of float)
 0:182      Sequence
 0:182        move second child to first child (temp 3-component vector of float)
 0:182          'r001' (temp 3-component vector of float)
-0:182          Absolute value (global 3-component vector of float)
+0:182          Absolute value (temp 3-component vector of float)
 0:182            'inF0' (in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child (temp 3-component vector of float)
 0:183          'r002' (temp 3-component vector of float)
-0:183          arc cosine (global 3-component vector of float)
+0:183          arc cosine (temp 3-component vector of float)
 0:183            'inF0' (in 3-component vector of float)
 0:184      Sequence
 0:184        move second child to first child (temp bool)
 0:184          'r003' (temp bool)
-0:184          any (global bool)
+0:184          any (temp bool)
 0:184            'inF0' (in 3-component vector of float)
 0:185      Sequence
 0:185        move second child to first child (temp 3-component vector of float)
 0:185          'r004' (temp 3-component vector of float)
-0:185          arc sine (global 3-component vector of float)
+0:185          arc sine (temp 3-component vector of float)
 0:185            'inF0' (in 3-component vector of float)
 0:186      Sequence
 0:186        move second child to first child (temp 3-component vector of int)
 0:186          'r005' (temp 3-component vector of int)
-0:186          floatBitsToInt (global 3-component vector of int)
+0:186          floatBitsToInt (temp 3-component vector of int)
 0:186            'inF0' (in 3-component vector of float)
 0:187      Sequence
 0:187        move second child to first child (temp 3-component vector of uint)
 0:187          'r006' (temp 3-component vector of uint)
-0:187          floatBitsToUint (global 3-component vector of uint)
+0:187          floatBitsToUint (temp 3-component vector of uint)
 0:187            'inF0' (in 3-component vector of float)
 0:188      Sequence
 0:188        move second child to first child (temp 3-component vector of float)
 0:188          'r007' (temp 3-component vector of float)
-0:188          intBitsToFloat (global 3-component vector of float)
+0:188          intBitsToFloat (temp 3-component vector of float)
 0:188            'inU0' (in 3-component vector of uint)
 0:190      Sequence
 0:190        move second child to first child (temp 3-component vector of float)
 0:190          'r009' (temp 3-component vector of float)
-0:190          arc tangent (global 3-component vector of float)
+0:190          arc tangent (temp 3-component vector of float)
 0:190            'inF0' (in 3-component vector of float)
 0:191      Sequence
 0:191        move second child to first child (temp 3-component vector of float)
 0:191          'r010' (temp 3-component vector of float)
-0:191          arc tangent (global 3-component vector of float)
+0:191          arc tangent (temp 3-component vector of float)
 0:191            'inF0' (in 3-component vector of float)
 0:191            'inF1' (in 3-component vector of float)
 0:192      Sequence
 0:192        move second child to first child (temp 3-component vector of float)
 0:192          'r011' (temp 3-component vector of float)
-0:192          Ceiling (global 3-component vector of float)
+0:192          Ceiling (temp 3-component vector of float)
 0:192            'inF0' (in 3-component vector of float)
 0:193      Sequence
 0:193        move second child to first child (temp 3-component vector of float)
 0:193          'r012' (temp 3-component vector of float)
-0:193          clamp (global 3-component vector of float)
+0:193          clamp (temp 3-component vector of float)
 0:193            'inF0' (in 3-component vector of float)
 0:193            'inF1' (in 3-component vector of float)
 0:193            'inF2' (in 3-component vector of float)
@@ -3619,17 +3619,17 @@
 0:195      Sequence
 0:195        move second child to first child (temp 3-component vector of float)
 0:195          'r013' (temp 3-component vector of float)
-0:195          cosine (global 3-component vector of float)
+0:195          cosine (temp 3-component vector of float)
 0:195            'inF0' (in 3-component vector of float)
 0:196      Sequence
 0:196        move second child to first child (temp 3-component vector of float)
 0:196          'r014' (temp 3-component vector of float)
-0:196          hyp. cosine (global 3-component vector of float)
+0:196          hyp. cosine (temp 3-component vector of float)
 0:196            'inF0' (in 3-component vector of float)
 0:197      Sequence
 0:197        move second child to first child (temp 3-component vector of uint)
 0:197          'r015' (temp 3-component vector of uint)
-0:?           bitCount (global 3-component vector of uint)
+0:?           bitCount (temp 3-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
@@ -3637,77 +3637,77 @@
 0:198      Sequence
 0:198        move second child to first child (temp 3-component vector of float)
 0:198          'r016' (temp 3-component vector of float)
-0:198          cross-product (global 3-component vector of float)
+0:198          cross-product (temp 3-component vector of float)
 0:198            'inF0' (in 3-component vector of float)
 0:198            'inF1' (in 3-component vector of float)
 0:199      Sequence
 0:199        move second child to first child (temp 3-component vector of float)
 0:199          'r017' (temp 3-component vector of float)
-0:199          dPdx (global 3-component vector of float)
+0:199          dPdx (temp 3-component vector of float)
 0:199            'inF0' (in 3-component vector of float)
 0:200      Sequence
 0:200        move second child to first child (temp 3-component vector of float)
 0:200          'r018' (temp 3-component vector of float)
-0:200          dPdxCoarse (global 3-component vector of float)
+0:200          dPdxCoarse (temp 3-component vector of float)
 0:200            'inF0' (in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child (temp 3-component vector of float)
 0:201          'r019' (temp 3-component vector of float)
-0:201          dPdxFine (global 3-component vector of float)
+0:201          dPdxFine (temp 3-component vector of float)
 0:201            'inF0' (in 3-component vector of float)
 0:202      Sequence
 0:202        move second child to first child (temp 3-component vector of float)
 0:202          'r020' (temp 3-component vector of float)
-0:202          dPdy (global 3-component vector of float)
+0:202          dPdy (temp 3-component vector of float)
 0:202            'inF0' (in 3-component vector of float)
 0:203      Sequence
 0:203        move second child to first child (temp 3-component vector of float)
 0:203          'r021' (temp 3-component vector of float)
-0:203          dPdyCoarse (global 3-component vector of float)
+0:203          dPdyCoarse (temp 3-component vector of float)
 0:203            'inF0' (in 3-component vector of float)
 0:204      Sequence
 0:204        move second child to first child (temp 3-component vector of float)
 0:204          'r022' (temp 3-component vector of float)
-0:204          dPdyFine (global 3-component vector of float)
+0:204          dPdyFine (temp 3-component vector of float)
 0:204            'inF0' (in 3-component vector of float)
 0:205      Sequence
 0:205        move second child to first child (temp 3-component vector of float)
 0:205          'r023' (temp 3-component vector of float)
-0:205          degrees (global 3-component vector of float)
+0:205          degrees (temp 3-component vector of float)
 0:205            'inF0' (in 3-component vector of float)
 0:206      Sequence
 0:206        move second child to first child (temp float)
 0:206          'r024' (temp float)
-0:206          distance (global float)
+0:206          distance (temp float)
 0:206            'inF0' (in 3-component vector of float)
 0:206            'inF1' (in 3-component vector of float)
 0:207      Sequence
 0:207        move second child to first child (temp float)
 0:207          'r025' (temp float)
-0:207          dot-product (global float)
+0:207          dot-product (temp float)
 0:207            'inF0' (in 3-component vector of float)
 0:207            'inF1' (in 3-component vector of float)
 0:211      Sequence
 0:211        move second child to first child (temp 3-component vector of float)
 0:211          'r029' (temp 3-component vector of float)
-0:211          exp (global 3-component vector of float)
+0:211          exp (temp 3-component vector of float)
 0:211            'inF0' (in 3-component vector of float)
 0:212      Sequence
 0:212        move second child to first child (temp 3-component vector of float)
 0:212          'r030' (temp 3-component vector of float)
-0:212          exp2 (global 3-component vector of float)
+0:212          exp2 (temp 3-component vector of float)
 0:212            'inF0' (in 3-component vector of float)
 0:213      Sequence
 0:213        move second child to first child (temp 3-component vector of float)
 0:213          'r031' (temp 3-component vector of float)
-0:213          face-forward (global 3-component vector of float)
+0:213          face-forward (temp 3-component vector of float)
 0:213            'inF0' (in 3-component vector of float)
 0:213            'inF1' (in 3-component vector of float)
 0:213            'inF2' (in 3-component vector of float)
 0:214      Sequence
 0:214        move second child to first child (temp 3-component vector of uint)
 0:214          'r032' (temp 3-component vector of uint)
-0:?           findMSB (global 3-component vector of uint)
+0:?           findMSB (temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
@@ -3715,7 +3715,7 @@
 0:215      Sequence
 0:215        move second child to first child (temp 3-component vector of uint)
 0:215          'r033' (temp 3-component vector of uint)
-0:?           findLSB (global 3-component vector of uint)
+0:?           findLSB (temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
@@ -3723,57 +3723,57 @@
 0:216      Sequence
 0:216        move second child to first child (temp 3-component vector of float)
 0:216          'r034' (temp 3-component vector of float)
-0:216          Floor (global 3-component vector of float)
+0:216          Floor (temp 3-component vector of float)
 0:216            'inF0' (in 3-component vector of float)
 0:218      Sequence
 0:218        move second child to first child (temp 3-component vector of float)
 0:218          'r036' (temp 3-component vector of float)
-0:218          mod (global 3-component vector of float)
+0:218          mod (temp 3-component vector of float)
 0:218            'inF0' (in 3-component vector of float)
 0:218            'inF1' (in 3-component vector of float)
 0:219      Sequence
 0:219        move second child to first child (temp 3-component vector of float)
 0:219          'r037' (temp 3-component vector of float)
-0:219          Fraction (global 3-component vector of float)
+0:219          Fraction (temp 3-component vector of float)
 0:219            'inF0' (in 3-component vector of float)
 0:220      Sequence
 0:220        move second child to first child (temp 3-component vector of float)
 0:220          'r038' (temp 3-component vector of float)
-0:220          frexp (global 3-component vector of float)
+0:220          frexp (temp 3-component vector of float)
 0:220            'inF0' (in 3-component vector of float)
 0:220            'inF1' (in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child (temp 3-component vector of float)
 0:221          'r039' (temp 3-component vector of float)
-0:221          fwidth (global 3-component vector of float)
+0:221          fwidth (temp 3-component vector of float)
 0:221            'inF0' (in 3-component vector of float)
 0:222      Sequence
 0:222        move second child to first child (temp 3-component vector of bool)
 0:222          'r040' (temp 3-component vector of bool)
-0:222          isinf (global 3-component vector of bool)
+0:222          isinf (temp 3-component vector of bool)
 0:222            'inF0' (in 3-component vector of float)
 0:223      Sequence
 0:223        move second child to first child (temp 3-component vector of bool)
 0:223          'r041' (temp 3-component vector of bool)
-0:223          isnan (global 3-component vector of bool)
+0:223          isnan (temp 3-component vector of bool)
 0:223            'inF0' (in 3-component vector of float)
 0:224      Sequence
 0:224        move second child to first child (temp 3-component vector of float)
 0:224          'r042' (temp 3-component vector of float)
-0:224          ldexp (global 3-component vector of float)
+0:224          ldexp (temp 3-component vector of float)
 0:224            'inF0' (in 3-component vector of float)
 0:224            'inF1' (in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child (temp 3-component vector of float)
 0:225          'r039a' (temp 3-component vector of float)
-0:225          mix (global 3-component vector of float)
+0:225          mix (temp 3-component vector of float)
 0:225            'inF0' (in 3-component vector of float)
 0:225            'inF1' (in 3-component vector of float)
 0:225            'inF2' (in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child (temp 3-component vector of float)
 0:226          'r039b' (temp 3-component vector of float)
-0:226          mix (global 3-component vector of float)
+0:226          mix (temp 3-component vector of float)
 0:226            'inF0' (in 3-component vector of float)
 0:226            'inF1' (in 3-component vector of float)
 0:226            Constant:
@@ -3781,12 +3781,12 @@
 0:227      Sequence
 0:227        move second child to first child (temp float)
 0:227          'r043' (temp float)
-0:227          length (global float)
+0:227          length (temp float)
 0:227            'inF0' (in 3-component vector of float)
 0:228      Sequence
 0:228        move second child to first child (temp 3-component vector of float)
 0:228          'r044' (temp 3-component vector of float)
-0:228          log (global 3-component vector of float)
+0:228          log (temp 3-component vector of float)
 0:228            'inF0' (in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child (temp 3-component vector of float)
@@ -3799,35 +3799,35 @@
 0:230      Sequence
 0:230        move second child to first child (temp 3-component vector of float)
 0:230          'r046' (temp 3-component vector of float)
-0:230          log2 (global 3-component vector of float)
+0:230          log2 (temp 3-component vector of float)
 0:230            'inF0' (in 3-component vector of float)
 0:231      Sequence
 0:231        move second child to first child (temp 3-component vector of float)
 0:231          'r047' (temp 3-component vector of float)
-0:231          max (global 3-component vector of float)
+0:231          max (temp 3-component vector of float)
 0:231            'inF0' (in 3-component vector of float)
 0:231            'inF1' (in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child (temp 3-component vector of float)
 0:232          'r048' (temp 3-component vector of float)
-0:232          min (global 3-component vector of float)
+0:232          min (temp 3-component vector of float)
 0:232            'inF0' (in 3-component vector of float)
 0:232            'inF1' (in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child (temp 3-component vector of float)
 0:233          'r049' (temp 3-component vector of float)
-0:233          normalize (global 3-component vector of float)
+0:233          normalize (temp 3-component vector of float)
 0:233            'inF0' (in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child (temp 3-component vector of float)
 0:234          'r050' (temp 3-component vector of float)
-0:234          pow (global 3-component vector of float)
+0:234          pow (temp 3-component vector of float)
 0:234            'inF0' (in 3-component vector of float)
 0:234            'inF1' (in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child (temp 3-component vector of float)
 0:235          'r051' (temp 3-component vector of float)
-0:235          radians (global 3-component vector of float)
+0:235          radians (temp 3-component vector of float)
 0:235            'inF0' (in 3-component vector of float)
 0:236      Sequence
 0:236        move second child to first child (temp 3-component vector of float)
@@ -3839,13 +3839,13 @@
 0:237      Sequence
 0:237        move second child to first child (temp 3-component vector of float)
 0:237          'r053' (temp 3-component vector of float)
-0:237          reflect (global 3-component vector of float)
+0:237          reflect (temp 3-component vector of float)
 0:237            'inF0' (in 3-component vector of float)
 0:237            'inF1' (in 3-component vector of float)
 0:238      Sequence
 0:238        move second child to first child (temp 3-component vector of float)
 0:238          'r054' (temp 3-component vector of float)
-0:238          refract (global 3-component vector of float)
+0:238          refract (temp 3-component vector of float)
 0:238            'inF0' (in 3-component vector of float)
 0:238            'inF1' (in 3-component vector of float)
 0:238            Constant:
@@ -3853,7 +3853,7 @@
 0:239      Sequence
 0:239        move second child to first child (temp 3-component vector of uint)
 0:239          'r055' (temp 3-component vector of uint)
-0:?           bitFieldReverse (global 3-component vector of uint)
+0:?           bitFieldReverse (temp 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
@@ -3861,12 +3861,12 @@
 0:240      Sequence
 0:240        move second child to first child (temp 3-component vector of float)
 0:240          'r056' (temp 3-component vector of float)
-0:240          roundEven (global 3-component vector of float)
+0:240          roundEven (temp 3-component vector of float)
 0:240            'inF0' (in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child (temp 3-component vector of float)
 0:241          'r057' (temp 3-component vector of float)
-0:241          inverse sqrt (global 3-component vector of float)
+0:241          inverse sqrt (temp 3-component vector of float)
 0:241            'inF0' (in 3-component vector of float)
 0:242      Sequence
 0:242        move second child to first child (temp 3-component vector of float)
@@ -3880,12 +3880,12 @@
 0:243      Sequence
 0:243        move second child to first child (temp 3-component vector of float)
 0:243          'r059' (temp 3-component vector of float)
-0:243          Sign (global 3-component vector of float)
+0:243          Sign (temp 3-component vector of float)
 0:243            'inF0' (in 3-component vector of float)
 0:244      Sequence
 0:244        move second child to first child (temp 3-component vector of float)
 0:244          'r060' (temp 3-component vector of float)
-0:244          sine (global 3-component vector of float)
+0:244          sine (temp 3-component vector of float)
 0:244            'inF0' (in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child (temp 3-component vector of float)
@@ -3899,40 +3899,40 @@
 0:246      Sequence
 0:246        move second child to first child (temp 3-component vector of float)
 0:246          'r061' (temp 3-component vector of float)
-0:246          hyp. sine (global 3-component vector of float)
+0:246          hyp. sine (temp 3-component vector of float)
 0:246            'inF0' (in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child (temp 3-component vector of float)
 0:247          'r062' (temp 3-component vector of float)
-0:247          smoothstep (global 3-component vector of float)
+0:247          smoothstep (temp 3-component vector of float)
 0:247            'inF0' (in 3-component vector of float)
 0:247            'inF1' (in 3-component vector of float)
 0:247            'inF2' (in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child (temp 3-component vector of float)
 0:248          'r063' (temp 3-component vector of float)
-0:248          sqrt (global 3-component vector of float)
+0:248          sqrt (temp 3-component vector of float)
 0:248            'inF0' (in 3-component vector of float)
 0:249      Sequence
 0:249        move second child to first child (temp 3-component vector of float)
 0:249          'r064' (temp 3-component vector of float)
-0:249          step (global 3-component vector of float)
+0:249          step (temp 3-component vector of float)
 0:249            'inF0' (in 3-component vector of float)
 0:249            'inF1' (in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child (temp 3-component vector of float)
 0:250          'r065' (temp 3-component vector of float)
-0:250          tangent (global 3-component vector of float)
+0:250          tangent (temp 3-component vector of float)
 0:250            'inF0' (in 3-component vector of float)
 0:251      Sequence
 0:251        move second child to first child (temp 3-component vector of float)
 0:251          'r066' (temp 3-component vector of float)
-0:251          hyp. tangent (global 3-component vector of float)
+0:251          hyp. tangent (temp 3-component vector of float)
 0:251            'inF0' (in 3-component vector of float)
 0:253      Sequence
 0:253        move second child to first child (temp 3-component vector of float)
 0:253          'r067' (temp 3-component vector of float)
-0:253          trunc (global 3-component vector of float)
+0:253          trunc (temp 3-component vector of float)
 0:253            'inF0' (in 3-component vector of float)
 0:256      Branch: Return with expression
 0:?         Constant:
@@ -3950,63 +3950,63 @@
 0:263      Sequence
 0:263        move second child to first child (temp bool)
 0:263          'r000' (temp bool)
-0:263          all (global bool)
+0:263          all (temp bool)
 0:263            'inF0' (in 4-component vector of float)
 0:264      Sequence
 0:264        move second child to first child (temp 4-component vector of float)
 0:264          'r001' (temp 4-component vector of float)
-0:264          Absolute value (global 4-component vector of float)
+0:264          Absolute value (temp 4-component vector of float)
 0:264            'inF0' (in 4-component vector of float)
 0:265      Sequence
 0:265        move second child to first child (temp 4-component vector of float)
 0:265          'r002' (temp 4-component vector of float)
-0:265          arc cosine (global 4-component vector of float)
+0:265          arc cosine (temp 4-component vector of float)
 0:265            'inF0' (in 4-component vector of float)
 0:266      Sequence
 0:266        move second child to first child (temp bool)
 0:266          'r003' (temp bool)
-0:266          any (global bool)
+0:266          any (temp bool)
 0:266            'inF0' (in 4-component vector of float)
 0:267      Sequence
 0:267        move second child to first child (temp 4-component vector of float)
 0:267          'r004' (temp 4-component vector of float)
-0:267          arc sine (global 4-component vector of float)
+0:267          arc sine (temp 4-component vector of float)
 0:267            'inF0' (in 4-component vector of float)
 0:268      Sequence
 0:268        move second child to first child (temp 4-component vector of int)
 0:268          'r005' (temp 4-component vector of int)
-0:268          floatBitsToInt (global 4-component vector of int)
+0:268          floatBitsToInt (temp 4-component vector of int)
 0:268            'inF0' (in 4-component vector of float)
 0:269      Sequence
 0:269        move second child to first child (temp 4-component vector of uint)
 0:269          'r006' (temp 4-component vector of uint)
-0:269          floatBitsToUint (global 4-component vector of uint)
+0:269          floatBitsToUint (temp 4-component vector of uint)
 0:269            'inF0' (in 4-component vector of float)
 0:270      Sequence
 0:270        move second child to first child (temp 4-component vector of float)
 0:270          'r007' (temp 4-component vector of float)
-0:270          intBitsToFloat (global 4-component vector of float)
+0:270          intBitsToFloat (temp 4-component vector of float)
 0:270            'inU0' (in 4-component vector of uint)
 0:272      Sequence
 0:272        move second child to first child (temp 4-component vector of float)
 0:272          'r009' (temp 4-component vector of float)
-0:272          arc tangent (global 4-component vector of float)
+0:272          arc tangent (temp 4-component vector of float)
 0:272            'inF0' (in 4-component vector of float)
 0:273      Sequence
 0:273        move second child to first child (temp 4-component vector of float)
 0:273          'r010' (temp 4-component vector of float)
-0:273          arc tangent (global 4-component vector of float)
+0:273          arc tangent (temp 4-component vector of float)
 0:273            'inF0' (in 4-component vector of float)
 0:273            'inF1' (in 4-component vector of float)
 0:274      Sequence
 0:274        move second child to first child (temp 4-component vector of float)
 0:274          'r011' (temp 4-component vector of float)
-0:274          Ceiling (global 4-component vector of float)
+0:274          Ceiling (temp 4-component vector of float)
 0:274            'inF0' (in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child (temp 4-component vector of float)
 0:275          'r012' (temp 4-component vector of float)
-0:275          clamp (global 4-component vector of float)
+0:275          clamp (temp 4-component vector of float)
 0:275            'inF0' (in 4-component vector of float)
 0:275            'inF1' (in 4-component vector of float)
 0:275            'inF2' (in 4-component vector of float)
@@ -4025,17 +4025,17 @@
 0:277      Sequence
 0:277        move second child to first child (temp 4-component vector of float)
 0:277          'r013' (temp 4-component vector of float)
-0:277          cosine (global 4-component vector of float)
+0:277          cosine (temp 4-component vector of float)
 0:277            'inF0' (in 4-component vector of float)
 0:278      Sequence
 0:278        move second child to first child (temp 4-component vector of float)
 0:278          'r014' (temp 4-component vector of float)
-0:278          hyp. cosine (global 4-component vector of float)
+0:278          hyp. cosine (temp 4-component vector of float)
 0:278            'inF0' (in 4-component vector of float)
 0:279      Sequence
 0:279        move second child to first child (temp 4-component vector of uint)
 0:279          'r015' (temp 4-component vector of uint)
-0:?           bitCount (global 4-component vector of uint)
+0:?           bitCount (temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               3 (const uint)
@@ -4044,48 +4044,48 @@
 0:280      Sequence
 0:280        move second child to first child (temp 4-component vector of float)
 0:280          'r016' (temp 4-component vector of float)
-0:280          dPdx (global 4-component vector of float)
+0:280          dPdx (temp 4-component vector of float)
 0:280            'inF0' (in 4-component vector of float)
 0:281      Sequence
 0:281        move second child to first child (temp 4-component vector of float)
 0:281          'r017' (temp 4-component vector of float)
-0:281          dPdxCoarse (global 4-component vector of float)
+0:281          dPdxCoarse (temp 4-component vector of float)
 0:281            'inF0' (in 4-component vector of float)
 0:282      Sequence
 0:282        move second child to first child (temp 4-component vector of float)
 0:282          'r018' (temp 4-component vector of float)
-0:282          dPdxFine (global 4-component vector of float)
+0:282          dPdxFine (temp 4-component vector of float)
 0:282            'inF0' (in 4-component vector of float)
 0:283      Sequence
 0:283        move second child to first child (temp 4-component vector of float)
 0:283          'r019' (temp 4-component vector of float)
-0:283          dPdy (global 4-component vector of float)
+0:283          dPdy (temp 4-component vector of float)
 0:283            'inF0' (in 4-component vector of float)
 0:284      Sequence
 0:284        move second child to first child (temp 4-component vector of float)
 0:284          'r020' (temp 4-component vector of float)
-0:284          dPdyCoarse (global 4-component vector of float)
+0:284          dPdyCoarse (temp 4-component vector of float)
 0:284            'inF0' (in 4-component vector of float)
 0:285      Sequence
 0:285        move second child to first child (temp 4-component vector of float)
 0:285          'r021' (temp 4-component vector of float)
-0:285          dPdyFine (global 4-component vector of float)
+0:285          dPdyFine (temp 4-component vector of float)
 0:285            'inF0' (in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child (temp 4-component vector of float)
 0:286          'r022' (temp 4-component vector of float)
-0:286          degrees (global 4-component vector of float)
+0:286          degrees (temp 4-component vector of float)
 0:286            'inF0' (in 4-component vector of float)
 0:287      Sequence
 0:287        move second child to first child (temp float)
 0:287          'r023' (temp float)
-0:287          distance (global float)
+0:287          distance (temp float)
 0:287            'inF0' (in 4-component vector of float)
 0:287            'inF1' (in 4-component vector of float)
 0:288      Sequence
 0:288        move second child to first child (temp float)
 0:288          'r024' (temp float)
-0:288          dot-product (global float)
+0:288          dot-product (temp float)
 0:288            'inF0' (in 4-component vector of float)
 0:288            'inF1' (in 4-component vector of float)
 0:289      Sequence
@@ -4114,24 +4114,24 @@
 0:293      Sequence
 0:293        move second child to first child (temp 4-component vector of float)
 0:293          'r029' (temp 4-component vector of float)
-0:293          exp (global 4-component vector of float)
+0:293          exp (temp 4-component vector of float)
 0:293            'inF0' (in 4-component vector of float)
 0:294      Sequence
 0:294        move second child to first child (temp 4-component vector of float)
 0:294          'r030' (temp 4-component vector of float)
-0:294          exp2 (global 4-component vector of float)
+0:294          exp2 (temp 4-component vector of float)
 0:294            'inF0' (in 4-component vector of float)
 0:295      Sequence
 0:295        move second child to first child (temp 4-component vector of float)
 0:295          'r031' (temp 4-component vector of float)
-0:295          face-forward (global 4-component vector of float)
+0:295          face-forward (temp 4-component vector of float)
 0:295            'inF0' (in 4-component vector of float)
 0:295            'inF1' (in 4-component vector of float)
 0:295            'inF2' (in 4-component vector of float)
 0:296      Sequence
 0:296        move second child to first child (temp 4-component vector of uint)
 0:296          'r032' (temp 4-component vector of uint)
-0:?           findMSB (global 4-component vector of uint)
+0:?           findMSB (temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
@@ -4140,7 +4140,7 @@
 0:297      Sequence
 0:297        move second child to first child (temp 4-component vector of uint)
 0:297          'r033' (temp 4-component vector of uint)
-0:?           findLSB (global 4-component vector of uint)
+0:?           findLSB (temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
@@ -4149,62 +4149,62 @@
 0:298      Sequence
 0:298        move second child to first child (temp 4-component vector of float)
 0:298          'r034' (temp 4-component vector of float)
-0:298          Floor (global 4-component vector of float)
+0:298          Floor (temp 4-component vector of float)
 0:298            'inF0' (in 4-component vector of float)
 0:300      Sequence
 0:300        move second child to first child (temp 4-component vector of float)
 0:300          'r036' (temp 4-component vector of float)
-0:300          mod (global 4-component vector of float)
+0:300          mod (temp 4-component vector of float)
 0:300            'inF0' (in 4-component vector of float)
 0:300            'inF1' (in 4-component vector of float)
 0:301      Sequence
 0:301        move second child to first child (temp 4-component vector of float)
 0:301          'r037' (temp 4-component vector of float)
-0:301          Fraction (global 4-component vector of float)
+0:301          Fraction (temp 4-component vector of float)
 0:301            'inF0' (in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child (temp 4-component vector of float)
 0:302          'r038' (temp 4-component vector of float)
-0:302          frexp (global 4-component vector of float)
+0:302          frexp (temp 4-component vector of float)
 0:302            'inF0' (in 4-component vector of float)
 0:302            'inF1' (in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child (temp 4-component vector of float)
 0:303          'r039' (temp 4-component vector of float)
-0:303          fwidth (global 4-component vector of float)
+0:303          fwidth (temp 4-component vector of float)
 0:303            'inF0' (in 4-component vector of float)
 0:304      Sequence
 0:304        move second child to first child (temp 4-component vector of bool)
 0:304          'r040' (temp 4-component vector of bool)
-0:304          isinf (global 4-component vector of bool)
+0:304          isinf (temp 4-component vector of bool)
 0:304            'inF0' (in 4-component vector of float)
 0:305      Sequence
 0:305        move second child to first child (temp 4-component vector of bool)
 0:305          'r041' (temp 4-component vector of bool)
-0:305          isnan (global 4-component vector of bool)
+0:305          isnan (temp 4-component vector of bool)
 0:305            'inF0' (in 4-component vector of float)
 0:306      Sequence
 0:306        move second child to first child (temp 4-component vector of float)
 0:306          'r042' (temp 4-component vector of float)
-0:306          ldexp (global 4-component vector of float)
+0:306          ldexp (temp 4-component vector of float)
 0:306            'inF0' (in 4-component vector of float)
 0:306            'inF1' (in 4-component vector of float)
 0:307      Sequence
 0:307        move second child to first child (temp 4-component vector of float)
 0:307          'r039a' (temp 4-component vector of float)
-0:307          mix (global 4-component vector of float)
+0:307          mix (temp 4-component vector of float)
 0:307            'inF0' (in 4-component vector of float)
 0:307            'inF1' (in 4-component vector of float)
 0:307            'inF2' (in 4-component vector of float)
 0:308      Sequence
 0:308        move second child to first child (temp float)
 0:308          'r043' (temp float)
-0:308          length (global float)
+0:308          length (temp float)
 0:308            'inF0' (in 4-component vector of float)
 0:309      Sequence
 0:309        move second child to first child (temp 4-component vector of float)
 0:309          'r044' (temp 4-component vector of float)
-0:309          log (global 4-component vector of float)
+0:309          log (temp 4-component vector of float)
 0:309            'inF0' (in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child (temp 4-component vector of float)
@@ -4217,35 +4217,35 @@
 0:311      Sequence
 0:311        move second child to first child (temp 4-component vector of float)
 0:311          'r046' (temp 4-component vector of float)
-0:311          log2 (global 4-component vector of float)
+0:311          log2 (temp 4-component vector of float)
 0:311            'inF0' (in 4-component vector of float)
 0:312      Sequence
 0:312        move second child to first child (temp 4-component vector of float)
 0:312          'r047' (temp 4-component vector of float)
-0:312          max (global 4-component vector of float)
+0:312          max (temp 4-component vector of float)
 0:312            'inF0' (in 4-component vector of float)
 0:312            'inF1' (in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child (temp 4-component vector of float)
 0:313          'r048' (temp 4-component vector of float)
-0:313          min (global 4-component vector of float)
+0:313          min (temp 4-component vector of float)
 0:313            'inF0' (in 4-component vector of float)
 0:313            'inF1' (in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child (temp 4-component vector of float)
 0:314          'r049' (temp 4-component vector of float)
-0:314          normalize (global 4-component vector of float)
+0:314          normalize (temp 4-component vector of float)
 0:314            'inF0' (in 4-component vector of float)
 0:315      Sequence
 0:315        move second child to first child (temp 4-component vector of float)
 0:315          'r050' (temp 4-component vector of float)
-0:315          pow (global 4-component vector of float)
+0:315          pow (temp 4-component vector of float)
 0:315            'inF0' (in 4-component vector of float)
 0:315            'inF1' (in 4-component vector of float)
 0:316      Sequence
 0:316        move second child to first child (temp 4-component vector of float)
 0:316          'r051' (temp 4-component vector of float)
-0:316          radians (global 4-component vector of float)
+0:316          radians (temp 4-component vector of float)
 0:316            'inF0' (in 4-component vector of float)
 0:317      Sequence
 0:317        move second child to first child (temp 4-component vector of float)
@@ -4257,13 +4257,13 @@
 0:318      Sequence
 0:318        move second child to first child (temp 4-component vector of float)
 0:318          'r053' (temp 4-component vector of float)
-0:318          reflect (global 4-component vector of float)
+0:318          reflect (temp 4-component vector of float)
 0:318            'inF0' (in 4-component vector of float)
 0:318            'inF1' (in 4-component vector of float)
 0:319      Sequence
 0:319        move second child to first child (temp 4-component vector of float)
 0:319          'r054' (temp 4-component vector of float)
-0:319          refract (global 4-component vector of float)
+0:319          refract (temp 4-component vector of float)
 0:319            'inF0' (in 4-component vector of float)
 0:319            'inF1' (in 4-component vector of float)
 0:319            Constant:
@@ -4271,7 +4271,7 @@
 0:320      Sequence
 0:320        move second child to first child (temp 4-component vector of uint)
 0:320          'r055' (temp 4-component vector of uint)
-0:?           bitFieldReverse (global 4-component vector of uint)
+0:?           bitFieldReverse (temp 4-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
@@ -4280,12 +4280,12 @@
 0:321      Sequence
 0:321        move second child to first child (temp 4-component vector of float)
 0:321          'r056' (temp 4-component vector of float)
-0:321          roundEven (global 4-component vector of float)
+0:321          roundEven (temp 4-component vector of float)
 0:321            'inF0' (in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child (temp 4-component vector of float)
 0:322          'r057' (temp 4-component vector of float)
-0:322          inverse sqrt (global 4-component vector of float)
+0:322          inverse sqrt (temp 4-component vector of float)
 0:322            'inF0' (in 4-component vector of float)
 0:323      Sequence
 0:323        move second child to first child (temp 4-component vector of float)
@@ -4299,12 +4299,12 @@
 0:324      Sequence
 0:324        move second child to first child (temp 4-component vector of float)
 0:324          'r059' (temp 4-component vector of float)
-0:324          Sign (global 4-component vector of float)
+0:324          Sign (temp 4-component vector of float)
 0:324            'inF0' (in 4-component vector of float)
 0:325      Sequence
 0:325        move second child to first child (temp 4-component vector of float)
 0:325          'r060' (temp 4-component vector of float)
-0:325          sine (global 4-component vector of float)
+0:325          sine (temp 4-component vector of float)
 0:325            'inF0' (in 4-component vector of float)
 0:326      Sequence
 0:326        move second child to first child (temp 4-component vector of float)
@@ -4318,40 +4318,40 @@
 0:327      Sequence
 0:327        move second child to first child (temp 4-component vector of float)
 0:327          'r061' (temp 4-component vector of float)
-0:327          hyp. sine (global 4-component vector of float)
+0:327          hyp. sine (temp 4-component vector of float)
 0:327            'inF0' (in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child (temp 4-component vector of float)
 0:328          'r062' (temp 4-component vector of float)
-0:328          smoothstep (global 4-component vector of float)
+0:328          smoothstep (temp 4-component vector of float)
 0:328            'inF0' (in 4-component vector of float)
 0:328            'inF1' (in 4-component vector of float)
 0:328            'inF2' (in 4-component vector of float)
 0:329      Sequence
 0:329        move second child to first child (temp 4-component vector of float)
 0:329          'r063' (temp 4-component vector of float)
-0:329          sqrt (global 4-component vector of float)
+0:329          sqrt (temp 4-component vector of float)
 0:329            'inF0' (in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child (temp 4-component vector of float)
 0:330          'r064' (temp 4-component vector of float)
-0:330          step (global 4-component vector of float)
+0:330          step (temp 4-component vector of float)
 0:330            'inF0' (in 4-component vector of float)
 0:330            'inF1' (in 4-component vector of float)
 0:331      Sequence
 0:331        move second child to first child (temp 4-component vector of float)
 0:331          'r065' (temp 4-component vector of float)
-0:331          tangent (global 4-component vector of float)
+0:331          tangent (temp 4-component vector of float)
 0:331            'inF0' (in 4-component vector of float)
 0:332      Sequence
 0:332        move second child to first child (temp 4-component vector of float)
 0:332          'r066' (temp 4-component vector of float)
-0:332          hyp. tangent (global 4-component vector of float)
+0:332          hyp. tangent (temp 4-component vector of float)
 0:332            'inF0' (in 4-component vector of float)
 0:334      Sequence
 0:334        move second child to first child (temp 4-component vector of float)
 0:334          'r067' (temp 4-component vector of float)
-0:334          trunc (global 4-component vector of float)
+0:334          trunc (temp 4-component vector of float)
 0:334            'inF0' (in 4-component vector of float)
 0:337      Branch: Return with expression
 0:?         Constant:
@@ -4368,40 +4368,40 @@
 0:403      Sequence
 0:403        move second child to first child (temp bool)
 0:403          'r000' (temp bool)
-0:403          all (global bool)
+0:403          all (temp bool)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r001' (temp 2X2 matrix of float)
-0:403          Absolute value (global 2X2 matrix of float)
+0:403          Absolute value (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
-0:403      arc cosine (global 2X2 matrix of float)
+0:403      arc cosine (temp 2X2 matrix of float)
 0:403        'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp bool)
 0:403          'r003' (temp bool)
-0:403          any (global bool)
+0:403          any (temp bool)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r004' (temp 2X2 matrix of float)
-0:403          arc sine (global 2X2 matrix of float)
+0:403          arc sine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r005' (temp 2X2 matrix of float)
-0:403          arc tangent (global 2X2 matrix of float)
+0:403          arc tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r006' (temp 2X2 matrix of float)
-0:403          arc tangent (global 2X2 matrix of float)
+0:403          arc tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r007' (temp 2X2 matrix of float)
-0:403          Ceiling (global 2X2 matrix of float)
+0:403          Ceiling (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Test condition and select (temp void)
 0:403        Condition
@@ -4418,114 +4418,114 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r008' (temp 2X2 matrix of float)
-0:403          clamp (global 2X2 matrix of float)
+0:403          clamp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403            'inF2' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r009' (temp 2X2 matrix of float)
-0:403          cosine (global 2X2 matrix of float)
+0:403          cosine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r010' (temp 2X2 matrix of float)
-0:403          hyp. cosine (global 2X2 matrix of float)
+0:403          hyp. cosine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r011' (temp 2X2 matrix of float)
-0:403          dPdx (global 2X2 matrix of float)
+0:403          dPdx (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r012' (temp 2X2 matrix of float)
-0:403          dPdxCoarse (global 2X2 matrix of float)
+0:403          dPdxCoarse (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r013' (temp 2X2 matrix of float)
-0:403          dPdxFine (global 2X2 matrix of float)
+0:403          dPdxFine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r014' (temp 2X2 matrix of float)
-0:403          dPdy (global 2X2 matrix of float)
+0:403          dPdy (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r015' (temp 2X2 matrix of float)
-0:403          dPdyCoarse (global 2X2 matrix of float)
+0:403          dPdyCoarse (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r016' (temp 2X2 matrix of float)
-0:403          dPdyFine (global 2X2 matrix of float)
+0:403          dPdyFine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r017' (temp 2X2 matrix of float)
-0:403          degrees (global 2X2 matrix of float)
+0:403          degrees (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp float)
 0:403          'r018' (temp float)
-0:403          determinant (global float)
+0:403          determinant (temp float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r019' (temp 2X2 matrix of float)
-0:403          exp (global 2X2 matrix of float)
+0:403          exp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'R020' (temp 2X2 matrix of float)
-0:403          exp2 (global 2X2 matrix of float)
+0:403          exp2 (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r021' (temp 2X2 matrix of float)
-0:403          Floor (global 2X2 matrix of float)
+0:403          Floor (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r022' (temp 2X2 matrix of float)
-0:403          mod (global 2X2 matrix of float)
+0:403          mod (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r023' (temp 2X2 matrix of float)
-0:403          Fraction (global 2X2 matrix of float)
+0:403          Fraction (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r024' (temp 2X2 matrix of float)
-0:403          frexp (global 2X2 matrix of float)
+0:403          frexp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r025' (temp 2X2 matrix of float)
-0:403          fwidth (global 2X2 matrix of float)
+0:403          fwidth (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r026' (temp 2X2 matrix of float)
-0:403          ldexp (global 2X2 matrix of float)
+0:403          ldexp (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r026a' (temp 2X2 matrix of float)
-0:403          mix (global 2X2 matrix of float)
+0:403          mix (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403            'inF2' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r027' (temp 2X2 matrix of float)
-0:403          log (global 2X2 matrix of float)
+0:403          log (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
@@ -4538,40 +4538,40 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r029' (temp 2X2 matrix of float)
-0:403          log2 (global 2X2 matrix of float)
+0:403          log2 (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r030' (temp 2X2 matrix of float)
-0:403          max (global 2X2 matrix of float)
+0:403          max (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r031' (temp 2X2 matrix of float)
-0:403          min (global 2X2 matrix of float)
+0:403          min (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r032' (temp 2X2 matrix of float)
-0:403          pow (global 2X2 matrix of float)
+0:403          pow (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r033' (temp 2X2 matrix of float)
-0:403          radians (global 2X2 matrix of float)
+0:403          radians (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r034' (temp 2X2 matrix of float)
-0:403          roundEven (global 2X2 matrix of float)
+0:403          roundEven (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r035' (temp 2X2 matrix of float)
-0:403          inverse sqrt (global 2X2 matrix of float)
+0:403          inverse sqrt (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
@@ -4585,12 +4585,12 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r037' (temp 2X2 matrix of float)
-0:403          Sign (global 2X2 matrix of float)
+0:403          Sign (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r038' (temp 2X2 matrix of float)
-0:403          sine (global 2X2 matrix of float)
+0:403          sine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
@@ -4604,42 +4604,42 @@
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r039' (temp 2X2 matrix of float)
-0:403          hyp. sine (global 2X2 matrix of float)
+0:403          hyp. sine (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r049' (temp 2X2 matrix of float)
-0:403          smoothstep (global 2X2 matrix of float)
+0:403          smoothstep (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403            'inF2' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r041' (temp 2X2 matrix of float)
-0:403          sqrt (global 2X2 matrix of float)
+0:403          sqrt (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r042' (temp 2X2 matrix of float)
-0:403          step (global 2X2 matrix of float)
+0:403          step (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403            'inF1' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r043' (temp 2X2 matrix of float)
-0:403          tangent (global 2X2 matrix of float)
+0:403          tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r044' (temp 2X2 matrix of float)
-0:403          hyp. tangent (global 2X2 matrix of float)
+0:403          hyp. tangent (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
-0:403      transpose (global 2X2 matrix of float)
+0:403      transpose (temp 2X2 matrix of float)
 0:403        'inF0' (in 2X2 matrix of float)
 0:403      Sequence
 0:403        move second child to first child (temp 2X2 matrix of float)
 0:403          'r046' (temp 2X2 matrix of float)
-0:403          trunc (global 2X2 matrix of float)
+0:403          trunc (temp 2X2 matrix of float)
 0:403            'inF0' (in 2X2 matrix of float)
 0:406      Branch: Return with expression
 0:?         Constant:
@@ -4656,40 +4656,40 @@
 0:412      Sequence
 0:412        move second child to first child (temp bool)
 0:412          'r000' (temp bool)
-0:412          all (global bool)
+0:412          all (temp bool)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r001' (temp 3X3 matrix of float)
-0:412          Absolute value (global 3X3 matrix of float)
+0:412          Absolute value (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
-0:412      arc cosine (global 3X3 matrix of float)
+0:412      arc cosine (temp 3X3 matrix of float)
 0:412        'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp bool)
 0:412          'r003' (temp bool)
-0:412          any (global bool)
+0:412          any (temp bool)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r004' (temp 3X3 matrix of float)
-0:412          arc sine (global 3X3 matrix of float)
+0:412          arc sine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r005' (temp 3X3 matrix of float)
-0:412          arc tangent (global 3X3 matrix of float)
+0:412          arc tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r006' (temp 3X3 matrix of float)
-0:412          arc tangent (global 3X3 matrix of float)
+0:412          arc tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r007' (temp 3X3 matrix of float)
-0:412          Ceiling (global 3X3 matrix of float)
+0:412          Ceiling (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Test condition and select (temp void)
 0:412        Condition
@@ -4711,114 +4711,114 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r008' (temp 3X3 matrix of float)
-0:412          clamp (global 3X3 matrix of float)
+0:412          clamp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412            'inF2' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r009' (temp 3X3 matrix of float)
-0:412          cosine (global 3X3 matrix of float)
+0:412          cosine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r010' (temp 3X3 matrix of float)
-0:412          hyp. cosine (global 3X3 matrix of float)
+0:412          hyp. cosine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r011' (temp 3X3 matrix of float)
-0:412          dPdx (global 3X3 matrix of float)
+0:412          dPdx (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r012' (temp 3X3 matrix of float)
-0:412          dPdxCoarse (global 3X3 matrix of float)
+0:412          dPdxCoarse (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r013' (temp 3X3 matrix of float)
-0:412          dPdxFine (global 3X3 matrix of float)
+0:412          dPdxFine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r014' (temp 3X3 matrix of float)
-0:412          dPdy (global 3X3 matrix of float)
+0:412          dPdy (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r015' (temp 3X3 matrix of float)
-0:412          dPdyCoarse (global 3X3 matrix of float)
+0:412          dPdyCoarse (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r016' (temp 3X3 matrix of float)
-0:412          dPdyFine (global 3X3 matrix of float)
+0:412          dPdyFine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r017' (temp 3X3 matrix of float)
-0:412          degrees (global 3X3 matrix of float)
+0:412          degrees (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp float)
 0:412          'r018' (temp float)
-0:412          determinant (global float)
+0:412          determinant (temp float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r019' (temp 3X3 matrix of float)
-0:412          exp (global 3X3 matrix of float)
+0:412          exp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'R020' (temp 3X3 matrix of float)
-0:412          exp2 (global 3X3 matrix of float)
+0:412          exp2 (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r021' (temp 3X3 matrix of float)
-0:412          Floor (global 3X3 matrix of float)
+0:412          Floor (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r022' (temp 3X3 matrix of float)
-0:412          mod (global 3X3 matrix of float)
+0:412          mod (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r023' (temp 3X3 matrix of float)
-0:412          Fraction (global 3X3 matrix of float)
+0:412          Fraction (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r024' (temp 3X3 matrix of float)
-0:412          frexp (global 3X3 matrix of float)
+0:412          frexp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r025' (temp 3X3 matrix of float)
-0:412          fwidth (global 3X3 matrix of float)
+0:412          fwidth (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r026' (temp 3X3 matrix of float)
-0:412          ldexp (global 3X3 matrix of float)
+0:412          ldexp (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r026a' (temp 3X3 matrix of float)
-0:412          mix (global 3X3 matrix of float)
+0:412          mix (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412            'inF2' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r027' (temp 3X3 matrix of float)
-0:412          log (global 3X3 matrix of float)
+0:412          log (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
@@ -4831,40 +4831,40 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r029' (temp 3X3 matrix of float)
-0:412          log2 (global 3X3 matrix of float)
+0:412          log2 (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r030' (temp 3X3 matrix of float)
-0:412          max (global 3X3 matrix of float)
+0:412          max (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r031' (temp 3X3 matrix of float)
-0:412          min (global 3X3 matrix of float)
+0:412          min (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r032' (temp 3X3 matrix of float)
-0:412          pow (global 3X3 matrix of float)
+0:412          pow (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r033' (temp 3X3 matrix of float)
-0:412          radians (global 3X3 matrix of float)
+0:412          radians (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r034' (temp 3X3 matrix of float)
-0:412          roundEven (global 3X3 matrix of float)
+0:412          roundEven (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r035' (temp 3X3 matrix of float)
-0:412          inverse sqrt (global 3X3 matrix of float)
+0:412          inverse sqrt (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
@@ -4878,12 +4878,12 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r037' (temp 3X3 matrix of float)
-0:412          Sign (global 3X3 matrix of float)
+0:412          Sign (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r038' (temp 3X3 matrix of float)
-0:412          sine (global 3X3 matrix of float)
+0:412          sine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
@@ -4897,42 +4897,42 @@
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r039' (temp 3X3 matrix of float)
-0:412          hyp. sine (global 3X3 matrix of float)
+0:412          hyp. sine (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r049' (temp 3X3 matrix of float)
-0:412          smoothstep (global 3X3 matrix of float)
+0:412          smoothstep (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412            'inF2' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r041' (temp 3X3 matrix of float)
-0:412          sqrt (global 3X3 matrix of float)
+0:412          sqrt (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r042' (temp 3X3 matrix of float)
-0:412          step (global 3X3 matrix of float)
+0:412          step (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412            'inF1' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r043' (temp 3X3 matrix of float)
-0:412          tangent (global 3X3 matrix of float)
+0:412          tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r044' (temp 3X3 matrix of float)
-0:412          hyp. tangent (global 3X3 matrix of float)
+0:412          hyp. tangent (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
-0:412      transpose (global 3X3 matrix of float)
+0:412      transpose (temp 3X3 matrix of float)
 0:412        'inF0' (in 3X3 matrix of float)
 0:412      Sequence
 0:412        move second child to first child (temp 3X3 matrix of float)
 0:412          'r046' (temp 3X3 matrix of float)
-0:412          trunc (global 3X3 matrix of float)
+0:412          trunc (temp 3X3 matrix of float)
 0:412            'inF0' (in 3X3 matrix of float)
 0:415      Branch: Return with expression
 0:?         Constant:
@@ -4954,40 +4954,40 @@
 0:421      Sequence
 0:421        move second child to first child (temp bool)
 0:421          'r000' (temp bool)
-0:421          all (global bool)
+0:421          all (temp bool)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r001' (temp 4X4 matrix of float)
-0:421          Absolute value (global 4X4 matrix of float)
+0:421          Absolute value (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
-0:421      arc cosine (global 4X4 matrix of float)
+0:421      arc cosine (temp 4X4 matrix of float)
 0:421        'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp bool)
 0:421          'r003' (temp bool)
-0:421          any (global bool)
+0:421          any (temp bool)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r004' (temp 4X4 matrix of float)
-0:421          arc sine (global 4X4 matrix of float)
+0:421          arc sine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r005' (temp 4X4 matrix of float)
-0:421          arc tangent (global 4X4 matrix of float)
+0:421          arc tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r006' (temp 4X4 matrix of float)
-0:421          arc tangent (global 4X4 matrix of float)
+0:421          arc tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r007' (temp 4X4 matrix of float)
-0:421          Ceiling (global 4X4 matrix of float)
+0:421          Ceiling (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Test condition and select (temp void)
 0:421        Condition
@@ -5016,114 +5016,114 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r008' (temp 4X4 matrix of float)
-0:421          clamp (global 4X4 matrix of float)
+0:421          clamp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421            'inF2' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r009' (temp 4X4 matrix of float)
-0:421          cosine (global 4X4 matrix of float)
+0:421          cosine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r010' (temp 4X4 matrix of float)
-0:421          hyp. cosine (global 4X4 matrix of float)
+0:421          hyp. cosine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r011' (temp 4X4 matrix of float)
-0:421          dPdx (global 4X4 matrix of float)
+0:421          dPdx (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r012' (temp 4X4 matrix of float)
-0:421          dPdxCoarse (global 4X4 matrix of float)
+0:421          dPdxCoarse (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r013' (temp 4X4 matrix of float)
-0:421          dPdxFine (global 4X4 matrix of float)
+0:421          dPdxFine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r014' (temp 4X4 matrix of float)
-0:421          dPdy (global 4X4 matrix of float)
+0:421          dPdy (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r015' (temp 4X4 matrix of float)
-0:421          dPdyCoarse (global 4X4 matrix of float)
+0:421          dPdyCoarse (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r016' (temp 4X4 matrix of float)
-0:421          dPdyFine (global 4X4 matrix of float)
+0:421          dPdyFine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r017' (temp 4X4 matrix of float)
-0:421          degrees (global 4X4 matrix of float)
+0:421          degrees (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp float)
 0:421          'r018' (temp float)
-0:421          determinant (global float)
+0:421          determinant (temp float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r019' (temp 4X4 matrix of float)
-0:421          exp (global 4X4 matrix of float)
+0:421          exp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'R020' (temp 4X4 matrix of float)
-0:421          exp2 (global 4X4 matrix of float)
+0:421          exp2 (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r021' (temp 4X4 matrix of float)
-0:421          Floor (global 4X4 matrix of float)
+0:421          Floor (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r022' (temp 4X4 matrix of float)
-0:421          mod (global 4X4 matrix of float)
+0:421          mod (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r023' (temp 4X4 matrix of float)
-0:421          Fraction (global 4X4 matrix of float)
+0:421          Fraction (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r024' (temp 4X4 matrix of float)
-0:421          frexp (global 4X4 matrix of float)
+0:421          frexp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r025' (temp 4X4 matrix of float)
-0:421          fwidth (global 4X4 matrix of float)
+0:421          fwidth (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r026' (temp 4X4 matrix of float)
-0:421          ldexp (global 4X4 matrix of float)
+0:421          ldexp (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r026a' (temp 4X4 matrix of float)
-0:421          mix (global 4X4 matrix of float)
+0:421          mix (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421            'inF2' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r027' (temp 4X4 matrix of float)
-0:421          log (global 4X4 matrix of float)
+0:421          log (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
@@ -5136,40 +5136,40 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r029' (temp 4X4 matrix of float)
-0:421          log2 (global 4X4 matrix of float)
+0:421          log2 (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r030' (temp 4X4 matrix of float)
-0:421          max (global 4X4 matrix of float)
+0:421          max (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r031' (temp 4X4 matrix of float)
-0:421          min (global 4X4 matrix of float)
+0:421          min (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r032' (temp 4X4 matrix of float)
-0:421          pow (global 4X4 matrix of float)
+0:421          pow (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r033' (temp 4X4 matrix of float)
-0:421          radians (global 4X4 matrix of float)
+0:421          radians (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r034' (temp 4X4 matrix of float)
-0:421          roundEven (global 4X4 matrix of float)
+0:421          roundEven (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r035' (temp 4X4 matrix of float)
-0:421          inverse sqrt (global 4X4 matrix of float)
+0:421          inverse sqrt (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
@@ -5183,12 +5183,12 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r037' (temp 4X4 matrix of float)
-0:421          Sign (global 4X4 matrix of float)
+0:421          Sign (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r038' (temp 4X4 matrix of float)
-0:421          sine (global 4X4 matrix of float)
+0:421          sine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
@@ -5202,42 +5202,42 @@
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r039' (temp 4X4 matrix of float)
-0:421          hyp. sine (global 4X4 matrix of float)
+0:421          hyp. sine (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r049' (temp 4X4 matrix of float)
-0:421          smoothstep (global 4X4 matrix of float)
+0:421          smoothstep (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421            'inF2' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r041' (temp 4X4 matrix of float)
-0:421          sqrt (global 4X4 matrix of float)
+0:421          sqrt (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r042' (temp 4X4 matrix of float)
-0:421          step (global 4X4 matrix of float)
+0:421          step (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421            'inF1' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r043' (temp 4X4 matrix of float)
-0:421          tangent (global 4X4 matrix of float)
+0:421          tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r044' (temp 4X4 matrix of float)
-0:421          hyp. tangent (global 4X4 matrix of float)
+0:421          hyp. tangent (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
-0:421      transpose (global 4X4 matrix of float)
+0:421      transpose (temp 4X4 matrix of float)
 0:421        'inF0' (in 4X4 matrix of float)
 0:421      Sequence
 0:421        move second child to first child (temp 4X4 matrix of float)
 0:421          'r046' (temp 4X4 matrix of float)
-0:421          trunc (global 4X4 matrix of float)
+0:421          trunc (temp 4X4 matrix of float)
 0:421            'inF0' (in 4X4 matrix of float)
 0:424      Branch: Return with expression
 0:?         Constant:
@@ -5287,7 +5287,7 @@
 0:443      Sequence
 0:443        move second child to first child (temp float)
 0:443          'r3' (temp float)
-0:443          dot-product (global float)
+0:443          dot-product (temp float)
 0:443            'inFV0' (in 2-component vector of float)
 0:443            'inFV1' (in 2-component vector of float)
 0:443      Sequence
@@ -5350,7 +5350,7 @@
 0:450      Sequence
 0:450        move second child to first child (temp float)
 0:450          'r3' (temp float)
-0:450          dot-product (global float)
+0:450          dot-product (temp float)
 0:450            'inFV0' (in 3-component vector of float)
 0:450            'inFV1' (in 3-component vector of float)
 0:450      Sequence
@@ -5413,7 +5413,7 @@
 0:457      Sequence
 0:457        move second child to first child (temp float)
 0:457          'r3' (temp float)
-0:457          dot-product (global float)
+0:457          dot-product (temp float)
 0:457            'inFV0' (in 4-component vector of float)
 0:457            'inFV1' (in 4-component vector of float)
 0:457      Sequence
@@ -5491,13 +5491,13 @@
 0:472      Sequence
 0:472        move second child to first child (temp float)
 0:472          'r05' (temp float)
-0:472          dot-product (global float)
+0:472          dot-product (temp float)
 0:472            'inFV2' (in 2-component vector of float)
 0:472            'inFV2' (in 2-component vector of float)
 0:473      Sequence
 0:473        move second child to first child (temp float)
 0:473          'r06' (temp float)
-0:473          dot-product (global float)
+0:473          dot-product (temp float)
 0:473            'inFV3' (in 3-component vector of float)
 0:473            'inFV3' (in 3-component vector of float)
 0:474      Sequence
@@ -5583,6 +5583,7 @@
 0:492                0 (const int)
 0:492        Branch: Return
 0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
 0:?     'gs_ua' (shared uint)
 0:?     'gs_ub' (shared uint)
 0:?     'gs_uc' (shared uint)
@@ -5595,7 +5596,6 @@
 0:?     'gs_ua4' (shared 4-component vector of uint)
 0:?     'gs_ub4' (shared 4-component vector of uint)
 0:?     'gs_uc4' (shared 4-component vector of uint)
-0:?     'color' (layout(location=0 ) out 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.intrinsics.negative.frag.out b/Test/baseResults/hlsl.intrinsics.negative.frag.out
index 29ee009..e275054 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.frag.out
@@ -78,36 +78,36 @@
 0:5            'inF0' (in float)
 0:5          Convert float to uint (temp uint)
 0:5            'inF1' (in float)
-0:6      Function Call: CheckAccessFullyMapped(u1; (global bool)
+0:6      Function Call: CheckAccessFullyMapped(u1; (temp bool)
 0:6        Constant:
 0:6          3 (const uint)
-0:7      bitCount (global uint)
+0:7      bitCount (temp uint)
 0:7        Convert float to uint (temp uint)
 0:7          'inF0' (in float)
-0:8      cross-product (global 3-component vector of float)
+0:8      cross-product (temp 3-component vector of float)
 0:8        Construct vec3 (in 3-component vector of float)
 0:8          'inF0' (in float)
 0:8        Construct vec3 (in 3-component vector of float)
 0:8          'inF1' (in float)
-0:9      Function Call: D3DCOLORtoUBYTE4(vf4; (global 4-component vector of int)
+0:9      Function Call: D3DCOLORtoUBYTE4(vf4; (temp 4-component vector of int)
 0:9        Construct vec4 (in 4-component vector of float)
 0:9          'inF0' (in float)
 0:10      Constant:
 0:10        0.000000
 0:12      ERROR: Bad unary op
- (global float)
+ (temp float)
 0:12        Convert float to uint (temp uint)
 0:12          'inF0' (in float)
-0:13      findMSB (global uint)
+0:13      findMSB (temp uint)
 0:13        Convert float to uint (temp uint)
 0:13          'inF0' (in float)
-0:14      findLSB (global uint)
+0:14      findLSB (temp uint)
 0:14        Convert float to uint (temp uint)
 0:14          'inF0' (in float)
-0:23      length (global float)
+0:23      length (temp float)
 0:23        Construct vec2 (in 2-component vector of float)
 0:23          'inF0' (in float)
-0:24      Function Call: msad4(u1;vu2;vu4; (global 4-component vector of uint)
+0:24      Function Call: msad4(u1;vu2;vu4; (temp 4-component vector of uint)
 0:24        Convert float to uint (temp uint)
 0:24          'inF0' (in float)
 0:24        Constant:
@@ -118,15 +118,15 @@
 0:24          0 (const uint)
 0:24          0 (const uint)
 0:24          0 (const uint)
-0:25      normalize (global 2-component vector of float)
+0:25      normalize (temp 2-component vector of float)
 0:25        Construct vec2 (in 2-component vector of float)
 0:25          'inF0' (in float)
-0:26      reflect (global 2-component vector of float)
+0:26      reflect (temp 2-component vector of float)
 0:26        Construct vec2 (in 2-component vector of float)
 0:26          'inF0' (in float)
 0:26        Construct vec2 (in 2-component vector of float)
 0:26          'inF1' (in float)
-0:27      refract (global 2-component vector of float)
+0:27      refract (temp 2-component vector of float)
 0:27        Construct vec2 (in 2-component vector of float)
 0:27          'inF0' (in float)
 0:27        Construct vec2 (in 2-component vector of float)
@@ -134,7 +134,7 @@
 0:27        'inF2' (in float)
 0:28      Constant:
 0:28        0.000000
-0:29      bitFieldReverse (global uint)
+0:29      bitFieldReverse (temp uint)
 0:29        Convert float to uint (temp uint)
 0:29          'inF0' (in float)
 0:30      Constant:
@@ -162,14 +162,14 @@
 0:45      'inI0' (in 2-component vector of int)
 0:?     Sequence
 0:46      ERROR: Bad aggregation op
- (global 2-component vector of double)
+ (temp 2-component vector of double)
 0:46        Convert float to uint (temp 2-component vector of uint)
 0:46          'inF0' (in 2-component vector of float)
 0:46        Convert float to uint (temp 2-component vector of uint)
 0:46          'inF1' (in 2-component vector of float)
 0:47      Constant:
 0:47        0.000000
-0:48      bitCount (global 2-component vector of uint)
+0:48      bitCount (temp 2-component vector of uint)
 0:48        Convert float to uint (temp 2-component vector of uint)
 0:48          'inF0' (in 2-component vector of float)
 0:49      Constant:
@@ -179,16 +179,16 @@
 0:51      Constant:
 0:51        0.000000
 0:52      ERROR: Bad unary op
- (global 2-component vector of float)
+ (temp 2-component vector of float)
 0:52        Convert float to uint (temp 2-component vector of uint)
 0:52          'inF0' (in 2-component vector of float)
-0:53      findMSB (global 2-component vector of uint)
+0:53      findMSB (temp 2-component vector of uint)
 0:53        Convert float to uint (temp 2-component vector of uint)
 0:53          'inF0' (in 2-component vector of float)
-0:54      findLSB (global 2-component vector of uint)
+0:54      findLSB (temp 2-component vector of uint)
 0:54        Convert float to uint (temp 2-component vector of uint)
 0:54          'inF0' (in 2-component vector of float)
-0:56      bitFieldReverse (global 2-component vector of uint)
+0:56      bitFieldReverse (temp 2-component vector of uint)
 0:56        Convert float to uint (temp 2-component vector of uint)
 0:56          'inF0' (in 2-component vector of float)
 0:57      Constant:
@@ -206,7 +206,7 @@
 0:?     Sequence
 0:64      Constant:
 0:64        0.000000
-0:65      bitCount (global 3-component vector of uint)
+0:65      bitCount (temp 3-component vector of uint)
 0:65        Convert float to uint (temp 3-component vector of uint)
 0:65          'inF0' (in 3-component vector of float)
 0:66      Constant:
@@ -214,16 +214,16 @@
 0:67      Constant:
 0:67        0.000000
 0:68      ERROR: Bad unary op
- (global 3-component vector of float)
+ (temp 3-component vector of float)
 0:68        Convert float to uint (temp 3-component vector of uint)
 0:68          'inF0' (in 3-component vector of float)
-0:69      findMSB (global 3-component vector of uint)
+0:69      findMSB (temp 3-component vector of uint)
 0:69        Convert float to uint (temp 3-component vector of uint)
 0:69          'inF0' (in 3-component vector of float)
-0:70      findLSB (global 3-component vector of uint)
+0:70      findLSB (temp 3-component vector of uint)
 0:70        Convert float to uint (temp 3-component vector of uint)
 0:70          'inF0' (in 3-component vector of float)
-0:72      bitFieldReverse (global 3-component vector of uint)
+0:72      bitFieldReverse (temp 3-component vector of uint)
 0:72        Convert float to uint (temp 3-component vector of uint)
 0:72          'inF0' (in 3-component vector of float)
 0:73      Constant:
@@ -242,10 +242,10 @@
 0:?     Sequence
 0:81      Constant:
 0:81        0.000000
-0:82      bitCount (global 4-component vector of uint)
+0:82      bitCount (temp 4-component vector of uint)
 0:82        Convert float to uint (temp 4-component vector of uint)
 0:82          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:83      cross-product (global 3-component vector of float)
+0:83      cross-product (temp 3-component vector of float)
 0:83        Construct vec3 (in 3-component vector of float)
 0:83          'inF0' (layout(location=0 ) in 4-component vector of float)
 0:83        Construct vec3 (in 3-component vector of float)
@@ -253,16 +253,16 @@
 0:84      Constant:
 0:84        0.000000
 0:85      ERROR: Bad unary op
- (global 4-component vector of float)
+ (temp 4-component vector of float)
 0:85        Convert float to uint (temp 4-component vector of uint)
 0:85          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:86      findMSB (global 4-component vector of uint)
+0:86      findMSB (temp 4-component vector of uint)
 0:86        Convert float to uint (temp 4-component vector of uint)
 0:86          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:87      findLSB (global 4-component vector of uint)
+0:87      findLSB (temp 4-component vector of uint)
 0:87        Convert float to uint (temp 4-component vector of uint)
 0:87          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:89      bitFieldReverse (global 4-component vector of uint)
+0:89      bitFieldReverse (temp 4-component vector of uint)
 0:89        Convert float to uint (temp 4-component vector of uint)
 0:89          'inF0' (layout(location=0 ) in 4-component vector of float)
 0:90      Constant:
@@ -434,36 +434,36 @@
 0:5            'inF0' (in float)
 0:5          Convert float to uint (temp uint)
 0:5            'inF1' (in float)
-0:6      Function Call: CheckAccessFullyMapped(u1; (global bool)
+0:6      Function Call: CheckAccessFullyMapped(u1; (temp bool)
 0:6        Constant:
 0:6          3 (const uint)
-0:7      bitCount (global uint)
+0:7      bitCount (temp uint)
 0:7        Convert float to uint (temp uint)
 0:7          'inF0' (in float)
-0:8      cross-product (global 3-component vector of float)
+0:8      cross-product (temp 3-component vector of float)
 0:8        Construct vec3 (in 3-component vector of float)
 0:8          'inF0' (in float)
 0:8        Construct vec3 (in 3-component vector of float)
 0:8          'inF1' (in float)
-0:9      Function Call: D3DCOLORtoUBYTE4(vf4; (global 4-component vector of int)
+0:9      Function Call: D3DCOLORtoUBYTE4(vf4; (temp 4-component vector of int)
 0:9        Construct vec4 (in 4-component vector of float)
 0:9          'inF0' (in float)
 0:10      Constant:
 0:10        0.000000
 0:12      ERROR: Bad unary op
- (global float)
+ (temp float)
 0:12        Convert float to uint (temp uint)
 0:12          'inF0' (in float)
-0:13      findMSB (global uint)
+0:13      findMSB (temp uint)
 0:13        Convert float to uint (temp uint)
 0:13          'inF0' (in float)
-0:14      findLSB (global uint)
+0:14      findLSB (temp uint)
 0:14        Convert float to uint (temp uint)
 0:14          'inF0' (in float)
-0:23      length (global float)
+0:23      length (temp float)
 0:23        Construct vec2 (in 2-component vector of float)
 0:23          'inF0' (in float)
-0:24      Function Call: msad4(u1;vu2;vu4; (global 4-component vector of uint)
+0:24      Function Call: msad4(u1;vu2;vu4; (temp 4-component vector of uint)
 0:24        Convert float to uint (temp uint)
 0:24          'inF0' (in float)
 0:24        Constant:
@@ -474,15 +474,15 @@
 0:24          0 (const uint)
 0:24          0 (const uint)
 0:24          0 (const uint)
-0:25      normalize (global 2-component vector of float)
+0:25      normalize (temp 2-component vector of float)
 0:25        Construct vec2 (in 2-component vector of float)
 0:25          'inF0' (in float)
-0:26      reflect (global 2-component vector of float)
+0:26      reflect (temp 2-component vector of float)
 0:26        Construct vec2 (in 2-component vector of float)
 0:26          'inF0' (in float)
 0:26        Construct vec2 (in 2-component vector of float)
 0:26          'inF1' (in float)
-0:27      refract (global 2-component vector of float)
+0:27      refract (temp 2-component vector of float)
 0:27        Construct vec2 (in 2-component vector of float)
 0:27          'inF0' (in float)
 0:27        Construct vec2 (in 2-component vector of float)
@@ -490,7 +490,7 @@
 0:27        'inF2' (in float)
 0:28      Constant:
 0:28        0.000000
-0:29      bitFieldReverse (global uint)
+0:29      bitFieldReverse (temp uint)
 0:29        Convert float to uint (temp uint)
 0:29          'inF0' (in float)
 0:30      Constant:
@@ -518,14 +518,14 @@
 0:45      'inI0' (in 2-component vector of int)
 0:?     Sequence
 0:46      ERROR: Bad aggregation op
- (global 2-component vector of double)
+ (temp 2-component vector of double)
 0:46        Convert float to uint (temp 2-component vector of uint)
 0:46          'inF0' (in 2-component vector of float)
 0:46        Convert float to uint (temp 2-component vector of uint)
 0:46          'inF1' (in 2-component vector of float)
 0:47      Constant:
 0:47        0.000000
-0:48      bitCount (global 2-component vector of uint)
+0:48      bitCount (temp 2-component vector of uint)
 0:48        Convert float to uint (temp 2-component vector of uint)
 0:48          'inF0' (in 2-component vector of float)
 0:49      Constant:
@@ -535,16 +535,16 @@
 0:51      Constant:
 0:51        0.000000
 0:52      ERROR: Bad unary op
- (global 2-component vector of float)
+ (temp 2-component vector of float)
 0:52        Convert float to uint (temp 2-component vector of uint)
 0:52          'inF0' (in 2-component vector of float)
-0:53      findMSB (global 2-component vector of uint)
+0:53      findMSB (temp 2-component vector of uint)
 0:53        Convert float to uint (temp 2-component vector of uint)
 0:53          'inF0' (in 2-component vector of float)
-0:54      findLSB (global 2-component vector of uint)
+0:54      findLSB (temp 2-component vector of uint)
 0:54        Convert float to uint (temp 2-component vector of uint)
 0:54          'inF0' (in 2-component vector of float)
-0:56      bitFieldReverse (global 2-component vector of uint)
+0:56      bitFieldReverse (temp 2-component vector of uint)
 0:56        Convert float to uint (temp 2-component vector of uint)
 0:56          'inF0' (in 2-component vector of float)
 0:57      Constant:
@@ -562,7 +562,7 @@
 0:?     Sequence
 0:64      Constant:
 0:64        0.000000
-0:65      bitCount (global 3-component vector of uint)
+0:65      bitCount (temp 3-component vector of uint)
 0:65        Convert float to uint (temp 3-component vector of uint)
 0:65          'inF0' (in 3-component vector of float)
 0:66      Constant:
@@ -570,16 +570,16 @@
 0:67      Constant:
 0:67        0.000000
 0:68      ERROR: Bad unary op
- (global 3-component vector of float)
+ (temp 3-component vector of float)
 0:68        Convert float to uint (temp 3-component vector of uint)
 0:68          'inF0' (in 3-component vector of float)
-0:69      findMSB (global 3-component vector of uint)
+0:69      findMSB (temp 3-component vector of uint)
 0:69        Convert float to uint (temp 3-component vector of uint)
 0:69          'inF0' (in 3-component vector of float)
-0:70      findLSB (global 3-component vector of uint)
+0:70      findLSB (temp 3-component vector of uint)
 0:70        Convert float to uint (temp 3-component vector of uint)
 0:70          'inF0' (in 3-component vector of float)
-0:72      bitFieldReverse (global 3-component vector of uint)
+0:72      bitFieldReverse (temp 3-component vector of uint)
 0:72        Convert float to uint (temp 3-component vector of uint)
 0:72          'inF0' (in 3-component vector of float)
 0:73      Constant:
@@ -598,10 +598,10 @@
 0:?     Sequence
 0:81      Constant:
 0:81        0.000000
-0:82      bitCount (global 4-component vector of uint)
+0:82      bitCount (temp 4-component vector of uint)
 0:82        Convert float to uint (temp 4-component vector of uint)
 0:82          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:83      cross-product (global 3-component vector of float)
+0:83      cross-product (temp 3-component vector of float)
 0:83        Construct vec3 (in 3-component vector of float)
 0:83          'inF0' (layout(location=0 ) in 4-component vector of float)
 0:83        Construct vec3 (in 3-component vector of float)
@@ -609,16 +609,16 @@
 0:84      Constant:
 0:84        0.000000
 0:85      ERROR: Bad unary op
- (global 4-component vector of float)
+ (temp 4-component vector of float)
 0:85        Convert float to uint (temp 4-component vector of uint)
 0:85          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:86      findMSB (global 4-component vector of uint)
+0:86      findMSB (temp 4-component vector of uint)
 0:86        Convert float to uint (temp 4-component vector of uint)
 0:86          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:87      findLSB (global 4-component vector of uint)
+0:87      findLSB (temp 4-component vector of uint)
 0:87        Convert float to uint (temp 4-component vector of uint)
 0:87          'inF0' (layout(location=0 ) in 4-component vector of float)
-0:89      bitFieldReverse (global 4-component vector of uint)
+0:89      bitFieldReverse (temp 4-component vector of uint)
 0:89        Convert float to uint (temp 4-component vector of uint)
 0:89          'inF0' (layout(location=0 ) in 4-component vector of float)
 0:90      Constant:
diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out
index 72b6fbc..b57a5a9 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -114,6 +114,11 @@
 0:?           4.000000
 0:?           4.000000
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
+0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
+0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
+0:?     'inI0' (layout(location=3 ) in 4-component vector of int)
 0:?     'gs_ua' (global uint)
 0:?     'gs_ub' (global uint)
 0:?     'gs_uc' (global uint)
@@ -126,11 +131,6 @@
 0:?     'gs_ua4' (global 4-component vector of uint)
 0:?     'gs_ub4' (global 4-component vector of uint)
 0:?     'gs_uc4' (global 4-component vector of uint)
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
-0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
-0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
-0:?     'inI0' (layout(location=3 ) in 4-component vector of int)
 
 
 Linked vertex stage:
@@ -251,6 +251,11 @@
 0:?           4.000000
 0:?           4.000000
 0:?   Linker Objects
+0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
+0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
+0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
+0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
+0:?     'inI0' (layout(location=3 ) in 4-component vector of int)
 0:?     'gs_ua' (global uint)
 0:?     'gs_ub' (global uint)
 0:?     'gs_uc' (global uint)
@@ -263,11 +268,6 @@
 0:?     'gs_ua4' (global 4-component vector of uint)
 0:?     'gs_ub4' (global 4-component vector of uint)
 0:?     'gs_uc4' (global 4-component vector of uint)
-0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'inF0' (layout(location=0 ) in 4-component vector of float)
-0:?     'inF1' (layout(location=1 ) in 4-component vector of float)
-0:?     'inF2' (layout(location=2 ) in 4-component vector of float)
-0:?     'inI0' (layout(location=3 ) in 4-component vector of int)
 
 // Module Version 10000
 // Generated by (magic number): 80001
@@ -276,7 +276,7 @@
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "VertexShaderFunction" 85 122 123 124 127
+                              EntryPoint Vertex 4  "VertexShaderFunction" 85 102 103 104 107
                               Name 4  "VertexShaderFunction"
                               Name 15  "VertexShaderFunctionS(f1;f1;f1;i1;"
                               Name 11  "inF0"
@@ -311,27 +311,27 @@
                               Name 66  "inF1"
                               Name 67  "inF2"
                               Name 85  "@entryPointOutput"
-                              Name 103  "gs_ua"
-                              Name 104  "gs_ub"
-                              Name 105  "gs_uc"
-                              Name 108  "gs_ua2"
-                              Name 109  "gs_ub2"
-                              Name 110  "gs_uc2"
-                              Name 113  "gs_ua3"
-                              Name 114  "gs_ub3"
-                              Name 115  "gs_uc3"
-                              Name 118  "gs_ua4"
-                              Name 119  "gs_ub4"
-                              Name 120  "gs_uc4"
-                              Name 122  "inF0"
-                              Name 123  "inF1"
-                              Name 124  "inF2"
-                              Name 127  "inI0"
+                              Name 102  "inF0"
+                              Name 103  "inF1"
+                              Name 104  "inF2"
+                              Name 107  "inI0"
+                              Name 110  "gs_ua"
+                              Name 111  "gs_ub"
+                              Name 112  "gs_uc"
+                              Name 115  "gs_ua2"
+                              Name 116  "gs_ub2"
+                              Name 117  "gs_uc2"
+                              Name 120  "gs_ua3"
+                              Name 121  "gs_ub3"
+                              Name 122  "gs_uc3"
+                              Name 125  "gs_ua4"
+                              Name 126  "gs_ub4"
+                              Name 127  "gs_uc4"
                               Decorate 85(@entryPointOutput) Location 0
-                              Decorate 122(inF0) Location 0
-                              Decorate 123(inF1) Location 1
-                              Decorate 124(inF2) Location 2
-                              Decorate 127(inI0) Location 3
+                              Decorate 102(inF0) Location 0
+                              Decorate 103(inF1) Location 1
+                              Decorate 104(inF2) Location 2
+                              Decorate 107(inI0) Location 3
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -375,33 +375,33 @@
               94:          53 ConstantComposite 93 93 93
               97:   61(fvec4) ConstantComposite 86 86 86 86
               98:          62 ConstantComposite 97 97 97 97
-             101:             TypeInt 32 0
-             102:             TypePointer Private 101(int)
-      103(gs_ua):    102(ptr) Variable Private
-      104(gs_ub):    102(ptr) Variable Private
-      105(gs_uc):    102(ptr) Variable Private
-             106:             TypeVector 101(int) 2
-             107:             TypePointer Private 106(ivec2)
-     108(gs_ua2):    107(ptr) Variable Private
-     109(gs_ub2):    107(ptr) Variable Private
-     110(gs_uc2):    107(ptr) Variable Private
-             111:             TypeVector 101(int) 3
-             112:             TypePointer Private 111(ivec3)
-     113(gs_ua3):    112(ptr) Variable Private
-     114(gs_ub3):    112(ptr) Variable Private
-     115(gs_uc3):    112(ptr) Variable Private
-             116:             TypeVector 101(int) 4
-             117:             TypePointer Private 116(ivec4)
-     118(gs_ua4):    117(ptr) Variable Private
-     119(gs_ub4):    117(ptr) Variable Private
-     120(gs_uc4):    117(ptr) Variable Private
-             121:             TypePointer Input 61(fvec4)
-       122(inF0):    121(ptr) Variable Input
-       123(inF1):    121(ptr) Variable Input
-       124(inF2):    121(ptr) Variable Input
-             125:             TypeVector 8(int) 4
-             126:             TypePointer Input 125(ivec4)
-       127(inI0):    126(ptr) Variable Input
+             101:             TypePointer Input 61(fvec4)
+       102(inF0):    101(ptr) Variable Input
+       103(inF1):    101(ptr) Variable Input
+       104(inF2):    101(ptr) Variable Input
+             105:             TypeVector 8(int) 4
+             106:             TypePointer Input 105(ivec4)
+       107(inI0):    106(ptr) Variable Input
+             108:             TypeInt 32 0
+             109:             TypePointer Private 108(int)
+      110(gs_ua):    109(ptr) Variable Private
+      111(gs_ub):    109(ptr) Variable Private
+      112(gs_uc):    109(ptr) Variable Private
+             113:             TypeVector 108(int) 2
+             114:             TypePointer Private 113(ivec2)
+     115(gs_ua2):    114(ptr) Variable Private
+     116(gs_ub2):    114(ptr) Variable Private
+     117(gs_uc2):    114(ptr) Variable Private
+             118:             TypeVector 108(int) 3
+             119:             TypePointer Private 118(ivec3)
+     120(gs_ua3):    119(ptr) Variable Private
+     121(gs_ub3):    119(ptr) Variable Private
+     122(gs_uc3):    119(ptr) Variable Private
+             123:             TypeVector 108(int) 4
+             124:             TypePointer Private 123(ivec4)
+     125(gs_ua4):    124(ptr) Variable Private
+     126(gs_ub4):    124(ptr) Variable Private
+     127(gs_uc4):    124(ptr) Variable Private
 4(VertexShaderFunction):           2 Function None 3
                5:             Label
                               Store 85(@entryPointOutput) 87
diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out
index 811a752..bcf911b 100644
--- a/Test/baseResults/hlsl.intrinsics.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.vert.out
@@ -9,99 +9,99 @@
 0:2      'inU0' (in uint)
 0:2      'inU1' (in uint)
 0:?     Sequence
-0:3      all (global bool)
+0:3      all (temp bool)
 0:3        'inF0' (in float)
-0:4      Absolute value (global float)
+0:4      Absolute value (temp float)
 0:4        'inF0' (in float)
-0:5      arc cosine (global float)
+0:5      arc cosine (temp float)
 0:5        'inF0' (in float)
-0:6      any (global bool)
+0:6      any (temp bool)
 0:6        'inF0' (in float)
-0:7      arc sine (global float)
+0:7      arc sine (temp float)
 0:7        'inF0' (in float)
-0:8      floatBitsToInt (global int)
+0:8      floatBitsToInt (temp int)
 0:8        'inF0' (in float)
-0:9      floatBitsToUint (global uint)
+0:9      floatBitsToUint (temp uint)
 0:9        'inF0' (in float)
-0:10      intBitsToFloat (global float)
+0:10      intBitsToFloat (temp float)
 0:10        'inU0' (in uint)
-0:12      arc tangent (global float)
+0:12      arc tangent (temp float)
 0:12        'inF0' (in float)
-0:13      arc tangent (global float)
+0:13      arc tangent (temp float)
 0:13        'inF0' (in float)
 0:13        'inF1' (in float)
-0:14      Ceiling (global float)
+0:14      Ceiling (temp float)
 0:14        'inF0' (in float)
-0:15      clamp (global float)
+0:15      clamp (temp float)
 0:15        'inF0' (in float)
 0:15        'inF1' (in float)
 0:15        'inF2' (in float)
-0:16      cosine (global float)
+0:16      cosine (temp float)
 0:16        'inF0' (in float)
-0:17      hyp. cosine (global float)
+0:17      hyp. cosine (temp float)
 0:17        'inF0' (in float)
-0:18      bitCount (global uint)
+0:18      bitCount (temp uint)
 0:18        Constant:
 0:18          7 (const uint)
-0:19      degrees (global float)
+0:19      degrees (temp float)
 0:19        'inF0' (in float)
-0:23      exp (global float)
+0:23      exp (temp float)
 0:23        'inF0' (in float)
-0:24      exp2 (global float)
+0:24      exp2 (temp float)
 0:24        'inF0' (in float)
-0:25      findMSB (global int)
+0:25      findMSB (temp int)
 0:25        Constant:
 0:25          7 (const int)
-0:26      findLSB (global int)
+0:26      findLSB (temp int)
 0:26        Constant:
 0:26          7 (const int)
-0:27      Floor (global float)
+0:27      Floor (temp float)
 0:27        'inF0' (in float)
-0:29      mod (global float)
+0:29      mod (temp float)
 0:29        'inF0' (in float)
 0:29        'inF1' (in float)
-0:30      Fraction (global float)
+0:30      Fraction (temp float)
 0:30        'inF0' (in float)
-0:31      frexp (global float)
+0:31      frexp (temp float)
 0:31        'inF0' (in float)
 0:31        'inF1' (in float)
-0:32      isinf (global bool)
+0:32      isinf (temp bool)
 0:32        'inF0' (in float)
-0:33      isnan (global bool)
+0:33      isnan (temp bool)
 0:33        'inF0' (in float)
-0:34      ldexp (global float)
+0:34      ldexp (temp float)
 0:34        'inF0' (in float)
 0:34        'inF1' (in float)
-0:35      mix (global float)
+0:35      mix (temp float)
 0:35        'inF0' (in float)
 0:35        'inF1' (in float)
 0:35        'inF2' (in float)
-0:36      log (global float)
+0:36      log (temp float)
 0:36        'inF0' (in float)
 0:37      component-wise multiply (temp float)
 0:37        log2 (temp float)
 0:37          'inF0' (in float)
 0:37        Constant:
 0:37          0.301030
-0:38      log2 (global float)
+0:38      log2 (temp float)
 0:38        'inF0' (in float)
-0:39      max (global float)
+0:39      max (temp float)
 0:39        'inF0' (in float)
 0:39        'inF1' (in float)
-0:40      min (global float)
+0:40      min (temp float)
 0:40        'inF0' (in float)
 0:40        'inF1' (in float)
-0:42      pow (global float)
+0:42      pow (temp float)
 0:42        'inF0' (in float)
 0:42        'inF1' (in float)
-0:43      radians (global float)
+0:43      radians (temp float)
 0:43        'inF0' (in float)
-0:44      bitFieldReverse (global uint)
+0:44      bitFieldReverse (temp uint)
 0:44        Constant:
 0:44          2 (const uint)
-0:45      roundEven (global float)
+0:45      roundEven (temp float)
 0:45        'inF0' (in float)
-0:46      inverse sqrt (global float)
+0:46      inverse sqrt (temp float)
 0:46        'inF0' (in float)
 0:47      clamp (temp float)
 0:47        'inF0' (in float)
@@ -109,9 +109,9 @@
 0:47          0.000000
 0:47        Constant:
 0:47          1.000000
-0:48      Sign (global float)
+0:48      Sign (temp float)
 0:48        'inF0' (in float)
-0:49      sine (global float)
+0:49      sine (temp float)
 0:49        'inF0' (in float)
 0:50      Sequence
 0:50        move second child to first child (temp float)
@@ -122,22 +122,22 @@
 0:50          'inF2' (in float)
 0:50          cosine (temp float)
 0:50            'inF0' (in float)
-0:51      hyp. sine (global float)
+0:51      hyp. sine (temp float)
 0:51        'inF0' (in float)
-0:52      smoothstep (global float)
+0:52      smoothstep (temp float)
 0:52        'inF0' (in float)
 0:52        'inF1' (in float)
 0:52        'inF2' (in float)
-0:53      sqrt (global float)
+0:53      sqrt (temp float)
 0:53        'inF0' (in float)
-0:54      step (global float)
+0:54      step (temp float)
 0:54        'inF0' (in float)
 0:54        'inF1' (in float)
-0:55      tangent (global float)
+0:55      tangent (temp float)
 0:55        'inF0' (in float)
-0:56      hyp. tangent (global float)
+0:56      hyp. tangent (temp float)
 0:56        'inF0' (in float)
-0:58      trunc (global float)
+0:58      trunc (temp float)
 0:58        'inF0' (in float)
 0:60      Branch: Return with expression
 0:60        Constant:
@@ -159,123 +159,123 @@
 0:70      'inU0' (in 2-component vector of uint)
 0:70      'inU1' (in 2-component vector of uint)
 0:?     Sequence
-0:71      all (global bool)
+0:71      all (temp bool)
 0:71        'inF0' (in 2-component vector of float)
-0:72      Absolute value (global 2-component vector of float)
+0:72      Absolute value (temp 2-component vector of float)
 0:72        'inF0' (in 2-component vector of float)
-0:73      arc cosine (global 2-component vector of float)
+0:73      arc cosine (temp 2-component vector of float)
 0:73        'inF0' (in 2-component vector of float)
-0:74      any (global bool)
+0:74      any (temp bool)
 0:74        'inF0' (in 2-component vector of float)
-0:75      arc sine (global 2-component vector of float)
+0:75      arc sine (temp 2-component vector of float)
 0:75        'inF0' (in 2-component vector of float)
-0:76      floatBitsToInt (global 2-component vector of int)
+0:76      floatBitsToInt (temp 2-component vector of int)
 0:76        'inF0' (in 2-component vector of float)
-0:77      floatBitsToUint (global 2-component vector of uint)
+0:77      floatBitsToUint (temp 2-component vector of uint)
 0:77        'inF0' (in 2-component vector of float)
-0:78      intBitsToFloat (global 2-component vector of float)
+0:78      intBitsToFloat (temp 2-component vector of float)
 0:78        'inU0' (in 2-component vector of uint)
-0:80      arc tangent (global 2-component vector of float)
+0:80      arc tangent (temp 2-component vector of float)
 0:80        'inF0' (in 2-component vector of float)
-0:81      arc tangent (global 2-component vector of float)
+0:81      arc tangent (temp 2-component vector of float)
 0:81        'inF0' (in 2-component vector of float)
 0:81        'inF1' (in 2-component vector of float)
-0:82      Ceiling (global 2-component vector of float)
+0:82      Ceiling (temp 2-component vector of float)
 0:82        'inF0' (in 2-component vector of float)
-0:83      clamp (global 2-component vector of float)
+0:83      clamp (temp 2-component vector of float)
 0:83        'inF0' (in 2-component vector of float)
 0:83        'inF1' (in 2-component vector of float)
 0:83        'inF2' (in 2-component vector of float)
-0:84      cosine (global 2-component vector of float)
+0:84      cosine (temp 2-component vector of float)
 0:84        'inF0' (in 2-component vector of float)
-0:85      hyp. cosine (global 2-component vector of float)
+0:85      hyp. cosine (temp 2-component vector of float)
 0:85        'inF0' (in 2-component vector of float)
-0:?       bitCount (global 2-component vector of uint)
+0:?       bitCount (temp 2-component vector of uint)
 0:?         Constant:
 0:?           7 (const uint)
 0:?           3 (const uint)
-0:87      degrees (global 2-component vector of float)
+0:87      degrees (temp 2-component vector of float)
 0:87        'inF0' (in 2-component vector of float)
-0:88      distance (global float)
+0:88      distance (temp float)
 0:88        'inF0' (in 2-component vector of float)
 0:88        'inF1' (in 2-component vector of float)
-0:89      dot-product (global float)
+0:89      dot-product (temp float)
 0:89        'inF0' (in 2-component vector of float)
 0:89        'inF1' (in 2-component vector of float)
-0:93      exp (global 2-component vector of float)
+0:93      exp (temp 2-component vector of float)
 0:93        'inF0' (in 2-component vector of float)
-0:94      exp2 (global 2-component vector of float)
+0:94      exp2 (temp 2-component vector of float)
 0:94        'inF0' (in 2-component vector of float)
-0:95      face-forward (global 2-component vector of float)
+0:95      face-forward (temp 2-component vector of float)
 0:95        'inF0' (in 2-component vector of float)
 0:95        'inF1' (in 2-component vector of float)
 0:95        'inF2' (in 2-component vector of float)
-0:96      findMSB (global int)
+0:96      findMSB (temp int)
 0:96        Constant:
 0:96          7 (const int)
-0:97      findLSB (global int)
+0:97      findLSB (temp int)
 0:97        Constant:
 0:97          7 (const int)
-0:98      Floor (global 2-component vector of float)
+0:98      Floor (temp 2-component vector of float)
 0:98        'inF0' (in 2-component vector of float)
-0:100      mod (global 2-component vector of float)
+0:100      mod (temp 2-component vector of float)
 0:100        'inF0' (in 2-component vector of float)
 0:100        'inF1' (in 2-component vector of float)
-0:101      Fraction (global 2-component vector of float)
+0:101      Fraction (temp 2-component vector of float)
 0:101        'inF0' (in 2-component vector of float)
-0:102      frexp (global 2-component vector of float)
+0:102      frexp (temp 2-component vector of float)
 0:102        'inF0' (in 2-component vector of float)
 0:102        'inF1' (in 2-component vector of float)
-0:103      isinf (global 2-component vector of bool)
+0:103      isinf (temp 2-component vector of bool)
 0:103        'inF0' (in 2-component vector of float)
-0:104      isnan (global 2-component vector of bool)
+0:104      isnan (temp 2-component vector of bool)
 0:104        'inF0' (in 2-component vector of float)
-0:105      ldexp (global 2-component vector of float)
+0:105      ldexp (temp 2-component vector of float)
 0:105        'inF0' (in 2-component vector of float)
 0:105        'inF1' (in 2-component vector of float)
-0:106      mix (global 2-component vector of float)
+0:106      mix (temp 2-component vector of float)
 0:106        'inF0' (in 2-component vector of float)
 0:106        'inF1' (in 2-component vector of float)
 0:106        'inF2' (in 2-component vector of float)
-0:107      length (global float)
+0:107      length (temp float)
 0:107        'inF0' (in 2-component vector of float)
-0:108      log (global 2-component vector of float)
+0:108      log (temp 2-component vector of float)
 0:108        'inF0' (in 2-component vector of float)
 0:109      vector-scale (temp 2-component vector of float)
 0:109        log2 (temp 2-component vector of float)
 0:109          'inF0' (in 2-component vector of float)
 0:109        Constant:
 0:109          0.301030
-0:110      log2 (global 2-component vector of float)
+0:110      log2 (temp 2-component vector of float)
 0:110        'inF0' (in 2-component vector of float)
-0:111      max (global 2-component vector of float)
+0:111      max (temp 2-component vector of float)
 0:111        'inF0' (in 2-component vector of float)
 0:111        'inF1' (in 2-component vector of float)
-0:112      min (global 2-component vector of float)
+0:112      min (temp 2-component vector of float)
 0:112        'inF0' (in 2-component vector of float)
 0:112        'inF1' (in 2-component vector of float)
-0:114      normalize (global 2-component vector of float)
+0:114      normalize (temp 2-component vector of float)
 0:114        'inF0' (in 2-component vector of float)
-0:115      pow (global 2-component vector of float)
+0:115      pow (temp 2-component vector of float)
 0:115        'inF0' (in 2-component vector of float)
 0:115        'inF1' (in 2-component vector of float)
-0:116      radians (global 2-component vector of float)
+0:116      radians (temp 2-component vector of float)
 0:116        'inF0' (in 2-component vector of float)
-0:117      reflect (global 2-component vector of float)
+0:117      reflect (temp 2-component vector of float)
 0:117        'inF0' (in 2-component vector of float)
 0:117        'inF1' (in 2-component vector of float)
-0:118      refract (global 2-component vector of float)
+0:118      refract (temp 2-component vector of float)
 0:118        'inF0' (in 2-component vector of float)
 0:118        'inF1' (in 2-component vector of float)
 0:118        Constant:
 0:118          2.000000
-0:?       bitFieldReverse (global 2-component vector of uint)
+0:?       bitFieldReverse (temp 2-component vector of uint)
 0:?         Constant:
 0:?           1 (const uint)
 0:?           2 (const uint)
-0:120      roundEven (global 2-component vector of float)
+0:120      roundEven (temp 2-component vector of float)
 0:120        'inF0' (in 2-component vector of float)
-0:121      inverse sqrt (global 2-component vector of float)
+0:121      inverse sqrt (temp 2-component vector of float)
 0:121        'inF0' (in 2-component vector of float)
 0:122      clamp (temp 2-component vector of float)
 0:122        'inF0' (in 2-component vector of float)
@@ -283,9 +283,9 @@
 0:122          0.000000
 0:122        Constant:
 0:122          1.000000
-0:123      Sign (global 2-component vector of float)
+0:123      Sign (temp 2-component vector of float)
 0:123        'inF0' (in 2-component vector of float)
-0:124      sine (global 2-component vector of float)
+0:124      sine (temp 2-component vector of float)
 0:124        'inF0' (in 2-component vector of float)
 0:125      Sequence
 0:125        move second child to first child (temp 2-component vector of float)
@@ -296,22 +296,22 @@
 0:125          'inF2' (in 2-component vector of float)
 0:125          cosine (temp 2-component vector of float)
 0:125            'inF0' (in 2-component vector of float)
-0:126      hyp. sine (global 2-component vector of float)
+0:126      hyp. sine (temp 2-component vector of float)
 0:126        'inF0' (in 2-component vector of float)
-0:127      smoothstep (global 2-component vector of float)
+0:127      smoothstep (temp 2-component vector of float)
 0:127        'inF0' (in 2-component vector of float)
 0:127        'inF1' (in 2-component vector of float)
 0:127        'inF2' (in 2-component vector of float)
-0:128      sqrt (global 2-component vector of float)
+0:128      sqrt (temp 2-component vector of float)
 0:128        'inF0' (in 2-component vector of float)
-0:129      step (global 2-component vector of float)
+0:129      step (temp 2-component vector of float)
 0:129        'inF0' (in 2-component vector of float)
 0:129        'inF1' (in 2-component vector of float)
-0:130      tangent (global 2-component vector of float)
+0:130      tangent (temp 2-component vector of float)
 0:130        'inF0' (in 2-component vector of float)
-0:131      hyp. tangent (global 2-component vector of float)
+0:131      hyp. tangent (temp 2-component vector of float)
 0:131        'inF0' (in 2-component vector of float)
-0:133      trunc (global 2-component vector of float)
+0:133      trunc (temp 2-component vector of float)
 0:133        'inF0' (in 2-component vector of float)
 0:136      Branch: Return with expression
 0:?         Constant:
@@ -325,128 +325,128 @@
 0:140      'inU0' (in 3-component vector of uint)
 0:140      'inU1' (in 3-component vector of uint)
 0:?     Sequence
-0:141      all (global bool)
+0:141      all (temp bool)
 0:141        'inF0' (in 3-component vector of float)
-0:142      Absolute value (global 3-component vector of float)
+0:142      Absolute value (temp 3-component vector of float)
 0:142        'inF0' (in 3-component vector of float)
-0:143      arc cosine (global 3-component vector of float)
+0:143      arc cosine (temp 3-component vector of float)
 0:143        'inF0' (in 3-component vector of float)
-0:144      any (global bool)
+0:144      any (temp bool)
 0:144        'inF0' (in 3-component vector of float)
-0:145      arc sine (global 3-component vector of float)
+0:145      arc sine (temp 3-component vector of float)
 0:145        'inF0' (in 3-component vector of float)
-0:146      floatBitsToInt (global 3-component vector of int)
+0:146      floatBitsToInt (temp 3-component vector of int)
 0:146        'inF0' (in 3-component vector of float)
-0:147      floatBitsToUint (global 3-component vector of uint)
+0:147      floatBitsToUint (temp 3-component vector of uint)
 0:147        'inF0' (in 3-component vector of float)
-0:148      intBitsToFloat (global 3-component vector of float)
+0:148      intBitsToFloat (temp 3-component vector of float)
 0:148        'inU0' (in 3-component vector of uint)
-0:150      arc tangent (global 3-component vector of float)
+0:150      arc tangent (temp 3-component vector of float)
 0:150        'inF0' (in 3-component vector of float)
-0:151      arc tangent (global 3-component vector of float)
+0:151      arc tangent (temp 3-component vector of float)
 0:151        'inF0' (in 3-component vector of float)
 0:151        'inF1' (in 3-component vector of float)
-0:152      Ceiling (global 3-component vector of float)
+0:152      Ceiling (temp 3-component vector of float)
 0:152        'inF0' (in 3-component vector of float)
-0:153      clamp (global 3-component vector of float)
+0:153      clamp (temp 3-component vector of float)
 0:153        'inF0' (in 3-component vector of float)
 0:153        'inF1' (in 3-component vector of float)
 0:153        'inF2' (in 3-component vector of float)
-0:154      cosine (global 3-component vector of float)
+0:154      cosine (temp 3-component vector of float)
 0:154        'inF0' (in 3-component vector of float)
-0:155      hyp. cosine (global 3-component vector of float)
+0:155      hyp. cosine (temp 3-component vector of float)
 0:155        'inF0' (in 3-component vector of float)
-0:?       bitCount (global 3-component vector of uint)
+0:?       bitCount (temp 3-component vector of uint)
 0:?         Constant:
 0:?           7 (const uint)
 0:?           3 (const uint)
 0:?           5 (const uint)
-0:157      cross-product (global 3-component vector of float)
+0:157      cross-product (temp 3-component vector of float)
 0:157        'inF0' (in 3-component vector of float)
 0:157        'inF1' (in 3-component vector of float)
-0:158      degrees (global 3-component vector of float)
+0:158      degrees (temp 3-component vector of float)
 0:158        'inF0' (in 3-component vector of float)
-0:159      distance (global float)
+0:159      distance (temp float)
 0:159        'inF0' (in 3-component vector of float)
 0:159        'inF1' (in 3-component vector of float)
-0:160      dot-product (global float)
+0:160      dot-product (temp float)
 0:160        'inF0' (in 3-component vector of float)
 0:160        'inF1' (in 3-component vector of float)
-0:164      exp (global 3-component vector of float)
+0:164      exp (temp 3-component vector of float)
 0:164        'inF0' (in 3-component vector of float)
-0:165      exp2 (global 3-component vector of float)
+0:165      exp2 (temp 3-component vector of float)
 0:165        'inF0' (in 3-component vector of float)
-0:166      face-forward (global 3-component vector of float)
+0:166      face-forward (temp 3-component vector of float)
 0:166        'inF0' (in 3-component vector of float)
 0:166        'inF1' (in 3-component vector of float)
 0:166        'inF2' (in 3-component vector of float)
-0:167      findMSB (global int)
+0:167      findMSB (temp int)
 0:167        Constant:
 0:167          7 (const int)
-0:168      findLSB (global int)
+0:168      findLSB (temp int)
 0:168        Constant:
 0:168          7 (const int)
-0:169      Floor (global 3-component vector of float)
+0:169      Floor (temp 3-component vector of float)
 0:169        'inF0' (in 3-component vector of float)
-0:171      mod (global 3-component vector of float)
+0:171      mod (temp 3-component vector of float)
 0:171        'inF0' (in 3-component vector of float)
 0:171        'inF1' (in 3-component vector of float)
-0:172      Fraction (global 3-component vector of float)
+0:172      Fraction (temp 3-component vector of float)
 0:172        'inF0' (in 3-component vector of float)
-0:173      frexp (global 3-component vector of float)
+0:173      frexp (temp 3-component vector of float)
 0:173        'inF0' (in 3-component vector of float)
 0:173        'inF1' (in 3-component vector of float)
-0:174      isinf (global 3-component vector of bool)
+0:174      isinf (temp 3-component vector of bool)
 0:174        'inF0' (in 3-component vector of float)
-0:175      isnan (global 3-component vector of bool)
+0:175      isnan (temp 3-component vector of bool)
 0:175        'inF0' (in 3-component vector of float)
-0:176      ldexp (global 3-component vector of float)
+0:176      ldexp (temp 3-component vector of float)
 0:176        'inF0' (in 3-component vector of float)
 0:176        'inF1' (in 3-component vector of float)
-0:177      mix (global 3-component vector of float)
+0:177      mix (temp 3-component vector of float)
 0:177        'inF0' (in 3-component vector of float)
 0:177        'inF1' (in 3-component vector of float)
 0:177        'inF2' (in 3-component vector of float)
-0:178      length (global float)
+0:178      length (temp float)
 0:178        'inF0' (in 3-component vector of float)
-0:179      log (global 3-component vector of float)
+0:179      log (temp 3-component vector of float)
 0:179        'inF0' (in 3-component vector of float)
 0:180      vector-scale (temp 3-component vector of float)
 0:180        log2 (temp 3-component vector of float)
 0:180          'inF0' (in 3-component vector of float)
 0:180        Constant:
 0:180          0.301030
-0:181      log2 (global 3-component vector of float)
+0:181      log2 (temp 3-component vector of float)
 0:181        'inF0' (in 3-component vector of float)
-0:182      max (global 3-component vector of float)
+0:182      max (temp 3-component vector of float)
 0:182        'inF0' (in 3-component vector of float)
 0:182        'inF1' (in 3-component vector of float)
-0:183      min (global 3-component vector of float)
+0:183      min (temp 3-component vector of float)
 0:183        'inF0' (in 3-component vector of float)
 0:183        'inF1' (in 3-component vector of float)
-0:185      normalize (global 3-component vector of float)
+0:185      normalize (temp 3-component vector of float)
 0:185        'inF0' (in 3-component vector of float)
-0:186      pow (global 3-component vector of float)
+0:186      pow (temp 3-component vector of float)
 0:186        'inF0' (in 3-component vector of float)
 0:186        'inF1' (in 3-component vector of float)
-0:187      radians (global 3-component vector of float)
+0:187      radians (temp 3-component vector of float)
 0:187        'inF0' (in 3-component vector of float)
-0:188      reflect (global 3-component vector of float)
+0:188      reflect (temp 3-component vector of float)
 0:188        'inF0' (in 3-component vector of float)
 0:188        'inF1' (in 3-component vector of float)
-0:189      refract (global 3-component vector of float)
+0:189      refract (temp 3-component vector of float)
 0:189        'inF0' (in 3-component vector of float)
 0:189        'inF1' (in 3-component vector of float)
 0:189        Constant:
 0:189          2.000000
-0:?       bitFieldReverse (global 3-component vector of uint)
+0:?       bitFieldReverse (temp 3-component vector of uint)
 0:?         Constant:
 0:?           1 (const uint)
 0:?           2 (const uint)
 0:?           3 (const uint)
-0:191      roundEven (global 3-component vector of float)
+0:191      roundEven (temp 3-component vector of float)
 0:191        'inF0' (in 3-component vector of float)
-0:192      inverse sqrt (global 3-component vector of float)
+0:192      inverse sqrt (temp 3-component vector of float)
 0:192        'inF0' (in 3-component vector of float)
 0:193      clamp (temp 3-component vector of float)
 0:193        'inF0' (in 3-component vector of float)
@@ -454,9 +454,9 @@
 0:193          0.000000
 0:193        Constant:
 0:193          1.000000
-0:194      Sign (global 3-component vector of float)
+0:194      Sign (temp 3-component vector of float)
 0:194        'inF0' (in 3-component vector of float)
-0:195      sine (global 3-component vector of float)
+0:195      sine (temp 3-component vector of float)
 0:195        'inF0' (in 3-component vector of float)
 0:196      Sequence
 0:196        move second child to first child (temp 3-component vector of float)
@@ -467,22 +467,22 @@
 0:196          'inF2' (in 3-component vector of float)
 0:196          cosine (temp 3-component vector of float)
 0:196            'inF0' (in 3-component vector of float)
-0:197      hyp. sine (global 3-component vector of float)
+0:197      hyp. sine (temp 3-component vector of float)
 0:197        'inF0' (in 3-component vector of float)
-0:198      smoothstep (global 3-component vector of float)
+0:198      smoothstep (temp 3-component vector of float)
 0:198        'inF0' (in 3-component vector of float)
 0:198        'inF1' (in 3-component vector of float)
 0:198        'inF2' (in 3-component vector of float)
-0:199      sqrt (global 3-component vector of float)
+0:199      sqrt (temp 3-component vector of float)
 0:199        'inF0' (in 3-component vector of float)
-0:200      step (global 3-component vector of float)
+0:200      step (temp 3-component vector of float)
 0:200        'inF0' (in 3-component vector of float)
 0:200        'inF1' (in 3-component vector of float)
-0:201      tangent (global 3-component vector of float)
+0:201      tangent (temp 3-component vector of float)
 0:201        'inF0' (in 3-component vector of float)
-0:202      hyp. tangent (global 3-component vector of float)
+0:202      hyp. tangent (temp 3-component vector of float)
 0:202        'inF0' (in 3-component vector of float)
-0:204      trunc (global 3-component vector of float)
+0:204      trunc (temp 3-component vector of float)
 0:204        'inF0' (in 3-component vector of float)
 0:207      Branch: Return with expression
 0:?         Constant:
@@ -497,49 +497,49 @@
 0:211      'inU0' (in 4-component vector of uint)
 0:211      'inU1' (in 4-component vector of uint)
 0:?     Sequence
-0:212      all (global bool)
+0:212      all (temp bool)
 0:212        'inF0' (in 4-component vector of float)
-0:213      Absolute value (global 4-component vector of float)
+0:213      Absolute value (temp 4-component vector of float)
 0:213        'inF0' (in 4-component vector of float)
-0:214      arc cosine (global 4-component vector of float)
+0:214      arc cosine (temp 4-component vector of float)
 0:214        'inF0' (in 4-component vector of float)
-0:215      any (global bool)
+0:215      any (temp bool)
 0:215        'inF0' (in 4-component vector of float)
-0:216      arc sine (global 4-component vector of float)
+0:216      arc sine (temp 4-component vector of float)
 0:216        'inF0' (in 4-component vector of float)
-0:217      floatBitsToInt (global 4-component vector of int)
+0:217      floatBitsToInt (temp 4-component vector of int)
 0:217        'inF0' (in 4-component vector of float)
-0:218      floatBitsToUint (global 4-component vector of uint)
+0:218      floatBitsToUint (temp 4-component vector of uint)
 0:218        'inF0' (in 4-component vector of float)
-0:219      intBitsToFloat (global 4-component vector of float)
+0:219      intBitsToFloat (temp 4-component vector of float)
 0:219        'inU0' (in 4-component vector of uint)
-0:221      arc tangent (global 4-component vector of float)
+0:221      arc tangent (temp 4-component vector of float)
 0:221        'inF0' (in 4-component vector of float)
-0:222      arc tangent (global 4-component vector of float)
+0:222      arc tangent (temp 4-component vector of float)
 0:222        'inF0' (in 4-component vector of float)
 0:222        'inF1' (in 4-component vector of float)
-0:223      Ceiling (global 4-component vector of float)
+0:223      Ceiling (temp 4-component vector of float)
 0:223        'inF0' (in 4-component vector of float)
-0:224      clamp (global 4-component vector of float)
+0:224      clamp (temp 4-component vector of float)
 0:224        'inF0' (in 4-component vector of float)
 0:224        'inF1' (in 4-component vector of float)
 0:224        'inF2' (in 4-component vector of float)
-0:225      cosine (global 4-component vector of float)
+0:225      cosine (temp 4-component vector of float)
 0:225        'inF0' (in 4-component vector of float)
-0:226      hyp. cosine (global 4-component vector of float)
+0:226      hyp. cosine (temp 4-component vector of float)
 0:226        'inF0' (in 4-component vector of float)
-0:?       bitCount (global 4-component vector of uint)
+0:?       bitCount (temp 4-component vector of uint)
 0:?         Constant:
 0:?           7 (const uint)
 0:?           3 (const uint)
 0:?           5 (const uint)
 0:?           2 (const uint)
-0:228      degrees (global 4-component vector of float)
+0:228      degrees (temp 4-component vector of float)
 0:228        'inF0' (in 4-component vector of float)
-0:229      distance (global float)
+0:229      distance (temp float)
 0:229        'inF0' (in 4-component vector of float)
 0:229        'inF1' (in 4-component vector of float)
-0:230      dot-product (global float)
+0:230      dot-product (temp float)
 0:230        'inF0' (in 4-component vector of float)
 0:230        'inF1' (in 4-component vector of float)
 0:231      Construct vec4 (temp 4-component vector of float)
@@ -562,82 +562,82 @@
 0:231          'inF1' (in 4-component vector of float)
 0:231          Constant:
 0:231            3 (const int)
-0:235      exp (global 4-component vector of float)
+0:235      exp (temp 4-component vector of float)
 0:235        'inF0' (in 4-component vector of float)
-0:236      exp2 (global 4-component vector of float)
+0:236      exp2 (temp 4-component vector of float)
 0:236        'inF0' (in 4-component vector of float)
-0:237      face-forward (global 4-component vector of float)
+0:237      face-forward (temp 4-component vector of float)
 0:237        'inF0' (in 4-component vector of float)
 0:237        'inF1' (in 4-component vector of float)
 0:237        'inF2' (in 4-component vector of float)
-0:238      findMSB (global int)
+0:238      findMSB (temp int)
 0:238        Constant:
 0:238          7 (const int)
-0:239      findLSB (global int)
+0:239      findLSB (temp int)
 0:239        Constant:
 0:239          7 (const int)
-0:240      Floor (global 4-component vector of float)
+0:240      Floor (temp 4-component vector of float)
 0:240        'inF0' (in 4-component vector of float)
-0:242      mod (global 4-component vector of float)
+0:242      mod (temp 4-component vector of float)
 0:242        'inF0' (in 4-component vector of float)
 0:242        'inF1' (in 4-component vector of float)
-0:243      Fraction (global 4-component vector of float)
+0:243      Fraction (temp 4-component vector of float)
 0:243        'inF0' (in 4-component vector of float)
-0:244      frexp (global 4-component vector of float)
+0:244      frexp (temp 4-component vector of float)
 0:244        'inF0' (in 4-component vector of float)
 0:244        'inF1' (in 4-component vector of float)
-0:245      isinf (global 4-component vector of bool)
+0:245      isinf (temp 4-component vector of bool)
 0:245        'inF0' (in 4-component vector of float)
-0:246      isnan (global 4-component vector of bool)
+0:246      isnan (temp 4-component vector of bool)
 0:246        'inF0' (in 4-component vector of float)
-0:247      ldexp (global 4-component vector of float)
+0:247      ldexp (temp 4-component vector of float)
 0:247        'inF0' (in 4-component vector of float)
 0:247        'inF1' (in 4-component vector of float)
-0:248      mix (global 4-component vector of float)
+0:248      mix (temp 4-component vector of float)
 0:248        'inF0' (in 4-component vector of float)
 0:248        'inF1' (in 4-component vector of float)
 0:248        'inF2' (in 4-component vector of float)
-0:249      length (global float)
+0:249      length (temp float)
 0:249        'inF0' (in 4-component vector of float)
-0:250      log (global 4-component vector of float)
+0:250      log (temp 4-component vector of float)
 0:250        'inF0' (in 4-component vector of float)
 0:251      vector-scale (temp 4-component vector of float)
 0:251        log2 (temp 4-component vector of float)
 0:251          'inF0' (in 4-component vector of float)
 0:251        Constant:
 0:251          0.301030
-0:252      log2 (global 4-component vector of float)
+0:252      log2 (temp 4-component vector of float)
 0:252        'inF0' (in 4-component vector of float)
-0:253      max (global 4-component vector of float)
+0:253      max (temp 4-component vector of float)
 0:253        'inF0' (in 4-component vector of float)
 0:253        'inF1' (in 4-component vector of float)
-0:254      min (global 4-component vector of float)
+0:254      min (temp 4-component vector of float)
 0:254        'inF0' (in 4-component vector of float)
 0:254        'inF1' (in 4-component vector of float)
-0:256      normalize (global 4-component vector of float)
+0:256      normalize (temp 4-component vector of float)
 0:256        'inF0' (in 4-component vector of float)
-0:257      pow (global 4-component vector of float)
+0:257      pow (temp 4-component vector of float)
 0:257        'inF0' (in 4-component vector of float)
 0:257        'inF1' (in 4-component vector of float)
-0:258      radians (global 4-component vector of float)
+0:258      radians (temp 4-component vector of float)
 0:258        'inF0' (in 4-component vector of float)
-0:259      reflect (global 4-component vector of float)
+0:259      reflect (temp 4-component vector of float)
 0:259        'inF0' (in 4-component vector of float)
 0:259        'inF1' (in 4-component vector of float)
-0:260      refract (global 4-component vector of float)
+0:260      refract (temp 4-component vector of float)
 0:260        'inF0' (in 4-component vector of float)
 0:260        'inF1' (in 4-component vector of float)
 0:260        Constant:
 0:260          2.000000
-0:?       bitFieldReverse (global 4-component vector of uint)
+0:?       bitFieldReverse (temp 4-component vector of uint)
 0:?         Constant:
 0:?           1 (const uint)
 0:?           2 (const uint)
 0:?           3 (const uint)
 0:?           4 (const uint)
-0:262      roundEven (global 4-component vector of float)
+0:262      roundEven (temp 4-component vector of float)
 0:262        'inF0' (in 4-component vector of float)
-0:263      inverse sqrt (global 4-component vector of float)
+0:263      inverse sqrt (temp 4-component vector of float)
 0:263        'inF0' (in 4-component vector of float)
 0:264      clamp (temp 4-component vector of float)
 0:264        'inF0' (in 4-component vector of float)
@@ -645,9 +645,9 @@
 0:264          0.000000
 0:264        Constant:
 0:264          1.000000
-0:265      Sign (global 4-component vector of float)
+0:265      Sign (temp 4-component vector of float)
 0:265        'inF0' (in 4-component vector of float)
-0:266      sine (global 4-component vector of float)
+0:266      sine (temp 4-component vector of float)
 0:266        'inF0' (in 4-component vector of float)
 0:267      Sequence
 0:267        move second child to first child (temp 4-component vector of float)
@@ -658,22 +658,22 @@
 0:267          'inF2' (in 4-component vector of float)
 0:267          cosine (temp 4-component vector of float)
 0:267            'inF0' (in 4-component vector of float)
-0:268      hyp. sine (global 4-component vector of float)
+0:268      hyp. sine (temp 4-component vector of float)
 0:268        'inF0' (in 4-component vector of float)
-0:269      smoothstep (global 4-component vector of float)
+0:269      smoothstep (temp 4-component vector of float)
 0:269        'inF0' (in 4-component vector of float)
 0:269        'inF1' (in 4-component vector of float)
 0:269        'inF2' (in 4-component vector of float)
-0:270      sqrt (global 4-component vector of float)
+0:270      sqrt (temp 4-component vector of float)
 0:270        'inF0' (in 4-component vector of float)
-0:271      step (global 4-component vector of float)
+0:271      step (temp 4-component vector of float)
 0:271        'inF0' (in 4-component vector of float)
 0:271        'inF1' (in 4-component vector of float)
-0:272      tangent (global 4-component vector of float)
+0:272      tangent (temp 4-component vector of float)
 0:272        'inF0' (in 4-component vector of float)
-0:273      hyp. tangent (global 4-component vector of float)
+0:273      hyp. tangent (temp 4-component vector of float)
 0:273        'inF0' (in 4-component vector of float)
-0:275      trunc (global 4-component vector of float)
+0:275      trunc (temp 4-component vector of float)
 0:275        'inF0' (in 4-component vector of float)
 0:278      Branch: Return with expression
 0:?         Constant:
@@ -687,85 +687,85 @@
 0:336      'inF1' (in 2X2 matrix of float)
 0:336      'inF2' (in 2X2 matrix of float)
 0:?     Sequence
-0:338      all (global bool)
+0:338      all (temp bool)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      Absolute value (global 2X2 matrix of float)
+0:338      Absolute value (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc cosine (global 2X2 matrix of float)
+0:338      arc cosine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      any (global bool)
+0:338      any (temp bool)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc sine (global 2X2 matrix of float)
+0:338      arc sine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc tangent (global 2X2 matrix of float)
+0:338      arc tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc tangent (global 2X2 matrix of float)
+0:338      arc tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      Ceiling (global 2X2 matrix of float)
+0:338      Ceiling (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      clamp (global 2X2 matrix of float)
+0:338      clamp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
 0:338        'inF2' (in 2X2 matrix of float)
-0:338      cosine (global 2X2 matrix of float)
+0:338      cosine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      hyp. cosine (global 2X2 matrix of float)
+0:338      hyp. cosine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      degrees (global 2X2 matrix of float)
+0:338      degrees (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      determinant (global float)
+0:338      determinant (temp float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      exp (global 2X2 matrix of float)
+0:338      exp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      exp2 (global 2X2 matrix of float)
+0:338      exp2 (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      findMSB (global int)
+0:338      findMSB (temp int)
 0:338        Constant:
 0:338          7 (const int)
-0:338      findLSB (global int)
+0:338      findLSB (temp int)
 0:338        Constant:
 0:338          7 (const int)
-0:338      Floor (global 2X2 matrix of float)
+0:338      Floor (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      mod (global 2X2 matrix of float)
+0:338      mod (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      Fraction (global 2X2 matrix of float)
+0:338      Fraction (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      frexp (global 2X2 matrix of float)
+0:338      frexp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      ldexp (global 2X2 matrix of float)
+0:338      ldexp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      mix (global 2X2 matrix of float)
+0:338      mix (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
 0:338        'inF2' (in 2X2 matrix of float)
-0:338      log (global 2X2 matrix of float)
+0:338      log (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338      matrix-scale (temp 2X2 matrix of float)
 0:338        log2 (temp 2X2 matrix of float)
 0:338          'inF0' (in 2X2 matrix of float)
 0:338        Constant:
 0:338          0.301030
-0:338      log2 (global 2X2 matrix of float)
+0:338      log2 (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      max (global 2X2 matrix of float)
+0:338      max (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      min (global 2X2 matrix of float)
+0:338      min (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      pow (global 2X2 matrix of float)
+0:338      pow (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      radians (global 2X2 matrix of float)
+0:338      radians (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      roundEven (global 2X2 matrix of float)
+0:338      roundEven (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      inverse sqrt (global 2X2 matrix of float)
+0:338      inverse sqrt (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338      clamp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
@@ -773,9 +773,9 @@
 0:338          0.000000
 0:338        Constant:
 0:338          1.000000
-0:338      Sign (global 2X2 matrix of float)
+0:338      Sign (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      sine (global 2X2 matrix of float)
+0:338      sine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338      Sequence
 0:338        move second child to first child (temp 2X2 matrix of float)
@@ -786,24 +786,24 @@
 0:338          'inF2' (in 2X2 matrix of float)
 0:338          cosine (temp 2X2 matrix of float)
 0:338            'inF0' (in 2X2 matrix of float)
-0:338      hyp. sine (global 2X2 matrix of float)
+0:338      hyp. sine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      smoothstep (global 2X2 matrix of float)
+0:338      smoothstep (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
 0:338        'inF2' (in 2X2 matrix of float)
-0:338      sqrt (global 2X2 matrix of float)
+0:338      sqrt (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      step (global 2X2 matrix of float)
+0:338      step (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      tangent (global 2X2 matrix of float)
+0:338      tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      hyp. tangent (global 2X2 matrix of float)
+0:338      hyp. tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      transpose (global 2X2 matrix of float)
+0:338      transpose (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      trunc (global 2X2 matrix of float)
+0:338      trunc (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:341      Branch: Return with expression
 0:?         Constant:
@@ -817,85 +817,85 @@
 0:345      'inF1' (in 3X3 matrix of float)
 0:345      'inF2' (in 3X3 matrix of float)
 0:?     Sequence
-0:347      all (global bool)
+0:347      all (temp bool)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      Absolute value (global 3X3 matrix of float)
+0:347      Absolute value (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc cosine (global 3X3 matrix of float)
+0:347      arc cosine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      any (global bool)
+0:347      any (temp bool)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc sine (global 3X3 matrix of float)
+0:347      arc sine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc tangent (global 3X3 matrix of float)
+0:347      arc tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc tangent (global 3X3 matrix of float)
+0:347      arc tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      Ceiling (global 3X3 matrix of float)
+0:347      Ceiling (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      clamp (global 3X3 matrix of float)
+0:347      clamp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
 0:347        'inF2' (in 3X3 matrix of float)
-0:347      cosine (global 3X3 matrix of float)
+0:347      cosine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      hyp. cosine (global 3X3 matrix of float)
+0:347      hyp. cosine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      degrees (global 3X3 matrix of float)
+0:347      degrees (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      determinant (global float)
+0:347      determinant (temp float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      exp (global 3X3 matrix of float)
+0:347      exp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      exp2 (global 3X3 matrix of float)
+0:347      exp2 (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      findMSB (global int)
+0:347      findMSB (temp int)
 0:347        Constant:
 0:347          7 (const int)
-0:347      findLSB (global int)
+0:347      findLSB (temp int)
 0:347        Constant:
 0:347          7 (const int)
-0:347      Floor (global 3X3 matrix of float)
+0:347      Floor (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      mod (global 3X3 matrix of float)
+0:347      mod (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      Fraction (global 3X3 matrix of float)
+0:347      Fraction (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      frexp (global 3X3 matrix of float)
+0:347      frexp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      ldexp (global 3X3 matrix of float)
+0:347      ldexp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      mix (global 3X3 matrix of float)
+0:347      mix (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
 0:347        'inF2' (in 3X3 matrix of float)
-0:347      log (global 3X3 matrix of float)
+0:347      log (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347      matrix-scale (temp 3X3 matrix of float)
 0:347        log2 (temp 3X3 matrix of float)
 0:347          'inF0' (in 3X3 matrix of float)
 0:347        Constant:
 0:347          0.301030
-0:347      log2 (global 3X3 matrix of float)
+0:347      log2 (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      max (global 3X3 matrix of float)
+0:347      max (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      min (global 3X3 matrix of float)
+0:347      min (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      pow (global 3X3 matrix of float)
+0:347      pow (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      radians (global 3X3 matrix of float)
+0:347      radians (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      roundEven (global 3X3 matrix of float)
+0:347      roundEven (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      inverse sqrt (global 3X3 matrix of float)
+0:347      inverse sqrt (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347      clamp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
@@ -903,9 +903,9 @@
 0:347          0.000000
 0:347        Constant:
 0:347          1.000000
-0:347      Sign (global 3X3 matrix of float)
+0:347      Sign (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      sine (global 3X3 matrix of float)
+0:347      sine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347      Sequence
 0:347        move second child to first child (temp 3X3 matrix of float)
@@ -916,24 +916,24 @@
 0:347          'inF2' (in 3X3 matrix of float)
 0:347          cosine (temp 3X3 matrix of float)
 0:347            'inF0' (in 3X3 matrix of float)
-0:347      hyp. sine (global 3X3 matrix of float)
+0:347      hyp. sine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      smoothstep (global 3X3 matrix of float)
+0:347      smoothstep (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
 0:347        'inF2' (in 3X3 matrix of float)
-0:347      sqrt (global 3X3 matrix of float)
+0:347      sqrt (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      step (global 3X3 matrix of float)
+0:347      step (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      tangent (global 3X3 matrix of float)
+0:347      tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      hyp. tangent (global 3X3 matrix of float)
+0:347      hyp. tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      transpose (global 3X3 matrix of float)
+0:347      transpose (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      trunc (global 3X3 matrix of float)
+0:347      trunc (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:350      Branch: Return with expression
 0:?         Constant:
@@ -952,85 +952,85 @@
 0:354      'inF1' (in 4X4 matrix of float)
 0:354      'inF2' (in 4X4 matrix of float)
 0:?     Sequence
-0:356      all (global bool)
+0:356      all (temp bool)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      Absolute value (global 4X4 matrix of float)
+0:356      Absolute value (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc cosine (global 4X4 matrix of float)
+0:356      arc cosine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      any (global bool)
+0:356      any (temp bool)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc sine (global 4X4 matrix of float)
+0:356      arc sine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc tangent (global 4X4 matrix of float)
+0:356      arc tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc tangent (global 4X4 matrix of float)
+0:356      arc tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      Ceiling (global 4X4 matrix of float)
+0:356      Ceiling (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      clamp (global 4X4 matrix of float)
+0:356      clamp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
 0:356        'inF2' (in 4X4 matrix of float)
-0:356      cosine (global 4X4 matrix of float)
+0:356      cosine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      hyp. cosine (global 4X4 matrix of float)
+0:356      hyp. cosine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      degrees (global 4X4 matrix of float)
+0:356      degrees (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      determinant (global float)
+0:356      determinant (temp float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      exp (global 4X4 matrix of float)
+0:356      exp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      exp2 (global 4X4 matrix of float)
+0:356      exp2 (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      findMSB (global int)
+0:356      findMSB (temp int)
 0:356        Constant:
 0:356          7 (const int)
-0:356      findLSB (global int)
+0:356      findLSB (temp int)
 0:356        Constant:
 0:356          7 (const int)
-0:356      Floor (global 4X4 matrix of float)
+0:356      Floor (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      mod (global 4X4 matrix of float)
+0:356      mod (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      Fraction (global 4X4 matrix of float)
+0:356      Fraction (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      frexp (global 4X4 matrix of float)
+0:356      frexp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      ldexp (global 4X4 matrix of float)
+0:356      ldexp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      mix (global 4X4 matrix of float)
+0:356      mix (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
 0:356        'inF2' (in 4X4 matrix of float)
-0:356      log (global 4X4 matrix of float)
+0:356      log (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356      matrix-scale (temp 4X4 matrix of float)
 0:356        log2 (temp 4X4 matrix of float)
 0:356          'inF0' (in 4X4 matrix of float)
 0:356        Constant:
 0:356          0.301030
-0:356      log2 (global 4X4 matrix of float)
+0:356      log2 (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      max (global 4X4 matrix of float)
+0:356      max (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      min (global 4X4 matrix of float)
+0:356      min (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      pow (global 4X4 matrix of float)
+0:356      pow (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      radians (global 4X4 matrix of float)
+0:356      radians (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      roundEven (global 4X4 matrix of float)
+0:356      roundEven (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      inverse sqrt (global 4X4 matrix of float)
+0:356      inverse sqrt (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356      clamp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
@@ -1038,9 +1038,9 @@
 0:356          0.000000
 0:356        Constant:
 0:356          1.000000
-0:356      Sign (global 4X4 matrix of float)
+0:356      Sign (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      sine (global 4X4 matrix of float)
+0:356      sine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356      Sequence
 0:356        move second child to first child (temp 4X4 matrix of float)
@@ -1051,24 +1051,24 @@
 0:356          'inF2' (in 4X4 matrix of float)
 0:356          cosine (temp 4X4 matrix of float)
 0:356            'inF0' (in 4X4 matrix of float)
-0:356      hyp. sine (global 4X4 matrix of float)
+0:356      hyp. sine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      smoothstep (global 4X4 matrix of float)
+0:356      smoothstep (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
 0:356        'inF2' (in 4X4 matrix of float)
-0:356      sqrt (global 4X4 matrix of float)
+0:356      sqrt (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      step (global 4X4 matrix of float)
+0:356      step (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      tangent (global 4X4 matrix of float)
+0:356      tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      hyp. tangent (global 4X4 matrix of float)
+0:356      hyp. tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      transpose (global 4X4 matrix of float)
+0:356      transpose (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      trunc (global 4X4 matrix of float)
+0:356      trunc (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:359      Branch: Return with expression
 0:?         Constant:
@@ -1118,7 +1118,7 @@
 0:378      Sequence
 0:378        move second child to first child (temp float)
 0:378          'r3' (temp float)
-0:378          dot-product (global float)
+0:378          dot-product (temp float)
 0:378            'inFV0' (in 2-component vector of float)
 0:378            'inFV1' (in 2-component vector of float)
 0:378      Sequence
@@ -1181,7 +1181,7 @@
 0:385      Sequence
 0:385        move second child to first child (temp float)
 0:385          'r3' (temp float)
-0:385          dot-product (global float)
+0:385          dot-product (temp float)
 0:385            'inFV0' (in 3-component vector of float)
 0:385            'inFV1' (in 3-component vector of float)
 0:385      Sequence
@@ -1244,7 +1244,7 @@
 0:392      Sequence
 0:392        move second child to first child (temp float)
 0:392          'r3' (temp float)
-0:392          dot-product (global float)
+0:392          dot-product (temp float)
 0:392            'inFV0' (in 4-component vector of float)
 0:392            'inFV1' (in 4-component vector of float)
 0:392      Sequence
@@ -1322,13 +1322,13 @@
 0:407      Sequence
 0:407        move second child to first child (temp float)
 0:407          'r05' (temp float)
-0:407          dot-product (global float)
+0:407          dot-product (temp float)
 0:407            'inFV2' (in 2-component vector of float)
 0:407            'inFV2' (in 2-component vector of float)
 0:408      Sequence
 0:408        move second child to first child (temp float)
 0:408          'r06' (temp float)
-0:408          dot-product (global float)
+0:408          dot-product (temp float)
 0:408            'inFV3' (in 3-component vector of float)
 0:408            'inFV3' (in 3-component vector of float)
 0:409      Sequence
@@ -1396,6 +1396,7 @@
 
 Linked vertex stage:
 
+WARNING: Linking vertex stage: Entry point not found
 
 Shader version: 450
 0:? Sequence
@@ -1407,99 +1408,99 @@
 0:2      'inU0' (in uint)
 0:2      'inU1' (in uint)
 0:?     Sequence
-0:3      all (global bool)
+0:3      all (temp bool)
 0:3        'inF0' (in float)
-0:4      Absolute value (global float)
+0:4      Absolute value (temp float)
 0:4        'inF0' (in float)
-0:5      arc cosine (global float)
+0:5      arc cosine (temp float)
 0:5        'inF0' (in float)
-0:6      any (global bool)
+0:6      any (temp bool)
 0:6        'inF0' (in float)
-0:7      arc sine (global float)
+0:7      arc sine (temp float)
 0:7        'inF0' (in float)
-0:8      floatBitsToInt (global int)
+0:8      floatBitsToInt (temp int)
 0:8        'inF0' (in float)
-0:9      floatBitsToUint (global uint)
+0:9      floatBitsToUint (temp uint)
 0:9        'inF0' (in float)
-0:10      intBitsToFloat (global float)
+0:10      intBitsToFloat (temp float)
 0:10        'inU0' (in uint)
-0:12      arc tangent (global float)
+0:12      arc tangent (temp float)
 0:12        'inF0' (in float)
-0:13      arc tangent (global float)
+0:13      arc tangent (temp float)
 0:13        'inF0' (in float)
 0:13        'inF1' (in float)
-0:14      Ceiling (global float)
+0:14      Ceiling (temp float)
 0:14        'inF0' (in float)
-0:15      clamp (global float)
+0:15      clamp (temp float)
 0:15        'inF0' (in float)
 0:15        'inF1' (in float)
 0:15        'inF2' (in float)
-0:16      cosine (global float)
+0:16      cosine (temp float)
 0:16        'inF0' (in float)
-0:17      hyp. cosine (global float)
+0:17      hyp. cosine (temp float)
 0:17        'inF0' (in float)
-0:18      bitCount (global uint)
+0:18      bitCount (temp uint)
 0:18        Constant:
 0:18          7 (const uint)
-0:19      degrees (global float)
+0:19      degrees (temp float)
 0:19        'inF0' (in float)
-0:23      exp (global float)
+0:23      exp (temp float)
 0:23        'inF0' (in float)
-0:24      exp2 (global float)
+0:24      exp2 (temp float)
 0:24        'inF0' (in float)
-0:25      findMSB (global int)
+0:25      findMSB (temp int)
 0:25        Constant:
 0:25          7 (const int)
-0:26      findLSB (global int)
+0:26      findLSB (temp int)
 0:26        Constant:
 0:26          7 (const int)
-0:27      Floor (global float)
+0:27      Floor (temp float)
 0:27        'inF0' (in float)
-0:29      mod (global float)
+0:29      mod (temp float)
 0:29        'inF0' (in float)
 0:29        'inF1' (in float)
-0:30      Fraction (global float)
+0:30      Fraction (temp float)
 0:30        'inF0' (in float)
-0:31      frexp (global float)
+0:31      frexp (temp float)
 0:31        'inF0' (in float)
 0:31        'inF1' (in float)
-0:32      isinf (global bool)
+0:32      isinf (temp bool)
 0:32        'inF0' (in float)
-0:33      isnan (global bool)
+0:33      isnan (temp bool)
 0:33        'inF0' (in float)
-0:34      ldexp (global float)
+0:34      ldexp (temp float)
 0:34        'inF0' (in float)
 0:34        'inF1' (in float)
-0:35      mix (global float)
+0:35      mix (temp float)
 0:35        'inF0' (in float)
 0:35        'inF1' (in float)
 0:35        'inF2' (in float)
-0:36      log (global float)
+0:36      log (temp float)
 0:36        'inF0' (in float)
 0:37      component-wise multiply (temp float)
 0:37        log2 (temp float)
 0:37          'inF0' (in float)
 0:37        Constant:
 0:37          0.301030
-0:38      log2 (global float)
+0:38      log2 (temp float)
 0:38        'inF0' (in float)
-0:39      max (global float)
+0:39      max (temp float)
 0:39        'inF0' (in float)
 0:39        'inF1' (in float)
-0:40      min (global float)
+0:40      min (temp float)
 0:40        'inF0' (in float)
 0:40        'inF1' (in float)
-0:42      pow (global float)
+0:42      pow (temp float)
 0:42        'inF0' (in float)
 0:42        'inF1' (in float)
-0:43      radians (global float)
+0:43      radians (temp float)
 0:43        'inF0' (in float)
-0:44      bitFieldReverse (global uint)
+0:44      bitFieldReverse (temp uint)
 0:44        Constant:
 0:44          2 (const uint)
-0:45      roundEven (global float)
+0:45      roundEven (temp float)
 0:45        'inF0' (in float)
-0:46      inverse sqrt (global float)
+0:46      inverse sqrt (temp float)
 0:46        'inF0' (in float)
 0:47      clamp (temp float)
 0:47        'inF0' (in float)
@@ -1507,9 +1508,9 @@
 0:47          0.000000
 0:47        Constant:
 0:47          1.000000
-0:48      Sign (global float)
+0:48      Sign (temp float)
 0:48        'inF0' (in float)
-0:49      sine (global float)
+0:49      sine (temp float)
 0:49        'inF0' (in float)
 0:50      Sequence
 0:50        move second child to first child (temp float)
@@ -1520,22 +1521,22 @@
 0:50          'inF2' (in float)
 0:50          cosine (temp float)
 0:50            'inF0' (in float)
-0:51      hyp. sine (global float)
+0:51      hyp. sine (temp float)
 0:51        'inF0' (in float)
-0:52      smoothstep (global float)
+0:52      smoothstep (temp float)
 0:52        'inF0' (in float)
 0:52        'inF1' (in float)
 0:52        'inF2' (in float)
-0:53      sqrt (global float)
+0:53      sqrt (temp float)
 0:53        'inF0' (in float)
-0:54      step (global float)
+0:54      step (temp float)
 0:54        'inF0' (in float)
 0:54        'inF1' (in float)
-0:55      tangent (global float)
+0:55      tangent (temp float)
 0:55        'inF0' (in float)
-0:56      hyp. tangent (global float)
+0:56      hyp. tangent (temp float)
 0:56        'inF0' (in float)
-0:58      trunc (global float)
+0:58      trunc (temp float)
 0:58        'inF0' (in float)
 0:60      Branch: Return with expression
 0:60        Constant:
@@ -1557,123 +1558,123 @@
 0:70      'inU0' (in 2-component vector of uint)
 0:70      'inU1' (in 2-component vector of uint)
 0:?     Sequence
-0:71      all (global bool)
+0:71      all (temp bool)
 0:71        'inF0' (in 2-component vector of float)
-0:72      Absolute value (global 2-component vector of float)
+0:72      Absolute value (temp 2-component vector of float)
 0:72        'inF0' (in 2-component vector of float)
-0:73      arc cosine (global 2-component vector of float)
+0:73      arc cosine (temp 2-component vector of float)
 0:73        'inF0' (in 2-component vector of float)
-0:74      any (global bool)
+0:74      any (temp bool)
 0:74        'inF0' (in 2-component vector of float)
-0:75      arc sine (global 2-component vector of float)
+0:75      arc sine (temp 2-component vector of float)
 0:75        'inF0' (in 2-component vector of float)
-0:76      floatBitsToInt (global 2-component vector of int)
+0:76      floatBitsToInt (temp 2-component vector of int)
 0:76        'inF0' (in 2-component vector of float)
-0:77      floatBitsToUint (global 2-component vector of uint)
+0:77      floatBitsToUint (temp 2-component vector of uint)
 0:77        'inF0' (in 2-component vector of float)
-0:78      intBitsToFloat (global 2-component vector of float)
+0:78      intBitsToFloat (temp 2-component vector of float)
 0:78        'inU0' (in 2-component vector of uint)
-0:80      arc tangent (global 2-component vector of float)
+0:80      arc tangent (temp 2-component vector of float)
 0:80        'inF0' (in 2-component vector of float)
-0:81      arc tangent (global 2-component vector of float)
+0:81      arc tangent (temp 2-component vector of float)
 0:81        'inF0' (in 2-component vector of float)
 0:81        'inF1' (in 2-component vector of float)
-0:82      Ceiling (global 2-component vector of float)
+0:82      Ceiling (temp 2-component vector of float)
 0:82        'inF0' (in 2-component vector of float)
-0:83      clamp (global 2-component vector of float)
+0:83      clamp (temp 2-component vector of float)
 0:83        'inF0' (in 2-component vector of float)
 0:83        'inF1' (in 2-component vector of float)
 0:83        'inF2' (in 2-component vector of float)
-0:84      cosine (global 2-component vector of float)
+0:84      cosine (temp 2-component vector of float)
 0:84        'inF0' (in 2-component vector of float)
-0:85      hyp. cosine (global 2-component vector of float)
+0:85      hyp. cosine (temp 2-component vector of float)
 0:85        'inF0' (in 2-component vector of float)
-0:?       bitCount (global 2-component vector of uint)
+0:?       bitCount (temp 2-component vector of uint)
 0:?         Constant:
 0:?           7 (const uint)
 0:?           3 (const uint)
-0:87      degrees (global 2-component vector of float)
+0:87      degrees (temp 2-component vector of float)
 0:87        'inF0' (in 2-component vector of float)
-0:88      distance (global float)
+0:88      distance (temp float)
 0:88        'inF0' (in 2-component vector of float)
 0:88        'inF1' (in 2-component vector of float)
-0:89      dot-product (global float)
+0:89      dot-product (temp float)
 0:89        'inF0' (in 2-component vector of float)
 0:89        'inF1' (in 2-component vector of float)
-0:93      exp (global 2-component vector of float)
+0:93      exp (temp 2-component vector of float)
 0:93        'inF0' (in 2-component vector of float)
-0:94      exp2 (global 2-component vector of float)
+0:94      exp2 (temp 2-component vector of float)
 0:94        'inF0' (in 2-component vector of float)
-0:95      face-forward (global 2-component vector of float)
+0:95      face-forward (temp 2-component vector of float)
 0:95        'inF0' (in 2-component vector of float)
 0:95        'inF1' (in 2-component vector of float)
 0:95        'inF2' (in 2-component vector of float)
-0:96      findMSB (global int)
+0:96      findMSB (temp int)
 0:96        Constant:
 0:96          7 (const int)
-0:97      findLSB (global int)
+0:97      findLSB (temp int)
 0:97        Constant:
 0:97          7 (const int)
-0:98      Floor (global 2-component vector of float)
+0:98      Floor (temp 2-component vector of float)
 0:98        'inF0' (in 2-component vector of float)
-0:100      mod (global 2-component vector of float)
+0:100      mod (temp 2-component vector of float)
 0:100        'inF0' (in 2-component vector of float)
 0:100        'inF1' (in 2-component vector of float)
-0:101      Fraction (global 2-component vector of float)
+0:101      Fraction (temp 2-component vector of float)
 0:101        'inF0' (in 2-component vector of float)
-0:102      frexp (global 2-component vector of float)
+0:102      frexp (temp 2-component vector of float)
 0:102        'inF0' (in 2-component vector of float)
 0:102        'inF1' (in 2-component vector of float)
-0:103      isinf (global 2-component vector of bool)
+0:103      isinf (temp 2-component vector of bool)
 0:103        'inF0' (in 2-component vector of float)
-0:104      isnan (global 2-component vector of bool)
+0:104      isnan (temp 2-component vector of bool)
 0:104        'inF0' (in 2-component vector of float)
-0:105      ldexp (global 2-component vector of float)
+0:105      ldexp (temp 2-component vector of float)
 0:105        'inF0' (in 2-component vector of float)
 0:105        'inF1' (in 2-component vector of float)
-0:106      mix (global 2-component vector of float)
+0:106      mix (temp 2-component vector of float)
 0:106        'inF0' (in 2-component vector of float)
 0:106        'inF1' (in 2-component vector of float)
 0:106        'inF2' (in 2-component vector of float)
-0:107      length (global float)
+0:107      length (temp float)
 0:107        'inF0' (in 2-component vector of float)
-0:108      log (global 2-component vector of float)
+0:108      log (temp 2-component vector of float)
 0:108        'inF0' (in 2-component vector of float)
 0:109      vector-scale (temp 2-component vector of float)
 0:109        log2 (temp 2-component vector of float)
 0:109          'inF0' (in 2-component vector of float)
 0:109        Constant:
 0:109          0.301030
-0:110      log2 (global 2-component vector of float)
+0:110      log2 (temp 2-component vector of float)
 0:110        'inF0' (in 2-component vector of float)
-0:111      max (global 2-component vector of float)
+0:111      max (temp 2-component vector of float)
 0:111        'inF0' (in 2-component vector of float)
 0:111        'inF1' (in 2-component vector of float)
-0:112      min (global 2-component vector of float)
+0:112      min (temp 2-component vector of float)
 0:112        'inF0' (in 2-component vector of float)
 0:112        'inF1' (in 2-component vector of float)
-0:114      normalize (global 2-component vector of float)
+0:114      normalize (temp 2-component vector of float)
 0:114        'inF0' (in 2-component vector of float)
-0:115      pow (global 2-component vector of float)
+0:115      pow (temp 2-component vector of float)
 0:115        'inF0' (in 2-component vector of float)
 0:115        'inF1' (in 2-component vector of float)
-0:116      radians (global 2-component vector of float)
+0:116      radians (temp 2-component vector of float)
 0:116        'inF0' (in 2-component vector of float)
-0:117      reflect (global 2-component vector of float)
+0:117      reflect (temp 2-component vector of float)
 0:117        'inF0' (in 2-component vector of float)
 0:117        'inF1' (in 2-component vector of float)
-0:118      refract (global 2-component vector of float)
+0:118      refract (temp 2-component vector of float)
 0:118        'inF0' (in 2-component vector of float)
 0:118        'inF1' (in 2-component vector of float)
 0:118        Constant:
 0:118          2.000000
-0:?       bitFieldReverse (global 2-component vector of uint)
+0:?       bitFieldReverse (temp 2-component vector of uint)
 0:?         Constant:
 0:?           1 (const uint)
 0:?           2 (const uint)
-0:120      roundEven (global 2-component vector of float)
+0:120      roundEven (temp 2-component vector of float)
 0:120        'inF0' (in 2-component vector of float)
-0:121      inverse sqrt (global 2-component vector of float)
+0:121      inverse sqrt (temp 2-component vector of float)
 0:121        'inF0' (in 2-component vector of float)
 0:122      clamp (temp 2-component vector of float)
 0:122        'inF0' (in 2-component vector of float)
@@ -1681,9 +1682,9 @@
 0:122          0.000000
 0:122        Constant:
 0:122          1.000000
-0:123      Sign (global 2-component vector of float)
+0:123      Sign (temp 2-component vector of float)
 0:123        'inF0' (in 2-component vector of float)
-0:124      sine (global 2-component vector of float)
+0:124      sine (temp 2-component vector of float)
 0:124        'inF0' (in 2-component vector of float)
 0:125      Sequence
 0:125        move second child to first child (temp 2-component vector of float)
@@ -1694,22 +1695,22 @@
 0:125          'inF2' (in 2-component vector of float)
 0:125          cosine (temp 2-component vector of float)
 0:125            'inF0' (in 2-component vector of float)
-0:126      hyp. sine (global 2-component vector of float)
+0:126      hyp. sine (temp 2-component vector of float)
 0:126        'inF0' (in 2-component vector of float)
-0:127      smoothstep (global 2-component vector of float)
+0:127      smoothstep (temp 2-component vector of float)
 0:127        'inF0' (in 2-component vector of float)
 0:127        'inF1' (in 2-component vector of float)
 0:127        'inF2' (in 2-component vector of float)
-0:128      sqrt (global 2-component vector of float)
+0:128      sqrt (temp 2-component vector of float)
 0:128        'inF0' (in 2-component vector of float)
-0:129      step (global 2-component vector of float)
+0:129      step (temp 2-component vector of float)
 0:129        'inF0' (in 2-component vector of float)
 0:129        'inF1' (in 2-component vector of float)
-0:130      tangent (global 2-component vector of float)
+0:130      tangent (temp 2-component vector of float)
 0:130        'inF0' (in 2-component vector of float)
-0:131      hyp. tangent (global 2-component vector of float)
+0:131      hyp. tangent (temp 2-component vector of float)
 0:131        'inF0' (in 2-component vector of float)
-0:133      trunc (global 2-component vector of float)
+0:133      trunc (temp 2-component vector of float)
 0:133        'inF0' (in 2-component vector of float)
 0:136      Branch: Return with expression
 0:?         Constant:
@@ -1723,128 +1724,128 @@
 0:140      'inU0' (in 3-component vector of uint)
 0:140      'inU1' (in 3-component vector of uint)
 0:?     Sequence
-0:141      all (global bool)
+0:141      all (temp bool)
 0:141        'inF0' (in 3-component vector of float)
-0:142      Absolute value (global 3-component vector of float)
+0:142      Absolute value (temp 3-component vector of float)
 0:142        'inF0' (in 3-component vector of float)
-0:143      arc cosine (global 3-component vector of float)
+0:143      arc cosine (temp 3-component vector of float)
 0:143        'inF0' (in 3-component vector of float)
-0:144      any (global bool)
+0:144      any (temp bool)
 0:144        'inF0' (in 3-component vector of float)
-0:145      arc sine (global 3-component vector of float)
+0:145      arc sine (temp 3-component vector of float)
 0:145        'inF0' (in 3-component vector of float)
-0:146      floatBitsToInt (global 3-component vector of int)
+0:146      floatBitsToInt (temp 3-component vector of int)
 0:146        'inF0' (in 3-component vector of float)
-0:147      floatBitsToUint (global 3-component vector of uint)
+0:147      floatBitsToUint (temp 3-component vector of uint)
 0:147        'inF0' (in 3-component vector of float)
-0:148      intBitsToFloat (global 3-component vector of float)
+0:148      intBitsToFloat (temp 3-component vector of float)
 0:148        'inU0' (in 3-component vector of uint)
-0:150      arc tangent (global 3-component vector of float)
+0:150      arc tangent (temp 3-component vector of float)
 0:150        'inF0' (in 3-component vector of float)
-0:151      arc tangent (global 3-component vector of float)
+0:151      arc tangent (temp 3-component vector of float)
 0:151        'inF0' (in 3-component vector of float)
 0:151        'inF1' (in 3-component vector of float)
-0:152      Ceiling (global 3-component vector of float)
+0:152      Ceiling (temp 3-component vector of float)
 0:152        'inF0' (in 3-component vector of float)
-0:153      clamp (global 3-component vector of float)
+0:153      clamp (temp 3-component vector of float)
 0:153        'inF0' (in 3-component vector of float)
 0:153        'inF1' (in 3-component vector of float)
 0:153        'inF2' (in 3-component vector of float)
-0:154      cosine (global 3-component vector of float)
+0:154      cosine (temp 3-component vector of float)
 0:154        'inF0' (in 3-component vector of float)
-0:155      hyp. cosine (global 3-component vector of float)
+0:155      hyp. cosine (temp 3-component vector of float)
 0:155        'inF0' (in 3-component vector of float)
-0:?       bitCount (global 3-component vector of uint)
+0:?       bitCount (temp 3-component vector of uint)
 0:?         Constant:
 0:?           7 (const uint)
 0:?           3 (const uint)
 0:?           5 (const uint)
-0:157      cross-product (global 3-component vector of float)
+0:157      cross-product (temp 3-component vector of float)
 0:157        'inF0' (in 3-component vector of float)
 0:157        'inF1' (in 3-component vector of float)
-0:158      degrees (global 3-component vector of float)
+0:158      degrees (temp 3-component vector of float)
 0:158        'inF0' (in 3-component vector of float)
-0:159      distance (global float)
+0:159      distance (temp float)
 0:159        'inF0' (in 3-component vector of float)
 0:159        'inF1' (in 3-component vector of float)
-0:160      dot-product (global float)
+0:160      dot-product (temp float)
 0:160        'inF0' (in 3-component vector of float)
 0:160        'inF1' (in 3-component vector of float)
-0:164      exp (global 3-component vector of float)
+0:164      exp (temp 3-component vector of float)
 0:164        'inF0' (in 3-component vector of float)
-0:165      exp2 (global 3-component vector of float)
+0:165      exp2 (temp 3-component vector of float)
 0:165        'inF0' (in 3-component vector of float)
-0:166      face-forward (global 3-component vector of float)
+0:166      face-forward (temp 3-component vector of float)
 0:166        'inF0' (in 3-component vector of float)
 0:166        'inF1' (in 3-component vector of float)
 0:166        'inF2' (in 3-component vector of float)
-0:167      findMSB (global int)
+0:167      findMSB (temp int)
 0:167        Constant:
 0:167          7 (const int)
-0:168      findLSB (global int)
+0:168      findLSB (temp int)
 0:168        Constant:
 0:168          7 (const int)
-0:169      Floor (global 3-component vector of float)
+0:169      Floor (temp 3-component vector of float)
 0:169        'inF0' (in 3-component vector of float)
-0:171      mod (global 3-component vector of float)
+0:171      mod (temp 3-component vector of float)
 0:171        'inF0' (in 3-component vector of float)
 0:171        'inF1' (in 3-component vector of float)
-0:172      Fraction (global 3-component vector of float)
+0:172      Fraction (temp 3-component vector of float)
 0:172        'inF0' (in 3-component vector of float)
-0:173      frexp (global 3-component vector of float)
+0:173      frexp (temp 3-component vector of float)
 0:173        'inF0' (in 3-component vector of float)
 0:173        'inF1' (in 3-component vector of float)
-0:174      isinf (global 3-component vector of bool)
+0:174      isinf (temp 3-component vector of bool)
 0:174        'inF0' (in 3-component vector of float)
-0:175      isnan (global 3-component vector of bool)
+0:175      isnan (temp 3-component vector of bool)
 0:175        'inF0' (in 3-component vector of float)
-0:176      ldexp (global 3-component vector of float)
+0:176      ldexp (temp 3-component vector of float)
 0:176        'inF0' (in 3-component vector of float)
 0:176        'inF1' (in 3-component vector of float)
-0:177      mix (global 3-component vector of float)
+0:177      mix (temp 3-component vector of float)
 0:177        'inF0' (in 3-component vector of float)
 0:177        'inF1' (in 3-component vector of float)
 0:177        'inF2' (in 3-component vector of float)
-0:178      length (global float)
+0:178      length (temp float)
 0:178        'inF0' (in 3-component vector of float)
-0:179      log (global 3-component vector of float)
+0:179      log (temp 3-component vector of float)
 0:179        'inF0' (in 3-component vector of float)
 0:180      vector-scale (temp 3-component vector of float)
 0:180        log2 (temp 3-component vector of float)
 0:180          'inF0' (in 3-component vector of float)
 0:180        Constant:
 0:180          0.301030
-0:181      log2 (global 3-component vector of float)
+0:181      log2 (temp 3-component vector of float)
 0:181        'inF0' (in 3-component vector of float)
-0:182      max (global 3-component vector of float)
+0:182      max (temp 3-component vector of float)
 0:182        'inF0' (in 3-component vector of float)
 0:182        'inF1' (in 3-component vector of float)
-0:183      min (global 3-component vector of float)
+0:183      min (temp 3-component vector of float)
 0:183        'inF0' (in 3-component vector of float)
 0:183        'inF1' (in 3-component vector of float)
-0:185      normalize (global 3-component vector of float)
+0:185      normalize (temp 3-component vector of float)
 0:185        'inF0' (in 3-component vector of float)
-0:186      pow (global 3-component vector of float)
+0:186      pow (temp 3-component vector of float)
 0:186        'inF0' (in 3-component vector of float)
 0:186        'inF1' (in 3-component vector of float)
-0:187      radians (global 3-component vector of float)
+0:187      radians (temp 3-component vector of float)
 0:187        'inF0' (in 3-component vector of float)
-0:188      reflect (global 3-component vector of float)
+0:188      reflect (temp 3-component vector of float)
 0:188        'inF0' (in 3-component vector of float)
 0:188        'inF1' (in 3-component vector of float)
-0:189      refract (global 3-component vector of float)
+0:189      refract (temp 3-component vector of float)
 0:189        'inF0' (in 3-component vector of float)
 0:189        'inF1' (in 3-component vector of float)
 0:189        Constant:
 0:189          2.000000
-0:?       bitFieldReverse (global 3-component vector of uint)
+0:?       bitFieldReverse (temp 3-component vector of uint)
 0:?         Constant:
 0:?           1 (const uint)
 0:?           2 (const uint)
 0:?           3 (const uint)
-0:191      roundEven (global 3-component vector of float)
+0:191      roundEven (temp 3-component vector of float)
 0:191        'inF0' (in 3-component vector of float)
-0:192      inverse sqrt (global 3-component vector of float)
+0:192      inverse sqrt (temp 3-component vector of float)
 0:192        'inF0' (in 3-component vector of float)
 0:193      clamp (temp 3-component vector of float)
 0:193        'inF0' (in 3-component vector of float)
@@ -1852,9 +1853,9 @@
 0:193          0.000000
 0:193        Constant:
 0:193          1.000000
-0:194      Sign (global 3-component vector of float)
+0:194      Sign (temp 3-component vector of float)
 0:194        'inF0' (in 3-component vector of float)
-0:195      sine (global 3-component vector of float)
+0:195      sine (temp 3-component vector of float)
 0:195        'inF0' (in 3-component vector of float)
 0:196      Sequence
 0:196        move second child to first child (temp 3-component vector of float)
@@ -1865,22 +1866,22 @@
 0:196          'inF2' (in 3-component vector of float)
 0:196          cosine (temp 3-component vector of float)
 0:196            'inF0' (in 3-component vector of float)
-0:197      hyp. sine (global 3-component vector of float)
+0:197      hyp. sine (temp 3-component vector of float)
 0:197        'inF0' (in 3-component vector of float)
-0:198      smoothstep (global 3-component vector of float)
+0:198      smoothstep (temp 3-component vector of float)
 0:198        'inF0' (in 3-component vector of float)
 0:198        'inF1' (in 3-component vector of float)
 0:198        'inF2' (in 3-component vector of float)
-0:199      sqrt (global 3-component vector of float)
+0:199      sqrt (temp 3-component vector of float)
 0:199        'inF0' (in 3-component vector of float)
-0:200      step (global 3-component vector of float)
+0:200      step (temp 3-component vector of float)
 0:200        'inF0' (in 3-component vector of float)
 0:200        'inF1' (in 3-component vector of float)
-0:201      tangent (global 3-component vector of float)
+0:201      tangent (temp 3-component vector of float)
 0:201        'inF0' (in 3-component vector of float)
-0:202      hyp. tangent (global 3-component vector of float)
+0:202      hyp. tangent (temp 3-component vector of float)
 0:202        'inF0' (in 3-component vector of float)
-0:204      trunc (global 3-component vector of float)
+0:204      trunc (temp 3-component vector of float)
 0:204        'inF0' (in 3-component vector of float)
 0:207      Branch: Return with expression
 0:?         Constant:
@@ -1895,49 +1896,49 @@
 0:211      'inU0' (in 4-component vector of uint)
 0:211      'inU1' (in 4-component vector of uint)
 0:?     Sequence
-0:212      all (global bool)
+0:212      all (temp bool)
 0:212        'inF0' (in 4-component vector of float)
-0:213      Absolute value (global 4-component vector of float)
+0:213      Absolute value (temp 4-component vector of float)
 0:213        'inF0' (in 4-component vector of float)
-0:214      arc cosine (global 4-component vector of float)
+0:214      arc cosine (temp 4-component vector of float)
 0:214        'inF0' (in 4-component vector of float)
-0:215      any (global bool)
+0:215      any (temp bool)
 0:215        'inF0' (in 4-component vector of float)
-0:216      arc sine (global 4-component vector of float)
+0:216      arc sine (temp 4-component vector of float)
 0:216        'inF0' (in 4-component vector of float)
-0:217      floatBitsToInt (global 4-component vector of int)
+0:217      floatBitsToInt (temp 4-component vector of int)
 0:217        'inF0' (in 4-component vector of float)
-0:218      floatBitsToUint (global 4-component vector of uint)
+0:218      floatBitsToUint (temp 4-component vector of uint)
 0:218        'inF0' (in 4-component vector of float)
-0:219      intBitsToFloat (global 4-component vector of float)
+0:219      intBitsToFloat (temp 4-component vector of float)
 0:219        'inU0' (in 4-component vector of uint)
-0:221      arc tangent (global 4-component vector of float)
+0:221      arc tangent (temp 4-component vector of float)
 0:221        'inF0' (in 4-component vector of float)
-0:222      arc tangent (global 4-component vector of float)
+0:222      arc tangent (temp 4-component vector of float)
 0:222        'inF0' (in 4-component vector of float)
 0:222        'inF1' (in 4-component vector of float)
-0:223      Ceiling (global 4-component vector of float)
+0:223      Ceiling (temp 4-component vector of float)
 0:223        'inF0' (in 4-component vector of float)
-0:224      clamp (global 4-component vector of float)
+0:224      clamp (temp 4-component vector of float)
 0:224        'inF0' (in 4-component vector of float)
 0:224        'inF1' (in 4-component vector of float)
 0:224        'inF2' (in 4-component vector of float)
-0:225      cosine (global 4-component vector of float)
+0:225      cosine (temp 4-component vector of float)
 0:225        'inF0' (in 4-component vector of float)
-0:226      hyp. cosine (global 4-component vector of float)
+0:226      hyp. cosine (temp 4-component vector of float)
 0:226        'inF0' (in 4-component vector of float)
-0:?       bitCount (global 4-component vector of uint)
+0:?       bitCount (temp 4-component vector of uint)
 0:?         Constant:
 0:?           7 (const uint)
 0:?           3 (const uint)
 0:?           5 (const uint)
 0:?           2 (const uint)
-0:228      degrees (global 4-component vector of float)
+0:228      degrees (temp 4-component vector of float)
 0:228        'inF0' (in 4-component vector of float)
-0:229      distance (global float)
+0:229      distance (temp float)
 0:229        'inF0' (in 4-component vector of float)
 0:229        'inF1' (in 4-component vector of float)
-0:230      dot-product (global float)
+0:230      dot-product (temp float)
 0:230        'inF0' (in 4-component vector of float)
 0:230        'inF1' (in 4-component vector of float)
 0:231      Construct vec4 (temp 4-component vector of float)
@@ -1960,82 +1961,82 @@
 0:231          'inF1' (in 4-component vector of float)
 0:231          Constant:
 0:231            3 (const int)
-0:235      exp (global 4-component vector of float)
+0:235      exp (temp 4-component vector of float)
 0:235        'inF0' (in 4-component vector of float)
-0:236      exp2 (global 4-component vector of float)
+0:236      exp2 (temp 4-component vector of float)
 0:236        'inF0' (in 4-component vector of float)
-0:237      face-forward (global 4-component vector of float)
+0:237      face-forward (temp 4-component vector of float)
 0:237        'inF0' (in 4-component vector of float)
 0:237        'inF1' (in 4-component vector of float)
 0:237        'inF2' (in 4-component vector of float)
-0:238      findMSB (global int)
+0:238      findMSB (temp int)
 0:238        Constant:
 0:238          7 (const int)
-0:239      findLSB (global int)
+0:239      findLSB (temp int)
 0:239        Constant:
 0:239          7 (const int)
-0:240      Floor (global 4-component vector of float)
+0:240      Floor (temp 4-component vector of float)
 0:240        'inF0' (in 4-component vector of float)
-0:242      mod (global 4-component vector of float)
+0:242      mod (temp 4-component vector of float)
 0:242        'inF0' (in 4-component vector of float)
 0:242        'inF1' (in 4-component vector of float)
-0:243      Fraction (global 4-component vector of float)
+0:243      Fraction (temp 4-component vector of float)
 0:243        'inF0' (in 4-component vector of float)
-0:244      frexp (global 4-component vector of float)
+0:244      frexp (temp 4-component vector of float)
 0:244        'inF0' (in 4-component vector of float)
 0:244        'inF1' (in 4-component vector of float)
-0:245      isinf (global 4-component vector of bool)
+0:245      isinf (temp 4-component vector of bool)
 0:245        'inF0' (in 4-component vector of float)
-0:246      isnan (global 4-component vector of bool)
+0:246      isnan (temp 4-component vector of bool)
 0:246        'inF0' (in 4-component vector of float)
-0:247      ldexp (global 4-component vector of float)
+0:247      ldexp (temp 4-component vector of float)
 0:247        'inF0' (in 4-component vector of float)
 0:247        'inF1' (in 4-component vector of float)
-0:248      mix (global 4-component vector of float)
+0:248      mix (temp 4-component vector of float)
 0:248        'inF0' (in 4-component vector of float)
 0:248        'inF1' (in 4-component vector of float)
 0:248        'inF2' (in 4-component vector of float)
-0:249      length (global float)
+0:249      length (temp float)
 0:249        'inF0' (in 4-component vector of float)
-0:250      log (global 4-component vector of float)
+0:250      log (temp 4-component vector of float)
 0:250        'inF0' (in 4-component vector of float)
 0:251      vector-scale (temp 4-component vector of float)
 0:251        log2 (temp 4-component vector of float)
 0:251          'inF0' (in 4-component vector of float)
 0:251        Constant:
 0:251          0.301030
-0:252      log2 (global 4-component vector of float)
+0:252      log2 (temp 4-component vector of float)
 0:252        'inF0' (in 4-component vector of float)
-0:253      max (global 4-component vector of float)
+0:253      max (temp 4-component vector of float)
 0:253        'inF0' (in 4-component vector of float)
 0:253        'inF1' (in 4-component vector of float)
-0:254      min (global 4-component vector of float)
+0:254      min (temp 4-component vector of float)
 0:254        'inF0' (in 4-component vector of float)
 0:254        'inF1' (in 4-component vector of float)
-0:256      normalize (global 4-component vector of float)
+0:256      normalize (temp 4-component vector of float)
 0:256        'inF0' (in 4-component vector of float)
-0:257      pow (global 4-component vector of float)
+0:257      pow (temp 4-component vector of float)
 0:257        'inF0' (in 4-component vector of float)
 0:257        'inF1' (in 4-component vector of float)
-0:258      radians (global 4-component vector of float)
+0:258      radians (temp 4-component vector of float)
 0:258        'inF0' (in 4-component vector of float)
-0:259      reflect (global 4-component vector of float)
+0:259      reflect (temp 4-component vector of float)
 0:259        'inF0' (in 4-component vector of float)
 0:259        'inF1' (in 4-component vector of float)
-0:260      refract (global 4-component vector of float)
+0:260      refract (temp 4-component vector of float)
 0:260        'inF0' (in 4-component vector of float)
 0:260        'inF1' (in 4-component vector of float)
 0:260        Constant:
 0:260          2.000000
-0:?       bitFieldReverse (global 4-component vector of uint)
+0:?       bitFieldReverse (temp 4-component vector of uint)
 0:?         Constant:
 0:?           1 (const uint)
 0:?           2 (const uint)
 0:?           3 (const uint)
 0:?           4 (const uint)
-0:262      roundEven (global 4-component vector of float)
+0:262      roundEven (temp 4-component vector of float)
 0:262        'inF0' (in 4-component vector of float)
-0:263      inverse sqrt (global 4-component vector of float)
+0:263      inverse sqrt (temp 4-component vector of float)
 0:263        'inF0' (in 4-component vector of float)
 0:264      clamp (temp 4-component vector of float)
 0:264        'inF0' (in 4-component vector of float)
@@ -2043,9 +2044,9 @@
 0:264          0.000000
 0:264        Constant:
 0:264          1.000000
-0:265      Sign (global 4-component vector of float)
+0:265      Sign (temp 4-component vector of float)
 0:265        'inF0' (in 4-component vector of float)
-0:266      sine (global 4-component vector of float)
+0:266      sine (temp 4-component vector of float)
 0:266        'inF0' (in 4-component vector of float)
 0:267      Sequence
 0:267        move second child to first child (temp 4-component vector of float)
@@ -2056,22 +2057,22 @@
 0:267          'inF2' (in 4-component vector of float)
 0:267          cosine (temp 4-component vector of float)
 0:267            'inF0' (in 4-component vector of float)
-0:268      hyp. sine (global 4-component vector of float)
+0:268      hyp. sine (temp 4-component vector of float)
 0:268        'inF0' (in 4-component vector of float)
-0:269      smoothstep (global 4-component vector of float)
+0:269      smoothstep (temp 4-component vector of float)
 0:269        'inF0' (in 4-component vector of float)
 0:269        'inF1' (in 4-component vector of float)
 0:269        'inF2' (in 4-component vector of float)
-0:270      sqrt (global 4-component vector of float)
+0:270      sqrt (temp 4-component vector of float)
 0:270        'inF0' (in 4-component vector of float)
-0:271      step (global 4-component vector of float)
+0:271      step (temp 4-component vector of float)
 0:271        'inF0' (in 4-component vector of float)
 0:271        'inF1' (in 4-component vector of float)
-0:272      tangent (global 4-component vector of float)
+0:272      tangent (temp 4-component vector of float)
 0:272        'inF0' (in 4-component vector of float)
-0:273      hyp. tangent (global 4-component vector of float)
+0:273      hyp. tangent (temp 4-component vector of float)
 0:273        'inF0' (in 4-component vector of float)
-0:275      trunc (global 4-component vector of float)
+0:275      trunc (temp 4-component vector of float)
 0:275        'inF0' (in 4-component vector of float)
 0:278      Branch: Return with expression
 0:?         Constant:
@@ -2085,85 +2086,85 @@
 0:336      'inF1' (in 2X2 matrix of float)
 0:336      'inF2' (in 2X2 matrix of float)
 0:?     Sequence
-0:338      all (global bool)
+0:338      all (temp bool)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      Absolute value (global 2X2 matrix of float)
+0:338      Absolute value (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc cosine (global 2X2 matrix of float)
+0:338      arc cosine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      any (global bool)
+0:338      any (temp bool)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc sine (global 2X2 matrix of float)
+0:338      arc sine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc tangent (global 2X2 matrix of float)
+0:338      arc tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      arc tangent (global 2X2 matrix of float)
+0:338      arc tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      Ceiling (global 2X2 matrix of float)
+0:338      Ceiling (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      clamp (global 2X2 matrix of float)
+0:338      clamp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
 0:338        'inF2' (in 2X2 matrix of float)
-0:338      cosine (global 2X2 matrix of float)
+0:338      cosine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      hyp. cosine (global 2X2 matrix of float)
+0:338      hyp. cosine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      degrees (global 2X2 matrix of float)
+0:338      degrees (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      determinant (global float)
+0:338      determinant (temp float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      exp (global 2X2 matrix of float)
+0:338      exp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      exp2 (global 2X2 matrix of float)
+0:338      exp2 (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      findMSB (global int)
+0:338      findMSB (temp int)
 0:338        Constant:
 0:338          7 (const int)
-0:338      findLSB (global int)
+0:338      findLSB (temp int)
 0:338        Constant:
 0:338          7 (const int)
-0:338      Floor (global 2X2 matrix of float)
+0:338      Floor (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      mod (global 2X2 matrix of float)
+0:338      mod (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      Fraction (global 2X2 matrix of float)
+0:338      Fraction (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      frexp (global 2X2 matrix of float)
+0:338      frexp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      ldexp (global 2X2 matrix of float)
+0:338      ldexp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      mix (global 2X2 matrix of float)
+0:338      mix (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
 0:338        'inF2' (in 2X2 matrix of float)
-0:338      log (global 2X2 matrix of float)
+0:338      log (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338      matrix-scale (temp 2X2 matrix of float)
 0:338        log2 (temp 2X2 matrix of float)
 0:338          'inF0' (in 2X2 matrix of float)
 0:338        Constant:
 0:338          0.301030
-0:338      log2 (global 2X2 matrix of float)
+0:338      log2 (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      max (global 2X2 matrix of float)
+0:338      max (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      min (global 2X2 matrix of float)
+0:338      min (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      pow (global 2X2 matrix of float)
+0:338      pow (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      radians (global 2X2 matrix of float)
+0:338      radians (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      roundEven (global 2X2 matrix of float)
+0:338      roundEven (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      inverse sqrt (global 2X2 matrix of float)
+0:338      inverse sqrt (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338      clamp (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
@@ -2171,9 +2172,9 @@
 0:338          0.000000
 0:338        Constant:
 0:338          1.000000
-0:338      Sign (global 2X2 matrix of float)
+0:338      Sign (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      sine (global 2X2 matrix of float)
+0:338      sine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338      Sequence
 0:338        move second child to first child (temp 2X2 matrix of float)
@@ -2184,24 +2185,24 @@
 0:338          'inF2' (in 2X2 matrix of float)
 0:338          cosine (temp 2X2 matrix of float)
 0:338            'inF0' (in 2X2 matrix of float)
-0:338      hyp. sine (global 2X2 matrix of float)
+0:338      hyp. sine (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      smoothstep (global 2X2 matrix of float)
+0:338      smoothstep (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
 0:338        'inF2' (in 2X2 matrix of float)
-0:338      sqrt (global 2X2 matrix of float)
+0:338      sqrt (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      step (global 2X2 matrix of float)
+0:338      step (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:338        'inF1' (in 2X2 matrix of float)
-0:338      tangent (global 2X2 matrix of float)
+0:338      tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      hyp. tangent (global 2X2 matrix of float)
+0:338      hyp. tangent (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      transpose (global 2X2 matrix of float)
+0:338      transpose (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
-0:338      trunc (global 2X2 matrix of float)
+0:338      trunc (temp 2X2 matrix of float)
 0:338        'inF0' (in 2X2 matrix of float)
 0:341      Branch: Return with expression
 0:?         Constant:
@@ -2215,85 +2216,85 @@
 0:345      'inF1' (in 3X3 matrix of float)
 0:345      'inF2' (in 3X3 matrix of float)
 0:?     Sequence
-0:347      all (global bool)
+0:347      all (temp bool)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      Absolute value (global 3X3 matrix of float)
+0:347      Absolute value (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc cosine (global 3X3 matrix of float)
+0:347      arc cosine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      any (global bool)
+0:347      any (temp bool)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc sine (global 3X3 matrix of float)
+0:347      arc sine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc tangent (global 3X3 matrix of float)
+0:347      arc tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      arc tangent (global 3X3 matrix of float)
+0:347      arc tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      Ceiling (global 3X3 matrix of float)
+0:347      Ceiling (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      clamp (global 3X3 matrix of float)
+0:347      clamp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
 0:347        'inF2' (in 3X3 matrix of float)
-0:347      cosine (global 3X3 matrix of float)
+0:347      cosine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      hyp. cosine (global 3X3 matrix of float)
+0:347      hyp. cosine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      degrees (global 3X3 matrix of float)
+0:347      degrees (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      determinant (global float)
+0:347      determinant (temp float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      exp (global 3X3 matrix of float)
+0:347      exp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      exp2 (global 3X3 matrix of float)
+0:347      exp2 (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      findMSB (global int)
+0:347      findMSB (temp int)
 0:347        Constant:
 0:347          7 (const int)
-0:347      findLSB (global int)
+0:347      findLSB (temp int)
 0:347        Constant:
 0:347          7 (const int)
-0:347      Floor (global 3X3 matrix of float)
+0:347      Floor (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      mod (global 3X3 matrix of float)
+0:347      mod (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      Fraction (global 3X3 matrix of float)
+0:347      Fraction (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      frexp (global 3X3 matrix of float)
+0:347      frexp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      ldexp (global 3X3 matrix of float)
+0:347      ldexp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      mix (global 3X3 matrix of float)
+0:347      mix (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
 0:347        'inF2' (in 3X3 matrix of float)
-0:347      log (global 3X3 matrix of float)
+0:347      log (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347      matrix-scale (temp 3X3 matrix of float)
 0:347        log2 (temp 3X3 matrix of float)
 0:347          'inF0' (in 3X3 matrix of float)
 0:347        Constant:
 0:347          0.301030
-0:347      log2 (global 3X3 matrix of float)
+0:347      log2 (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      max (global 3X3 matrix of float)
+0:347      max (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      min (global 3X3 matrix of float)
+0:347      min (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      pow (global 3X3 matrix of float)
+0:347      pow (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      radians (global 3X3 matrix of float)
+0:347      radians (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      roundEven (global 3X3 matrix of float)
+0:347      roundEven (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      inverse sqrt (global 3X3 matrix of float)
+0:347      inverse sqrt (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347      clamp (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
@@ -2301,9 +2302,9 @@
 0:347          0.000000
 0:347        Constant:
 0:347          1.000000
-0:347      Sign (global 3X3 matrix of float)
+0:347      Sign (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      sine (global 3X3 matrix of float)
+0:347      sine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347      Sequence
 0:347        move second child to first child (temp 3X3 matrix of float)
@@ -2314,24 +2315,24 @@
 0:347          'inF2' (in 3X3 matrix of float)
 0:347          cosine (temp 3X3 matrix of float)
 0:347            'inF0' (in 3X3 matrix of float)
-0:347      hyp. sine (global 3X3 matrix of float)
+0:347      hyp. sine (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      smoothstep (global 3X3 matrix of float)
+0:347      smoothstep (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
 0:347        'inF2' (in 3X3 matrix of float)
-0:347      sqrt (global 3X3 matrix of float)
+0:347      sqrt (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      step (global 3X3 matrix of float)
+0:347      step (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:347        'inF1' (in 3X3 matrix of float)
-0:347      tangent (global 3X3 matrix of float)
+0:347      tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      hyp. tangent (global 3X3 matrix of float)
+0:347      hyp. tangent (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      transpose (global 3X3 matrix of float)
+0:347      transpose (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
-0:347      trunc (global 3X3 matrix of float)
+0:347      trunc (temp 3X3 matrix of float)
 0:347        'inF0' (in 3X3 matrix of float)
 0:350      Branch: Return with expression
 0:?         Constant:
@@ -2350,85 +2351,85 @@
 0:354      'inF1' (in 4X4 matrix of float)
 0:354      'inF2' (in 4X4 matrix of float)
 0:?     Sequence
-0:356      all (global bool)
+0:356      all (temp bool)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      Absolute value (global 4X4 matrix of float)
+0:356      Absolute value (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc cosine (global 4X4 matrix of float)
+0:356      arc cosine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      any (global bool)
+0:356      any (temp bool)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc sine (global 4X4 matrix of float)
+0:356      arc sine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc tangent (global 4X4 matrix of float)
+0:356      arc tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      arc tangent (global 4X4 matrix of float)
+0:356      arc tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      Ceiling (global 4X4 matrix of float)
+0:356      Ceiling (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      clamp (global 4X4 matrix of float)
+0:356      clamp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
 0:356        'inF2' (in 4X4 matrix of float)
-0:356      cosine (global 4X4 matrix of float)
+0:356      cosine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      hyp. cosine (global 4X4 matrix of float)
+0:356      hyp. cosine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      degrees (global 4X4 matrix of float)
+0:356      degrees (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      determinant (global float)
+0:356      determinant (temp float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      exp (global 4X4 matrix of float)
+0:356      exp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      exp2 (global 4X4 matrix of float)
+0:356      exp2 (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      findMSB (global int)
+0:356      findMSB (temp int)
 0:356        Constant:
 0:356          7 (const int)
-0:356      findLSB (global int)
+0:356      findLSB (temp int)
 0:356        Constant:
 0:356          7 (const int)
-0:356      Floor (global 4X4 matrix of float)
+0:356      Floor (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      mod (global 4X4 matrix of float)
+0:356      mod (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      Fraction (global 4X4 matrix of float)
+0:356      Fraction (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      frexp (global 4X4 matrix of float)
+0:356      frexp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      ldexp (global 4X4 matrix of float)
+0:356      ldexp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      mix (global 4X4 matrix of float)
+0:356      mix (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
 0:356        'inF2' (in 4X4 matrix of float)
-0:356      log (global 4X4 matrix of float)
+0:356      log (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356      matrix-scale (temp 4X4 matrix of float)
 0:356        log2 (temp 4X4 matrix of float)
 0:356          'inF0' (in 4X4 matrix of float)
 0:356        Constant:
 0:356          0.301030
-0:356      log2 (global 4X4 matrix of float)
+0:356      log2 (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      max (global 4X4 matrix of float)
+0:356      max (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      min (global 4X4 matrix of float)
+0:356      min (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      pow (global 4X4 matrix of float)
+0:356      pow (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      radians (global 4X4 matrix of float)
+0:356      radians (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      roundEven (global 4X4 matrix of float)
+0:356      roundEven (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      inverse sqrt (global 4X4 matrix of float)
+0:356      inverse sqrt (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356      clamp (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
@@ -2436,9 +2437,9 @@
 0:356          0.000000
 0:356        Constant:
 0:356          1.000000
-0:356      Sign (global 4X4 matrix of float)
+0:356      Sign (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      sine (global 4X4 matrix of float)
+0:356      sine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356      Sequence
 0:356        move second child to first child (temp 4X4 matrix of float)
@@ -2449,24 +2450,24 @@
 0:356          'inF2' (in 4X4 matrix of float)
 0:356          cosine (temp 4X4 matrix of float)
 0:356            'inF0' (in 4X4 matrix of float)
-0:356      hyp. sine (global 4X4 matrix of float)
+0:356      hyp. sine (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      smoothstep (global 4X4 matrix of float)
+0:356      smoothstep (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
 0:356        'inF2' (in 4X4 matrix of float)
-0:356      sqrt (global 4X4 matrix of float)
+0:356      sqrt (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      step (global 4X4 matrix of float)
+0:356      step (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:356        'inF1' (in 4X4 matrix of float)
-0:356      tangent (global 4X4 matrix of float)
+0:356      tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      hyp. tangent (global 4X4 matrix of float)
+0:356      hyp. tangent (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      transpose (global 4X4 matrix of float)
+0:356      transpose (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
-0:356      trunc (global 4X4 matrix of float)
+0:356      trunc (temp 4X4 matrix of float)
 0:356        'inF0' (in 4X4 matrix of float)
 0:359      Branch: Return with expression
 0:?         Constant:
@@ -2516,7 +2517,7 @@
 0:378      Sequence
 0:378        move second child to first child (temp float)
 0:378          'r3' (temp float)
-0:378          dot-product (global float)
+0:378          dot-product (temp float)
 0:378            'inFV0' (in 2-component vector of float)
 0:378            'inFV1' (in 2-component vector of float)
 0:378      Sequence
@@ -2579,7 +2580,7 @@
 0:385      Sequence
 0:385        move second child to first child (temp float)
 0:385          'r3' (temp float)
-0:385          dot-product (global float)
+0:385          dot-product (temp float)
 0:385            'inFV0' (in 3-component vector of float)
 0:385            'inFV1' (in 3-component vector of float)
 0:385      Sequence
@@ -2642,7 +2643,7 @@
 0:392      Sequence
 0:392        move second child to first child (temp float)
 0:392          'r3' (temp float)
-0:392          dot-product (global float)
+0:392          dot-product (temp float)
 0:392            'inFV0' (in 4-component vector of float)
 0:392            'inFV1' (in 4-component vector of float)
 0:392      Sequence
@@ -2720,13 +2721,13 @@
 0:407      Sequence
 0:407        move second child to first child (temp float)
 0:407          'r05' (temp float)
-0:407          dot-product (global float)
+0:407          dot-product (temp float)
 0:407            'inFV2' (in 2-component vector of float)
 0:407            'inFV2' (in 2-component vector of float)
 0:408      Sequence
 0:408        move second child to first child (temp float)
 0:408          'r06' (temp float)
-0:408          dot-product (global float)
+0:408          dot-product (temp float)
 0:408            'inFV3' (in 3-component vector of float)
 0:408            'inFV3' (in 3-component vector of float)
 0:409      Sequence
@@ -3011,6 +3012,7 @@
             1059:          76 ConstantComposite 1058 1058 1058 1058
 4(VertexShaderFunction):           2 Function None 3
                5:             Label
+                              Return
                               FunctionEnd
 16(VertexShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
         11(inF0):      7(ptr) FunctionParameter
diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out
index e8fab99..0c12435 100755
--- a/Test/baseResults/hlsl.layout.frag.out
+++ b/Test/baseResults/hlsl.layout.frag.out
@@ -33,6 +33,7 @@
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -119,6 +120,7 @@
               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
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index 9c1b4ad..288a0f3 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -158,6 +158,8 @@
 0:54                1 (const int)
 0:54        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex2dmsf4' (uniform texture2DMS)
 0:?     'g_tTex2dmsi4' (uniform itexture2DMS)
@@ -165,9 +167,7 @@
 0:?     'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:?     'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:?     'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -332,6 +332,8 @@
 0:54                1 (const int)
 0:54        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex2dmsf4' (uniform texture2DMS)
 0:?     'g_tTex2dmsi4' (uniform itexture2DMS)
@@ -339,9 +341,7 @@
 0:?     'g_tTex2dmsf4a' (uniform texture2DMSArray)
 0:?     'g_tTex2dmsi4a' (uniform itexture2DMSArray)
 0:?     'g_tTex2dmsu4a' (uniform utexture2DMSArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index ed2951f..8c4f7c8 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -158,6 +158,8 @@
 0:70                1 (const int)
 0:70        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -180,9 +182,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -347,6 +347,8 @@
 0:70                1 (const int)
 0:70        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -369,9 +371,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index 3a4b3fc..c8e8eb6 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -209,6 +209,8 @@
 0:75                1 (const int)
 0:75        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -231,9 +233,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -449,6 +449,8 @@
 0:75                1 (const int)
 0:75        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -471,9 +473,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 9495c60..a86f0ae 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -195,6 +195,7 @@
 0:69                0 (const int)
 0:69        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -217,8 +218,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Pos' (out 4-component vector of float Position)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked vertex stage:
@@ -420,6 +420,7 @@
 0:69                0 (const int)
 0:69        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -442,8 +443,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Pos' (out 4-component vector of float Position)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index 560d8f5..c80ddcf 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -65,13 +65,13 @@
 0:37                1 (const int)
 0:37        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
 0:?     'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
 0:?     'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
 0:?     'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -143,13 +143,13 @@
 0:37                1 (const int)
 0:37        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_tTexbf4_test' (layout(binding=0 rgba32f ) uniform samplerBuffer)
 0:?     'g_tTexbf4' (layout(rgba32f ) uniform samplerBuffer)
 0:?     'g_tTexbi4' (layout(rgba32i ) uniform isamplerBuffer)
 0:?     'g_tTexbu4' (layout(rgba32ui ) uniform usamplerBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
index 6d64b94..c0cd152 100644
--- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -68,13 +68,13 @@
 0:37                1 (const int)
 0:37        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
 0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
 0:?     'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
 0:?     'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -149,13 +149,13 @@
 0:37                1 (const int)
 0:37        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_tTexbfs_test' (layout(binding=0 r32f ) uniform samplerBuffer)
 0:?     'g_tTexbfs' (layout(r32f ) uniform samplerBuffer)
 0:?     'g_tTexbis' (layout(r32i ) uniform isamplerBuffer)
 0:?     'g_tTexbus' (layout(r32ui ) uniform usamplerBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index 069e05d..9a14b65 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -245,6 +245,8 @@
 0:75                1 (const int)
 0:75        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -267,9 +269,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -521,6 +521,8 @@
 0:75                1 (const int)
 0:75        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -543,9 +545,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index ed89ee8..fb58eff 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -182,6 +182,8 @@
 0:68                1 (const int)
 0:68        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -204,9 +206,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -395,6 +395,8 @@
 0:68                1 (const int)
 0:68        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -417,9 +419,7 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index 7b26372..e9cc394 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -43,11 +43,11 @@
 0:31                0 (const int)
 0:31        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
 0:?     'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -97,11 +97,11 @@
 0:31                0 (const int)
 0:31        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_tBuffF' (layout(rgba32f ) uniform imageBuffer)
 0:?     'g_tBuffI' (layout(rgba32i ) uniform iimageBuffer)
 0:?     'g_tBuffU' (layout(rgba32ui ) uniform uimageBuffer)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index 8ac94d0..a81ddf5 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -74,6 +74,8 @@
 0:56                1 (const int)
 0:56        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -90,9 +92,7 @@
 0:?     'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -173,6 +173,8 @@
 0:56                1 (const int)
 0:56        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -189,9 +191,7 @@
 0:?     'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index ca59015..b5435ba 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -92,6 +92,8 @@
 0:61                1 (const int)
 0:61        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -108,9 +110,7 @@
 0:?     'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -209,6 +209,8 @@
 0:61                1 (const int)
 0:61        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -225,9 +227,7 @@
 0:?     'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out
new file mode 100644
index 0000000..d9ae7d5
--- /dev/null
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -0,0 +1,220 @@
+hlsl.logical.binary.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:12    Function Parameters: 
+0:?     Sequence
+0:13      Test condition and select (temp void)
+0:13        Condition
+0:13        logical-and (temp bool)
+0:13          Convert int to bool (temp bool)
+0:13            ival: direct index for structure (layout(offset=0 ) uniform int)
+0:13              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:13              Constant:
+0:13                0 (const uint)
+0:13          Convert int to bool (temp bool)
+0:13            Convert float to int (temp int)
+0:13              fval: direct index for structure (layout(offset=32 ) uniform float)
+0:13                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:13                Constant:
+0:13                  2 (const uint)
+0:13        true case is null
+0:14      Test condition and select (temp void)
+0:14        Condition
+0:14        logical-or (temp bool)
+0:14          Convert int to bool (temp bool)
+0:14            ival: direct index for structure (layout(offset=0 ) uniform int)
+0:14              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:14              Constant:
+0:14                0 (const uint)
+0:14          Convert int to bool (temp bool)
+0:14            Convert float to int (temp int)
+0:14              fval: direct index for structure (layout(offset=32 ) uniform float)
+0:14                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:14                Constant:
+0:14                  2 (const uint)
+0:14        true case is null
+0:17      move second child to first child (temp 4-component vector of float)
+0:17        Color: direct index for structure (temp 4-component vector of float)
+0:17          'psout' (temp structure{temp 4-component vector of float Color})
+0:17          Constant:
+0:17            0 (const int)
+0:17        Constant:
+0:17          1.000000
+0:17          1.000000
+0:17          1.000000
+0:17          1.000000
+0:18      Sequence
+0:18        Sequence
+0:18          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:18            Color: direct index for structure (temp 4-component vector of float)
+0:18              'psout' (temp structure{temp 4-component vector of float Color})
+0:18              Constant:
+0:18                0 (const int)
+0:18        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 ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:12    Function Parameters: 
+0:?     Sequence
+0:13      Test condition and select (temp void)
+0:13        Condition
+0:13        logical-and (temp bool)
+0:13          Convert int to bool (temp bool)
+0:13            ival: direct index for structure (layout(offset=0 ) uniform int)
+0:13              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:13              Constant:
+0:13                0 (const uint)
+0:13          Convert int to bool (temp bool)
+0:13            Convert float to int (temp int)
+0:13              fval: direct index for structure (layout(offset=32 ) uniform float)
+0:13                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:13                Constant:
+0:13                  2 (const uint)
+0:13        true case is null
+0:14      Test condition and select (temp void)
+0:14        Condition
+0:14        logical-or (temp bool)
+0:14          Convert int to bool (temp bool)
+0:14            ival: direct index for structure (layout(offset=0 ) uniform int)
+0:14              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:14              Constant:
+0:14                0 (const uint)
+0:14          Convert int to bool (temp bool)
+0:14            Convert float to int (temp int)
+0:14              fval: direct index for structure (layout(offset=32 ) uniform float)
+0:14                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:14                Constant:
+0:14                  2 (const uint)
+0:14        true case is null
+0:17      move second child to first child (temp 4-component vector of float)
+0:17        Color: direct index for structure (temp 4-component vector of float)
+0:17          'psout' (temp structure{temp 4-component vector of float Color})
+0:17          Constant:
+0:17            0 (const int)
+0:17        Constant:
+0:17          1.000000
+0:17          1.000000
+0:17          1.000000
+0:17          1.000000
+0:18      Sequence
+0:18        Sequence
+0:18          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:18            Color: direct index for structure (temp 4-component vector of float)
+0:18              'psout' (temp structure{temp 4-component vector of float Color})
+0:18              Constant:
+0:18                0 (const int)
+0:18        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 ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 57
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 53
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 11  "$Global"
+                              MemberName 11($Global) 0  "ival"
+                              MemberName 11($Global) 1  "ival4"
+                              MemberName 11($Global) 2  "fval"
+                              MemberName 11($Global) 3  "fval4"
+                              Name 13  ""
+                              Name 45  "PS_OUTPUT"
+                              MemberName 45(PS_OUTPUT) 0  "Color"
+                              Name 47  "psout"
+                              Name 53  "Color"
+                              MemberDecorate 11($Global) 0 Offset 0
+                              MemberDecorate 11($Global) 1 Offset 16
+                              MemberDecorate 11($Global) 2 Offset 32
+                              MemberDecorate 11($Global) 3 Offset 48
+                              Decorate 11($Global) Block
+                              Decorate 13 DescriptorSet 0
+                              Decorate 53(Color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeBool
+               7:             TypeInt 32 1
+               8:             TypeVector 7(int) 4
+               9:             TypeFloat 32
+              10:             TypeVector 9(float) 4
+     11($Global):             TypeStruct 7(int) 8(ivec4) 9(float) 10(fvec4)
+              12:             TypePointer Uniform 11($Global)
+              13:     12(ptr) Variable Uniform
+              14:      7(int) Constant 0
+              15:             TypePointer Uniform 7(int)
+              18:             TypeInt 32 0
+              19:     18(int) Constant 0
+              23:      7(int) Constant 2
+              24:             TypePointer Uniform 9(float)
+   45(PS_OUTPUT):             TypeStruct 10(fvec4)
+              46:             TypePointer Function 45(PS_OUTPUT)
+              48:    9(float) Constant 1065353216
+              49:   10(fvec4) ConstantComposite 48 48 48 48
+              50:             TypePointer Function 10(fvec4)
+              52:             TypePointer Output 10(fvec4)
+       53(Color):     52(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+       47(psout):     46(ptr) Variable Function
+              16:     15(ptr) AccessChain 13 14
+              17:      7(int) Load 16
+              20:     6(bool) INotEqual 17 19
+                              SelectionMerge 22 None
+                              BranchConditional 20 21 22
+              21:               Label
+              25:     24(ptr)   AccessChain 13 23
+              26:    9(float)   Load 25
+              27:      7(int)   ConvertFToS 26
+              28:     6(bool)   INotEqual 27 19
+                                Branch 22
+              22:             Label
+              29:     6(bool) Phi 20 5 28 21
+                              SelectionMerge 31 None
+                              BranchConditional 29 30 31
+              30:               Label
+                                Branch 31
+              31:             Label
+              32:     15(ptr) AccessChain 13 14
+              33:      7(int) Load 32
+              34:     6(bool) INotEqual 33 19
+              35:     6(bool) LogicalNot 34
+                              SelectionMerge 37 None
+                              BranchConditional 35 36 37
+              36:               Label
+              38:     24(ptr)   AccessChain 13 23
+              39:    9(float)   Load 38
+              40:      7(int)   ConvertFToS 39
+              41:     6(bool)   INotEqual 40 19
+                                Branch 37
+              37:             Label
+              42:     6(bool) Phi 34 31 41 36
+                              SelectionMerge 44 None
+                              BranchConditional 42 43 44
+              43:               Label
+                                Branch 44
+              44:             Label
+              51:     50(ptr) AccessChain 47(psout) 14
+                              Store 51 49
+              54:     50(ptr) AccessChain 47(psout) 14
+              55:   10(fvec4) Load 54
+                              Store 53(Color) 55
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out
new file mode 100644
index 0000000..32b5a38
--- /dev/null
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -0,0 +1,412 @@
+hlsl.logical.binary.vec.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:10    Function Parameters: 
+0:?     Sequence
+0:11      Sequence
+0:11        move second child to first child (temp 4-component vector of bool)
+0:11          'r00' (temp 4-component vector of bool)
+0:11          Negate conditional (temp 4-component vector of bool)
+0:11            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:11              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:11              Constant:
+0:11                0 (const uint)
+0:12      Sequence
+0:12        move second child to first child (temp 4-component vector of bool)
+0:12          'r01' (temp 4-component vector of bool)
+0:12          logical-and (temp 4-component vector of bool)
+0:12            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:12              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:12              Constant:
+0:12                0 (const uint)
+0:12            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:12              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:12              Constant:
+0:12                1 (const uint)
+0:13      Sequence
+0:13        move second child to first child (temp 4-component vector of bool)
+0:13          'r02' (temp 4-component vector of bool)
+0:13          logical-or (temp 4-component vector of bool)
+0:13            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:13              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:13              Constant:
+0:13                0 (const uint)
+0:13            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:13              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:13              Constant:
+0:13                1 (const uint)
+0:15      Sequence
+0:15        move second child to first child (temp 4-component vector of bool)
+0:15          'r10' (temp 4-component vector of bool)
+0:15          logical-and (temp 4-component vector of bool)
+0:15            Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
+0:15              b1a: direct index for structure (layout(offset=32 ) uniform bool)
+0:15                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:15                Constant:
+0:15                  2 (const uint)
+0:15            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:15              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:15              Constant:
+0:15                1 (const uint)
+0:16      Sequence
+0:16        move second child to first child (temp 4-component vector of bool)
+0:16          'r11' (temp 4-component vector of bool)
+0:16          logical-or (temp 4-component vector of bool)
+0:16            Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
+0:16              b1a: direct index for structure (layout(offset=32 ) uniform bool)
+0:16                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:16                Constant:
+0:16                  2 (const uint)
+0:16            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:16              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:16              Constant:
+0:16                1 (const uint)
+0:18      Sequence
+0:18        move second child to first child (temp 4-component vector of bool)
+0:18          'r20' (temp 4-component vector of bool)
+0:18          logical-and (temp 4-component vector of bool)
+0:18            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:18              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:18              Constant:
+0:18                0 (const uint)
+0:18            Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
+0:18              b1b: direct index for structure (layout(offset=36 ) uniform bool)
+0:18                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:18                Constant:
+0:18                  3 (const uint)
+0:19      Sequence
+0:19        move second child to first child (temp 4-component vector of bool)
+0:19          'r21' (temp 4-component vector of bool)
+0:19          logical-or (temp 4-component vector of bool)
+0:19            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:19              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
+0:19              b1b: direct index for structure (layout(offset=36 ) uniform bool)
+0:19                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:19                Constant:
+0:19                  3 (const uint)
+0:22      move second child to first child (temp 4-component vector of float)
+0:22        Color: direct index for structure (temp 4-component vector of float)
+0:22          'psout' (temp structure{temp 4-component vector of float Color})
+0:22          Constant:
+0:22            0 (const int)
+0:22        Convert bool to float (temp 4-component vector of float)
+0:22          logical-or (temp 4-component vector of bool)
+0:22            logical-or (temp 4-component vector of bool)
+0:22              logical-or (temp 4-component vector of bool)
+0:22                logical-or (temp 4-component vector of bool)
+0:22                  logical-or (temp 4-component vector of bool)
+0:22                    logical-or (temp 4-component vector of bool)
+0:22                      'r00' (temp 4-component vector of bool)
+0:22                      'r01' (temp 4-component vector of bool)
+0:22                    'r02' (temp 4-component vector of bool)
+0:22                  'r10' (temp 4-component vector of bool)
+0:22                'r11' (temp 4-component vector of bool)
+0:22              'r20' (temp 4-component vector of bool)
+0:22            'r21' (temp 4-component vector of bool)
+0:23      Sequence
+0:23        Sequence
+0:23          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:23            Color: direct index for structure (temp 4-component vector of float)
+0:23              'psout' (temp structure{temp 4-component vector of float Color})
+0:23              Constant:
+0:23                0 (const int)
+0:23        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 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:10    Function Parameters: 
+0:?     Sequence
+0:11      Sequence
+0:11        move second child to first child (temp 4-component vector of bool)
+0:11          'r00' (temp 4-component vector of bool)
+0:11          Negate conditional (temp 4-component vector of bool)
+0:11            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:11              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:11              Constant:
+0:11                0 (const uint)
+0:12      Sequence
+0:12        move second child to first child (temp 4-component vector of bool)
+0:12          'r01' (temp 4-component vector of bool)
+0:12          logical-and (temp 4-component vector of bool)
+0:12            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:12              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:12              Constant:
+0:12                0 (const uint)
+0:12            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:12              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:12              Constant:
+0:12                1 (const uint)
+0:13      Sequence
+0:13        move second child to first child (temp 4-component vector of bool)
+0:13          'r02' (temp 4-component vector of bool)
+0:13          logical-or (temp 4-component vector of bool)
+0:13            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:13              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:13              Constant:
+0:13                0 (const uint)
+0:13            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:13              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:13              Constant:
+0:13                1 (const uint)
+0:15      Sequence
+0:15        move second child to first child (temp 4-component vector of bool)
+0:15          'r10' (temp 4-component vector of bool)
+0:15          logical-and (temp 4-component vector of bool)
+0:15            Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
+0:15              b1a: direct index for structure (layout(offset=32 ) uniform bool)
+0:15                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:15                Constant:
+0:15                  2 (const uint)
+0:15            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:15              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:15              Constant:
+0:15                1 (const uint)
+0:16      Sequence
+0:16        move second child to first child (temp 4-component vector of bool)
+0:16          'r11' (temp 4-component vector of bool)
+0:16          logical-or (temp 4-component vector of bool)
+0:16            Construct bvec4 (layout(offset=16 ) uniform 4-component vector of bool)
+0:16              b1a: direct index for structure (layout(offset=32 ) uniform bool)
+0:16                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:16                Constant:
+0:16                  2 (const uint)
+0:16            b4b: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:16              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:16              Constant:
+0:16                1 (const uint)
+0:18      Sequence
+0:18        move second child to first child (temp 4-component vector of bool)
+0:18          'r20' (temp 4-component vector of bool)
+0:18          logical-and (temp 4-component vector of bool)
+0:18            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:18              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:18              Constant:
+0:18                0 (const uint)
+0:18            Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
+0:18              b1b: direct index for structure (layout(offset=36 ) uniform bool)
+0:18                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:18                Constant:
+0:18                  3 (const uint)
+0:19      Sequence
+0:19        move second child to first child (temp 4-component vector of bool)
+0:19          'r21' (temp 4-component vector of bool)
+0:19          logical-or (temp 4-component vector of bool)
+0:19            b4a: direct index for structure (layout(offset=0 ) uniform 4-component vector of bool)
+0:19              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:19              Constant:
+0:19                0 (const uint)
+0:19            Construct bvec4 (layout(offset=0 ) uniform 4-component vector of bool)
+0:19              b1b: direct index for structure (layout(offset=36 ) uniform bool)
+0:19                'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+0:19                Constant:
+0:19                  3 (const uint)
+0:22      move second child to first child (temp 4-component vector of float)
+0:22        Color: direct index for structure (temp 4-component vector of float)
+0:22          'psout' (temp structure{temp 4-component vector of float Color})
+0:22          Constant:
+0:22            0 (const int)
+0:22        Convert bool to float (temp 4-component vector of float)
+0:22          logical-or (temp 4-component vector of bool)
+0:22            logical-or (temp 4-component vector of bool)
+0:22              logical-or (temp 4-component vector of bool)
+0:22                logical-or (temp 4-component vector of bool)
+0:22                  logical-or (temp 4-component vector of bool)
+0:22                    logical-or (temp 4-component vector of bool)
+0:22                      'r00' (temp 4-component vector of bool)
+0:22                      'r01' (temp 4-component vector of bool)
+0:22                    'r02' (temp 4-component vector of bool)
+0:22                  'r10' (temp 4-component vector of bool)
+0:22                'r11' (temp 4-component vector of bool)
+0:22              'r20' (temp 4-component vector of bool)
+0:22            'r21' (temp 4-component vector of bool)
+0:23      Sequence
+0:23        Sequence
+0:23          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:23            Color: direct index for structure (temp 4-component vector of float)
+0:23              'psout' (temp structure{temp 4-component vector of float Color})
+0:23              Constant:
+0:23                0 (const int)
+0:23        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 4-component vector of bool b4a, layout(offset=16 ) uniform 4-component vector of bool b4b, layout(offset=32 ) uniform bool b1a, layout(offset=36 ) uniform bool b1b})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 115
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 111
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 9  "r00"
+                              Name 12  "$Global"
+                              MemberName 12($Global) 0  "b4a"
+                              MemberName 12($Global) 1  "b4b"
+                              MemberName 12($Global) 2  "b1a"
+                              MemberName 12($Global) 3  "b1b"
+                              Name 14  ""
+                              Name 24  "r01"
+                              Name 33  "r02"
+                              Name 41  "r10"
+                              Name 52  "r11"
+                              Name 61  "r20"
+                              Name 73  "r21"
+                              Name 87  "PS_OUTPUT"
+                              MemberName 87(PS_OUTPUT) 0  "Color"
+                              Name 89  "psout"
+                              Name 111  "Color"
+                              MemberDecorate 12($Global) 0 Offset 0
+                              MemberDecorate 12($Global) 1 Offset 16
+                              MemberDecorate 12($Global) 2 Offset 32
+                              MemberDecorate 12($Global) 3 Offset 36
+                              Decorate 12($Global) Block
+                              Decorate 14 DescriptorSet 0
+                              Decorate 111(Color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeBool
+               7:             TypeVector 6(bool) 4
+               8:             TypePointer Function 7(bvec4)
+              10:             TypeInt 32 0
+              11:             TypeVector 10(int) 4
+     12($Global):             TypeStruct 11(ivec4) 11(ivec4) 10(int) 10(int)
+              13:             TypePointer Uniform 12($Global)
+              14:     13(ptr) Variable Uniform
+              15:             TypeInt 32 1
+              16:     15(int) Constant 0
+              17:             TypePointer Uniform 11(ivec4)
+              20:     10(int) Constant 0
+              21:   11(ivec4) ConstantComposite 20 20 20 20
+              28:     15(int) Constant 1
+              42:     15(int) Constant 2
+              43:             TypePointer Uniform 10(int)
+              67:     15(int) Constant 3
+              85:             TypeFloat 32
+              86:             TypeVector 85(float) 4
+   87(PS_OUTPUT):             TypeStruct 86(fvec4)
+              88:             TypePointer Function 87(PS_OUTPUT)
+             103:   85(float) Constant 0
+             104:   85(float) Constant 1065353216
+             105:   86(fvec4) ConstantComposite 103 103 103 103
+             106:   86(fvec4) ConstantComposite 104 104 104 104
+             108:             TypePointer Function 86(fvec4)
+             110:             TypePointer Output 86(fvec4)
+      111(Color):    110(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+          9(r00):      8(ptr) Variable Function
+         24(r01):      8(ptr) Variable Function
+         33(r02):      8(ptr) Variable Function
+         41(r10):      8(ptr) Variable Function
+         52(r11):      8(ptr) Variable Function
+         61(r20):      8(ptr) Variable Function
+         73(r21):      8(ptr) Variable Function
+       89(psout):     88(ptr) Variable Function
+              18:     17(ptr) AccessChain 14 16
+              19:   11(ivec4) Load 18
+              22:    7(bvec4) INotEqual 19 21
+              23:    7(bvec4) LogicalNot 22
+                              Store 9(r00) 23
+              25:     17(ptr) AccessChain 14 16
+              26:   11(ivec4) Load 25
+              27:    7(bvec4) INotEqual 26 21
+              29:     17(ptr) AccessChain 14 28
+              30:   11(ivec4) Load 29
+              31:    7(bvec4) INotEqual 30 21
+              32:    7(bvec4) LogicalAnd 27 31
+                              Store 24(r01) 32
+              34:     17(ptr) AccessChain 14 16
+              35:   11(ivec4) Load 34
+              36:    7(bvec4) INotEqual 35 21
+              37:     17(ptr) AccessChain 14 28
+              38:   11(ivec4) Load 37
+              39:    7(bvec4) INotEqual 38 21
+              40:    7(bvec4) LogicalOr 36 39
+                              Store 33(r02) 40
+              44:     43(ptr) AccessChain 14 42
+              45:     10(int) Load 44
+              46:     6(bool) INotEqual 45 20
+              47:    7(bvec4) CompositeConstruct 46 46 46 46
+              48:     17(ptr) AccessChain 14 28
+              49:   11(ivec4) Load 48
+              50:    7(bvec4) INotEqual 49 21
+              51:    7(bvec4) LogicalAnd 47 50
+                              Store 41(r10) 51
+              53:     43(ptr) AccessChain 14 42
+              54:     10(int) Load 53
+              55:     6(bool) INotEqual 54 20
+              56:    7(bvec4) CompositeConstruct 55 55 55 55
+              57:     17(ptr) AccessChain 14 28
+              58:   11(ivec4) Load 57
+              59:    7(bvec4) INotEqual 58 21
+              60:    7(bvec4) LogicalOr 56 59
+                              Store 52(r11) 60
+              62:     17(ptr) AccessChain 14 16
+              63:   11(ivec4) Load 62
+              64:    7(bvec4) INotEqual 63 21
+                              SelectionMerge 66 None
+                              BranchConditional 64 65 66
+              65:               Label
+              68:     43(ptr)   AccessChain 14 67
+              69:     10(int)   Load 68
+              70:     6(bool)   INotEqual 69 20
+              71:    7(bvec4)   CompositeConstruct 70 70 70 70
+                                Branch 66
+              66:             Label
+              72:     6(bool) Phi 64 5 71 65
+                              Store 61(r20) 72
+              74:     17(ptr) AccessChain 14 16
+              75:   11(ivec4) Load 74
+              76:    7(bvec4) INotEqual 75 21
+              77:     6(bool) LogicalNot 76
+                              SelectionMerge 79 None
+                              BranchConditional 77 78 79
+              78:               Label
+              80:     43(ptr)   AccessChain 14 67
+              81:     10(int)   Load 80
+              82:     6(bool)   INotEqual 81 20
+              83:    7(bvec4)   CompositeConstruct 82 82 82 82
+                                Branch 79
+              79:             Label
+              84:     6(bool) Phi 76 66 83 78
+                              Store 73(r21) 84
+              90:    7(bvec4) Load 9(r00)
+              91:    7(bvec4) Load 24(r01)
+              92:    7(bvec4) LogicalOr 90 91
+              93:    7(bvec4) Load 33(r02)
+              94:    7(bvec4) LogicalOr 92 93
+              95:    7(bvec4) Load 41(r10)
+              96:    7(bvec4) LogicalOr 94 95
+              97:    7(bvec4) Load 52(r11)
+              98:    7(bvec4) LogicalOr 96 97
+              99:    7(bvec4) Load 61(r20)
+             100:    7(bvec4) LogicalOr 98 99
+             101:    7(bvec4) Load 73(r21)
+             102:    7(bvec4) LogicalOr 100 101
+             107:   86(fvec4) Select 102 106 105
+             109:    108(ptr) AccessChain 89(psout) 16
+                              Store 109 107
+             112:    108(ptr) AccessChain 89(psout) 16
+             113:   86(fvec4) Load 112
+                              Store 111(Color) 113
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out
new file mode 100644
index 0000000..1aaa69a
--- /dev/null
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -0,0 +1,292 @@
+hlsl.logical.unary.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:12    Function Parameters: 
+0:?     Sequence
+0:13      Negate conditional (temp bool)
+0:13        Convert int to bool (temp bool)
+0:13          ival: direct index for structure (layout(offset=0 ) uniform int)
+0:13            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:13            Constant:
+0:13              0 (const uint)
+0:14      Negate conditional (temp 4-component vector of bool)
+0:14        Convert int to bool (temp 4-component vector of bool)
+0:14          ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int)
+0:14            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:14            Constant:
+0:14              1 (const uint)
+0:16      Negate conditional (temp bool)
+0:16        Convert float to bool (temp bool)
+0:16          fval: direct index for structure (layout(offset=32 ) uniform float)
+0:16            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:16            Constant:
+0:16              2 (const uint)
+0:17      Negate conditional (temp 4-component vector of bool)
+0:17        Convert float to bool (temp 4-component vector of bool)
+0:17          fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float)
+0:17            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:17            Constant:
+0:17              3 (const uint)
+0:19      Test condition and select (temp void)
+0:19        Condition
+0:19        ival: direct index for structure (layout(offset=0 ) uniform int)
+0:19          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:19          Constant:
+0:19            0 (const uint)
+0:19        true case is null
+0:20      Test condition and select (temp void)
+0:20        Condition
+0:20        fval: direct index for structure (layout(offset=32 ) uniform float)
+0:20          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:20          Constant:
+0:20            2 (const uint)
+0:20        true case is null
+0:21      Test condition and select (temp void)
+0:21        Condition
+0:21        Negate conditional (temp bool)
+0:21          Convert int to bool (temp bool)
+0:21            ival: direct index for structure (layout(offset=0 ) uniform int)
+0:21              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:21              Constant:
+0:21                0 (const uint)
+0:21        true case is null
+0:22      Test condition and select (temp void)
+0:22        Condition
+0:22        Negate conditional (temp bool)
+0:22          Convert float to bool (temp bool)
+0:22            fval: direct index for structure (layout(offset=32 ) uniform float)
+0:22              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:22              Constant:
+0:22                2 (const uint)
+0:22        true case is null
+0:25      move second child to first child (temp 4-component vector of float)
+0:25        Color: direct index for structure (temp 4-component vector of float)
+0:25          'psout' (temp structure{temp 4-component vector of float Color})
+0:25          Constant:
+0:25            0 (const int)
+0:25        Constant:
+0:25          1.000000
+0:25          1.000000
+0:25          1.000000
+0:25          1.000000
+0:26      Sequence
+0:26        Sequence
+0:26          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            Color: direct index for structure (temp 4-component vector of float)
+0:26              'psout' (temp structure{temp 4-component vector of float Color})
+0:26              Constant:
+0:26                0 (const int)
+0:26        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 ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:12    Function Parameters: 
+0:?     Sequence
+0:13      Negate conditional (temp bool)
+0:13        Convert int to bool (temp bool)
+0:13          ival: direct index for structure (layout(offset=0 ) uniform int)
+0:13            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:13            Constant:
+0:13              0 (const uint)
+0:14      Negate conditional (temp 4-component vector of bool)
+0:14        Convert int to bool (temp 4-component vector of bool)
+0:14          ival4: direct index for structure (layout(offset=16 ) uniform 4-component vector of int)
+0:14            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:14            Constant:
+0:14              1 (const uint)
+0:16      Negate conditional (temp bool)
+0:16        Convert float to bool (temp bool)
+0:16          fval: direct index for structure (layout(offset=32 ) uniform float)
+0:16            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:16            Constant:
+0:16              2 (const uint)
+0:17      Negate conditional (temp 4-component vector of bool)
+0:17        Convert float to bool (temp 4-component vector of bool)
+0:17          fval4: direct index for structure (layout(offset=48 ) uniform 4-component vector of float)
+0:17            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:17            Constant:
+0:17              3 (const uint)
+0:19      Test condition and select (temp void)
+0:19        Condition
+0:19        ival: direct index for structure (layout(offset=0 ) uniform int)
+0:19          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:19          Constant:
+0:19            0 (const uint)
+0:19        true case is null
+0:20      Test condition and select (temp void)
+0:20        Condition
+0:20        fval: direct index for structure (layout(offset=32 ) uniform float)
+0:20          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:20          Constant:
+0:20            2 (const uint)
+0:20        true case is null
+0:21      Test condition and select (temp void)
+0:21        Condition
+0:21        Negate conditional (temp bool)
+0:21          Convert int to bool (temp bool)
+0:21            ival: direct index for structure (layout(offset=0 ) uniform int)
+0:21              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:21              Constant:
+0:21                0 (const uint)
+0:21        true case is null
+0:22      Test condition and select (temp void)
+0:22        Condition
+0:22        Negate conditional (temp bool)
+0:22          Convert float to bool (temp bool)
+0:22            fval: direct index for structure (layout(offset=32 ) uniform float)
+0:22              'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+0:22              Constant:
+0:22                2 (const uint)
+0:22        true case is null
+0:25      move second child to first child (temp 4-component vector of float)
+0:25        Color: direct index for structure (temp 4-component vector of float)
+0:25          'psout' (temp structure{temp 4-component vector of float Color})
+0:25          Constant:
+0:25            0 (const int)
+0:25        Constant:
+0:25          1.000000
+0:25          1.000000
+0:25          1.000000
+0:25          1.000000
+0:26      Sequence
+0:26        Sequence
+0:26          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            Color: direct index for structure (temp 4-component vector of float)
+0:26              'psout' (temp structure{temp 4-component vector of float Color})
+0:26              Constant:
+0:26                0 (const int)
+0:26        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 ival, layout(offset=16 ) uniform 4-component vector of int ival4, layout(offset=32 ) uniform float fval, layout(offset=48 ) uniform 4-component vector of float fval4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 77
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 73
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 10  "$Global"
+                              MemberName 10($Global) 0  "ival"
+                              MemberName 10($Global) 1  "ival4"
+                              MemberName 10($Global) 2  "fval"
+                              MemberName 10($Global) 3  "fval4"
+                              Name 12  ""
+                              Name 65  "PS_OUTPUT"
+                              MemberName 65(PS_OUTPUT) 0  "Color"
+                              Name 67  "psout"
+                              Name 73  "Color"
+                              MemberDecorate 10($Global) 0 Offset 0
+                              MemberDecorate 10($Global) 1 Offset 16
+                              MemberDecorate 10($Global) 2 Offset 32
+                              MemberDecorate 10($Global) 3 Offset 48
+                              Decorate 10($Global) Block
+                              Decorate 12 DescriptorSet 0
+                              Decorate 73(Color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypeVector 6(int) 4
+               8:             TypeFloat 32
+               9:             TypeVector 8(float) 4
+     10($Global):             TypeStruct 6(int) 7(ivec4) 8(float) 9(fvec4)
+              11:             TypePointer Uniform 10($Global)
+              12:     11(ptr) Variable Uniform
+              13:      6(int) Constant 0
+              14:             TypePointer Uniform 6(int)
+              17:             TypeBool
+              18:             TypeInt 32 0
+              19:     18(int) Constant 0
+              22:      6(int) Constant 1
+              23:             TypePointer Uniform 7(ivec4)
+              26:             TypeVector 17(bool) 4
+              27:             TypeVector 18(int) 4
+              28:   27(ivec4) ConstantComposite 19 19 19 19
+              31:      6(int) Constant 2
+              32:             TypePointer Uniform 8(float)
+              35:    8(float) Constant 0
+              38:      6(int) Constant 3
+              39:             TypePointer Uniform 9(fvec4)
+              42:    9(fvec4) ConstantComposite 35 35 35 35
+   65(PS_OUTPUT):             TypeStruct 9(fvec4)
+              66:             TypePointer Function 65(PS_OUTPUT)
+              68:    8(float) Constant 1065353216
+              69:    9(fvec4) ConstantComposite 68 68 68 68
+              70:             TypePointer Function 9(fvec4)
+              72:             TypePointer Output 9(fvec4)
+       73(Color):     72(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+       67(psout):     66(ptr) Variable Function
+              15:     14(ptr) AccessChain 12 13
+              16:      6(int) Load 15
+              20:    17(bool) INotEqual 16 19
+              21:    17(bool) LogicalNot 20
+              24:     23(ptr) AccessChain 12 22
+              25:    7(ivec4) Load 24
+              29:   26(bvec4) INotEqual 25 28
+              30:   26(bvec4) LogicalNot 29
+              33:     32(ptr) AccessChain 12 31
+              34:    8(float) Load 33
+              36:    17(bool) FOrdNotEqual 34 35
+              37:    17(bool) LogicalNot 36
+              40:     39(ptr) AccessChain 12 38
+              41:    9(fvec4) Load 40
+              43:   26(bvec4) FOrdNotEqual 41 42
+              44:   26(bvec4) LogicalNot 43
+              45:     14(ptr) AccessChain 12 13
+              46:      6(int) Load 45
+                              SelectionMerge 48 None
+                              BranchConditional 46 47 48
+              47:               Label
+                                Branch 48
+              48:             Label
+              49:     32(ptr) AccessChain 12 31
+              50:    8(float) Load 49
+                              SelectionMerge 52 None
+                              BranchConditional 50 51 52
+              51:               Label
+                                Branch 52
+              52:             Label
+              53:     14(ptr) AccessChain 12 13
+              54:      6(int) Load 53
+              55:    17(bool) INotEqual 54 19
+              56:    17(bool) LogicalNot 55
+                              SelectionMerge 58 None
+                              BranchConditional 56 57 58
+              57:               Label
+                                Branch 58
+              58:             Label
+              59:     32(ptr) AccessChain 12 31
+              60:    8(float) Load 59
+              61:    17(bool) FOrdNotEqual 60 35
+              62:    17(bool) LogicalNot 61
+                              SelectionMerge 64 None
+                              BranchConditional 62 63 64
+              63:               Label
+                                Branch 64
+              64:             Label
+              71:     70(ptr) AccessChain 67(psout) 13
+                              Store 71 69
+              74:     70(ptr) AccessChain 67(psout) 13
+              75:    9(fvec4) Load 74
+                              Store 73(Color) 75
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.matNx1.frag.out b/Test/baseResults/hlsl.matNx1.frag.out
new file mode 100644
index 0000000..f9dd65f
--- /dev/null
+++ b/Test/baseResults/hlsl.matNx1.frag.out
@@ -0,0 +1,261 @@
+hlsl.matNx1.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: TestMatNx1( (temp void)
+0:3    Function Parameters: 
+0:?     Sequence
+0:13      Sequence
+0:13        move second child to first child (temp 1X1 matrix of float)
+0:13          'r00' (temp 1X1 matrix of float)
+0:13          transpose (temp 1X1 matrix of float)
+0:13            'f1x1' (temp 1X1 matrix of float)
+0:14      Sequence
+0:14        move second child to first child (temp 1X2 matrix of float)
+0:14          'r01' (temp 1X2 matrix of float)
+0:14          transpose (temp 1X2 matrix of float)
+0:14            'f2x1' (temp 2X1 matrix of float)
+0:15      Sequence
+0:15        move second child to first child (temp 1X3 matrix of float)
+0:15          'r02' (temp 1X3 matrix of float)
+0:15          transpose (temp 1X3 matrix of float)
+0:15            'f3x1' (temp 3X1 matrix of float)
+0:16      Sequence
+0:16        move second child to first child (temp 1X4 matrix of float)
+0:16          'r03' (temp 1X4 matrix of float)
+0:16          transpose (temp 1X4 matrix of float)
+0:16            'f4x1' (temp 4X1 matrix of float)
+0:18      Sequence
+0:18        move second child to first child (temp 1X1 matrix of float)
+0:18          'r10' (temp 1X1 matrix of float)
+0:18          transpose (temp 1X1 matrix of float)
+0:18            'f1x1' (temp 1X1 matrix of float)
+0:19      Sequence
+0:19        move second child to first child (temp 2X1 matrix of float)
+0:19          'r11' (temp 2X1 matrix of float)
+0:19          transpose (temp 2X1 matrix of float)
+0:19            'f1x2' (temp 1X2 matrix of float)
+0:20      Sequence
+0:20        move second child to first child (temp 3X1 matrix of float)
+0:20          'r12' (temp 3X1 matrix of float)
+0:20          transpose (temp 3X1 matrix of float)
+0:20            'f1x3' (temp 1X3 matrix of float)
+0:21      Sequence
+0:21        move second child to first child (temp 4X1 matrix of float)
+0:21          'r13' (temp 4X1 matrix of float)
+0:21          transpose (temp 4X1 matrix of float)
+0:21            'f1x4' (temp 1X4 matrix of float)
+0:27  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:27    Function Parameters: 
+0:?     Sequence
+0:29      move second child to first child (temp 4-component vector of float)
+0:29        color: direct index for structure (temp 4-component vector of float)
+0:29          'ps_output' (temp structure{temp 4-component vector of float color})
+0:29          Constant:
+0:29            0 (const int)
+0:29        Constant:
+0:29          1.000000
+0:29          1.000000
+0:29          1.000000
+0:29          1.000000
+0:30      Sequence
+0:30        Sequence
+0:30          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:30            color: direct index for structure (temp 4-component vector of float)
+0:30              'ps_output' (temp structure{temp 4-component vector of float color})
+0:30              Constant:
+0:30                0 (const int)
+0:30        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: TestMatNx1( (temp void)
+0:3    Function Parameters: 
+0:?     Sequence
+0:13      Sequence
+0:13        move second child to first child (temp 1X1 matrix of float)
+0:13          'r00' (temp 1X1 matrix of float)
+0:13          transpose (temp 1X1 matrix of float)
+0:13            'f1x1' (temp 1X1 matrix of float)
+0:14      Sequence
+0:14        move second child to first child (temp 1X2 matrix of float)
+0:14          'r01' (temp 1X2 matrix of float)
+0:14          transpose (temp 1X2 matrix of float)
+0:14            'f2x1' (temp 2X1 matrix of float)
+0:15      Sequence
+0:15        move second child to first child (temp 1X3 matrix of float)
+0:15          'r02' (temp 1X3 matrix of float)
+0:15          transpose (temp 1X3 matrix of float)
+0:15            'f3x1' (temp 3X1 matrix of float)
+0:16      Sequence
+0:16        move second child to first child (temp 1X4 matrix of float)
+0:16          'r03' (temp 1X4 matrix of float)
+0:16          transpose (temp 1X4 matrix of float)
+0:16            'f4x1' (temp 4X1 matrix of float)
+0:18      Sequence
+0:18        move second child to first child (temp 1X1 matrix of float)
+0:18          'r10' (temp 1X1 matrix of float)
+0:18          transpose (temp 1X1 matrix of float)
+0:18            'f1x1' (temp 1X1 matrix of float)
+0:19      Sequence
+0:19        move second child to first child (temp 2X1 matrix of float)
+0:19          'r11' (temp 2X1 matrix of float)
+0:19          transpose (temp 2X1 matrix of float)
+0:19            'f1x2' (temp 1X2 matrix of float)
+0:20      Sequence
+0:20        move second child to first child (temp 3X1 matrix of float)
+0:20          'r12' (temp 3X1 matrix of float)
+0:20          transpose (temp 3X1 matrix of float)
+0:20            'f1x3' (temp 1X3 matrix of float)
+0:21      Sequence
+0:21        move second child to first child (temp 4X1 matrix of float)
+0:21          'r13' (temp 4X1 matrix of float)
+0:21          transpose (temp 4X1 matrix of float)
+0:21            'f1x4' (temp 1X4 matrix of float)
+0:27  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:27    Function Parameters: 
+0:?     Sequence
+0:29      move second child to first child (temp 4-component vector of float)
+0:29        color: direct index for structure (temp 4-component vector of float)
+0:29          'ps_output' (temp structure{temp 4-component vector of float color})
+0:29          Constant:
+0:29            0 (const int)
+0:29        Constant:
+0:29          1.000000
+0:29          1.000000
+0:29          1.000000
+0:29          1.000000
+0:30      Sequence
+0:30        Sequence
+0:30          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:30            color: direct index for structure (temp 4-component vector of float)
+0:30              'ps_output' (temp structure{temp 4-component vector of float color})
+0:30              Constant:
+0:30                0 (const int)
+0:30        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 72
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 68
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 6  "TestMatNx1("
+                              Name 12  "r00"
+                              Name 13  "f1x1"
+                              Name 19  "r01"
+                              Name 22  "f2x1"
+                              Name 28  "r02"
+                              Name 31  "f3x1"
+                              Name 37  "r03"
+                              Name 40  "f4x1"
+                              Name 43  "r10"
+                              Name 46  "r11"
+                              Name 47  "f1x2"
+                              Name 50  "r12"
+                              Name 51  "f1x3"
+                              Name 54  "r13"
+                              Name 55  "f1x4"
+                              Name 58  "PS_OUTPUT"
+                              MemberName 58(PS_OUTPUT) 0  "color"
+                              Name 60  "ps_output"
+                              Name 68  "color"
+                              Decorate 68(color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               8:             TypeFloat 32
+               9:             TypeVector 8(float) 1
+              10:             TypeMatrix 9(fvec) 1
+              11:             TypePointer Function 10
+              16:             TypeVector 8(float) 2
+              17:             TypeMatrix 16(fvec2) 1
+              18:             TypePointer Function 17
+              20:             TypeMatrix 9(fvec) 2
+              21:             TypePointer Function 20
+              25:             TypeVector 8(float) 3
+              26:             TypeMatrix 25(fvec3) 1
+              27:             TypePointer Function 26
+              29:             TypeMatrix 9(fvec) 3
+              30:             TypePointer Function 29
+              34:             TypeVector 8(float) 4
+              35:             TypeMatrix 34(fvec4) 1
+              36:             TypePointer Function 35
+              38:             TypeMatrix 9(fvec) 4
+              39:             TypePointer Function 38
+   58(PS_OUTPUT):             TypeStruct 34(fvec4)
+              59:             TypePointer Function 58(PS_OUTPUT)
+              61:             TypeInt 32 1
+              62:     61(int) Constant 0
+              63:    8(float) Constant 1065353216
+              64:   34(fvec4) ConstantComposite 63 63 63 63
+              65:             TypePointer Function 34(fvec4)
+              67:             TypePointer Output 34(fvec4)
+       68(color):     67(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+   60(ps_output):     59(ptr) Variable Function
+              66:     65(ptr) AccessChain 60(ps_output) 62
+                              Store 66 64
+              69:     65(ptr) AccessChain 60(ps_output) 62
+              70:   34(fvec4) Load 69
+                              Store 68(color) 70
+                              Return
+                              FunctionEnd
+  6(TestMatNx1():           2 Function None 3
+               7:             Label
+         12(r00):     11(ptr) Variable Function
+        13(f1x1):     11(ptr) Variable Function
+         19(r01):     18(ptr) Variable Function
+        22(f2x1):     21(ptr) Variable Function
+         28(r02):     27(ptr) Variable Function
+        31(f3x1):     30(ptr) Variable Function
+         37(r03):     36(ptr) Variable Function
+        40(f4x1):     39(ptr) Variable Function
+         43(r10):     11(ptr) Variable Function
+         46(r11):     21(ptr) Variable Function
+        47(f1x2):     18(ptr) Variable Function
+         50(r12):     30(ptr) Variable Function
+        51(f1x3):     27(ptr) Variable Function
+         54(r13):     39(ptr) Variable Function
+        55(f1x4):     36(ptr) Variable Function
+              14:          10 Load 13(f1x1)
+              15:          10 Transpose 14
+                              Store 12(r00) 15
+              23:          20 Load 22(f2x1)
+              24:          17 Transpose 23
+                              Store 19(r01) 24
+              32:          29 Load 31(f3x1)
+              33:          26 Transpose 32
+                              Store 28(r02) 33
+              41:          38 Load 40(f4x1)
+              42:          35 Transpose 41
+                              Store 37(r03) 42
+              44:          10 Load 13(f1x1)
+              45:          10 Transpose 44
+                              Store 43(r10) 45
+              48:          17 Load 47(f1x2)
+              49:          20 Transpose 48
+                              Store 46(r11) 49
+              52:          26 Load 51(f1x3)
+              53:          29 Transpose 52
+                              Store 50(r12) 53
+              56:          35 Load 55(f1x4)
+              57:          38 Transpose 56
+                              Store 54(r13) 57
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out
new file mode 100644
index 0000000..e24c878
--- /dev/null
+++ b/Test/baseResults/hlsl.matType.bool.frag.out
@@ -0,0 +1,419 @@
+hlsl.matType.bool.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: TestBoolMatTypes( (temp void)
+0:3    Function Parameters: 
+0:?     Sequence
+0:25      Sequence
+0:25        move second child to first child (temp 1X1 matrix of bool)
+0:25          'r00' (temp 1X1 matrix of bool)
+0:25          transpose (temp 1X1 matrix of bool)
+0:25            'b1x1' (temp 1X1 matrix of bool)
+0:26      Sequence
+0:26        move second child to first child (temp 1X2 matrix of bool)
+0:26          'r01' (temp 1X2 matrix of bool)
+0:26          transpose (temp 1X2 matrix of bool)
+0:26            'b2x1' (temp 2X1 matrix of bool)
+0:27      Sequence
+0:27        move second child to first child (temp 1X3 matrix of bool)
+0:27          'r02' (temp 1X3 matrix of bool)
+0:27          transpose (temp 1X3 matrix of bool)
+0:27            'b3x1' (temp 3X1 matrix of bool)
+0:28      Sequence
+0:28        move second child to first child (temp 1X4 matrix of bool)
+0:28          'r03' (temp 1X4 matrix of bool)
+0:28          transpose (temp 1X4 matrix of bool)
+0:28            'b4x1' (temp 4X1 matrix of bool)
+0:30      Sequence
+0:30        move second child to first child (temp 2X1 matrix of bool)
+0:30          'r10' (temp 2X1 matrix of bool)
+0:30          transpose (temp 2X1 matrix of bool)
+0:30            'b1x2' (temp 1X2 matrix of bool)
+0:31      Sequence
+0:31        move second child to first child (temp 2X2 matrix of bool)
+0:31          'r11' (temp 2X2 matrix of bool)
+0:31          transpose (temp 2X2 matrix of bool)
+0:31            'b2x2' (temp 2X2 matrix of bool)
+0:32      Sequence
+0:32        move second child to first child (temp 2X3 matrix of bool)
+0:32          'r12' (temp 2X3 matrix of bool)
+0:32          transpose (temp 2X3 matrix of bool)
+0:32            'b3x2' (temp 3X2 matrix of bool)
+0:33      Sequence
+0:33        move second child to first child (temp 2X4 matrix of bool)
+0:33          'r13' (temp 2X4 matrix of bool)
+0:33          transpose (temp 2X4 matrix of bool)
+0:33            'b4x2' (temp 4X2 matrix of bool)
+0:35      Sequence
+0:35        move second child to first child (temp 3X1 matrix of bool)
+0:35          'r20' (temp 3X1 matrix of bool)
+0:35          transpose (temp 3X1 matrix of bool)
+0:35            'b1x3' (temp 1X3 matrix of bool)
+0:36      Sequence
+0:36        move second child to first child (temp 3X2 matrix of bool)
+0:36          'r21' (temp 3X2 matrix of bool)
+0:36          transpose (temp 3X2 matrix of bool)
+0:36            'b2x3' (temp 2X3 matrix of bool)
+0:37      Sequence
+0:37        move second child to first child (temp 3X3 matrix of bool)
+0:37          'r22' (temp 3X3 matrix of bool)
+0:37          transpose (temp 3X3 matrix of bool)
+0:37            'b3x3' (temp 3X3 matrix of bool)
+0:38      Sequence
+0:38        move second child to first child (temp 3X4 matrix of bool)
+0:38          'r23' (temp 3X4 matrix of bool)
+0:38          transpose (temp 3X4 matrix of bool)
+0:38            'b4x3' (temp 4X3 matrix of bool)
+0:40      Sequence
+0:40        move second child to first child (temp 4X1 matrix of bool)
+0:40          'r30' (temp 4X1 matrix of bool)
+0:40          transpose (temp 4X1 matrix of bool)
+0:40            'b1x4' (temp 1X4 matrix of bool)
+0:41      Sequence
+0:41        move second child to first child (temp 4X2 matrix of bool)
+0:41          'r31' (temp 4X2 matrix of bool)
+0:41          transpose (temp 4X2 matrix of bool)
+0:41            'b2x4' (temp 2X4 matrix of bool)
+0:42      Sequence
+0:42        move second child to first child (temp 4X3 matrix of bool)
+0:42          'r32' (temp 4X3 matrix of bool)
+0:42          transpose (temp 4X3 matrix of bool)
+0:42            'b3x4' (temp 3X4 matrix of bool)
+0:43      Sequence
+0:43        move second child to first child (temp 4X4 matrix of bool)
+0:43          'r33' (temp 4X4 matrix of bool)
+0:43          transpose (temp 4X4 matrix of bool)
+0:43            'b4x4' (temp 4X4 matrix of bool)
+0:49  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:49    Function Parameters: 
+0:?     Sequence
+0:51      move second child to first child (temp 4-component vector of float)
+0:51        color: direct index for structure (temp 4-component vector of float)
+0:51          'ps_output' (temp structure{temp 4-component vector of float color})
+0:51          Constant:
+0:51            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:52      Sequence
+0:52        Sequence
+0:52          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:52            color: direct index for structure (temp 4-component vector of float)
+0:52              'ps_output' (temp structure{temp 4-component vector of float color})
+0:52              Constant:
+0:52                0 (const int)
+0:52        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: TestBoolMatTypes( (temp void)
+0:3    Function Parameters: 
+0:?     Sequence
+0:25      Sequence
+0:25        move second child to first child (temp 1X1 matrix of bool)
+0:25          'r00' (temp 1X1 matrix of bool)
+0:25          transpose (temp 1X1 matrix of bool)
+0:25            'b1x1' (temp 1X1 matrix of bool)
+0:26      Sequence
+0:26        move second child to first child (temp 1X2 matrix of bool)
+0:26          'r01' (temp 1X2 matrix of bool)
+0:26          transpose (temp 1X2 matrix of bool)
+0:26            'b2x1' (temp 2X1 matrix of bool)
+0:27      Sequence
+0:27        move second child to first child (temp 1X3 matrix of bool)
+0:27          'r02' (temp 1X3 matrix of bool)
+0:27          transpose (temp 1X3 matrix of bool)
+0:27            'b3x1' (temp 3X1 matrix of bool)
+0:28      Sequence
+0:28        move second child to first child (temp 1X4 matrix of bool)
+0:28          'r03' (temp 1X4 matrix of bool)
+0:28          transpose (temp 1X4 matrix of bool)
+0:28            'b4x1' (temp 4X1 matrix of bool)
+0:30      Sequence
+0:30        move second child to first child (temp 2X1 matrix of bool)
+0:30          'r10' (temp 2X1 matrix of bool)
+0:30          transpose (temp 2X1 matrix of bool)
+0:30            'b1x2' (temp 1X2 matrix of bool)
+0:31      Sequence
+0:31        move second child to first child (temp 2X2 matrix of bool)
+0:31          'r11' (temp 2X2 matrix of bool)
+0:31          transpose (temp 2X2 matrix of bool)
+0:31            'b2x2' (temp 2X2 matrix of bool)
+0:32      Sequence
+0:32        move second child to first child (temp 2X3 matrix of bool)
+0:32          'r12' (temp 2X3 matrix of bool)
+0:32          transpose (temp 2X3 matrix of bool)
+0:32            'b3x2' (temp 3X2 matrix of bool)
+0:33      Sequence
+0:33        move second child to first child (temp 2X4 matrix of bool)
+0:33          'r13' (temp 2X4 matrix of bool)
+0:33          transpose (temp 2X4 matrix of bool)
+0:33            'b4x2' (temp 4X2 matrix of bool)
+0:35      Sequence
+0:35        move second child to first child (temp 3X1 matrix of bool)
+0:35          'r20' (temp 3X1 matrix of bool)
+0:35          transpose (temp 3X1 matrix of bool)
+0:35            'b1x3' (temp 1X3 matrix of bool)
+0:36      Sequence
+0:36        move second child to first child (temp 3X2 matrix of bool)
+0:36          'r21' (temp 3X2 matrix of bool)
+0:36          transpose (temp 3X2 matrix of bool)
+0:36            'b2x3' (temp 2X3 matrix of bool)
+0:37      Sequence
+0:37        move second child to first child (temp 3X3 matrix of bool)
+0:37          'r22' (temp 3X3 matrix of bool)
+0:37          transpose (temp 3X3 matrix of bool)
+0:37            'b3x3' (temp 3X3 matrix of bool)
+0:38      Sequence
+0:38        move second child to first child (temp 3X4 matrix of bool)
+0:38          'r23' (temp 3X4 matrix of bool)
+0:38          transpose (temp 3X4 matrix of bool)
+0:38            'b4x3' (temp 4X3 matrix of bool)
+0:40      Sequence
+0:40        move second child to first child (temp 4X1 matrix of bool)
+0:40          'r30' (temp 4X1 matrix of bool)
+0:40          transpose (temp 4X1 matrix of bool)
+0:40            'b1x4' (temp 1X4 matrix of bool)
+0:41      Sequence
+0:41        move second child to first child (temp 4X2 matrix of bool)
+0:41          'r31' (temp 4X2 matrix of bool)
+0:41          transpose (temp 4X2 matrix of bool)
+0:41            'b2x4' (temp 2X4 matrix of bool)
+0:42      Sequence
+0:42        move second child to first child (temp 4X3 matrix of bool)
+0:42          'r32' (temp 4X3 matrix of bool)
+0:42          transpose (temp 4X3 matrix of bool)
+0:42            'b3x4' (temp 3X4 matrix of bool)
+0:43      Sequence
+0:43        move second child to first child (temp 4X4 matrix of bool)
+0:43          'r33' (temp 4X4 matrix of bool)
+0:43          transpose (temp 4X4 matrix of bool)
+0:43            'b4x4' (temp 4X4 matrix of bool)
+0:49  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:49    Function Parameters: 
+0:?     Sequence
+0:51      move second child to first child (temp 4-component vector of float)
+0:51        color: direct index for structure (temp 4-component vector of float)
+0:51          'ps_output' (temp structure{temp 4-component vector of float color})
+0:51          Constant:
+0:51            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:52      Sequence
+0:52        Sequence
+0:52          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:52            color: direct index for structure (temp 4-component vector of float)
+0:52              'ps_output' (temp structure{temp 4-component vector of float color})
+0:52              Constant:
+0:52                0 (const int)
+0:52        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 125
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 121
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 6  "TestBoolMatTypes("
+                              Name 12  "r00"
+                              Name 13  "b1x1"
+                              Name 19  "r01"
+                              Name 22  "b2x1"
+                              Name 28  "r02"
+                              Name 31  "b3x1"
+                              Name 37  "r03"
+                              Name 40  "b4x1"
+                              Name 43  "r10"
+                              Name 44  "b1x2"
+                              Name 49  "r11"
+                              Name 50  "b2x2"
+                              Name 55  "r12"
+                              Name 58  "b3x2"
+                              Name 63  "r13"
+                              Name 66  "b4x2"
+                              Name 69  "r20"
+                              Name 70  "b1x3"
+                              Name 73  "r21"
+                              Name 74  "b2x3"
+                              Name 79  "r22"
+                              Name 80  "b3x3"
+                              Name 85  "r23"
+                              Name 88  "b4x3"
+                              Name 91  "r30"
+                              Name 92  "b1x4"
+                              Name 95  "r31"
+                              Name 96  "b2x4"
+                              Name 99  "r32"
+                              Name 100  "b3x4"
+                              Name 105  "r33"
+                              Name 106  "b4x4"
+                              Name 111  "PS_OUTPUT"
+                              MemberName 111(PS_OUTPUT) 0  "color"
+                              Name 113  "ps_output"
+                              Name 121  "color"
+                              Decorate 121(color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               8:             TypeBool
+               9:             TypeVector 8(bool) 1
+              10:             TypeMatrix 9(bvec) 1
+              11:             TypePointer Function 10
+              16:             TypeVector 8(bool) 2
+              17:             TypeMatrix 16(bvec2) 1
+              18:             TypePointer Function 17
+              20:             TypeMatrix 9(bvec) 2
+              21:             TypePointer Function 20
+              25:             TypeVector 8(bool) 3
+              26:             TypeMatrix 25(bvec3) 1
+              27:             TypePointer Function 26
+              29:             TypeMatrix 9(bvec) 3
+              30:             TypePointer Function 29
+              34:             TypeVector 8(bool) 4
+              35:             TypeMatrix 34(bvec4) 1
+              36:             TypePointer Function 35
+              38:             TypeMatrix 9(bvec) 4
+              39:             TypePointer Function 38
+              47:             TypeMatrix 16(bvec2) 2
+              48:             TypePointer Function 47
+              53:             TypeMatrix 25(bvec3) 2
+              54:             TypePointer Function 53
+              56:             TypeMatrix 16(bvec2) 3
+              57:             TypePointer Function 56
+              61:             TypeMatrix 34(bvec4) 2
+              62:             TypePointer Function 61
+              64:             TypeMatrix 16(bvec2) 4
+              65:             TypePointer Function 64
+              77:             TypeMatrix 25(bvec3) 3
+              78:             TypePointer Function 77
+              83:             TypeMatrix 34(bvec4) 3
+              84:             TypePointer Function 83
+              86:             TypeMatrix 25(bvec3) 4
+              87:             TypePointer Function 86
+             103:             TypeMatrix 34(bvec4) 4
+             104:             TypePointer Function 103
+             109:             TypeFloat 32
+             110:             TypeVector 109(float) 4
+  111(PS_OUTPUT):             TypeStruct 110(fvec4)
+             112:             TypePointer Function 111(PS_OUTPUT)
+             114:             TypeInt 32 1
+             115:    114(int) Constant 0
+             116:  109(float) Constant 0
+             117:  110(fvec4) ConstantComposite 116 116 116 116
+             118:             TypePointer Function 110(fvec4)
+             120:             TypePointer Output 110(fvec4)
+      121(color):    120(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+  113(ps_output):    112(ptr) Variable Function
+             119:    118(ptr) AccessChain 113(ps_output) 115
+                              Store 119 117
+             122:    118(ptr) AccessChain 113(ps_output) 115
+             123:  110(fvec4) Load 122
+                              Store 121(color) 123
+                              Return
+                              FunctionEnd
+6(TestBoolMatTypes():           2 Function None 3
+               7:             Label
+         12(r00):     11(ptr) Variable Function
+        13(b1x1):     11(ptr) Variable Function
+         19(r01):     18(ptr) Variable Function
+        22(b2x1):     21(ptr) Variable Function
+         28(r02):     27(ptr) Variable Function
+        31(b3x1):     30(ptr) Variable Function
+         37(r03):     36(ptr) Variable Function
+        40(b4x1):     39(ptr) Variable Function
+         43(r10):     21(ptr) Variable Function
+        44(b1x2):     18(ptr) Variable Function
+         49(r11):     48(ptr) Variable Function
+        50(b2x2):     48(ptr) Variable Function
+         55(r12):     54(ptr) Variable Function
+        58(b3x2):     57(ptr) Variable Function
+         63(r13):     62(ptr) Variable Function
+        66(b4x2):     65(ptr) Variable Function
+         69(r20):     30(ptr) Variable Function
+        70(b1x3):     27(ptr) Variable Function
+         73(r21):     57(ptr) Variable Function
+        74(b2x3):     54(ptr) Variable Function
+         79(r22):     78(ptr) Variable Function
+        80(b3x3):     78(ptr) Variable Function
+         85(r23):     84(ptr) Variable Function
+        88(b4x3):     87(ptr) Variable Function
+         91(r30):     39(ptr) Variable Function
+        92(b1x4):     36(ptr) Variable Function
+         95(r31):     65(ptr) Variable Function
+        96(b2x4):     62(ptr) Variable Function
+         99(r32):     87(ptr) Variable Function
+       100(b3x4):     84(ptr) Variable Function
+        105(r33):    104(ptr) Variable Function
+       106(b4x4):    104(ptr) Variable Function
+              14:          10 Load 13(b1x1)
+              15:          10 Transpose 14
+                              Store 12(r00) 15
+              23:          20 Load 22(b2x1)
+              24:          17 Transpose 23
+                              Store 19(r01) 24
+              32:          29 Load 31(b3x1)
+              33:          26 Transpose 32
+                              Store 28(r02) 33
+              41:          38 Load 40(b4x1)
+              42:          35 Transpose 41
+                              Store 37(r03) 42
+              45:          17 Load 44(b1x2)
+              46:          20 Transpose 45
+                              Store 43(r10) 46
+              51:          47 Load 50(b2x2)
+              52:          47 Transpose 51
+                              Store 49(r11) 52
+              59:          56 Load 58(b3x2)
+              60:          53 Transpose 59
+                              Store 55(r12) 60
+              67:          64 Load 66(b4x2)
+              68:          61 Transpose 67
+                              Store 63(r13) 68
+              71:          26 Load 70(b1x3)
+              72:          29 Transpose 71
+                              Store 69(r20) 72
+              75:          53 Load 74(b2x3)
+              76:          56 Transpose 75
+                              Store 73(r21) 76
+              81:          77 Load 80(b3x3)
+              82:          77 Transpose 81
+                              Store 79(r22) 82
+              89:          86 Load 88(b4x3)
+              90:          83 Transpose 89
+                              Store 85(r23) 90
+              93:          35 Load 92(b1x4)
+              94:          38 Transpose 93
+                              Store 91(r30) 94
+              97:          61 Load 96(b2x4)
+              98:          64 Transpose 97
+                              Store 95(r31) 98
+             101:          83 Load 100(b3x4)
+             102:          86 Transpose 101
+                              Store 99(r32) 102
+             107:         103 Load 106(b4x4)
+             108:         103 Transpose 107
+                              Store 105(r33) 108
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
index 0066a1d..038ca73 100755
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -10,11 +10,12 @@
 0:10      Branch: Return with expression
 0:10        'inFloat1' (in 1-component vector of float)
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
 
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -27,7 +28,7 @@
 0:10      Branch: Return with expression
 0:10        'inFloat1' (in 1-component vector of float)
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 1-component vector of float f1, layout(offset=16 ) uniform 1X1 matrix of float fmat11, layout(offset=32 ) uniform 4X1 matrix of float fmat41, layout(offset=48 ) uniform 1X2 matrix of float fmat12, layout(offset=80 ) uniform 2X3 matrix of double dmat23, layout(offset=128 ) uniform 4X4 matrix of int int44})
 
 // Module Version 10000
 // Generated by (magic number): 80001
@@ -51,6 +52,22 @@
                               MemberName 27($Global) 4  "dmat23"
                               MemberName 27($Global) 5  "int44"
                               Name 29  ""
+                              MemberDecorate 27($Global) 0 Offset 0
+                              MemberDecorate 27($Global) 1 RowMajor
+                              MemberDecorate 27($Global) 1 Offset 16
+                              MemberDecorate 27($Global) 1 MatrixStride 16
+                              MemberDecorate 27($Global) 2 RowMajor
+                              MemberDecorate 27($Global) 2 Offset 32
+                              MemberDecorate 27($Global) 2 MatrixStride 16
+                              MemberDecorate 27($Global) 3 RowMajor
+                              MemberDecorate 27($Global) 3 Offset 48
+                              MemberDecorate 27($Global) 3 MatrixStride 16
+                              MemberDecorate 27($Global) 4 RowMajor
+                              MemberDecorate 27($Global) 4 Offset 80
+                              MemberDecorate 27($Global) 4 MatrixStride 16
+                              MemberDecorate 27($Global) 5 RowMajor
+                              MemberDecorate 27($Global) 5 Offset 128
+                              MemberDecorate 27($Global) 5 MatrixStride 16
                               Decorate 27($Global) Block
                               Decorate 29 DescriptorSet 0
                2:             TypeVoid
@@ -74,6 +91,7 @@
               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
diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out
new file mode 100644
index 0000000..d7ffb0f
--- /dev/null
+++ b/Test/baseResults/hlsl.matType.int.frag.out
@@ -0,0 +1,738 @@
+hlsl.matType.int.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: TestIntMatTypes( (temp void)
+0:3    Function Parameters: 
+0:?     Sequence
+0:25      Sequence
+0:25        move second child to first child (temp 1X1 matrix of int)
+0:25          'r00' (temp 1X1 matrix of int)
+0:25          transpose (temp 1X1 matrix of int)
+0:25            'i1x1' (temp 1X1 matrix of int)
+0:26      Sequence
+0:26        move second child to first child (temp 1X2 matrix of int)
+0:26          'r01' (temp 1X2 matrix of int)
+0:26          transpose (temp 1X2 matrix of int)
+0:26            'i2x1' (temp 2X1 matrix of int)
+0:27      Sequence
+0:27        move second child to first child (temp 1X3 matrix of int)
+0:27          'r02' (temp 1X3 matrix of int)
+0:27          transpose (temp 1X3 matrix of int)
+0:27            'i3x1' (temp 3X1 matrix of int)
+0:28      Sequence
+0:28        move second child to first child (temp 1X4 matrix of int)
+0:28          'r03' (temp 1X4 matrix of int)
+0:28          transpose (temp 1X4 matrix of int)
+0:28            'i4x1' (temp 4X1 matrix of int)
+0:30      Sequence
+0:30        move second child to first child (temp 2X1 matrix of int)
+0:30          'r10' (temp 2X1 matrix of int)
+0:30          transpose (temp 2X1 matrix of int)
+0:30            'i1x2' (temp 1X2 matrix of int)
+0:31      Sequence
+0:31        move second child to first child (temp 2X2 matrix of int)
+0:31          'r11' (temp 2X2 matrix of int)
+0:31          transpose (temp 2X2 matrix of int)
+0:31            'i2x2' (temp 2X2 matrix of int)
+0:32      Sequence
+0:32        move second child to first child (temp 2X3 matrix of int)
+0:32          'r12' (temp 2X3 matrix of int)
+0:32          transpose (temp 2X3 matrix of int)
+0:32            'i3x2' (temp 3X2 matrix of int)
+0:33      Sequence
+0:33        move second child to first child (temp 2X4 matrix of int)
+0:33          'r13' (temp 2X4 matrix of int)
+0:33          transpose (temp 2X4 matrix of int)
+0:33            'i4x2' (temp 4X2 matrix of int)
+0:35      Sequence
+0:35        move second child to first child (temp 3X1 matrix of int)
+0:35          'r20' (temp 3X1 matrix of int)
+0:35          transpose (temp 3X1 matrix of int)
+0:35            'i1x3' (temp 1X3 matrix of int)
+0:36      Sequence
+0:36        move second child to first child (temp 3X2 matrix of int)
+0:36          'r21' (temp 3X2 matrix of int)
+0:36          transpose (temp 3X2 matrix of int)
+0:36            'i2x3' (temp 2X3 matrix of int)
+0:37      Sequence
+0:37        move second child to first child (temp 3X3 matrix of int)
+0:37          'r22' (temp 3X3 matrix of int)
+0:37          transpose (temp 3X3 matrix of int)
+0:37            'i3x3' (temp 3X3 matrix of int)
+0:38      Sequence
+0:38        move second child to first child (temp 3X4 matrix of int)
+0:38          'r23' (temp 3X4 matrix of int)
+0:38          transpose (temp 3X4 matrix of int)
+0:38            'i4x3' (temp 4X3 matrix of int)
+0:40      Sequence
+0:40        move second child to first child (temp 4X1 matrix of int)
+0:40          'r30' (temp 4X1 matrix of int)
+0:40          transpose (temp 4X1 matrix of int)
+0:40            'i1x4' (temp 1X4 matrix of int)
+0:41      Sequence
+0:41        move second child to first child (temp 4X2 matrix of int)
+0:41          'r31' (temp 4X2 matrix of int)
+0:41          transpose (temp 4X2 matrix of int)
+0:41            'i2x4' (temp 2X4 matrix of int)
+0:42      Sequence
+0:42        move second child to first child (temp 4X3 matrix of int)
+0:42          'r32' (temp 4X3 matrix of int)
+0:42          transpose (temp 4X3 matrix of int)
+0:42            'i3x4' (temp 3X4 matrix of int)
+0:43      Sequence
+0:43        move second child to first child (temp 4X4 matrix of int)
+0:43          'r33' (temp 4X4 matrix of int)
+0:43          transpose (temp 4X4 matrix of int)
+0:43            'i4x4' (temp 4X4 matrix of int)
+0:47  Function Definition: TestUintMatTypes( (temp void)
+0:47    Function Parameters: 
+0:?     Sequence
+0:69      Sequence
+0:69        move second child to first child (temp 1X1 matrix of uint)
+0:69          'r00' (temp 1X1 matrix of uint)
+0:69          transpose (temp 1X1 matrix of uint)
+0:69            'u1x1' (temp 1X1 matrix of uint)
+0:70      Sequence
+0:70        move second child to first child (temp 1X2 matrix of uint)
+0:70          'r01' (temp 1X2 matrix of uint)
+0:70          transpose (temp 1X2 matrix of uint)
+0:70            'u2x1' (temp 2X1 matrix of uint)
+0:71      Sequence
+0:71        move second child to first child (temp 1X3 matrix of uint)
+0:71          'r02' (temp 1X3 matrix of uint)
+0:71          transpose (temp 1X3 matrix of uint)
+0:71            'u3x1' (temp 3X1 matrix of uint)
+0:72      Sequence
+0:72        move second child to first child (temp 1X4 matrix of uint)
+0:72          'r03' (temp 1X4 matrix of uint)
+0:72          transpose (temp 1X4 matrix of uint)
+0:72            'u4x1' (temp 4X1 matrix of uint)
+0:74      Sequence
+0:74        move second child to first child (temp 2X1 matrix of uint)
+0:74          'r10' (temp 2X1 matrix of uint)
+0:74          transpose (temp 2X1 matrix of uint)
+0:74            'u1x2' (temp 1X2 matrix of uint)
+0:75      Sequence
+0:75        move second child to first child (temp 2X2 matrix of uint)
+0:75          'r11' (temp 2X2 matrix of uint)
+0:75          transpose (temp 2X2 matrix of uint)
+0:75            'u2x2' (temp 2X2 matrix of uint)
+0:76      Sequence
+0:76        move second child to first child (temp 2X3 matrix of uint)
+0:76          'r12' (temp 2X3 matrix of uint)
+0:76          transpose (temp 2X3 matrix of uint)
+0:76            'u3x2' (temp 3X2 matrix of uint)
+0:77      Sequence
+0:77        move second child to first child (temp 2X4 matrix of uint)
+0:77          'r13' (temp 2X4 matrix of uint)
+0:77          transpose (temp 2X4 matrix of uint)
+0:77            'u4x2' (temp 4X2 matrix of uint)
+0:79      Sequence
+0:79        move second child to first child (temp 3X1 matrix of uint)
+0:79          'r20' (temp 3X1 matrix of uint)
+0:79          transpose (temp 3X1 matrix of uint)
+0:79            'u1x3' (temp 1X3 matrix of uint)
+0:80      Sequence
+0:80        move second child to first child (temp 3X2 matrix of uint)
+0:80          'r21' (temp 3X2 matrix of uint)
+0:80          transpose (temp 3X2 matrix of uint)
+0:80            'u2x3' (temp 2X3 matrix of uint)
+0:81      Sequence
+0:81        move second child to first child (temp 3X3 matrix of uint)
+0:81          'r22' (temp 3X3 matrix of uint)
+0:81          transpose (temp 3X3 matrix of uint)
+0:81            'u3x3' (temp 3X3 matrix of uint)
+0:82      Sequence
+0:82        move second child to first child (temp 3X4 matrix of uint)
+0:82          'r23' (temp 3X4 matrix of uint)
+0:82          transpose (temp 3X4 matrix of uint)
+0:82            'u4x3' (temp 4X3 matrix of uint)
+0:84      Sequence
+0:84        move second child to first child (temp 4X1 matrix of uint)
+0:84          'r30' (temp 4X1 matrix of uint)
+0:84          transpose (temp 4X1 matrix of uint)
+0:84            'u1x4' (temp 1X4 matrix of uint)
+0:85      Sequence
+0:85        move second child to first child (temp 4X2 matrix of uint)
+0:85          'r31' (temp 4X2 matrix of uint)
+0:85          transpose (temp 4X2 matrix of uint)
+0:85            'u2x4' (temp 2X4 matrix of uint)
+0:86      Sequence
+0:86        move second child to first child (temp 4X3 matrix of uint)
+0:86          'r32' (temp 4X3 matrix of uint)
+0:86          transpose (temp 4X3 matrix of uint)
+0:86            'u3x4' (temp 3X4 matrix of uint)
+0:87      Sequence
+0:87        move second child to first child (temp 4X4 matrix of uint)
+0:87          'r33' (temp 4X4 matrix of uint)
+0:87          transpose (temp 4X4 matrix of uint)
+0:87            'u4x4' (temp 4X4 matrix of uint)
+0:93  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:93    Function Parameters: 
+0:?     Sequence
+0:95      move second child to first child (temp 4-component vector of float)
+0:95        color: direct index for structure (temp 4-component vector of float)
+0:95          'ps_output' (temp structure{temp 4-component vector of float color})
+0:95          Constant:
+0:95            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:96      Sequence
+0:96        Sequence
+0:96          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:96            color: direct index for structure (temp 4-component vector of float)
+0:96              'ps_output' (temp structure{temp 4-component vector of float color})
+0:96              Constant:
+0:96                0 (const int)
+0:96        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: TestIntMatTypes( (temp void)
+0:3    Function Parameters: 
+0:?     Sequence
+0:25      Sequence
+0:25        move second child to first child (temp 1X1 matrix of int)
+0:25          'r00' (temp 1X1 matrix of int)
+0:25          transpose (temp 1X1 matrix of int)
+0:25            'i1x1' (temp 1X1 matrix of int)
+0:26      Sequence
+0:26        move second child to first child (temp 1X2 matrix of int)
+0:26          'r01' (temp 1X2 matrix of int)
+0:26          transpose (temp 1X2 matrix of int)
+0:26            'i2x1' (temp 2X1 matrix of int)
+0:27      Sequence
+0:27        move second child to first child (temp 1X3 matrix of int)
+0:27          'r02' (temp 1X3 matrix of int)
+0:27          transpose (temp 1X3 matrix of int)
+0:27            'i3x1' (temp 3X1 matrix of int)
+0:28      Sequence
+0:28        move second child to first child (temp 1X4 matrix of int)
+0:28          'r03' (temp 1X4 matrix of int)
+0:28          transpose (temp 1X4 matrix of int)
+0:28            'i4x1' (temp 4X1 matrix of int)
+0:30      Sequence
+0:30        move second child to first child (temp 2X1 matrix of int)
+0:30          'r10' (temp 2X1 matrix of int)
+0:30          transpose (temp 2X1 matrix of int)
+0:30            'i1x2' (temp 1X2 matrix of int)
+0:31      Sequence
+0:31        move second child to first child (temp 2X2 matrix of int)
+0:31          'r11' (temp 2X2 matrix of int)
+0:31          transpose (temp 2X2 matrix of int)
+0:31            'i2x2' (temp 2X2 matrix of int)
+0:32      Sequence
+0:32        move second child to first child (temp 2X3 matrix of int)
+0:32          'r12' (temp 2X3 matrix of int)
+0:32          transpose (temp 2X3 matrix of int)
+0:32            'i3x2' (temp 3X2 matrix of int)
+0:33      Sequence
+0:33        move second child to first child (temp 2X4 matrix of int)
+0:33          'r13' (temp 2X4 matrix of int)
+0:33          transpose (temp 2X4 matrix of int)
+0:33            'i4x2' (temp 4X2 matrix of int)
+0:35      Sequence
+0:35        move second child to first child (temp 3X1 matrix of int)
+0:35          'r20' (temp 3X1 matrix of int)
+0:35          transpose (temp 3X1 matrix of int)
+0:35            'i1x3' (temp 1X3 matrix of int)
+0:36      Sequence
+0:36        move second child to first child (temp 3X2 matrix of int)
+0:36          'r21' (temp 3X2 matrix of int)
+0:36          transpose (temp 3X2 matrix of int)
+0:36            'i2x3' (temp 2X3 matrix of int)
+0:37      Sequence
+0:37        move second child to first child (temp 3X3 matrix of int)
+0:37          'r22' (temp 3X3 matrix of int)
+0:37          transpose (temp 3X3 matrix of int)
+0:37            'i3x3' (temp 3X3 matrix of int)
+0:38      Sequence
+0:38        move second child to first child (temp 3X4 matrix of int)
+0:38          'r23' (temp 3X4 matrix of int)
+0:38          transpose (temp 3X4 matrix of int)
+0:38            'i4x3' (temp 4X3 matrix of int)
+0:40      Sequence
+0:40        move second child to first child (temp 4X1 matrix of int)
+0:40          'r30' (temp 4X1 matrix of int)
+0:40          transpose (temp 4X1 matrix of int)
+0:40            'i1x4' (temp 1X4 matrix of int)
+0:41      Sequence
+0:41        move second child to first child (temp 4X2 matrix of int)
+0:41          'r31' (temp 4X2 matrix of int)
+0:41          transpose (temp 4X2 matrix of int)
+0:41            'i2x4' (temp 2X4 matrix of int)
+0:42      Sequence
+0:42        move second child to first child (temp 4X3 matrix of int)
+0:42          'r32' (temp 4X3 matrix of int)
+0:42          transpose (temp 4X3 matrix of int)
+0:42            'i3x4' (temp 3X4 matrix of int)
+0:43      Sequence
+0:43        move second child to first child (temp 4X4 matrix of int)
+0:43          'r33' (temp 4X4 matrix of int)
+0:43          transpose (temp 4X4 matrix of int)
+0:43            'i4x4' (temp 4X4 matrix of int)
+0:47  Function Definition: TestUintMatTypes( (temp void)
+0:47    Function Parameters: 
+0:?     Sequence
+0:69      Sequence
+0:69        move second child to first child (temp 1X1 matrix of uint)
+0:69          'r00' (temp 1X1 matrix of uint)
+0:69          transpose (temp 1X1 matrix of uint)
+0:69            'u1x1' (temp 1X1 matrix of uint)
+0:70      Sequence
+0:70        move second child to first child (temp 1X2 matrix of uint)
+0:70          'r01' (temp 1X2 matrix of uint)
+0:70          transpose (temp 1X2 matrix of uint)
+0:70            'u2x1' (temp 2X1 matrix of uint)
+0:71      Sequence
+0:71        move second child to first child (temp 1X3 matrix of uint)
+0:71          'r02' (temp 1X3 matrix of uint)
+0:71          transpose (temp 1X3 matrix of uint)
+0:71            'u3x1' (temp 3X1 matrix of uint)
+0:72      Sequence
+0:72        move second child to first child (temp 1X4 matrix of uint)
+0:72          'r03' (temp 1X4 matrix of uint)
+0:72          transpose (temp 1X4 matrix of uint)
+0:72            'u4x1' (temp 4X1 matrix of uint)
+0:74      Sequence
+0:74        move second child to first child (temp 2X1 matrix of uint)
+0:74          'r10' (temp 2X1 matrix of uint)
+0:74          transpose (temp 2X1 matrix of uint)
+0:74            'u1x2' (temp 1X2 matrix of uint)
+0:75      Sequence
+0:75        move second child to first child (temp 2X2 matrix of uint)
+0:75          'r11' (temp 2X2 matrix of uint)
+0:75          transpose (temp 2X2 matrix of uint)
+0:75            'u2x2' (temp 2X2 matrix of uint)
+0:76      Sequence
+0:76        move second child to first child (temp 2X3 matrix of uint)
+0:76          'r12' (temp 2X3 matrix of uint)
+0:76          transpose (temp 2X3 matrix of uint)
+0:76            'u3x2' (temp 3X2 matrix of uint)
+0:77      Sequence
+0:77        move second child to first child (temp 2X4 matrix of uint)
+0:77          'r13' (temp 2X4 matrix of uint)
+0:77          transpose (temp 2X4 matrix of uint)
+0:77            'u4x2' (temp 4X2 matrix of uint)
+0:79      Sequence
+0:79        move second child to first child (temp 3X1 matrix of uint)
+0:79          'r20' (temp 3X1 matrix of uint)
+0:79          transpose (temp 3X1 matrix of uint)
+0:79            'u1x3' (temp 1X3 matrix of uint)
+0:80      Sequence
+0:80        move second child to first child (temp 3X2 matrix of uint)
+0:80          'r21' (temp 3X2 matrix of uint)
+0:80          transpose (temp 3X2 matrix of uint)
+0:80            'u2x3' (temp 2X3 matrix of uint)
+0:81      Sequence
+0:81        move second child to first child (temp 3X3 matrix of uint)
+0:81          'r22' (temp 3X3 matrix of uint)
+0:81          transpose (temp 3X3 matrix of uint)
+0:81            'u3x3' (temp 3X3 matrix of uint)
+0:82      Sequence
+0:82        move second child to first child (temp 3X4 matrix of uint)
+0:82          'r23' (temp 3X4 matrix of uint)
+0:82          transpose (temp 3X4 matrix of uint)
+0:82            'u4x3' (temp 4X3 matrix of uint)
+0:84      Sequence
+0:84        move second child to first child (temp 4X1 matrix of uint)
+0:84          'r30' (temp 4X1 matrix of uint)
+0:84          transpose (temp 4X1 matrix of uint)
+0:84            'u1x4' (temp 1X4 matrix of uint)
+0:85      Sequence
+0:85        move second child to first child (temp 4X2 matrix of uint)
+0:85          'r31' (temp 4X2 matrix of uint)
+0:85          transpose (temp 4X2 matrix of uint)
+0:85            'u2x4' (temp 2X4 matrix of uint)
+0:86      Sequence
+0:86        move second child to first child (temp 4X3 matrix of uint)
+0:86          'r32' (temp 4X3 matrix of uint)
+0:86          transpose (temp 4X3 matrix of uint)
+0:86            'u3x4' (temp 3X4 matrix of uint)
+0:87      Sequence
+0:87        move second child to first child (temp 4X4 matrix of uint)
+0:87          'r33' (temp 4X4 matrix of uint)
+0:87          transpose (temp 4X4 matrix of uint)
+0:87            'u4x4' (temp 4X4 matrix of uint)
+0:93  Function Definition: main( (temp structure{temp 4-component vector of float color})
+0:93    Function Parameters: 
+0:?     Sequence
+0:95      move second child to first child (temp 4-component vector of float)
+0:95        color: direct index for structure (temp 4-component vector of float)
+0:95          'ps_output' (temp structure{temp 4-component vector of float color})
+0:95          Constant:
+0:95            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:96      Sequence
+0:96        Sequence
+0:96          move second child to first child (temp 4-component vector of float)
+0:?             'color' (layout(location=0 ) out 4-component vector of float)
+0:96            color: direct index for structure (temp 4-component vector of float)
+0:96              'ps_output' (temp structure{temp 4-component vector of float color})
+0:96              Constant:
+0:96                0 (const int)
+0:96        Branch: Return
+0:?   Linker Objects
+0:?     'color' (layout(location=0 ) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 227
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 223
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 6  "TestIntMatTypes("
+                              Name 8  "TestUintMatTypes("
+                              Name 14  "r00"
+                              Name 15  "i1x1"
+                              Name 21  "r01"
+                              Name 24  "i2x1"
+                              Name 30  "r02"
+                              Name 33  "i3x1"
+                              Name 39  "r03"
+                              Name 42  "i4x1"
+                              Name 45  "r10"
+                              Name 46  "i1x2"
+                              Name 51  "r11"
+                              Name 52  "i2x2"
+                              Name 57  "r12"
+                              Name 60  "i3x2"
+                              Name 65  "r13"
+                              Name 68  "i4x2"
+                              Name 71  "r20"
+                              Name 72  "i1x3"
+                              Name 75  "r21"
+                              Name 76  "i2x3"
+                              Name 81  "r22"
+                              Name 82  "i3x3"
+                              Name 87  "r23"
+                              Name 90  "i4x3"
+                              Name 93  "r30"
+                              Name 94  "i1x4"
+                              Name 97  "r31"
+                              Name 98  "i2x4"
+                              Name 101  "r32"
+                              Name 102  "i3x4"
+                              Name 107  "r33"
+                              Name 108  "i4x4"
+                              Name 115  "r00"
+                              Name 116  "u1x1"
+                              Name 122  "r01"
+                              Name 125  "u2x1"
+                              Name 131  "r02"
+                              Name 134  "u3x1"
+                              Name 140  "r03"
+                              Name 143  "u4x1"
+                              Name 146  "r10"
+                              Name 147  "u1x2"
+                              Name 152  "r11"
+                              Name 153  "u2x2"
+                              Name 158  "r12"
+                              Name 161  "u3x2"
+                              Name 166  "r13"
+                              Name 169  "u4x2"
+                              Name 172  "r20"
+                              Name 173  "u1x3"
+                              Name 176  "r21"
+                              Name 177  "u2x3"
+                              Name 182  "r22"
+                              Name 183  "u3x3"
+                              Name 188  "r23"
+                              Name 191  "u4x3"
+                              Name 194  "r30"
+                              Name 195  "u1x4"
+                              Name 198  "r31"
+                              Name 199  "u2x4"
+                              Name 202  "r32"
+                              Name 203  "u3x4"
+                              Name 208  "r33"
+                              Name 209  "u4x4"
+                              Name 214  "PS_OUTPUT"
+                              MemberName 214(PS_OUTPUT) 0  "color"
+                              Name 216  "ps_output"
+                              Name 223  "color"
+                              Decorate 223(color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+              10:             TypeInt 32 1
+              11:             TypeVector 10(int) 1
+              12:             TypeMatrix 11(ivec) 1
+              13:             TypePointer Function 12
+              18:             TypeVector 10(int) 2
+              19:             TypeMatrix 18(ivec2) 1
+              20:             TypePointer Function 19
+              22:             TypeMatrix 11(ivec) 2
+              23:             TypePointer Function 22
+              27:             TypeVector 10(int) 3
+              28:             TypeMatrix 27(ivec3) 1
+              29:             TypePointer Function 28
+              31:             TypeMatrix 11(ivec) 3
+              32:             TypePointer Function 31
+              36:             TypeVector 10(int) 4
+              37:             TypeMatrix 36(ivec4) 1
+              38:             TypePointer Function 37
+              40:             TypeMatrix 11(ivec) 4
+              41:             TypePointer Function 40
+              49:             TypeMatrix 18(ivec2) 2
+              50:             TypePointer Function 49
+              55:             TypeMatrix 27(ivec3) 2
+              56:             TypePointer Function 55
+              58:             TypeMatrix 18(ivec2) 3
+              59:             TypePointer Function 58
+              63:             TypeMatrix 36(ivec4) 2
+              64:             TypePointer Function 63
+              66:             TypeMatrix 18(ivec2) 4
+              67:             TypePointer Function 66
+              79:             TypeMatrix 27(ivec3) 3
+              80:             TypePointer Function 79
+              85:             TypeMatrix 36(ivec4) 3
+              86:             TypePointer Function 85
+              88:             TypeMatrix 27(ivec3) 4
+              89:             TypePointer Function 88
+             105:             TypeMatrix 36(ivec4) 4
+             106:             TypePointer Function 105
+             111:             TypeInt 32 0
+             112:             TypeVector 111(int) 1
+             113:             TypeMatrix 112(ivec) 1
+             114:             TypePointer Function 113
+             119:             TypeVector 111(int) 2
+             120:             TypeMatrix 119(ivec2) 1
+             121:             TypePointer Function 120
+             123:             TypeMatrix 112(ivec) 2
+             124:             TypePointer Function 123
+             128:             TypeVector 111(int) 3
+             129:             TypeMatrix 128(ivec3) 1
+             130:             TypePointer Function 129
+             132:             TypeMatrix 112(ivec) 3
+             133:             TypePointer Function 132
+             137:             TypeVector 111(int) 4
+             138:             TypeMatrix 137(ivec4) 1
+             139:             TypePointer Function 138
+             141:             TypeMatrix 112(ivec) 4
+             142:             TypePointer Function 141
+             150:             TypeMatrix 119(ivec2) 2
+             151:             TypePointer Function 150
+             156:             TypeMatrix 128(ivec3) 2
+             157:             TypePointer Function 156
+             159:             TypeMatrix 119(ivec2) 3
+             160:             TypePointer Function 159
+             164:             TypeMatrix 137(ivec4) 2
+             165:             TypePointer Function 164
+             167:             TypeMatrix 119(ivec2) 4
+             168:             TypePointer Function 167
+             180:             TypeMatrix 128(ivec3) 3
+             181:             TypePointer Function 180
+             186:             TypeMatrix 137(ivec4) 3
+             187:             TypePointer Function 186
+             189:             TypeMatrix 128(ivec3) 4
+             190:             TypePointer Function 189
+             206:             TypeMatrix 137(ivec4) 4
+             207:             TypePointer Function 206
+             212:             TypeFloat 32
+             213:             TypeVector 212(float) 4
+  214(PS_OUTPUT):             TypeStruct 213(fvec4)
+             215:             TypePointer Function 214(PS_OUTPUT)
+             217:     10(int) Constant 0
+             218:  212(float) Constant 0
+             219:  213(fvec4) ConstantComposite 218 218 218 218
+             220:             TypePointer Function 213(fvec4)
+             222:             TypePointer Output 213(fvec4)
+      223(color):    222(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+  216(ps_output):    215(ptr) Variable Function
+             221:    220(ptr) AccessChain 216(ps_output) 217
+                              Store 221 219
+             224:    220(ptr) AccessChain 216(ps_output) 217
+             225:  213(fvec4) Load 224
+                              Store 223(color) 225
+                              Return
+                              FunctionEnd
+6(TestIntMatTypes():           2 Function None 3
+               7:             Label
+         14(r00):     13(ptr) Variable Function
+        15(i1x1):     13(ptr) Variable Function
+         21(r01):     20(ptr) Variable Function
+        24(i2x1):     23(ptr) Variable Function
+         30(r02):     29(ptr) Variable Function
+        33(i3x1):     32(ptr) Variable Function
+         39(r03):     38(ptr) Variable Function
+        42(i4x1):     41(ptr) Variable Function
+         45(r10):     23(ptr) Variable Function
+        46(i1x2):     20(ptr) Variable Function
+         51(r11):     50(ptr) Variable Function
+        52(i2x2):     50(ptr) Variable Function
+         57(r12):     56(ptr) Variable Function
+        60(i3x2):     59(ptr) Variable Function
+         65(r13):     64(ptr) Variable Function
+        68(i4x2):     67(ptr) Variable Function
+         71(r20):     32(ptr) Variable Function
+        72(i1x3):     29(ptr) Variable Function
+         75(r21):     59(ptr) Variable Function
+        76(i2x3):     56(ptr) Variable Function
+         81(r22):     80(ptr) Variable Function
+        82(i3x3):     80(ptr) Variable Function
+         87(r23):     86(ptr) Variable Function
+        90(i4x3):     89(ptr) Variable Function
+         93(r30):     41(ptr) Variable Function
+        94(i1x4):     38(ptr) Variable Function
+         97(r31):     67(ptr) Variable Function
+        98(i2x4):     64(ptr) Variable Function
+        101(r32):     89(ptr) Variable Function
+       102(i3x4):     86(ptr) Variable Function
+        107(r33):    106(ptr) Variable Function
+       108(i4x4):    106(ptr) Variable Function
+              16:          12 Load 15(i1x1)
+              17:          12 Transpose 16
+                              Store 14(r00) 17
+              25:          22 Load 24(i2x1)
+              26:          19 Transpose 25
+                              Store 21(r01) 26
+              34:          31 Load 33(i3x1)
+              35:          28 Transpose 34
+                              Store 30(r02) 35
+              43:          40 Load 42(i4x1)
+              44:          37 Transpose 43
+                              Store 39(r03) 44
+              47:          19 Load 46(i1x2)
+              48:          22 Transpose 47
+                              Store 45(r10) 48
+              53:          49 Load 52(i2x2)
+              54:          49 Transpose 53
+                              Store 51(r11) 54
+              61:          58 Load 60(i3x2)
+              62:          55 Transpose 61
+                              Store 57(r12) 62
+              69:          66 Load 68(i4x2)
+              70:          63 Transpose 69
+                              Store 65(r13) 70
+              73:          28 Load 72(i1x3)
+              74:          31 Transpose 73
+                              Store 71(r20) 74
+              77:          55 Load 76(i2x3)
+              78:          58 Transpose 77
+                              Store 75(r21) 78
+              83:          79 Load 82(i3x3)
+              84:          79 Transpose 83
+                              Store 81(r22) 84
+              91:          88 Load 90(i4x3)
+              92:          85 Transpose 91
+                              Store 87(r23) 92
+              95:          37 Load 94(i1x4)
+              96:          40 Transpose 95
+                              Store 93(r30) 96
+              99:          63 Load 98(i2x4)
+             100:          66 Transpose 99
+                              Store 97(r31) 100
+             103:          85 Load 102(i3x4)
+             104:          88 Transpose 103
+                              Store 101(r32) 104
+             109:         105 Load 108(i4x4)
+             110:         105 Transpose 109
+                              Store 107(r33) 110
+                              Return
+                              FunctionEnd
+8(TestUintMatTypes():           2 Function None 3
+               9:             Label
+        115(r00):    114(ptr) Variable Function
+       116(u1x1):    114(ptr) Variable Function
+        122(r01):    121(ptr) Variable Function
+       125(u2x1):    124(ptr) Variable Function
+        131(r02):    130(ptr) Variable Function
+       134(u3x1):    133(ptr) Variable Function
+        140(r03):    139(ptr) Variable Function
+       143(u4x1):    142(ptr) Variable Function
+        146(r10):    124(ptr) Variable Function
+       147(u1x2):    121(ptr) Variable Function
+        152(r11):    151(ptr) Variable Function
+       153(u2x2):    151(ptr) Variable Function
+        158(r12):    157(ptr) Variable Function
+       161(u3x2):    160(ptr) Variable Function
+        166(r13):    165(ptr) Variable Function
+       169(u4x2):    168(ptr) Variable Function
+        172(r20):    133(ptr) Variable Function
+       173(u1x3):    130(ptr) Variable Function
+        176(r21):    160(ptr) Variable Function
+       177(u2x3):    157(ptr) Variable Function
+        182(r22):    181(ptr) Variable Function
+       183(u3x3):    181(ptr) Variable Function
+        188(r23):    187(ptr) Variable Function
+       191(u4x3):    190(ptr) Variable Function
+        194(r30):    142(ptr) Variable Function
+       195(u1x4):    139(ptr) Variable Function
+        198(r31):    168(ptr) Variable Function
+       199(u2x4):    165(ptr) Variable Function
+        202(r32):    190(ptr) Variable Function
+       203(u3x4):    187(ptr) Variable Function
+        208(r33):    207(ptr) Variable Function
+       209(u4x4):    207(ptr) Variable Function
+             117:         113 Load 116(u1x1)
+             118:         113 Transpose 117
+                              Store 115(r00) 118
+             126:         123 Load 125(u2x1)
+             127:         120 Transpose 126
+                              Store 122(r01) 127
+             135:         132 Load 134(u3x1)
+             136:         129 Transpose 135
+                              Store 131(r02) 136
+             144:         141 Load 143(u4x1)
+             145:         138 Transpose 144
+                              Store 140(r03) 145
+             148:         120 Load 147(u1x2)
+             149:         123 Transpose 148
+                              Store 146(r10) 149
+             154:         150 Load 153(u2x2)
+             155:         150 Transpose 154
+                              Store 152(r11) 155
+             162:         159 Load 161(u3x2)
+             163:         156 Transpose 162
+                              Store 158(r12) 163
+             170:         167 Load 169(u4x2)
+             171:         164 Transpose 170
+                              Store 166(r13) 171
+             174:         129 Load 173(u1x3)
+             175:         132 Transpose 174
+                              Store 172(r20) 175
+             178:         156 Load 177(u2x3)
+             179:         159 Transpose 178
+                              Store 176(r21) 179
+             184:         180 Load 183(u3x3)
+             185:         180 Transpose 184
+                              Store 182(r22) 185
+             192:         189 Load 191(u4x3)
+             193:         186 Transpose 192
+                              Store 188(r23) 193
+             196:         138 Load 195(u1x4)
+             197:         141 Transpose 196
+                              Store 194(r30) 197
+             200:         164 Load 199(u2x4)
+             201:         167 Transpose 200
+                              Store 198(r31) 201
+             204:         186 Load 203(u3x4)
+             205:         189 Transpose 204
+                              Store 202(r32) 205
+             210:         206 Load 209(u4x4)
+             211:         206 Transpose 210
+                              Store 208(r33) 211
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out
index 8c637c1..420ba9f 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -128,7 +128,7 @@
 0:48        Branch: Return
 0:?   Linker Objects
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
 
 
 Linked fragment stage:
@@ -263,7 +263,7 @@
 0:48        Branch: Return
 0:?   Linker Objects
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform int idx, layout(offset=16 ) uniform 3X2 matrix of float um})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out
index 53646bb..8995af3 100755
--- a/Test/baseResults/hlsl.max.frag.out
+++ b/Test/baseResults/hlsl.max.frag.out
@@ -10,7 +10,7 @@
 0:3      Sequence
 0:3        move second child to first child (temp 4-component vector of float)
 0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:3          max (global 4-component vector of float)
+0:3          max (temp 4-component vector of float)
 0:3            'input1' (layout(location=0 ) in 4-component vector of float)
 0:3            'input2' (layout(location=1 ) in 4-component vector of float)
 0:3        Branch: Return
@@ -34,7 +34,7 @@
 0:3      Sequence
 0:3        move second child to first child (temp 4-component vector of float)
 0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:3          max (global 4-component vector of float)
+0:3          max (temp 4-component vector of float)
 0:3            'input1' (layout(location=0 ) in 4-component vector of float)
 0:3            'input2' (layout(location=1 ) in 4-component vector of float)
 0:3        Branch: Return
diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out
new file mode 100644
index 0000000..84c7a8c
--- /dev/null
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -0,0 +1,224 @@
+hlsl.mintypes.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:9  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:9    Function Parameters: 
+0:?     Sequence
+0:40      add (temp mediump 2-component vector of float)
+0:40        'mf16_2' (temp mediump 2-component vector of float)
+0:40        'mf16' (temp mediump float)
+0:41      add (temp mediump 2-component vector of float)
+0:41        'mf10_2' (temp mediump 2-component vector of float)
+0:41        'mf10' (temp mediump float)
+0:42      add (temp mediump 2-component vector of int)
+0:42        'mi16_2' (temp mediump 2-component vector of int)
+0:42        'mi16' (temp mediump int)
+0:43      add (temp mediump 2-component vector of int)
+0:43        'mi12_2' (temp mediump 2-component vector of int)
+0:43        'mi12' (temp mediump int)
+0:44      add (temp mediump 2-component vector of uint)
+0:44        'mu16_2' (temp mediump 2-component vector of uint)
+0:44        'mu16' (temp mediump uint)
+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          'psout' (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              'psout' (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:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:9  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:9    Function Parameters: 
+0:?     Sequence
+0:40      add (temp mediump 2-component vector of float)
+0:40        'mf16_2' (temp mediump 2-component vector of float)
+0:40        'mf16' (temp mediump float)
+0:41      add (temp mediump 2-component vector of float)
+0:41        'mf10_2' (temp mediump 2-component vector of float)
+0:41        'mf10' (temp mediump float)
+0:42      add (temp mediump 2-component vector of int)
+0:42        'mi16_2' (temp mediump 2-component vector of int)
+0:42        'mi16' (temp mediump int)
+0:43      add (temp mediump 2-component vector of int)
+0:43        'mi12_2' (temp mediump 2-component vector of int)
+0:43        'mi12' (temp mediump int)
+0:44      add (temp mediump 2-component vector of uint)
+0:44        'mu16_2' (temp mediump 2-component vector of uint)
+0:44        'mu16' (temp mediump uint)
+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          'psout' (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              'psout' (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:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform mediump float b1a, layout(offset=4 ) uniform mediump float b1b})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 65
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 58
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 9  "mf16_2"
+                              Name 12  "mf16"
+                              Name 16  "mf10_2"
+                              Name 18  "mf10"
+                              Name 25  "mi16_2"
+                              Name 28  "mi16"
+                              Name 32  "mi12_2"
+                              Name 34  "mi12"
+                              Name 41  "mu16_2"
+                              Name 44  "mu16"
+                              Name 49  "PS_OUTPUT"
+                              MemberName 49(PS_OUTPUT) 0  "Color"
+                              Name 51  "psout"
+                              Name 58  "Color"
+                              Name 62  "$Global"
+                              MemberName 62($Global) 0  "b1a"
+                              MemberName 62($Global) 1  "b1b"
+                              Name 64  ""
+                              Decorate 9(mf16_2) RelaxedPrecision
+                              Decorate 10 RelaxedPrecision
+                              Decorate 12(mf16) RelaxedPrecision
+                              Decorate 13 RelaxedPrecision
+                              Decorate 14 RelaxedPrecision
+                              Decorate 15 RelaxedPrecision
+                              Decorate 16(mf10_2) RelaxedPrecision
+                              Decorate 17 RelaxedPrecision
+                              Decorate 18(mf10) RelaxedPrecision
+                              Decorate 19 RelaxedPrecision
+                              Decorate 20 RelaxedPrecision
+                              Decorate 21 RelaxedPrecision
+                              Decorate 25(mi16_2) RelaxedPrecision
+                              Decorate 26 RelaxedPrecision
+                              Decorate 28(mi16) RelaxedPrecision
+                              Decorate 29 RelaxedPrecision
+                              Decorate 30 RelaxedPrecision
+                              Decorate 31 RelaxedPrecision
+                              Decorate 32(mi12_2) RelaxedPrecision
+                              Decorate 33 RelaxedPrecision
+                              Decorate 34(mi12) RelaxedPrecision
+                              Decorate 35 RelaxedPrecision
+                              Decorate 36 RelaxedPrecision
+                              Decorate 37 RelaxedPrecision
+                              Decorate 41(mu16_2) RelaxedPrecision
+                              Decorate 42 RelaxedPrecision
+                              Decorate 44(mu16) RelaxedPrecision
+                              Decorate 45 RelaxedPrecision
+                              Decorate 46 RelaxedPrecision
+                              Decorate 47 RelaxedPrecision
+                              Decorate 58(Color) Location 0
+                              MemberDecorate 62($Global) 0 RelaxedPrecision
+                              MemberDecorate 62($Global) 0 Offset 0
+                              MemberDecorate 62($Global) 1 RelaxedPrecision
+                              MemberDecorate 62($Global) 1 Offset 4
+                              Decorate 62($Global) Block
+                              Decorate 64 DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 2
+               8:             TypePointer Function 7(fvec2)
+              11:             TypePointer Function 6(float)
+              22:             TypeInt 32 1
+              23:             TypeVector 22(int) 2
+              24:             TypePointer Function 23(ivec2)
+              27:             TypePointer Function 22(int)
+              38:             TypeInt 32 0
+              39:             TypeVector 38(int) 2
+              40:             TypePointer Function 39(ivec2)
+              43:             TypePointer Function 38(int)
+              48:             TypeVector 6(float) 4
+   49(PS_OUTPUT):             TypeStruct 48(fvec4)
+              50:             TypePointer Function 49(PS_OUTPUT)
+              52:     22(int) Constant 0
+              53:    6(float) Constant 0
+              54:   48(fvec4) ConstantComposite 53 53 53 53
+              55:             TypePointer Function 48(fvec4)
+              57:             TypePointer Output 48(fvec4)
+       58(Color):     57(ptr) Variable Output
+     62($Global):             TypeStruct 6(float) 6(float)
+              63:             TypePointer Uniform 62($Global)
+              64:     63(ptr) Variable Uniform
+         4(main):           2 Function None 3
+               5:             Label
+       9(mf16_2):      8(ptr) Variable Function
+        12(mf16):     11(ptr) Variable Function
+      16(mf10_2):      8(ptr) Variable Function
+        18(mf10):     11(ptr) Variable Function
+      25(mi16_2):     24(ptr) Variable Function
+        28(mi16):     27(ptr) Variable Function
+      32(mi12_2):     24(ptr) Variable Function
+        34(mi12):     27(ptr) Variable Function
+      41(mu16_2):     40(ptr) Variable Function
+        44(mu16):     43(ptr) Variable Function
+       51(psout):     50(ptr) Variable Function
+              10:    7(fvec2) Load 9(mf16_2)
+              13:    6(float) Load 12(mf16)
+              14:    7(fvec2) CompositeConstruct 13 13
+              15:    7(fvec2) FAdd 10 14
+              17:    7(fvec2) Load 16(mf10_2)
+              19:    6(float) Load 18(mf10)
+              20:    7(fvec2) CompositeConstruct 19 19
+              21:    7(fvec2) FAdd 17 20
+              26:   23(ivec2) Load 25(mi16_2)
+              29:     22(int) Load 28(mi16)
+              30:   23(ivec2) CompositeConstruct 29 29
+              31:   23(ivec2) IAdd 26 30
+              33:   23(ivec2) Load 32(mi12_2)
+              35:     22(int) Load 34(mi12)
+              36:   23(ivec2) CompositeConstruct 35 35
+              37:   23(ivec2) IAdd 33 36
+              42:   39(ivec2) Load 41(mu16_2)
+              45:     38(int) Load 44(mu16)
+              46:   39(ivec2) CompositeConstruct 45 45
+              47:   39(ivec2) IAdd 42 46
+              56:     55(ptr) AccessChain 51(psout) 52
+                              Store 56 54
+              59:     55(ptr) AccessChain 51(psout) 52
+              60:   48(fvec4) Load 59
+                              Store 58(Color) 60
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
index 8f8c42a..f0d05ab 100755
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -21,9 +21,9 @@
 0:10            'Index' (in uint VertexIndex)
 0:10        Branch: Return
 0:?   Linker Objects
-0:?     'Position' (layout(rgba32f ) uniform samplerBuffer)
 0:?     '@entryPointOutput' (out 4-component vector of float Position)
 0:?     'Index' (in uint VertexIndex)
+0:?     'Position' (layout(rgba32f ) uniform samplerBuffer)
 
 
 Linked vertex stage:
@@ -51,9 +51,9 @@
 0:10            'Index' (in uint VertexIndex)
 0:10        Branch: Return
 0:?   Linker Objects
-0:?     'Position' (layout(rgba32f ) uniform samplerBuffer)
 0:?     '@entryPointOutput' (out 4-component vector of float Position)
 0:?     'Index' (in uint VertexIndex)
+0:?     'Position' (layout(rgba32f ) uniform samplerBuffer)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.numthreads.comp.out b/Test/baseResults/hlsl.numthreads.comp.out
new file mode 100644
index 0000000..76e95c8
--- /dev/null
+++ b/Test/baseResults/hlsl.numthreads.comp.out
@@ -0,0 +1,60 @@
+hlsl.numthreads.comp
+Shader version: 450
+local_size = (4, 4, 2)
+0:? Sequence
+0:4  Function Definition: main(vu3; (temp void)
+0:4    Function Parameters: 
+0:4      'tid' (in 3-component vector of uint)
+0:9  Function Definition: main_aux1(vu3; (temp void)
+0:9    Function Parameters: 
+0:9      'tid' (in 3-component vector of uint LocalInvocationID)
+0:?   Linker Objects
+0:?     'tid' (in 3-component vector of uint LocalInvocationID)
+
+
+Linked compute stage:
+
+
+Shader version: 450
+local_size = (4, 4, 2)
+0:? Sequence
+0:4  Function Definition: main(vu3; (temp void)
+0:4    Function Parameters: 
+0:4      'tid' (in 3-component vector of uint)
+0:9  Function Definition: main_aux1(vu3; (temp void)
+0:9    Function Parameters: 
+0:9      'tid' (in 3-component vector of uint LocalInvocationID)
+0:?   Linker Objects
+0:?     'tid' (in 3-component vector of uint LocalInvocationID)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 15
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main_aux1" 14
+                              ExecutionMode 4 LocalSize 4 4 2
+                              Name 4  "main_aux1"
+                              Name 11  "main(vu3;"
+                              Name 10  "tid"
+                              Name 14  "tid"
+                              Decorate 14(tid) BuiltIn LocalInvocationId
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 3
+               8:             TypePointer Function 7(ivec3)
+               9:             TypeFunction 2 8(ptr)
+              13:             TypePointer Input 7(ivec3)
+         14(tid):     13(ptr) Variable Input
+    4(main_aux1):           2 Function None 3
+               5:             Label
+                              Return
+                              FunctionEnd
+   11(main(vu3;):           2 Function None 9
+         10(tid):      8(ptr) FunctionParameter
+              12:             Label
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.partialInit.frag.out b/Test/baseResults/hlsl.partialInit.frag.out
new file mode 100755
index 0000000..5bf838a
--- /dev/null
+++ b/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
diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out
index e9205cf..cd2af74 100644
--- a/Test/baseResults/hlsl.precise.frag.out
+++ b/Test/baseResults/hlsl.precise.frag.out
@@ -29,8 +29,8 @@
 0:12                0 (const int)
 0:12        Branch: Return
 0:?   Linker Objects
-0:?     'precisefloat' (noContraction global float)
 0:?     'color' (layout(location=0 ) noContraction out 4-component vector of float)
+0:?     'precisefloat' (noContraction global float)
 
 
 Linked fragment stage:
@@ -66,8 +66,8 @@
 0:12                0 (const int)
 0:12        Branch: Return
 0:?   Linker Objects
-0:?     'precisefloat' (noContraction global float)
 0:?     'color' (layout(location=0 ) noContraction out 4-component vector of float)
+0:?     'precisefloat' (noContraction global float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out
new file mode 100644
index 0000000..2c7425e
--- /dev/null
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -0,0 +1,280 @@
+hlsl.promote.binary.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:14  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:14    Function Parameters: 
+0:?     Sequence
+0:15      mod (temp float)
+0:15        Convert int to float (temp float)
+0:15          ival: direct index for structure (layout(offset=32 ) uniform int)
+0:15            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:15            Constant:
+0:15              2 (const uint)
+0:15        fval: direct index for structure (layout(offset=64 ) uniform float)
+0:15          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:15          Constant:
+0:15            4 (const uint)
+0:16      mod (temp 4-component vector of float)
+0:16        Convert int to float (temp 4-component vector of float)
+0:16          ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int)
+0:16            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:16            Constant:
+0:16              3 (const uint)
+0:16        fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
+0:16          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:16          Constant:
+0:16            5 (const uint)
+0:18      mod (temp float)
+0:18        Convert bool to float (temp float)
+0:18          bval: direct index for structure (layout(offset=0 ) uniform bool)
+0:18            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:18            Constant:
+0:18              0 (const uint)
+0:18        fval: direct index for structure (layout(offset=64 ) uniform float)
+0:18          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:18          Constant:
+0:18            4 (const uint)
+0:19      mod (temp 4-component vector of float)
+0:19        Convert bool to float (temp 4-component vector of float)
+0:19          bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:19            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:19            Constant:
+0:19              1 (const uint)
+0:19        fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
+0:19          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:19          Constant:
+0:19            5 (const uint)
+0:21      Sequence
+0:21        move second child to first child (temp int)
+0:21          'l_int' (temp int)
+0:21          Constant:
+0:21            1 (const int)
+0:22      mod second child into first child (temp int)
+0:22        'l_int' (temp int)
+0:22        Convert float to int (temp int)
+0:22          fval: direct index for structure (layout(offset=64 ) uniform float)
+0:22            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:22            Constant:
+0:22              4 (const uint)
+0:25      move second child to first child (temp 4-component vector of float)
+0:25        Color: direct index for structure (temp 4-component vector of float)
+0:25          'psout' (temp structure{temp 4-component vector of float Color})
+0:25          Constant:
+0:25            0 (const int)
+0:25        Constant:
+0:25          0.000000
+0:25          0.000000
+0:25          0.000000
+0:25          0.000000
+0:26      Sequence
+0:26        Sequence
+0:26          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            Color: direct index for structure (temp 4-component vector of float)
+0:26              'psout' (temp structure{temp 4-component vector of float Color})
+0:26              Constant:
+0:26                0 (const int)
+0:26        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 bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:14  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:14    Function Parameters: 
+0:?     Sequence
+0:15      mod (temp float)
+0:15        Convert int to float (temp float)
+0:15          ival: direct index for structure (layout(offset=32 ) uniform int)
+0:15            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:15            Constant:
+0:15              2 (const uint)
+0:15        fval: direct index for structure (layout(offset=64 ) uniform float)
+0:15          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:15          Constant:
+0:15            4 (const uint)
+0:16      mod (temp 4-component vector of float)
+0:16        Convert int to float (temp 4-component vector of float)
+0:16          ival4: direct index for structure (layout(offset=48 ) uniform 4-component vector of int)
+0:16            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:16            Constant:
+0:16              3 (const uint)
+0:16        fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
+0:16          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:16          Constant:
+0:16            5 (const uint)
+0:18      mod (temp float)
+0:18        Convert bool to float (temp float)
+0:18          bval: direct index for structure (layout(offset=0 ) uniform bool)
+0:18            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:18            Constant:
+0:18              0 (const uint)
+0:18        fval: direct index for structure (layout(offset=64 ) uniform float)
+0:18          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:18          Constant:
+0:18            4 (const uint)
+0:19      mod (temp 4-component vector of float)
+0:19        Convert bool to float (temp 4-component vector of float)
+0:19          bval4: direct index for structure (layout(offset=16 ) uniform 4-component vector of bool)
+0:19            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:19            Constant:
+0:19              1 (const uint)
+0:19        fval4: direct index for structure (layout(offset=80 ) uniform 4-component vector of float)
+0:19          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:19          Constant:
+0:19            5 (const uint)
+0:21      Sequence
+0:21        move second child to first child (temp int)
+0:21          'l_int' (temp int)
+0:21          Constant:
+0:21            1 (const int)
+0:22      mod second child into first child (temp int)
+0:22        'l_int' (temp int)
+0:22        Convert float to int (temp int)
+0:22          fval: direct index for structure (layout(offset=64 ) uniform float)
+0:22            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+0:22            Constant:
+0:22              4 (const uint)
+0:25      move second child to first child (temp 4-component vector of float)
+0:25        Color: direct index for structure (temp 4-component vector of float)
+0:25          'psout' (temp structure{temp 4-component vector of float Color})
+0:25          Constant:
+0:25            0 (const int)
+0:25        Constant:
+0:25          0.000000
+0:25          0.000000
+0:25          0.000000
+0:25          0.000000
+0:26      Sequence
+0:26        Sequence
+0:26          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            Color: direct index for structure (temp 4-component vector of float)
+0:26              'psout' (temp structure{temp 4-component vector of float Color})
+0:26              Constant:
+0:26                0 (const int)
+0:26        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 bool bval, layout(offset=16 ) uniform 4-component vector of bool bval4, layout(offset=32 ) uniform int ival, layout(offset=48 ) uniform 4-component vector of int ival4, layout(offset=64 ) uniform float fval, layout(offset=80 ) uniform 4-component vector of float fval4})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 78
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 74
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 12  "$Global"
+                              MemberName 12($Global) 0  "bval"
+                              MemberName 12($Global) 1  "bval4"
+                              MemberName 12($Global) 2  "ival"
+                              MemberName 12($Global) 3  "ival4"
+                              MemberName 12($Global) 4  "fval"
+                              MemberName 12($Global) 5  "fval4"
+                              Name 14  ""
+                              Name 62  "l_int"
+                              Name 68  "PS_OUTPUT"
+                              MemberName 68(PS_OUTPUT) 0  "Color"
+                              Name 70  "psout"
+                              Name 74  "Color"
+                              MemberDecorate 12($Global) 0 Offset 0
+                              MemberDecorate 12($Global) 1 Offset 16
+                              MemberDecorate 12($Global) 2 Offset 32
+                              MemberDecorate 12($Global) 3 Offset 48
+                              MemberDecorate 12($Global) 4 Offset 64
+                              MemberDecorate 12($Global) 5 Offset 80
+                              Decorate 12($Global) Block
+                              Decorate 14 DescriptorSet 0
+                              Decorate 74(Color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 4
+               8:             TypeInt 32 1
+               9:             TypeVector 8(int) 4
+              10:             TypeFloat 32
+              11:             TypeVector 10(float) 4
+     12($Global):             TypeStruct 6(int) 7(ivec4) 8(int) 9(ivec4) 10(float) 11(fvec4)
+              13:             TypePointer Uniform 12($Global)
+              14:     13(ptr) Variable Uniform
+              15:      8(int) Constant 2
+              16:             TypePointer Uniform 8(int)
+              20:      8(int) Constant 4
+              21:             TypePointer Uniform 10(float)
+              25:      8(int) Constant 3
+              26:             TypePointer Uniform 9(ivec4)
+              30:      8(int) Constant 5
+              31:             TypePointer Uniform 11(fvec4)
+              35:      8(int) Constant 0
+              36:             TypePointer Uniform 6(int)
+              39:             TypeBool
+              40:      6(int) Constant 0
+              42:   10(float) Constant 0
+              43:   10(float) Constant 1065353216
+              48:      8(int) Constant 1
+              49:             TypePointer Uniform 7(ivec4)
+              52:             TypeVector 39(bool) 4
+              53:    7(ivec4) ConstantComposite 40 40 40 40
+              55:   11(fvec4) ConstantComposite 42 42 42 42
+              56:   11(fvec4) ConstantComposite 43 43 43 43
+              61:             TypePointer Function 8(int)
+   68(PS_OUTPUT):             TypeStruct 11(fvec4)
+              69:             TypePointer Function 68(PS_OUTPUT)
+              71:             TypePointer Function 11(fvec4)
+              73:             TypePointer Output 11(fvec4)
+       74(Color):     73(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+       62(l_int):     61(ptr) Variable Function
+       70(psout):     69(ptr) Variable Function
+              17:     16(ptr) AccessChain 14 15
+              18:      8(int) Load 17
+              19:   10(float) ConvertSToF 18
+              22:     21(ptr) AccessChain 14 20
+              23:   10(float) Load 22
+              24:   10(float) FMod 19 23
+              27:     26(ptr) AccessChain 14 25
+              28:    9(ivec4) Load 27
+              29:   11(fvec4) ConvertSToF 28
+              32:     31(ptr) AccessChain 14 30
+              33:   11(fvec4) Load 32
+              34:   11(fvec4) FMod 29 33
+              37:     36(ptr) AccessChain 14 35
+              38:      6(int) Load 37
+              41:    39(bool) INotEqual 38 40
+              44:   10(float) Select 41 43 42
+              45:     21(ptr) AccessChain 14 20
+              46:   10(float) Load 45
+              47:   10(float) FMod 44 46
+              50:     49(ptr) AccessChain 14 48
+              51:    7(ivec4) Load 50
+              54:   52(bvec4) INotEqual 51 53
+              57:   11(fvec4) Select 54 56 55
+              58:     31(ptr) AccessChain 14 30
+              59:   11(fvec4) Load 58
+              60:   11(fvec4) FMod 57 59
+                              Store 62(l_int) 48
+              63:     21(ptr) AccessChain 14 20
+              64:   10(float) Load 63
+              65:      8(int) ConvertFToS 64
+              66:      8(int) Load 62(l_int)
+              67:      8(int) SMod 66 65
+                              Store 62(l_int) 67
+              72:     71(ptr) AccessChain 70(psout) 35
+                              Store 72 55
+              75:     71(ptr) AccessChain 70(psout) 35
+              76:   11(fvec4) Load 75
+                              Store 74(Color) 76
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out
new file mode 100644
index 0000000..9179dbc
--- /dev/null
+++ b/Test/baseResults/hlsl.promote.vec1.frag.out
@@ -0,0 +1,118 @@
+hlsl.promote.vec1.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: main( (temp 4-component vector of float)
+0:3    Function Parameters: 
+0:?     Sequence
+0:7      move second child to first child (temp float)
+0:7        'f1a' (temp float)
+0:7        Construct float (temp float)
+0:7          'f1b' (temp 1-component vector of float)
+0:8      move second child to first child (temp 1-component vector of float)
+0:8        'f1b' (temp 1-component vector of float)
+0:8        Construct float (temp 1-component vector of float)
+0:8          'f1a' (temp float)
+0:11      step (temp 3-component vector of float)
+0:11        Constant:
+0:11          0.000000
+0:11          0.000000
+0:11          0.000000
+0:11        'f3' (temp 3-component vector of float)
+0:13      sine (temp float)
+0:13        Construct float (in float)
+0:13          'f1b' (temp 1-component vector of float)
+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)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:3  Function Definition: main( (temp 4-component vector of float)
+0:3    Function Parameters: 
+0:?     Sequence
+0:7      move second child to first child (temp float)
+0:7        'f1a' (temp float)
+0:7        Construct float (temp float)
+0:7          'f1b' (temp 1-component vector of float)
+0:8      move second child to first child (temp 1-component vector of float)
+0:8        'f1b' (temp 1-component vector of float)
+0:8        Construct float (temp 1-component vector of float)
+0:8          'f1a' (temp float)
+0:11      step (temp 3-component vector of float)
+0:11        Constant:
+0:11          0.000000
+0:11          0.000000
+0:11          0.000000
+0:11        'f3' (temp 3-component vector of float)
+0:13      sine (temp float)
+0:13        Construct float (in float)
+0:13          'f1b' (temp 1-component vector of float)
+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)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 26
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 23
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "f1a"
+                              Name 9  "f1b"
+                              Name 16  "f3"
+                              Name 23  "@entryPointOutput"
+                              Decorate 23(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+              12:             TypeVector 6(float) 3
+              13:    6(float) Constant 0
+              14:   12(fvec3) ConstantComposite 13 13 13
+              15:             TypePointer Function 12(fvec3)
+              21:             TypeVector 6(float) 4
+              22:             TypePointer Output 21(fvec4)
+23(@entryPointOutput):     22(ptr) Variable Output
+              24:   21(fvec4) ConstantComposite 13 13 13 13
+         4(main):           2 Function None 3
+               5:             Label
+          8(f1a):      7(ptr) Variable Function
+          9(f1b):      7(ptr) Variable Function
+          16(f3):     15(ptr) Variable Function
+              10:    6(float) Load 9(f1b)
+                              Store 8(f1a) 10
+              11:    6(float) Load 8(f1a)
+                              Store 9(f1b) 11
+              17:   12(fvec3) Load 16(f3)
+              18:   12(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 14 17
+              19:    6(float) Load 9(f1b)
+              20:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 19
+                              Store 23(@entryPointOutput) 24
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index e3df54f..01ced16 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -782,8 +782,8 @@
 0:200                0 (const int)
 0:200        Branch: Return
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
 
 
 Linked fragment stage:
@@ -1572,8 +1572,8 @@
 0:200                0 (const int)
 0:200        Branch: Return
 0:?   Linker Objects
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 3-component vector of int i3, layout(offset=16 ) uniform 3-component vector of bool b3, layout(offset=32 ) uniform 3-component vector of float f3, layout(offset=48 ) uniform 3-component vector of uint u3, layout(offset=64 ) uniform 3-component vector of double d3, layout(offset=88 ) uniform int is, layout(offset=92 ) uniform bool bs, layout(offset=96 ) uniform float fs, layout(offset=100 ) uniform uint us, layout(offset=104 ) uniform double ds})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out
new file mode 100644
index 0000000..123bd4c
--- /dev/null
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -0,0 +1,5261 @@
+hlsl.rw.atomics.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:45  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:45    Function Parameters: 
+0:?     Sequence
+0:50      imageAtomicAdd (temp int)
+0:50        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:50        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:50          Constant:
+0:50            5 (const uint)
+0:50        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:50          Constant:
+0:50            8 (const uint)
+0:51      move second child to first child (temp int)
+0:51        'out_i1' (temp int)
+0:51        imageAtomicAdd (temp int)
+0:51          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:51          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:51            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:51            Constant:
+0:51              5 (const uint)
+0:51          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:51            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:51            Constant:
+0:51              5 (const uint)
+0:52      imageAtomicAnd (temp int)
+0:52        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:52        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:52          Constant:
+0:52            5 (const uint)
+0:52        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:52          Constant:
+0:52            8 (const uint)
+0:53      move second child to first child (temp int)
+0:53        'out_i1' (temp int)
+0:53        imageAtomicAnd (temp int)
+0:53          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:53          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:53            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:53            Constant:
+0:53              5 (const uint)
+0:53          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:53            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:53            Constant:
+0:53              5 (const uint)
+0:54      move second child to first child (temp int)
+0:54        'out_i1' (temp int)
+0:54        imageAtomicCompSwap (temp int)
+0:54          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:54          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:54            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:54            Constant:
+0:54              5 (const uint)
+0:54          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:54            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:54            Constant:
+0:54              8 (const uint)
+0:54          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:54            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:54            Constant:
+0:54              9 (const uint)
+0:55      move second child to first child (temp int)
+0:55        'out_i1' (temp int)
+0:55        imageAtomicExchange (temp int)
+0:55          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:55          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:55            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:55            Constant:
+0:55              5 (const uint)
+0:55          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:55            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:55            Constant:
+0:55              5 (const uint)
+0:56      imageAtomicMax (temp int)
+0:56        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:56        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:56          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:56          Constant:
+0:56            5 (const uint)
+0:56        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:56          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:56          Constant:
+0:56            8 (const uint)
+0:57      move second child to first child (temp int)
+0:57        'out_i1' (temp int)
+0:57        imageAtomicMax (temp int)
+0:57          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:57          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:57            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:57            Constant:
+0:57              5 (const uint)
+0:57          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:57            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:57            Constant:
+0:57              5 (const uint)
+0:58      imageAtomicMin (temp int)
+0:58        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:58        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:58          Constant:
+0:58            5 (const uint)
+0:58        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:58          Constant:
+0:58            8 (const uint)
+0:59      move second child to first child (temp int)
+0:59        'out_i1' (temp int)
+0:59        imageAtomicMin (temp int)
+0:59          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:59          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:59            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:59            Constant:
+0:59              5 (const uint)
+0:59          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:59            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:59            Constant:
+0:59              5 (const uint)
+0:60      imageAtomicOr (temp int)
+0:60        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:60        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:60          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:60          Constant:
+0:60            5 (const uint)
+0:60        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:60          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:60          Constant:
+0:60            8 (const uint)
+0:61      move second child to first child (temp int)
+0:61        'out_i1' (temp int)
+0:61        imageAtomicOr (temp int)
+0:61          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:61          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:61            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:61            Constant:
+0:61              5 (const uint)
+0:61          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:61            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:61            Constant:
+0:61              5 (const uint)
+0:62      imageAtomicXor (temp int)
+0:62        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:62        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:62          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:62          Constant:
+0:62            5 (const uint)
+0:62        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:62          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:62          Constant:
+0:62            8 (const uint)
+0:63      move second child to first child (temp int)
+0:63        'out_i1' (temp int)
+0:63        imageAtomicXor (temp int)
+0:63          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:63          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:63            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:63            Constant:
+0:63              5 (const uint)
+0:63          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:63            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:63            Constant:
+0:63              5 (const uint)
+0:66      imageAtomicAdd (temp uint)
+0:66        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:66        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:66          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:66          Constant:
+0:66            0 (const uint)
+0:66        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:66          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:66          Constant:
+0:66            0 (const uint)
+0:67      move second child to first child (temp uint)
+0:67        'out_u1' (temp uint)
+0:67        imageAtomicAdd (temp uint)
+0:67          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:67          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:67            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:67            Constant:
+0:67              0 (const uint)
+0:67          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:67            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:67            Constant:
+0:67              0 (const uint)
+0:68      imageAtomicAnd (temp uint)
+0:68        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:68        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:68          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:68          Constant:
+0:68            0 (const uint)
+0:68        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:68          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:68          Constant:
+0:68            0 (const uint)
+0:69      move second child to first child (temp uint)
+0:69        'out_u1' (temp uint)
+0:69        imageAtomicAnd (temp uint)
+0:69          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:69          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:69            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:69            Constant:
+0:69              0 (const uint)
+0:69          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:69            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:69            Constant:
+0:69              0 (const uint)
+0:70      move second child to first child (temp uint)
+0:70        'out_u1' (temp uint)
+0:70        imageAtomicCompSwap (temp uint)
+0:70          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:70          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:70            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:70            Constant:
+0:70              0 (const uint)
+0:70          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:70            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:70            Constant:
+0:70              3 (const uint)
+0:70          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:70            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:70            Constant:
+0:70              4 (const uint)
+0:71      move second child to first child (temp uint)
+0:71        'out_u1' (temp uint)
+0:71        imageAtomicExchange (temp uint)
+0:71          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:71          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:71            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:71            Constant:
+0:71              0 (const uint)
+0:71          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:71            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:71            Constant:
+0:71              0 (const uint)
+0:72      imageAtomicMax (temp uint)
+0:72        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:72        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:72          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:72          Constant:
+0:72            0 (const uint)
+0:72        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:72          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:72          Constant:
+0:72            0 (const uint)
+0:73      move second child to first child (temp uint)
+0:73        'out_u1' (temp uint)
+0:73        imageAtomicMax (temp uint)
+0:73          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:73          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:73            Constant:
+0:73              0 (const uint)
+0:73          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:73            Constant:
+0:73              0 (const uint)
+0:74      imageAtomicMin (temp uint)
+0:74        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:74        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:74          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:74          Constant:
+0:74            0 (const uint)
+0:74        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:74          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:74          Constant:
+0:74            0 (const uint)
+0:75      move second child to first child (temp uint)
+0:75        'out_u1' (temp uint)
+0:75        imageAtomicMin (temp uint)
+0:75          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:75          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:75            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:75            Constant:
+0:75              0 (const uint)
+0:75          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:75            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:75            Constant:
+0:75              0 (const uint)
+0:76      imageAtomicOr (temp uint)
+0:76        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:76        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:76          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:76          Constant:
+0:76            0 (const uint)
+0:76        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:76          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:76          Constant:
+0:76            0 (const uint)
+0:77      move second child to first child (temp uint)
+0:77        'out_u1' (temp uint)
+0:77        imageAtomicOr (temp uint)
+0:77          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:77          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:77            Constant:
+0:77              0 (const uint)
+0:77          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:77            Constant:
+0:77              0 (const uint)
+0:78      imageAtomicXor (temp uint)
+0:78        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:78        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:78          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:78          Constant:
+0:78            0 (const uint)
+0:78        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:78          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:78          Constant:
+0:78            0 (const uint)
+0:79      move second child to first child (temp uint)
+0:79        'out_u1' (temp uint)
+0:79        imageAtomicXor (temp uint)
+0:79          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:79          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:79            Constant:
+0:79              0 (const uint)
+0:79          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:79            Constant:
+0:79              0 (const uint)
+0:82      imageAtomicAdd (temp int)
+0:82        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:82        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:82          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:82          Constant:
+0:82            6 (const uint)
+0:82        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:82          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:82          Constant:
+0:82            8 (const uint)
+0:83      move second child to first child (temp int)
+0:83        'out_i1' (temp int)
+0:83        imageAtomicAdd (temp int)
+0:83          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:83          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:83            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:83            Constant:
+0:83              6 (const uint)
+0:83          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:83            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:83            Constant:
+0:83              5 (const uint)
+0:84      imageAtomicAnd (temp int)
+0:84        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:84        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:84          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:84          Constant:
+0:84            6 (const uint)
+0:84        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:84          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:84          Constant:
+0:84            8 (const uint)
+0:85      move second child to first child (temp int)
+0:85        'out_i1' (temp int)
+0:85        imageAtomicAnd (temp int)
+0:85          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:85          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:85            Constant:
+0:85              6 (const uint)
+0:85          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:85            Constant:
+0:85              5 (const uint)
+0:86      move second child to first child (temp int)
+0:86        'out_i1' (temp int)
+0:86        imageAtomicCompSwap (temp int)
+0:86          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:86          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:86            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:86            Constant:
+0:86              6 (const uint)
+0:86          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:86            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:86            Constant:
+0:86              8 (const uint)
+0:86          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:86            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:86            Constant:
+0:86              9 (const uint)
+0:87      move second child to first child (temp int)
+0:87        'out_i1' (temp int)
+0:87        imageAtomicExchange (temp int)
+0:87          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:87          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:87            Constant:
+0:87              6 (const uint)
+0:87          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:87            Constant:
+0:87              5 (const uint)
+0:88      imageAtomicMax (temp int)
+0:88        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:88        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:88          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:88          Constant:
+0:88            6 (const uint)
+0:88        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:88          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:88          Constant:
+0:88            8 (const uint)
+0:89      move second child to first child (temp int)
+0:89        'out_i1' (temp int)
+0:89        imageAtomicMax (temp int)
+0:89          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:89          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:89            Constant:
+0:89              6 (const uint)
+0:89          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:89            Constant:
+0:89              5 (const uint)
+0:90      imageAtomicMin (temp int)
+0:90        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:90        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:90          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:90          Constant:
+0:90            6 (const uint)
+0:90        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:90          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:90          Constant:
+0:90            8 (const uint)
+0:91      move second child to first child (temp int)
+0:91        'out_i1' (temp int)
+0:91        imageAtomicMin (temp int)
+0:91          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:91          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:91            Constant:
+0:91              6 (const uint)
+0:91          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:91            Constant:
+0:91              5 (const uint)
+0:92      imageAtomicOr (temp int)
+0:92        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:92        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:92          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:92          Constant:
+0:92            6 (const uint)
+0:92        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:92          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:92          Constant:
+0:92            8 (const uint)
+0:93      move second child to first child (temp int)
+0:93        'out_i1' (temp int)
+0:93        imageAtomicOr (temp int)
+0:93          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:93          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:93            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:93            Constant:
+0:93              6 (const uint)
+0:93          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:93            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:93            Constant:
+0:93              5 (const uint)
+0:94      imageAtomicXor (temp int)
+0:94        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:94        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:94          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:94          Constant:
+0:94            6 (const uint)
+0:94        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:94          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:94          Constant:
+0:94            8 (const uint)
+0:95      move second child to first child (temp int)
+0:95        'out_i1' (temp int)
+0:95        imageAtomicXor (temp int)
+0:95          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:95          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:95            Constant:
+0:95              6 (const uint)
+0:95          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:95            Constant:
+0:95              5 (const uint)
+0:98      imageAtomicAdd (temp uint)
+0:98        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:98        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:98          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:98          Constant:
+0:98            1 (const uint)
+0:98        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:98          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:98          Constant:
+0:98            0 (const uint)
+0:99      move second child to first child (temp uint)
+0:99        'out_u1' (temp uint)
+0:99        imageAtomicAdd (temp uint)
+0:99          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:99          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:99            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:99            Constant:
+0:99              1 (const uint)
+0:99          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:99            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:99            Constant:
+0:99              0 (const uint)
+0:100      imageAtomicAnd (temp uint)
+0:100        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:100        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:100          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:100          Constant:
+0:100            1 (const uint)
+0:100        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:100          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:100          Constant:
+0:100            0 (const uint)
+0:101      move second child to first child (temp uint)
+0:101        'out_u1' (temp uint)
+0:101        imageAtomicAnd (temp uint)
+0:101          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:101          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:101            Constant:
+0:101              1 (const uint)
+0:101          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:101            Constant:
+0:101              0 (const uint)
+0:102      move second child to first child (temp uint)
+0:102        'out_u1' (temp uint)
+0:102        imageAtomicCompSwap (temp uint)
+0:102          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:102          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:102            Constant:
+0:102              1 (const uint)
+0:102          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:102            Constant:
+0:102              3 (const uint)
+0:102          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:102            Constant:
+0:102              4 (const uint)
+0:103      move second child to first child (temp uint)
+0:103        'out_u1' (temp uint)
+0:103        imageAtomicExchange (temp uint)
+0:103          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:103          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:103            Constant:
+0:103              1 (const uint)
+0:103          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:103            Constant:
+0:103              0 (const uint)
+0:104      imageAtomicMax (temp uint)
+0:104        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:104        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:104          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:104          Constant:
+0:104            1 (const uint)
+0:104        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:104          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:104          Constant:
+0:104            0 (const uint)
+0:105      move second child to first child (temp uint)
+0:105        'out_u1' (temp uint)
+0:105        imageAtomicMax (temp uint)
+0:105          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:105          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:105            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:105            Constant:
+0:105              1 (const uint)
+0:105          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:105            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:105            Constant:
+0:105              0 (const uint)
+0:106      imageAtomicMin (temp uint)
+0:106        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:106        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:106          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:106          Constant:
+0:106            1 (const uint)
+0:106        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:106          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:106          Constant:
+0:106            0 (const uint)
+0:107      move second child to first child (temp uint)
+0:107        'out_u1' (temp uint)
+0:107        imageAtomicMin (temp uint)
+0:107          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:107          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:107            Constant:
+0:107              1 (const uint)
+0:107          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:107            Constant:
+0:107              0 (const uint)
+0:108      imageAtomicOr (temp uint)
+0:108        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:108        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:108          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:108          Constant:
+0:108            1 (const uint)
+0:108        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:108          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:108          Constant:
+0:108            0 (const uint)
+0:109      move second child to first child (temp uint)
+0:109        'out_u1' (temp uint)
+0:109        imageAtomicOr (temp uint)
+0:109          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:109          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:109            Constant:
+0:109              1 (const uint)
+0:109          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:109            Constant:
+0:109              0 (const uint)
+0:110      imageAtomicXor (temp uint)
+0:110        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:110        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:110          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:110          Constant:
+0:110            1 (const uint)
+0:110        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:110          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:110          Constant:
+0:110            0 (const uint)
+0:111      move second child to first child (temp uint)
+0:111        'out_u1' (temp uint)
+0:111        imageAtomicXor (temp uint)
+0:111          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:111          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:111            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:111            Constant:
+0:111              1 (const uint)
+0:111          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:111            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:111            Constant:
+0:111              0 (const uint)
+0:114      imageAtomicAdd (temp int)
+0:114        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:114        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:114          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:114          Constant:
+0:114            7 (const uint)
+0:114        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:114          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:114          Constant:
+0:114            8 (const uint)
+0:115      move second child to first child (temp int)
+0:115        'out_i1' (temp int)
+0:115        imageAtomicAdd (temp int)
+0:115          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:115          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:115            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:115            Constant:
+0:115              7 (const uint)
+0:115          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:115            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:115            Constant:
+0:115              5 (const uint)
+0:116      imageAtomicAnd (temp int)
+0:116        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:116        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:116          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:116          Constant:
+0:116            7 (const uint)
+0:116        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:116          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:116          Constant:
+0:116            8 (const uint)
+0:117      move second child to first child (temp int)
+0:117        'out_i1' (temp int)
+0:117        imageAtomicAnd (temp int)
+0:117          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:117          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:117            Constant:
+0:117              7 (const uint)
+0:117          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:117            Constant:
+0:117              5 (const uint)
+0:118      move second child to first child (temp int)
+0:118        'out_i1' (temp int)
+0:118        imageAtomicCompSwap (temp int)
+0:118          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:118          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:118            Constant:
+0:118              7 (const uint)
+0:118          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:118            Constant:
+0:118              8 (const uint)
+0:118          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:118            Constant:
+0:118              9 (const uint)
+0:119      move second child to first child (temp int)
+0:119        'out_i1' (temp int)
+0:119        imageAtomicExchange (temp int)
+0:119          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:119          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:119            Constant:
+0:119              7 (const uint)
+0:119          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:119            Constant:
+0:119              5 (const uint)
+0:120      imageAtomicMax (temp int)
+0:120        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:120        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:120          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:120          Constant:
+0:120            7 (const uint)
+0:120        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:120          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:120          Constant:
+0:120            8 (const uint)
+0:121      move second child to first child (temp int)
+0:121        'out_i1' (temp int)
+0:121        imageAtomicMax (temp int)
+0:121          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:121          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:121            Constant:
+0:121              7 (const uint)
+0:121          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:121            Constant:
+0:121              5 (const uint)
+0:122      imageAtomicMin (temp int)
+0:122        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:122        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:122          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:122          Constant:
+0:122            7 (const uint)
+0:122        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:122          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:122          Constant:
+0:122            8 (const uint)
+0:123      move second child to first child (temp int)
+0:123        'out_i1' (temp int)
+0:123        imageAtomicMin (temp int)
+0:123          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:123          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:123            Constant:
+0:123              7 (const uint)
+0:123          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:123            Constant:
+0:123              5 (const uint)
+0:124      imageAtomicOr (temp int)
+0:124        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:124        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:124          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:124          Constant:
+0:124            7 (const uint)
+0:124        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:124          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:124          Constant:
+0:124            8 (const uint)
+0:125      move second child to first child (temp int)
+0:125        'out_i1' (temp int)
+0:125        imageAtomicOr (temp int)
+0:125          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:125          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:125            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:125            Constant:
+0:125              7 (const uint)
+0:125          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:125            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:125            Constant:
+0:125              5 (const uint)
+0:126      imageAtomicXor (temp int)
+0:126        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:126        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:126          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:126          Constant:
+0:126            7 (const uint)
+0:126        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:126          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:126          Constant:
+0:126            8 (const uint)
+0:127      move second child to first child (temp int)
+0:127        'out_i1' (temp int)
+0:127        imageAtomicXor (temp int)
+0:127          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:127          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:127            Constant:
+0:127              7 (const uint)
+0:127          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:127            Constant:
+0:127              5 (const uint)
+0:130      imageAtomicAdd (temp uint)
+0:130        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:130        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:130          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:130          Constant:
+0:130            2 (const uint)
+0:130        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:130          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:130          Constant:
+0:130            0 (const uint)
+0:131      move second child to first child (temp uint)
+0:131        'out_u1' (temp uint)
+0:131        imageAtomicAdd (temp uint)
+0:131          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:131          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:131            Constant:
+0:131              2 (const uint)
+0:131          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:131            Constant:
+0:131              0 (const uint)
+0:132      imageAtomicAnd (temp uint)
+0:132        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:132        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:132          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:132          Constant:
+0:132            2 (const uint)
+0:132        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:132          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:132          Constant:
+0:132            0 (const uint)
+0:133      move second child to first child (temp uint)
+0:133        'out_u1' (temp uint)
+0:133        imageAtomicAnd (temp uint)
+0:133          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:133          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:133            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:133            Constant:
+0:133              2 (const uint)
+0:133          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:133            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:133            Constant:
+0:133              0 (const uint)
+0:134      move second child to first child (temp uint)
+0:134        'out_u1' (temp uint)
+0:134        imageAtomicCompSwap (temp uint)
+0:134          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:134          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:134            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:134            Constant:
+0:134              2 (const uint)
+0:134          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:134            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:134            Constant:
+0:134              3 (const uint)
+0:134          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:134            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:134            Constant:
+0:134              4 (const uint)
+0:135      move second child to first child (temp uint)
+0:135        'out_u1' (temp uint)
+0:135        imageAtomicExchange (temp uint)
+0:135          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:135          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:135            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:135            Constant:
+0:135              2 (const uint)
+0:135          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:135            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:135            Constant:
+0:135              0 (const uint)
+0:136      imageAtomicMax (temp uint)
+0:136        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:136        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:136          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:136          Constant:
+0:136            2 (const uint)
+0:136        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:136          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:136          Constant:
+0:136            0 (const uint)
+0:137      move second child to first child (temp uint)
+0:137        'out_u1' (temp uint)
+0:137        imageAtomicMax (temp uint)
+0:137          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:137          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:137            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:137            Constant:
+0:137              2 (const uint)
+0:137          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:137            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:137            Constant:
+0:137              0 (const uint)
+0:138      imageAtomicMin (temp uint)
+0:138        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:138        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:138          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:138          Constant:
+0:138            2 (const uint)
+0:138        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:138          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:138          Constant:
+0:138            0 (const uint)
+0:139      move second child to first child (temp uint)
+0:139        'out_u1' (temp uint)
+0:139        imageAtomicMin (temp uint)
+0:139          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:139          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:139            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:139            Constant:
+0:139              2 (const uint)
+0:139          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:139            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:139            Constant:
+0:139              0 (const uint)
+0:140      imageAtomicOr (temp uint)
+0:140        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:140        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:140          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:140          Constant:
+0:140            2 (const uint)
+0:140        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:140          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:140          Constant:
+0:140            0 (const uint)
+0:141      move second child to first child (temp uint)
+0:141        'out_u1' (temp uint)
+0:141        imageAtomicOr (temp uint)
+0:141          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:141          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:141            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:141            Constant:
+0:141              2 (const uint)
+0:141          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:141            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:141            Constant:
+0:141              0 (const uint)
+0:142      imageAtomicXor (temp uint)
+0:142        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:142        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:142          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:142          Constant:
+0:142            2 (const uint)
+0:142        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:142          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:142          Constant:
+0:142            0 (const uint)
+0:143      move second child to first child (temp uint)
+0:143        'out_u1' (temp uint)
+0:143        imageAtomicXor (temp uint)
+0:143          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:143          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:143            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:143            Constant:
+0:143              2 (const uint)
+0:143          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:143            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:143            Constant:
+0:143              0 (const uint)
+0:146      imageAtomicAdd (temp int)
+0:146        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:146        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:146          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:146          Constant:
+0:146            6 (const uint)
+0:146        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:146          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:146          Constant:
+0:146            8 (const uint)
+0:147      move second child to first child (temp int)
+0:147        'out_i1' (temp int)
+0:147        imageAtomicAdd (temp int)
+0:147          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:147          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:147            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:147            Constant:
+0:147              6 (const uint)
+0:147          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:147            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:147            Constant:
+0:147              5 (const uint)
+0:148      imageAtomicAnd (temp int)
+0:148        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:148        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:148          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:148          Constant:
+0:148            6 (const uint)
+0:148        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:148          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:148          Constant:
+0:148            8 (const uint)
+0:149      move second child to first child (temp int)
+0:149        'out_i1' (temp int)
+0:149        imageAtomicAnd (temp int)
+0:149          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:149          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:149            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:149            Constant:
+0:149              6 (const uint)
+0:149          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:149            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:149            Constant:
+0:149              5 (const uint)
+0:150      move second child to first child (temp int)
+0:150        'out_i1' (temp int)
+0:150        imageAtomicCompSwap (temp int)
+0:150          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:150          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:150            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:150            Constant:
+0:150              6 (const uint)
+0:150          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:150            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:150            Constant:
+0:150              8 (const uint)
+0:150          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:150            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:150            Constant:
+0:150              9 (const uint)
+0:151      move second child to first child (temp int)
+0:151        'out_i1' (temp int)
+0:151        imageAtomicExchange (temp int)
+0:151          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:151          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:151            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:151            Constant:
+0:151              6 (const uint)
+0:151          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:151            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:151            Constant:
+0:151              5 (const uint)
+0:152      imageAtomicMax (temp int)
+0:152        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:152        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:152          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:152          Constant:
+0:152            6 (const uint)
+0:152        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:152          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:152          Constant:
+0:152            8 (const uint)
+0:153      move second child to first child (temp int)
+0:153        'out_i1' (temp int)
+0:153        imageAtomicMax (temp int)
+0:153          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:153          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:153            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:153            Constant:
+0:153              6 (const uint)
+0:153          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:153            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:153            Constant:
+0:153              5 (const uint)
+0:154      imageAtomicMin (temp int)
+0:154        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:154        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:154          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:154          Constant:
+0:154            6 (const uint)
+0:154        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:154          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:154          Constant:
+0:154            8 (const uint)
+0:155      move second child to first child (temp int)
+0:155        'out_i1' (temp int)
+0:155        imageAtomicMin (temp int)
+0:155          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:155          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:155            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:155            Constant:
+0:155              6 (const uint)
+0:155          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:155            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:155            Constant:
+0:155              5 (const uint)
+0:156      imageAtomicOr (temp int)
+0:156        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:156        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:156          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:156          Constant:
+0:156            6 (const uint)
+0:156        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:156          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:156          Constant:
+0:156            8 (const uint)
+0:157      move second child to first child (temp int)
+0:157        'out_i1' (temp int)
+0:157        imageAtomicOr (temp int)
+0:157          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:157          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:157            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:157            Constant:
+0:157              6 (const uint)
+0:157          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:157            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:157            Constant:
+0:157              5 (const uint)
+0:158      imageAtomicXor (temp int)
+0:158        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:158        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:158          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:158          Constant:
+0:158            6 (const uint)
+0:158        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:158          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:158          Constant:
+0:158            8 (const uint)
+0:159      move second child to first child (temp int)
+0:159        'out_i1' (temp int)
+0:159        imageAtomicXor (temp int)
+0:159          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:159          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:159            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:159            Constant:
+0:159              6 (const uint)
+0:159          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:159            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:159            Constant:
+0:159              5 (const uint)
+0:162      imageAtomicAdd (temp uint)
+0:162        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:162        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:162          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:162          Constant:
+0:162            1 (const uint)
+0:162        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:162          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:162          Constant:
+0:162            0 (const uint)
+0:163      move second child to first child (temp uint)
+0:163        'out_u1' (temp uint)
+0:163        imageAtomicAdd (temp uint)
+0:163          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:163          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:163            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:163            Constant:
+0:163              1 (const uint)
+0:163          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:163            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:163            Constant:
+0:163              0 (const uint)
+0:164      imageAtomicAnd (temp uint)
+0:164        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:164        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:164          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:164          Constant:
+0:164            1 (const uint)
+0:164        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:164          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:164          Constant:
+0:164            0 (const uint)
+0:165      move second child to first child (temp uint)
+0:165        'out_u1' (temp uint)
+0:165        imageAtomicAnd (temp uint)
+0:165          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:165          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:165            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:165            Constant:
+0:165              1 (const uint)
+0:165          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:165            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:165            Constant:
+0:165              0 (const uint)
+0:166      move second child to first child (temp uint)
+0:166        'out_u1' (temp uint)
+0:166        imageAtomicCompSwap (temp uint)
+0:166          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:166          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:166            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:166            Constant:
+0:166              1 (const uint)
+0:166          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:166            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:166            Constant:
+0:166              3 (const uint)
+0:166          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:166            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:166            Constant:
+0:166              4 (const uint)
+0:167      move second child to first child (temp uint)
+0:167        'out_u1' (temp uint)
+0:167        imageAtomicExchange (temp uint)
+0:167          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:167          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:167            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:167            Constant:
+0:167              1 (const uint)
+0:167          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:167            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:167            Constant:
+0:167              0 (const uint)
+0:168      imageAtomicMax (temp uint)
+0:168        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:168        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:168          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:168          Constant:
+0:168            1 (const uint)
+0:168        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:168          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:168          Constant:
+0:168            0 (const uint)
+0:169      move second child to first child (temp uint)
+0:169        'out_u1' (temp uint)
+0:169        imageAtomicMax (temp uint)
+0:169          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:169          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:169            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:169            Constant:
+0:169              1 (const uint)
+0:169          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:169            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:169            Constant:
+0:169              0 (const uint)
+0:170      imageAtomicMin (temp uint)
+0:170        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:170        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:170          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:170          Constant:
+0:170            1 (const uint)
+0:170        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:170          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:170          Constant:
+0:170            0 (const uint)
+0:171      move second child to first child (temp uint)
+0:171        'out_u1' (temp uint)
+0:171        imageAtomicMin (temp uint)
+0:171          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:171          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:171            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:171            Constant:
+0:171              1 (const uint)
+0:171          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:171            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:171            Constant:
+0:171              0 (const uint)
+0:172      imageAtomicOr (temp uint)
+0:172        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:172        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:172          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:172          Constant:
+0:172            1 (const uint)
+0:172        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:172          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:172          Constant:
+0:172            0 (const uint)
+0:173      move second child to first child (temp uint)
+0:173        'out_u1' (temp uint)
+0:173        imageAtomicOr (temp uint)
+0:173          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:173          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:173            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:173            Constant:
+0:173              1 (const uint)
+0:173          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:173            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:173            Constant:
+0:173              0 (const uint)
+0:174      imageAtomicXor (temp uint)
+0:174        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:174        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:174          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:174          Constant:
+0:174            1 (const uint)
+0:174        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:174          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:174          Constant:
+0:174            0 (const uint)
+0:175      move second child to first child (temp uint)
+0:175        'out_u1' (temp uint)
+0:175        imageAtomicXor (temp uint)
+0:175          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:175          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:175            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:175            Constant:
+0:175              1 (const uint)
+0:175          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:175            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:175            Constant:
+0:175              0 (const uint)
+0:178      imageAtomicAdd (temp int)
+0:178        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:178        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:178          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:178          Constant:
+0:178            6 (const uint)
+0:178        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:178          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:178          Constant:
+0:178            8 (const uint)
+0:179      move second child to first child (temp int)
+0:179        'out_i1' (temp int)
+0:179        imageAtomicAdd (temp int)
+0:179          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:179          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:179            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:179            Constant:
+0:179              6 (const uint)
+0:179          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:179            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:179            Constant:
+0:179              5 (const uint)
+0:180      imageAtomicAnd (temp int)
+0:180        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:180        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:180          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:180          Constant:
+0:180            6 (const uint)
+0:180        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:180          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:180          Constant:
+0:180            8 (const uint)
+0:181      move second child to first child (temp int)
+0:181        'out_i1' (temp int)
+0:181        imageAtomicAnd (temp int)
+0:181          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:181          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:181            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:181            Constant:
+0:181              6 (const uint)
+0:181          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:181            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:181            Constant:
+0:181              5 (const uint)
+0:182      move second child to first child (temp int)
+0:182        'out_i1' (temp int)
+0:182        imageAtomicCompSwap (temp int)
+0:182          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:182          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:182            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:182            Constant:
+0:182              6 (const uint)
+0:182          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:182            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:182            Constant:
+0:182              8 (const uint)
+0:182          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:182            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:182            Constant:
+0:182              9 (const uint)
+0:183      move second child to first child (temp int)
+0:183        'out_i1' (temp int)
+0:183        imageAtomicExchange (temp int)
+0:183          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:183          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:183            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:183            Constant:
+0:183              6 (const uint)
+0:183          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:183            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:183            Constant:
+0:183              5 (const uint)
+0:184      imageAtomicMax (temp int)
+0:184        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:184        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:184          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:184          Constant:
+0:184            6 (const uint)
+0:184        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:184          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:184          Constant:
+0:184            8 (const uint)
+0:185      move second child to first child (temp int)
+0:185        'out_i1' (temp int)
+0:185        imageAtomicMax (temp int)
+0:185          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:185          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:185            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:185            Constant:
+0:185              6 (const uint)
+0:185          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:185            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:185            Constant:
+0:185              5 (const uint)
+0:186      imageAtomicMin (temp int)
+0:186        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:186        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:186          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:186          Constant:
+0:186            6 (const uint)
+0:186        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:186          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:186          Constant:
+0:186            8 (const uint)
+0:187      move second child to first child (temp int)
+0:187        'out_i1' (temp int)
+0:187        imageAtomicMin (temp int)
+0:187          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:187          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:187            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:187            Constant:
+0:187              6 (const uint)
+0:187          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:187            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:187            Constant:
+0:187              5 (const uint)
+0:188      imageAtomicOr (temp int)
+0:188        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:188        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:188          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:188          Constant:
+0:188            6 (const uint)
+0:188        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:188          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:188          Constant:
+0:188            8 (const uint)
+0:189      move second child to first child (temp int)
+0:189        'out_i1' (temp int)
+0:189        imageAtomicOr (temp int)
+0:189          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:189          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:189            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:189            Constant:
+0:189              6 (const uint)
+0:189          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:189            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:189            Constant:
+0:189              5 (const uint)
+0:190      imageAtomicXor (temp int)
+0:190        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:190        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:190          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:190          Constant:
+0:190            6 (const uint)
+0:190        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:190          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:190          Constant:
+0:190            8 (const uint)
+0:191      move second child to first child (temp int)
+0:191        'out_i1' (temp int)
+0:191        imageAtomicXor (temp int)
+0:191          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:191          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:191            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:191            Constant:
+0:191              6 (const uint)
+0:191          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:191            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:191            Constant:
+0:191              5 (const uint)
+0:194      imageAtomicAdd (temp uint)
+0:194        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:194        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:194          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:194          Constant:
+0:194            1 (const uint)
+0:194        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:194          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:194          Constant:
+0:194            0 (const uint)
+0:195      move second child to first child (temp uint)
+0:195        'out_u1' (temp uint)
+0:195        imageAtomicAdd (temp uint)
+0:195          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:195          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:195            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:195            Constant:
+0:195              1 (const uint)
+0:195          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:195            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:195            Constant:
+0:195              0 (const uint)
+0:196      imageAtomicAnd (temp uint)
+0:196        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:196        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:196          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:196          Constant:
+0:196            1 (const uint)
+0:196        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:196          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:196          Constant:
+0:196            0 (const uint)
+0:197      move second child to first child (temp uint)
+0:197        'out_u1' (temp uint)
+0:197        imageAtomicAnd (temp uint)
+0:197          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:197          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:197            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:197            Constant:
+0:197              1 (const uint)
+0:197          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:197            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:197            Constant:
+0:197              0 (const uint)
+0:198      move second child to first child (temp uint)
+0:198        'out_u1' (temp uint)
+0:198        imageAtomicCompSwap (temp uint)
+0:198          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:198          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:198            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:198            Constant:
+0:198              1 (const uint)
+0:198          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:198            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:198            Constant:
+0:198              3 (const uint)
+0:198          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:198            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:198            Constant:
+0:198              4 (const uint)
+0:199      move second child to first child (temp uint)
+0:199        'out_u1' (temp uint)
+0:199        imageAtomicExchange (temp uint)
+0:199          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:199          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:199            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:199            Constant:
+0:199              1 (const uint)
+0:199          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:199            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:199            Constant:
+0:199              0 (const uint)
+0:200      imageAtomicMax (temp uint)
+0:200        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:200        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:200          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:200          Constant:
+0:200            1 (const uint)
+0:200        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:200          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:200          Constant:
+0:200            0 (const uint)
+0:201      move second child to first child (temp uint)
+0:201        'out_u1' (temp uint)
+0:201        imageAtomicMax (temp uint)
+0:201          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:201          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:201            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:201            Constant:
+0:201              1 (const uint)
+0:201          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:201            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:201            Constant:
+0:201              0 (const uint)
+0:202      imageAtomicMin (temp uint)
+0:202        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:202        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:202          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:202          Constant:
+0:202            1 (const uint)
+0:202        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:202          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:202          Constant:
+0:202            0 (const uint)
+0:203      move second child to first child (temp uint)
+0:203        'out_u1' (temp uint)
+0:203        imageAtomicMin (temp uint)
+0:203          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:203          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:203            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:203            Constant:
+0:203              1 (const uint)
+0:203          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:203            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:203            Constant:
+0:203              0 (const uint)
+0:204      imageAtomicOr (temp uint)
+0:204        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:204        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:204          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:204          Constant:
+0:204            1 (const uint)
+0:204        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:204          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:204          Constant:
+0:204            0 (const uint)
+0:205      move second child to first child (temp uint)
+0:205        'out_u1' (temp uint)
+0:205        imageAtomicOr (temp uint)
+0:205          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:205          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:205            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:205            Constant:
+0:205              1 (const uint)
+0:205          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:205            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:205            Constant:
+0:205              0 (const uint)
+0:206      imageAtomicXor (temp uint)
+0:206        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:206        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:206          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:206          Constant:
+0:206            1 (const uint)
+0:206        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:206          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:206          Constant:
+0:206            0 (const uint)
+0:207      move second child to first child (temp uint)
+0:207        'out_u1' (temp uint)
+0:207        imageAtomicXor (temp uint)
+0:207          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:207          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:207            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:207            Constant:
+0:207              1 (const uint)
+0:207          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:207            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:207            Constant:
+0:207              0 (const uint)
+0:210      imageAtomicAdd (temp int)
+0:210        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:210        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:210          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:210          Constant:
+0:210            5 (const uint)
+0:210        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:210          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:210          Constant:
+0:210            8 (const uint)
+0:211      move second child to first child (temp int)
+0:211        'out_i1' (temp int)
+0:211        imageAtomicAdd (temp int)
+0:211          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:211          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:211            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:211            Constant:
+0:211              5 (const uint)
+0:211          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:211            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:211            Constant:
+0:211              5 (const uint)
+0:212      imageAtomicAnd (temp int)
+0:212        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:212        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:212          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:212          Constant:
+0:212            5 (const uint)
+0:212        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:212          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:212          Constant:
+0:212            8 (const uint)
+0:213      move second child to first child (temp int)
+0:213        'out_i1' (temp int)
+0:213        imageAtomicAnd (temp int)
+0:213          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:213          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:213            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:213            Constant:
+0:213              5 (const uint)
+0:213          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:213            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:213            Constant:
+0:213              5 (const uint)
+0:214      move second child to first child (temp int)
+0:214        'out_i1' (temp int)
+0:214        imageAtomicCompSwap (temp int)
+0:214          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:214          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:214            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:214            Constant:
+0:214              5 (const uint)
+0:214          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:214            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:214            Constant:
+0:214              8 (const uint)
+0:214          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:214            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:214            Constant:
+0:214              9 (const uint)
+0:215      move second child to first child (temp int)
+0:215        'out_i1' (temp int)
+0:215        imageAtomicExchange (temp int)
+0:215          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:215          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:215            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:215            Constant:
+0:215              5 (const uint)
+0:215          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:215            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:215            Constant:
+0:215              5 (const uint)
+0:216      imageAtomicMax (temp int)
+0:216        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:216        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:216          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:216          Constant:
+0:216            5 (const uint)
+0:216        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:216          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:216          Constant:
+0:216            8 (const uint)
+0:217      move second child to first child (temp int)
+0:217        'out_i1' (temp int)
+0:217        imageAtomicMax (temp int)
+0:217          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:217          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:217            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:217            Constant:
+0:217              5 (const uint)
+0:217          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:217            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:217            Constant:
+0:217              5 (const uint)
+0:218      imageAtomicMin (temp int)
+0:218        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:218        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:218          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:218          Constant:
+0:218            5 (const uint)
+0:218        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:218          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:218          Constant:
+0:218            8 (const uint)
+0:219      move second child to first child (temp int)
+0:219        'out_i1' (temp int)
+0:219        imageAtomicMin (temp int)
+0:219          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:219          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:219            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:219            Constant:
+0:219              5 (const uint)
+0:219          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:219            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:219            Constant:
+0:219              5 (const uint)
+0:220      imageAtomicOr (temp int)
+0:220        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:220        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:220          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:220          Constant:
+0:220            5 (const uint)
+0:220        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:220          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:220          Constant:
+0:220            8 (const uint)
+0:221      move second child to first child (temp int)
+0:221        'out_i1' (temp int)
+0:221        imageAtomicOr (temp int)
+0:221          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:221          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:221            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:221            Constant:
+0:221              5 (const uint)
+0:221          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:221            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:221            Constant:
+0:221              5 (const uint)
+0:222      imageAtomicXor (temp int)
+0:222        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:222        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:222          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:222          Constant:
+0:222            5 (const uint)
+0:222        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:222          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:222          Constant:
+0:222            8 (const uint)
+0:223      move second child to first child (temp int)
+0:223        'out_i1' (temp int)
+0:223        imageAtomicXor (temp int)
+0:223          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:223          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:223            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:223            Constant:
+0:223              5 (const uint)
+0:223          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:223            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:223            Constant:
+0:223              5 (const uint)
+0:226      imageAtomicAdd (temp uint)
+0:226        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:226        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:226          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:226          Constant:
+0:226            0 (const uint)
+0:226        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:226          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:226          Constant:
+0:226            0 (const uint)
+0:227      move second child to first child (temp uint)
+0:227        'out_u1' (temp uint)
+0:227        imageAtomicAdd (temp uint)
+0:227          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:227          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:227            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:227            Constant:
+0:227              0 (const uint)
+0:227          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:227            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:227            Constant:
+0:227              0 (const uint)
+0:228      imageAtomicAnd (temp uint)
+0:228        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:228        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:228          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:228          Constant:
+0:228            0 (const uint)
+0:228        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:228          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:228          Constant:
+0:228            0 (const uint)
+0:229      move second child to first child (temp uint)
+0:229        'out_u1' (temp uint)
+0:229        imageAtomicAnd (temp uint)
+0:229          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:229          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:229            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:229            Constant:
+0:229              0 (const uint)
+0:229          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:229            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:229            Constant:
+0:229              0 (const uint)
+0:230      move second child to first child (temp uint)
+0:230        'out_u1' (temp uint)
+0:230        imageAtomicCompSwap (temp uint)
+0:230          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:230          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:230            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:230            Constant:
+0:230              0 (const uint)
+0:230          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:230            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:230            Constant:
+0:230              3 (const uint)
+0:230          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:230            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:230            Constant:
+0:230              4 (const uint)
+0:231      move second child to first child (temp uint)
+0:231        'out_u1' (temp uint)
+0:231        imageAtomicExchange (temp uint)
+0:231          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:231          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:231            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:231            Constant:
+0:231              0 (const uint)
+0:231          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:231            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:231            Constant:
+0:231              0 (const uint)
+0:232      imageAtomicMax (temp uint)
+0:232        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:232        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:232          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:232          Constant:
+0:232            0 (const uint)
+0:232        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:232          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:232          Constant:
+0:232            0 (const uint)
+0:233      move second child to first child (temp uint)
+0:233        'out_u1' (temp uint)
+0:233        imageAtomicMax (temp uint)
+0:233          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:233          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:233            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:233            Constant:
+0:233              0 (const uint)
+0:233          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:233            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:233            Constant:
+0:233              0 (const uint)
+0:234      imageAtomicMin (temp uint)
+0:234        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:234        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:234          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:234          Constant:
+0:234            0 (const uint)
+0:234        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:234          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:234          Constant:
+0:234            0 (const uint)
+0:235      move second child to first child (temp uint)
+0:235        'out_u1' (temp uint)
+0:235        imageAtomicMin (temp uint)
+0:235          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:235          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:235            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:235            Constant:
+0:235              0 (const uint)
+0:235          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:235            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:235            Constant:
+0:235              0 (const uint)
+0:236      imageAtomicOr (temp uint)
+0:236        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:236        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:236          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:236          Constant:
+0:236            0 (const uint)
+0:236        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:236          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:236          Constant:
+0:236            0 (const uint)
+0:237      move second child to first child (temp uint)
+0:237        'out_u1' (temp uint)
+0:237        imageAtomicOr (temp uint)
+0:237          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:237          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:237            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:237            Constant:
+0:237              0 (const uint)
+0:237          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:237            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:237            Constant:
+0:237              0 (const uint)
+0:238      imageAtomicXor (temp uint)
+0:238        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:238        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:238          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:238          Constant:
+0:238            0 (const uint)
+0:238        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:238          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:238          Constant:
+0:238            0 (const uint)
+0:239      move second child to first child (temp uint)
+0:239        'out_u1' (temp uint)
+0:239        imageAtomicXor (temp uint)
+0:239          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:239          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:239            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:239            Constant:
+0:239              0 (const uint)
+0:239          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:239            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:239            Constant:
+0:239              0 (const uint)
+0:242      move second child to first child (temp 4-component vector of float)
+0:242        Color: direct index for structure (temp 4-component vector of float)
+0:242          'psout' (temp structure{temp 4-component vector of float Color})
+0:242          Constant:
+0:242            0 (const int)
+0:242        Constant:
+0:242          1.000000
+0:242          1.000000
+0:242          1.000000
+0:242          1.000000
+0:243      Sequence
+0:243        Sequence
+0:243          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:243            Color: direct index for structure (temp 4-component vector of float)
+0:243              'psout' (temp structure{temp 4-component vector of float Color})
+0:243              Constant:
+0:243                0 (const int)
+0:243        Branch: Return
+0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_sSamp' (uniform sampler)
+0:?     'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:?     'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:?     'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:?     'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:?     'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:?     'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:?     'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:?     'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:?     'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:?     'g_tTex1df1a' (layout(r32f ) uniform image1DArray)
+0:?     'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:?     'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:?     'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
+0:?     'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
+0:?     'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
+0:?     'g_tBuffF' (layout(r32f ) uniform imageBuffer)
+0:?     'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:?     'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:45  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:45    Function Parameters: 
+0:?     Sequence
+0:50      imageAtomicAdd (temp int)
+0:50        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:50        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:50          Constant:
+0:50            5 (const uint)
+0:50        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:50          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:50          Constant:
+0:50            8 (const uint)
+0:51      move second child to first child (temp int)
+0:51        'out_i1' (temp int)
+0:51        imageAtomicAdd (temp int)
+0:51          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:51          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:51            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:51            Constant:
+0:51              5 (const uint)
+0:51          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:51            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:51            Constant:
+0:51              5 (const uint)
+0:52      imageAtomicAnd (temp int)
+0:52        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:52        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:52          Constant:
+0:52            5 (const uint)
+0:52        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:52          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:52          Constant:
+0:52            8 (const uint)
+0:53      move second child to first child (temp int)
+0:53        'out_i1' (temp int)
+0:53        imageAtomicAnd (temp int)
+0:53          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:53          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:53            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:53            Constant:
+0:53              5 (const uint)
+0:53          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:53            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:53            Constant:
+0:53              5 (const uint)
+0:54      move second child to first child (temp int)
+0:54        'out_i1' (temp int)
+0:54        imageAtomicCompSwap (temp int)
+0:54          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:54          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:54            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:54            Constant:
+0:54              5 (const uint)
+0:54          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:54            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:54            Constant:
+0:54              8 (const uint)
+0:54          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:54            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:54            Constant:
+0:54              9 (const uint)
+0:55      move second child to first child (temp int)
+0:55        'out_i1' (temp int)
+0:55        imageAtomicExchange (temp int)
+0:55          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:55          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:55            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:55            Constant:
+0:55              5 (const uint)
+0:55          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:55            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:55            Constant:
+0:55              5 (const uint)
+0:56      imageAtomicMax (temp int)
+0:56        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:56        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:56          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:56          Constant:
+0:56            5 (const uint)
+0:56        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:56          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:56          Constant:
+0:56            8 (const uint)
+0:57      move second child to first child (temp int)
+0:57        'out_i1' (temp int)
+0:57        imageAtomicMax (temp int)
+0:57          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:57          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:57            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:57            Constant:
+0:57              5 (const uint)
+0:57          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:57            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:57            Constant:
+0:57              5 (const uint)
+0:58      imageAtomicMin (temp int)
+0:58        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:58        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:58          Constant:
+0:58            5 (const uint)
+0:58        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:58          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:58          Constant:
+0:58            8 (const uint)
+0:59      move second child to first child (temp int)
+0:59        'out_i1' (temp int)
+0:59        imageAtomicMin (temp int)
+0:59          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:59          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:59            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:59            Constant:
+0:59              5 (const uint)
+0:59          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:59            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:59            Constant:
+0:59              5 (const uint)
+0:60      imageAtomicOr (temp int)
+0:60        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:60        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:60          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:60          Constant:
+0:60            5 (const uint)
+0:60        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:60          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:60          Constant:
+0:60            8 (const uint)
+0:61      move second child to first child (temp int)
+0:61        'out_i1' (temp int)
+0:61        imageAtomicOr (temp int)
+0:61          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:61          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:61            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:61            Constant:
+0:61              5 (const uint)
+0:61          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:61            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:61            Constant:
+0:61              5 (const uint)
+0:62      imageAtomicXor (temp int)
+0:62        'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:62        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:62          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:62          Constant:
+0:62            5 (const uint)
+0:62        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:62          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:62          Constant:
+0:62            8 (const uint)
+0:63      move second child to first child (temp int)
+0:63        'out_i1' (temp int)
+0:63        imageAtomicXor (temp int)
+0:63          'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:63          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:63            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:63            Constant:
+0:63              5 (const uint)
+0:63          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:63            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:63            Constant:
+0:63              5 (const uint)
+0:66      imageAtomicAdd (temp uint)
+0:66        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:66        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:66          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:66          Constant:
+0:66            0 (const uint)
+0:66        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:66          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:66          Constant:
+0:66            0 (const uint)
+0:67      move second child to first child (temp uint)
+0:67        'out_u1' (temp uint)
+0:67        imageAtomicAdd (temp uint)
+0:67          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:67          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:67            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:67            Constant:
+0:67              0 (const uint)
+0:67          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:67            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:67            Constant:
+0:67              0 (const uint)
+0:68      imageAtomicAnd (temp uint)
+0:68        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:68        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:68          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:68          Constant:
+0:68            0 (const uint)
+0:68        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:68          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:68          Constant:
+0:68            0 (const uint)
+0:69      move second child to first child (temp uint)
+0:69        'out_u1' (temp uint)
+0:69        imageAtomicAnd (temp uint)
+0:69          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:69          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:69            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:69            Constant:
+0:69              0 (const uint)
+0:69          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:69            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:69            Constant:
+0:69              0 (const uint)
+0:70      move second child to first child (temp uint)
+0:70        'out_u1' (temp uint)
+0:70        imageAtomicCompSwap (temp uint)
+0:70          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:70          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:70            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:70            Constant:
+0:70              0 (const uint)
+0:70          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:70            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:70            Constant:
+0:70              3 (const uint)
+0:70          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:70            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:70            Constant:
+0:70              4 (const uint)
+0:71      move second child to first child (temp uint)
+0:71        'out_u1' (temp uint)
+0:71        imageAtomicExchange (temp uint)
+0:71          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:71          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:71            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:71            Constant:
+0:71              0 (const uint)
+0:71          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:71            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:71            Constant:
+0:71              0 (const uint)
+0:72      imageAtomicMax (temp uint)
+0:72        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:72        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:72          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:72          Constant:
+0:72            0 (const uint)
+0:72        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:72          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:72          Constant:
+0:72            0 (const uint)
+0:73      move second child to first child (temp uint)
+0:73        'out_u1' (temp uint)
+0:73        imageAtomicMax (temp uint)
+0:73          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:73          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:73            Constant:
+0:73              0 (const uint)
+0:73          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:73            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:73            Constant:
+0:73              0 (const uint)
+0:74      imageAtomicMin (temp uint)
+0:74        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:74        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:74          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:74          Constant:
+0:74            0 (const uint)
+0:74        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:74          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:74          Constant:
+0:74            0 (const uint)
+0:75      move second child to first child (temp uint)
+0:75        'out_u1' (temp uint)
+0:75        imageAtomicMin (temp uint)
+0:75          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:75          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:75            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:75            Constant:
+0:75              0 (const uint)
+0:75          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:75            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:75            Constant:
+0:75              0 (const uint)
+0:76      imageAtomicOr (temp uint)
+0:76        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:76        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:76          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:76          Constant:
+0:76            0 (const uint)
+0:76        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:76          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:76          Constant:
+0:76            0 (const uint)
+0:77      move second child to first child (temp uint)
+0:77        'out_u1' (temp uint)
+0:77        imageAtomicOr (temp uint)
+0:77          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:77          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:77            Constant:
+0:77              0 (const uint)
+0:77          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:77            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:77            Constant:
+0:77              0 (const uint)
+0:78      imageAtomicXor (temp uint)
+0:78        'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:78        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:78          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:78          Constant:
+0:78            0 (const uint)
+0:78        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:78          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:78          Constant:
+0:78            0 (const uint)
+0:79      move second child to first child (temp uint)
+0:79        'out_u1' (temp uint)
+0:79        imageAtomicXor (temp uint)
+0:79          'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:79          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:79            Constant:
+0:79              0 (const uint)
+0:79          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:79            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:79            Constant:
+0:79              0 (const uint)
+0:82      imageAtomicAdd (temp int)
+0:82        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:82        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:82          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:82          Constant:
+0:82            6 (const uint)
+0:82        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:82          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:82          Constant:
+0:82            8 (const uint)
+0:83      move second child to first child (temp int)
+0:83        'out_i1' (temp int)
+0:83        imageAtomicAdd (temp int)
+0:83          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:83          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:83            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:83            Constant:
+0:83              6 (const uint)
+0:83          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:83            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:83            Constant:
+0:83              5 (const uint)
+0:84      imageAtomicAnd (temp int)
+0:84        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:84        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:84          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:84          Constant:
+0:84            6 (const uint)
+0:84        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:84          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:84          Constant:
+0:84            8 (const uint)
+0:85      move second child to first child (temp int)
+0:85        'out_i1' (temp int)
+0:85        imageAtomicAnd (temp int)
+0:85          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:85          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:85            Constant:
+0:85              6 (const uint)
+0:85          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:85            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:85            Constant:
+0:85              5 (const uint)
+0:86      move second child to first child (temp int)
+0:86        'out_i1' (temp int)
+0:86        imageAtomicCompSwap (temp int)
+0:86          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:86          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:86            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:86            Constant:
+0:86              6 (const uint)
+0:86          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:86            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:86            Constant:
+0:86              8 (const uint)
+0:86          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:86            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:86            Constant:
+0:86              9 (const uint)
+0:87      move second child to first child (temp int)
+0:87        'out_i1' (temp int)
+0:87        imageAtomicExchange (temp int)
+0:87          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:87          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:87            Constant:
+0:87              6 (const uint)
+0:87          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:87            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:87            Constant:
+0:87              5 (const uint)
+0:88      imageAtomicMax (temp int)
+0:88        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:88        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:88          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:88          Constant:
+0:88            6 (const uint)
+0:88        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:88          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:88          Constant:
+0:88            8 (const uint)
+0:89      move second child to first child (temp int)
+0:89        'out_i1' (temp int)
+0:89        imageAtomicMax (temp int)
+0:89          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:89          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:89            Constant:
+0:89              6 (const uint)
+0:89          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:89            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:89            Constant:
+0:89              5 (const uint)
+0:90      imageAtomicMin (temp int)
+0:90        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:90        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:90          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:90          Constant:
+0:90            6 (const uint)
+0:90        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:90          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:90          Constant:
+0:90            8 (const uint)
+0:91      move second child to first child (temp int)
+0:91        'out_i1' (temp int)
+0:91        imageAtomicMin (temp int)
+0:91          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:91          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:91            Constant:
+0:91              6 (const uint)
+0:91          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:91            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:91            Constant:
+0:91              5 (const uint)
+0:92      imageAtomicOr (temp int)
+0:92        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:92        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:92          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:92          Constant:
+0:92            6 (const uint)
+0:92        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:92          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:92          Constant:
+0:92            8 (const uint)
+0:93      move second child to first child (temp int)
+0:93        'out_i1' (temp int)
+0:93        imageAtomicOr (temp int)
+0:93          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:93          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:93            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:93            Constant:
+0:93              6 (const uint)
+0:93          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:93            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:93            Constant:
+0:93              5 (const uint)
+0:94      imageAtomicXor (temp int)
+0:94        'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:94        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:94          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:94          Constant:
+0:94            6 (const uint)
+0:94        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:94          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:94          Constant:
+0:94            8 (const uint)
+0:95      move second child to first child (temp int)
+0:95        'out_i1' (temp int)
+0:95        imageAtomicXor (temp int)
+0:95          'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:95          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:95            Constant:
+0:95              6 (const uint)
+0:95          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:95            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:95            Constant:
+0:95              5 (const uint)
+0:98      imageAtomicAdd (temp uint)
+0:98        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:98        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:98          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:98          Constant:
+0:98            1 (const uint)
+0:98        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:98          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:98          Constant:
+0:98            0 (const uint)
+0:99      move second child to first child (temp uint)
+0:99        'out_u1' (temp uint)
+0:99        imageAtomicAdd (temp uint)
+0:99          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:99          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:99            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:99            Constant:
+0:99              1 (const uint)
+0:99          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:99            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:99            Constant:
+0:99              0 (const uint)
+0:100      imageAtomicAnd (temp uint)
+0:100        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:100        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:100          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:100          Constant:
+0:100            1 (const uint)
+0:100        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:100          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:100          Constant:
+0:100            0 (const uint)
+0:101      move second child to first child (temp uint)
+0:101        'out_u1' (temp uint)
+0:101        imageAtomicAnd (temp uint)
+0:101          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:101          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:101            Constant:
+0:101              1 (const uint)
+0:101          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:101            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:101            Constant:
+0:101              0 (const uint)
+0:102      move second child to first child (temp uint)
+0:102        'out_u1' (temp uint)
+0:102        imageAtomicCompSwap (temp uint)
+0:102          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:102          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:102            Constant:
+0:102              1 (const uint)
+0:102          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:102            Constant:
+0:102              3 (const uint)
+0:102          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:102            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:102            Constant:
+0:102              4 (const uint)
+0:103      move second child to first child (temp uint)
+0:103        'out_u1' (temp uint)
+0:103        imageAtomicExchange (temp uint)
+0:103          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:103          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:103            Constant:
+0:103              1 (const uint)
+0:103          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:103            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:103            Constant:
+0:103              0 (const uint)
+0:104      imageAtomicMax (temp uint)
+0:104        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:104        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:104          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:104          Constant:
+0:104            1 (const uint)
+0:104        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:104          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:104          Constant:
+0:104            0 (const uint)
+0:105      move second child to first child (temp uint)
+0:105        'out_u1' (temp uint)
+0:105        imageAtomicMax (temp uint)
+0:105          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:105          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:105            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:105            Constant:
+0:105              1 (const uint)
+0:105          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:105            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:105            Constant:
+0:105              0 (const uint)
+0:106      imageAtomicMin (temp uint)
+0:106        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:106        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:106          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:106          Constant:
+0:106            1 (const uint)
+0:106        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:106          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:106          Constant:
+0:106            0 (const uint)
+0:107      move second child to first child (temp uint)
+0:107        'out_u1' (temp uint)
+0:107        imageAtomicMin (temp uint)
+0:107          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:107          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:107            Constant:
+0:107              1 (const uint)
+0:107          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:107            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:107            Constant:
+0:107              0 (const uint)
+0:108      imageAtomicOr (temp uint)
+0:108        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:108        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:108          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:108          Constant:
+0:108            1 (const uint)
+0:108        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:108          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:108          Constant:
+0:108            0 (const uint)
+0:109      move second child to first child (temp uint)
+0:109        'out_u1' (temp uint)
+0:109        imageAtomicOr (temp uint)
+0:109          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:109          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:109            Constant:
+0:109              1 (const uint)
+0:109          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:109            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:109            Constant:
+0:109              0 (const uint)
+0:110      imageAtomicXor (temp uint)
+0:110        'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:110        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:110          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:110          Constant:
+0:110            1 (const uint)
+0:110        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:110          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:110          Constant:
+0:110            0 (const uint)
+0:111      move second child to first child (temp uint)
+0:111        'out_u1' (temp uint)
+0:111        imageAtomicXor (temp uint)
+0:111          'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:111          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:111            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:111            Constant:
+0:111              1 (const uint)
+0:111          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:111            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:111            Constant:
+0:111              0 (const uint)
+0:114      imageAtomicAdd (temp int)
+0:114        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:114        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:114          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:114          Constant:
+0:114            7 (const uint)
+0:114        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:114          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:114          Constant:
+0:114            8 (const uint)
+0:115      move second child to first child (temp int)
+0:115        'out_i1' (temp int)
+0:115        imageAtomicAdd (temp int)
+0:115          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:115          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:115            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:115            Constant:
+0:115              7 (const uint)
+0:115          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:115            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:115            Constant:
+0:115              5 (const uint)
+0:116      imageAtomicAnd (temp int)
+0:116        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:116        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:116          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:116          Constant:
+0:116            7 (const uint)
+0:116        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:116          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:116          Constant:
+0:116            8 (const uint)
+0:117      move second child to first child (temp int)
+0:117        'out_i1' (temp int)
+0:117        imageAtomicAnd (temp int)
+0:117          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:117          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:117            Constant:
+0:117              7 (const uint)
+0:117          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:117            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:117            Constant:
+0:117              5 (const uint)
+0:118      move second child to first child (temp int)
+0:118        'out_i1' (temp int)
+0:118        imageAtomicCompSwap (temp int)
+0:118          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:118          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:118            Constant:
+0:118              7 (const uint)
+0:118          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:118            Constant:
+0:118              8 (const uint)
+0:118          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:118            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:118            Constant:
+0:118              9 (const uint)
+0:119      move second child to first child (temp int)
+0:119        'out_i1' (temp int)
+0:119        imageAtomicExchange (temp int)
+0:119          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:119          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:119            Constant:
+0:119              7 (const uint)
+0:119          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:119            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:119            Constant:
+0:119              5 (const uint)
+0:120      imageAtomicMax (temp int)
+0:120        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:120        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:120          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:120          Constant:
+0:120            7 (const uint)
+0:120        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:120          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:120          Constant:
+0:120            8 (const uint)
+0:121      move second child to first child (temp int)
+0:121        'out_i1' (temp int)
+0:121        imageAtomicMax (temp int)
+0:121          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:121          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:121            Constant:
+0:121              7 (const uint)
+0:121          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:121            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:121            Constant:
+0:121              5 (const uint)
+0:122      imageAtomicMin (temp int)
+0:122        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:122        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:122          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:122          Constant:
+0:122            7 (const uint)
+0:122        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:122          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:122          Constant:
+0:122            8 (const uint)
+0:123      move second child to first child (temp int)
+0:123        'out_i1' (temp int)
+0:123        imageAtomicMin (temp int)
+0:123          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:123          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:123            Constant:
+0:123              7 (const uint)
+0:123          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:123            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:123            Constant:
+0:123              5 (const uint)
+0:124      imageAtomicOr (temp int)
+0:124        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:124        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:124          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:124          Constant:
+0:124            7 (const uint)
+0:124        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:124          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:124          Constant:
+0:124            8 (const uint)
+0:125      move second child to first child (temp int)
+0:125        'out_i1' (temp int)
+0:125        imageAtomicOr (temp int)
+0:125          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:125          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:125            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:125            Constant:
+0:125              7 (const uint)
+0:125          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:125            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:125            Constant:
+0:125              5 (const uint)
+0:126      imageAtomicXor (temp int)
+0:126        'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:126        i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:126          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:126          Constant:
+0:126            7 (const uint)
+0:126        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:126          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:126          Constant:
+0:126            8 (const uint)
+0:127      move second child to first child (temp int)
+0:127        'out_i1' (temp int)
+0:127        imageAtomicXor (temp int)
+0:127          'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:127          i3: direct index for structure (layout(offset=48 ) uniform 3-component vector of int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:127            Constant:
+0:127              7 (const uint)
+0:127          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:127            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:127            Constant:
+0:127              5 (const uint)
+0:130      imageAtomicAdd (temp uint)
+0:130        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:130        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:130          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:130          Constant:
+0:130            2 (const uint)
+0:130        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:130          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:130          Constant:
+0:130            0 (const uint)
+0:131      move second child to first child (temp uint)
+0:131        'out_u1' (temp uint)
+0:131        imageAtomicAdd (temp uint)
+0:131          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:131          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:131            Constant:
+0:131              2 (const uint)
+0:131          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:131            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:131            Constant:
+0:131              0 (const uint)
+0:132      imageAtomicAnd (temp uint)
+0:132        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:132        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:132          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:132          Constant:
+0:132            2 (const uint)
+0:132        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:132          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:132          Constant:
+0:132            0 (const uint)
+0:133      move second child to first child (temp uint)
+0:133        'out_u1' (temp uint)
+0:133        imageAtomicAnd (temp uint)
+0:133          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:133          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:133            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:133            Constant:
+0:133              2 (const uint)
+0:133          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:133            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:133            Constant:
+0:133              0 (const uint)
+0:134      move second child to first child (temp uint)
+0:134        'out_u1' (temp uint)
+0:134        imageAtomicCompSwap (temp uint)
+0:134          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:134          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:134            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:134            Constant:
+0:134              2 (const uint)
+0:134          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:134            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:134            Constant:
+0:134              3 (const uint)
+0:134          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:134            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:134            Constant:
+0:134              4 (const uint)
+0:135      move second child to first child (temp uint)
+0:135        'out_u1' (temp uint)
+0:135        imageAtomicExchange (temp uint)
+0:135          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:135          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:135            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:135            Constant:
+0:135              2 (const uint)
+0:135          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:135            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:135            Constant:
+0:135              0 (const uint)
+0:136      imageAtomicMax (temp uint)
+0:136        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:136        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:136          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:136          Constant:
+0:136            2 (const uint)
+0:136        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:136          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:136          Constant:
+0:136            0 (const uint)
+0:137      move second child to first child (temp uint)
+0:137        'out_u1' (temp uint)
+0:137        imageAtomicMax (temp uint)
+0:137          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:137          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:137            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:137            Constant:
+0:137              2 (const uint)
+0:137          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:137            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:137            Constant:
+0:137              0 (const uint)
+0:138      imageAtomicMin (temp uint)
+0:138        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:138        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:138          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:138          Constant:
+0:138            2 (const uint)
+0:138        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:138          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:138          Constant:
+0:138            0 (const uint)
+0:139      move second child to first child (temp uint)
+0:139        'out_u1' (temp uint)
+0:139        imageAtomicMin (temp uint)
+0:139          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:139          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:139            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:139            Constant:
+0:139              2 (const uint)
+0:139          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:139            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:139            Constant:
+0:139              0 (const uint)
+0:140      imageAtomicOr (temp uint)
+0:140        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:140        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:140          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:140          Constant:
+0:140            2 (const uint)
+0:140        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:140          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:140          Constant:
+0:140            0 (const uint)
+0:141      move second child to first child (temp uint)
+0:141        'out_u1' (temp uint)
+0:141        imageAtomicOr (temp uint)
+0:141          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:141          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:141            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:141            Constant:
+0:141              2 (const uint)
+0:141          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:141            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:141            Constant:
+0:141              0 (const uint)
+0:142      imageAtomicXor (temp uint)
+0:142        'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:142        u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:142          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:142          Constant:
+0:142            2 (const uint)
+0:142        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:142          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:142          Constant:
+0:142            0 (const uint)
+0:143      move second child to first child (temp uint)
+0:143        'out_u1' (temp uint)
+0:143        imageAtomicXor (temp uint)
+0:143          'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:143          u3: direct index for structure (layout(offset=16 ) uniform 3-component vector of uint)
+0:143            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:143            Constant:
+0:143              2 (const uint)
+0:143          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:143            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:143            Constant:
+0:143              0 (const uint)
+0:146      imageAtomicAdd (temp int)
+0:146        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:146        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:146          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:146          Constant:
+0:146            6 (const uint)
+0:146        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:146          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:146          Constant:
+0:146            8 (const uint)
+0:147      move second child to first child (temp int)
+0:147        'out_i1' (temp int)
+0:147        imageAtomicAdd (temp int)
+0:147          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:147          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:147            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:147            Constant:
+0:147              6 (const uint)
+0:147          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:147            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:147            Constant:
+0:147              5 (const uint)
+0:148      imageAtomicAnd (temp int)
+0:148        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:148        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:148          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:148          Constant:
+0:148            6 (const uint)
+0:148        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:148          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:148          Constant:
+0:148            8 (const uint)
+0:149      move second child to first child (temp int)
+0:149        'out_i1' (temp int)
+0:149        imageAtomicAnd (temp int)
+0:149          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:149          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:149            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:149            Constant:
+0:149              6 (const uint)
+0:149          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:149            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:149            Constant:
+0:149              5 (const uint)
+0:150      move second child to first child (temp int)
+0:150        'out_i1' (temp int)
+0:150        imageAtomicCompSwap (temp int)
+0:150          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:150          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:150            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:150            Constant:
+0:150              6 (const uint)
+0:150          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:150            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:150            Constant:
+0:150              8 (const uint)
+0:150          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:150            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:150            Constant:
+0:150              9 (const uint)
+0:151      move second child to first child (temp int)
+0:151        'out_i1' (temp int)
+0:151        imageAtomicExchange (temp int)
+0:151          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:151          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:151            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:151            Constant:
+0:151              6 (const uint)
+0:151          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:151            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:151            Constant:
+0:151              5 (const uint)
+0:152      imageAtomicMax (temp int)
+0:152        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:152        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:152          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:152          Constant:
+0:152            6 (const uint)
+0:152        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:152          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:152          Constant:
+0:152            8 (const uint)
+0:153      move second child to first child (temp int)
+0:153        'out_i1' (temp int)
+0:153        imageAtomicMax (temp int)
+0:153          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:153          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:153            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:153            Constant:
+0:153              6 (const uint)
+0:153          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:153            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:153            Constant:
+0:153              5 (const uint)
+0:154      imageAtomicMin (temp int)
+0:154        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:154        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:154          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:154          Constant:
+0:154            6 (const uint)
+0:154        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:154          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:154          Constant:
+0:154            8 (const uint)
+0:155      move second child to first child (temp int)
+0:155        'out_i1' (temp int)
+0:155        imageAtomicMin (temp int)
+0:155          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:155          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:155            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:155            Constant:
+0:155              6 (const uint)
+0:155          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:155            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:155            Constant:
+0:155              5 (const uint)
+0:156      imageAtomicOr (temp int)
+0:156        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:156        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:156          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:156          Constant:
+0:156            6 (const uint)
+0:156        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:156          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:156          Constant:
+0:156            8 (const uint)
+0:157      move second child to first child (temp int)
+0:157        'out_i1' (temp int)
+0:157        imageAtomicOr (temp int)
+0:157          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:157          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:157            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:157            Constant:
+0:157              6 (const uint)
+0:157          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:157            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:157            Constant:
+0:157              5 (const uint)
+0:158      imageAtomicXor (temp int)
+0:158        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:158        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:158          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:158          Constant:
+0:158            6 (const uint)
+0:158        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:158          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:158          Constant:
+0:158            8 (const uint)
+0:159      move second child to first child (temp int)
+0:159        'out_i1' (temp int)
+0:159        imageAtomicXor (temp int)
+0:159          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:159          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:159            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:159            Constant:
+0:159              6 (const uint)
+0:159          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:159            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:159            Constant:
+0:159              5 (const uint)
+0:162      imageAtomicAdd (temp uint)
+0:162        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:162        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:162          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:162          Constant:
+0:162            1 (const uint)
+0:162        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:162          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:162          Constant:
+0:162            0 (const uint)
+0:163      move second child to first child (temp uint)
+0:163        'out_u1' (temp uint)
+0:163        imageAtomicAdd (temp uint)
+0:163          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:163          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:163            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:163            Constant:
+0:163              1 (const uint)
+0:163          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:163            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:163            Constant:
+0:163              0 (const uint)
+0:164      imageAtomicAnd (temp uint)
+0:164        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:164        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:164          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:164          Constant:
+0:164            1 (const uint)
+0:164        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:164          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:164          Constant:
+0:164            0 (const uint)
+0:165      move second child to first child (temp uint)
+0:165        'out_u1' (temp uint)
+0:165        imageAtomicAnd (temp uint)
+0:165          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:165          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:165            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:165            Constant:
+0:165              1 (const uint)
+0:165          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:165            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:165            Constant:
+0:165              0 (const uint)
+0:166      move second child to first child (temp uint)
+0:166        'out_u1' (temp uint)
+0:166        imageAtomicCompSwap (temp uint)
+0:166          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:166          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:166            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:166            Constant:
+0:166              1 (const uint)
+0:166          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:166            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:166            Constant:
+0:166              3 (const uint)
+0:166          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:166            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:166            Constant:
+0:166              4 (const uint)
+0:167      move second child to first child (temp uint)
+0:167        'out_u1' (temp uint)
+0:167        imageAtomicExchange (temp uint)
+0:167          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:167          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:167            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:167            Constant:
+0:167              1 (const uint)
+0:167          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:167            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:167            Constant:
+0:167              0 (const uint)
+0:168      imageAtomicMax (temp uint)
+0:168        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:168        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:168          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:168          Constant:
+0:168            1 (const uint)
+0:168        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:168          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:168          Constant:
+0:168            0 (const uint)
+0:169      move second child to first child (temp uint)
+0:169        'out_u1' (temp uint)
+0:169        imageAtomicMax (temp uint)
+0:169          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:169          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:169            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:169            Constant:
+0:169              1 (const uint)
+0:169          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:169            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:169            Constant:
+0:169              0 (const uint)
+0:170      imageAtomicMin (temp uint)
+0:170        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:170        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:170          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:170          Constant:
+0:170            1 (const uint)
+0:170        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:170          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:170          Constant:
+0:170            0 (const uint)
+0:171      move second child to first child (temp uint)
+0:171        'out_u1' (temp uint)
+0:171        imageAtomicMin (temp uint)
+0:171          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:171          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:171            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:171            Constant:
+0:171              1 (const uint)
+0:171          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:171            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:171            Constant:
+0:171              0 (const uint)
+0:172      imageAtomicOr (temp uint)
+0:172        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:172        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:172          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:172          Constant:
+0:172            1 (const uint)
+0:172        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:172          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:172          Constant:
+0:172            0 (const uint)
+0:173      move second child to first child (temp uint)
+0:173        'out_u1' (temp uint)
+0:173        imageAtomicOr (temp uint)
+0:173          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:173          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:173            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:173            Constant:
+0:173              1 (const uint)
+0:173          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:173            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:173            Constant:
+0:173              0 (const uint)
+0:174      imageAtomicXor (temp uint)
+0:174        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:174        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:174          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:174          Constant:
+0:174            1 (const uint)
+0:174        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:174          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:174          Constant:
+0:174            0 (const uint)
+0:175      move second child to first child (temp uint)
+0:175        'out_u1' (temp uint)
+0:175        imageAtomicXor (temp uint)
+0:175          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:175          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:175            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:175            Constant:
+0:175              1 (const uint)
+0:175          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:175            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:175            Constant:
+0:175              0 (const uint)
+0:178      imageAtomicAdd (temp int)
+0:178        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:178        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:178          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:178          Constant:
+0:178            6 (const uint)
+0:178        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:178          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:178          Constant:
+0:178            8 (const uint)
+0:179      move second child to first child (temp int)
+0:179        'out_i1' (temp int)
+0:179        imageAtomicAdd (temp int)
+0:179          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:179          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:179            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:179            Constant:
+0:179              6 (const uint)
+0:179          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:179            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:179            Constant:
+0:179              5 (const uint)
+0:180      imageAtomicAnd (temp int)
+0:180        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:180        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:180          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:180          Constant:
+0:180            6 (const uint)
+0:180        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:180          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:180          Constant:
+0:180            8 (const uint)
+0:181      move second child to first child (temp int)
+0:181        'out_i1' (temp int)
+0:181        imageAtomicAnd (temp int)
+0:181          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:181          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:181            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:181            Constant:
+0:181              6 (const uint)
+0:181          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:181            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:181            Constant:
+0:181              5 (const uint)
+0:182      move second child to first child (temp int)
+0:182        'out_i1' (temp int)
+0:182        imageAtomicCompSwap (temp int)
+0:182          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:182          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:182            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:182            Constant:
+0:182              6 (const uint)
+0:182          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:182            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:182            Constant:
+0:182              8 (const uint)
+0:182          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:182            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:182            Constant:
+0:182              9 (const uint)
+0:183      move second child to first child (temp int)
+0:183        'out_i1' (temp int)
+0:183        imageAtomicExchange (temp int)
+0:183          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:183          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:183            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:183            Constant:
+0:183              6 (const uint)
+0:183          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:183            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:183            Constant:
+0:183              5 (const uint)
+0:184      imageAtomicMax (temp int)
+0:184        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:184        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:184          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:184          Constant:
+0:184            6 (const uint)
+0:184        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:184          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:184          Constant:
+0:184            8 (const uint)
+0:185      move second child to first child (temp int)
+0:185        'out_i1' (temp int)
+0:185        imageAtomicMax (temp int)
+0:185          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:185          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:185            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:185            Constant:
+0:185              6 (const uint)
+0:185          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:185            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:185            Constant:
+0:185              5 (const uint)
+0:186      imageAtomicMin (temp int)
+0:186        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:186        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:186          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:186          Constant:
+0:186            6 (const uint)
+0:186        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:186          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:186          Constant:
+0:186            8 (const uint)
+0:187      move second child to first child (temp int)
+0:187        'out_i1' (temp int)
+0:187        imageAtomicMin (temp int)
+0:187          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:187          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:187            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:187            Constant:
+0:187              6 (const uint)
+0:187          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:187            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:187            Constant:
+0:187              5 (const uint)
+0:188      imageAtomicOr (temp int)
+0:188        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:188        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:188          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:188          Constant:
+0:188            6 (const uint)
+0:188        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:188          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:188          Constant:
+0:188            8 (const uint)
+0:189      move second child to first child (temp int)
+0:189        'out_i1' (temp int)
+0:189        imageAtomicOr (temp int)
+0:189          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:189          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:189            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:189            Constant:
+0:189              6 (const uint)
+0:189          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:189            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:189            Constant:
+0:189              5 (const uint)
+0:190      imageAtomicXor (temp int)
+0:190        'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:190        i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:190          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:190          Constant:
+0:190            6 (const uint)
+0:190        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:190          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:190          Constant:
+0:190            8 (const uint)
+0:191      move second child to first child (temp int)
+0:191        'out_i1' (temp int)
+0:191        imageAtomicXor (temp int)
+0:191          'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:191          i2: direct index for structure (layout(offset=40 ) uniform 2-component vector of int)
+0:191            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:191            Constant:
+0:191              6 (const uint)
+0:191          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:191            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:191            Constant:
+0:191              5 (const uint)
+0:194      imageAtomicAdd (temp uint)
+0:194        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:194        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:194          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:194          Constant:
+0:194            1 (const uint)
+0:194        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:194          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:194          Constant:
+0:194            0 (const uint)
+0:195      move second child to first child (temp uint)
+0:195        'out_u1' (temp uint)
+0:195        imageAtomicAdd (temp uint)
+0:195          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:195          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:195            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:195            Constant:
+0:195              1 (const uint)
+0:195          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:195            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:195            Constant:
+0:195              0 (const uint)
+0:196      imageAtomicAnd (temp uint)
+0:196        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:196        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:196          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:196          Constant:
+0:196            1 (const uint)
+0:196        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:196          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:196          Constant:
+0:196            0 (const uint)
+0:197      move second child to first child (temp uint)
+0:197        'out_u1' (temp uint)
+0:197        imageAtomicAnd (temp uint)
+0:197          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:197          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:197            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:197            Constant:
+0:197              1 (const uint)
+0:197          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:197            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:197            Constant:
+0:197              0 (const uint)
+0:198      move second child to first child (temp uint)
+0:198        'out_u1' (temp uint)
+0:198        imageAtomicCompSwap (temp uint)
+0:198          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:198          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:198            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:198            Constant:
+0:198              1 (const uint)
+0:198          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:198            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:198            Constant:
+0:198              3 (const uint)
+0:198          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:198            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:198            Constant:
+0:198              4 (const uint)
+0:199      move second child to first child (temp uint)
+0:199        'out_u1' (temp uint)
+0:199        imageAtomicExchange (temp uint)
+0:199          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:199          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:199            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:199            Constant:
+0:199              1 (const uint)
+0:199          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:199            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:199            Constant:
+0:199              0 (const uint)
+0:200      imageAtomicMax (temp uint)
+0:200        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:200        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:200          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:200          Constant:
+0:200            1 (const uint)
+0:200        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:200          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:200          Constant:
+0:200            0 (const uint)
+0:201      move second child to first child (temp uint)
+0:201        'out_u1' (temp uint)
+0:201        imageAtomicMax (temp uint)
+0:201          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:201          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:201            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:201            Constant:
+0:201              1 (const uint)
+0:201          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:201            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:201            Constant:
+0:201              0 (const uint)
+0:202      imageAtomicMin (temp uint)
+0:202        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:202        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:202          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:202          Constant:
+0:202            1 (const uint)
+0:202        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:202          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:202          Constant:
+0:202            0 (const uint)
+0:203      move second child to first child (temp uint)
+0:203        'out_u1' (temp uint)
+0:203        imageAtomicMin (temp uint)
+0:203          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:203          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:203            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:203            Constant:
+0:203              1 (const uint)
+0:203          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:203            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:203            Constant:
+0:203              0 (const uint)
+0:204      imageAtomicOr (temp uint)
+0:204        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:204        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:204          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:204          Constant:
+0:204            1 (const uint)
+0:204        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:204          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:204          Constant:
+0:204            0 (const uint)
+0:205      move second child to first child (temp uint)
+0:205        'out_u1' (temp uint)
+0:205        imageAtomicOr (temp uint)
+0:205          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:205          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:205            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:205            Constant:
+0:205              1 (const uint)
+0:205          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:205            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:205            Constant:
+0:205              0 (const uint)
+0:206      imageAtomicXor (temp uint)
+0:206        'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:206        u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:206          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:206          Constant:
+0:206            1 (const uint)
+0:206        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:206          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:206          Constant:
+0:206            0 (const uint)
+0:207      move second child to first child (temp uint)
+0:207        'out_u1' (temp uint)
+0:207        imageAtomicXor (temp uint)
+0:207          'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:207          u2: direct index for structure (layout(offset=8 ) uniform 2-component vector of uint)
+0:207            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:207            Constant:
+0:207              1 (const uint)
+0:207          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:207            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:207            Constant:
+0:207              0 (const uint)
+0:210      imageAtomicAdd (temp int)
+0:210        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:210        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:210          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:210          Constant:
+0:210            5 (const uint)
+0:210        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:210          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:210          Constant:
+0:210            8 (const uint)
+0:211      move second child to first child (temp int)
+0:211        'out_i1' (temp int)
+0:211        imageAtomicAdd (temp int)
+0:211          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:211          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:211            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:211            Constant:
+0:211              5 (const uint)
+0:211          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:211            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:211            Constant:
+0:211              5 (const uint)
+0:212      imageAtomicAnd (temp int)
+0:212        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:212        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:212          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:212          Constant:
+0:212            5 (const uint)
+0:212        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:212          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:212          Constant:
+0:212            8 (const uint)
+0:213      move second child to first child (temp int)
+0:213        'out_i1' (temp int)
+0:213        imageAtomicAnd (temp int)
+0:213          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:213          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:213            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:213            Constant:
+0:213              5 (const uint)
+0:213          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:213            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:213            Constant:
+0:213              5 (const uint)
+0:214      move second child to first child (temp int)
+0:214        'out_i1' (temp int)
+0:214        imageAtomicCompSwap (temp int)
+0:214          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:214          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:214            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:214            Constant:
+0:214              5 (const uint)
+0:214          i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:214            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:214            Constant:
+0:214              8 (const uint)
+0:214          i1c: direct index for structure (layout(offset=64 ) uniform int)
+0:214            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:214            Constant:
+0:214              9 (const uint)
+0:215      move second child to first child (temp int)
+0:215        'out_i1' (temp int)
+0:215        imageAtomicExchange (temp int)
+0:215          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:215          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:215            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:215            Constant:
+0:215              5 (const uint)
+0:215          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:215            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:215            Constant:
+0:215              5 (const uint)
+0:216      imageAtomicMax (temp int)
+0:216        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:216        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:216          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:216          Constant:
+0:216            5 (const uint)
+0:216        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:216          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:216          Constant:
+0:216            8 (const uint)
+0:217      move second child to first child (temp int)
+0:217        'out_i1' (temp int)
+0:217        imageAtomicMax (temp int)
+0:217          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:217          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:217            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:217            Constant:
+0:217              5 (const uint)
+0:217          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:217            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:217            Constant:
+0:217              5 (const uint)
+0:218      imageAtomicMin (temp int)
+0:218        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:218        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:218          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:218          Constant:
+0:218            5 (const uint)
+0:218        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:218          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:218          Constant:
+0:218            8 (const uint)
+0:219      move second child to first child (temp int)
+0:219        'out_i1' (temp int)
+0:219        imageAtomicMin (temp int)
+0:219          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:219          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:219            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:219            Constant:
+0:219              5 (const uint)
+0:219          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:219            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:219            Constant:
+0:219              5 (const uint)
+0:220      imageAtomicOr (temp int)
+0:220        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:220        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:220          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:220          Constant:
+0:220            5 (const uint)
+0:220        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:220          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:220          Constant:
+0:220            8 (const uint)
+0:221      move second child to first child (temp int)
+0:221        'out_i1' (temp int)
+0:221        imageAtomicOr (temp int)
+0:221          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:221          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:221            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:221            Constant:
+0:221              5 (const uint)
+0:221          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:221            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:221            Constant:
+0:221              5 (const uint)
+0:222      imageAtomicXor (temp int)
+0:222        'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:222        i1: direct index for structure (layout(offset=36 ) uniform int)
+0:222          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:222          Constant:
+0:222            5 (const uint)
+0:222        i1b: direct index for structure (layout(offset=60 ) uniform int)
+0:222          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:222          Constant:
+0:222            8 (const uint)
+0:223      move second child to first child (temp int)
+0:223        'out_i1' (temp int)
+0:223        imageAtomicXor (temp int)
+0:223          'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:223          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:223            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:223            Constant:
+0:223              5 (const uint)
+0:223          i1: direct index for structure (layout(offset=36 ) uniform int)
+0:223            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:223            Constant:
+0:223              5 (const uint)
+0:226      imageAtomicAdd (temp uint)
+0:226        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:226        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:226          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:226          Constant:
+0:226            0 (const uint)
+0:226        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:226          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:226          Constant:
+0:226            0 (const uint)
+0:227      move second child to first child (temp uint)
+0:227        'out_u1' (temp uint)
+0:227        imageAtomicAdd (temp uint)
+0:227          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:227          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:227            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:227            Constant:
+0:227              0 (const uint)
+0:227          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:227            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:227            Constant:
+0:227              0 (const uint)
+0:228      imageAtomicAnd (temp uint)
+0:228        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:228        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:228          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:228          Constant:
+0:228            0 (const uint)
+0:228        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:228          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:228          Constant:
+0:228            0 (const uint)
+0:229      move second child to first child (temp uint)
+0:229        'out_u1' (temp uint)
+0:229        imageAtomicAnd (temp uint)
+0:229          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:229          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:229            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:229            Constant:
+0:229              0 (const uint)
+0:229          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:229            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:229            Constant:
+0:229              0 (const uint)
+0:230      move second child to first child (temp uint)
+0:230        'out_u1' (temp uint)
+0:230        imageAtomicCompSwap (temp uint)
+0:230          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:230          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:230            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:230            Constant:
+0:230              0 (const uint)
+0:230          u1b: direct index for structure (layout(offset=28 ) uniform uint)
+0:230            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:230            Constant:
+0:230              3 (const uint)
+0:230          u1c: direct index for structure (layout(offset=32 ) uniform uint)
+0:230            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:230            Constant:
+0:230              4 (const uint)
+0:231      move second child to first child (temp uint)
+0:231        'out_u1' (temp uint)
+0:231        imageAtomicExchange (temp uint)
+0:231          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:231          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:231            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:231            Constant:
+0:231              0 (const uint)
+0:231          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:231            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:231            Constant:
+0:231              0 (const uint)
+0:232      imageAtomicMax (temp uint)
+0:232        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:232        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:232          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:232          Constant:
+0:232            0 (const uint)
+0:232        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:232          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:232          Constant:
+0:232            0 (const uint)
+0:233      move second child to first child (temp uint)
+0:233        'out_u1' (temp uint)
+0:233        imageAtomicMax (temp uint)
+0:233          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:233          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:233            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:233            Constant:
+0:233              0 (const uint)
+0:233          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:233            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:233            Constant:
+0:233              0 (const uint)
+0:234      imageAtomicMin (temp uint)
+0:234        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:234        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:234          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:234          Constant:
+0:234            0 (const uint)
+0:234        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:234          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:234          Constant:
+0:234            0 (const uint)
+0:235      move second child to first child (temp uint)
+0:235        'out_u1' (temp uint)
+0:235        imageAtomicMin (temp uint)
+0:235          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:235          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:235            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:235            Constant:
+0:235              0 (const uint)
+0:235          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:235            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:235            Constant:
+0:235              0 (const uint)
+0:236      imageAtomicOr (temp uint)
+0:236        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:236        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:236          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:236          Constant:
+0:236            0 (const uint)
+0:236        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:236          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:236          Constant:
+0:236            0 (const uint)
+0:237      move second child to first child (temp uint)
+0:237        'out_u1' (temp uint)
+0:237        imageAtomicOr (temp uint)
+0:237          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:237          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:237            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:237            Constant:
+0:237              0 (const uint)
+0:237          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:237            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:237            Constant:
+0:237              0 (const uint)
+0:238      imageAtomicXor (temp uint)
+0:238        'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:238        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:238          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:238          Constant:
+0:238            0 (const uint)
+0:238        u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:238          'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:238          Constant:
+0:238            0 (const uint)
+0:239      move second child to first child (temp uint)
+0:239        'out_u1' (temp uint)
+0:239        imageAtomicXor (temp uint)
+0:239          'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:239          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:239            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:239            Constant:
+0:239              0 (const uint)
+0:239          u1: direct index for structure (layout(offset=0 ) uniform uint)
+0:239            'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+0:239            Constant:
+0:239              0 (const uint)
+0:242      move second child to first child (temp 4-component vector of float)
+0:242        Color: direct index for structure (temp 4-component vector of float)
+0:242          'psout' (temp structure{temp 4-component vector of float Color})
+0:242          Constant:
+0:242            0 (const int)
+0:242        Constant:
+0:242          1.000000
+0:242          1.000000
+0:242          1.000000
+0:242          1.000000
+0:243      Sequence
+0:243        Sequence
+0:243          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:243            Color: direct index for structure (temp 4-component vector of float)
+0:243              'psout' (temp structure{temp 4-component vector of float Color})
+0:243              Constant:
+0:243                0 (const int)
+0:243        Branch: Return
+0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_sSamp' (uniform sampler)
+0:?     'g_tTex1df1' (layout(r32f ) uniform image1D)
+0:?     'g_tTex1di1' (layout(r32i ) uniform iimage1D)
+0:?     'g_tTex1du1' (layout(r32ui ) uniform uimage1D)
+0:?     'g_tTex2df1' (layout(r32f ) uniform image2D)
+0:?     'g_tTex2di1' (layout(r32i ) uniform iimage2D)
+0:?     'g_tTex2du1' (layout(r32ui ) uniform uimage2D)
+0:?     'g_tTex3df1' (layout(r32f ) uniform image3D)
+0:?     'g_tTex3di1' (layout(r32i ) uniform iimage3D)
+0:?     'g_tTex3du1' (layout(r32ui ) uniform uimage3D)
+0:?     'g_tTex1df1a' (layout(r32f ) uniform image1DArray)
+0:?     'g_tTex1di1a' (layout(r32i ) uniform iimage1DArray)
+0:?     'g_tTex1du1a' (layout(r32ui ) uniform uimage1DArray)
+0:?     'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
+0:?     'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
+0:?     'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
+0:?     'g_tBuffF' (layout(r32f ) uniform imageBuffer)
+0:?     'g_tBuffI' (layout(r32i ) uniform iimageBuffer)
+0:?     'g_tBuffU' (layout(r32ui ) uniform uimageBuffer)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform uint u1, layout(offset=8 ) uniform 2-component vector of uint u2, layout(offset=16 ) uniform 3-component vector of uint u3, layout(offset=28 ) uniform uint u1b, layout(offset=32 ) uniform uint u1c, layout(offset=36 ) uniform int i1, layout(offset=40 ) uniform 2-component vector of int i2, layout(offset=48 ) uniform 3-component vector of int i3, layout(offset=60 ) uniform int i1b, layout(offset=64 ) uniform int i1c})
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 1142
+
+                              Capability Shader
+                              Capability Sampled1D
+                              Capability SampledBuffer
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 1111
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 9  "g_tTex1di1"
+                              Name 15  "$Global"
+                              MemberName 15($Global) 0  "u1"
+                              MemberName 15($Global) 1  "u2"
+                              MemberName 15($Global) 2  "u3"
+                              MemberName 15($Global) 3  "u1b"
+                              MemberName 15($Global) 4  "u1c"
+                              MemberName 15($Global) 5  "i1"
+                              MemberName 15($Global) 6  "i2"
+                              MemberName 15($Global) 7  "i3"
+                              MemberName 15($Global) 8  "i1b"
+                              MemberName 15($Global) 9  "i1c"
+                              Name 17  ""
+                              Name 31  "out_i1"
+                              Name 115  "g_tTex1du1"
+                              Name 126  "out_u1"
+                              Name 211  "g_tTex2di1"
+                              Name 302  "g_tTex2du1"
+                              Name 393  "g_tTex3di1"
+                              Name 484  "g_tTex3du1"
+                              Name 575  "g_tTex1di1a"
+                              Name 664  "g_tTex1du1a"
+                              Name 925  "g_tBuffI"
+                              Name 1014  "g_tBuffU"
+                              Name 1103  "PS_OUTPUT"
+                              MemberName 1103(PS_OUTPUT) 0  "Color"
+                              Name 1105  "psout"
+                              Name 1111  "Color"
+                              Name 1117  "g_sSamp"
+                              Name 1120  "g_tTex1df1"
+                              Name 1123  "g_tTex2df1"
+                              Name 1126  "g_tTex3df1"
+                              Name 1129  "g_tTex1df1a"
+                              Name 1132  "g_tTex2df1a"
+                              Name 1135  "g_tTex2di1a"
+                              Name 1138  "g_tTex2du1a"
+                              Name 1141  "g_tBuffF"
+                              Decorate 9(g_tTex1di1) DescriptorSet 0
+                              MemberDecorate 15($Global) 0 Offset 0
+                              MemberDecorate 15($Global) 1 Offset 8
+                              MemberDecorate 15($Global) 2 Offset 16
+                              MemberDecorate 15($Global) 3 Offset 28
+                              MemberDecorate 15($Global) 4 Offset 32
+                              MemberDecorate 15($Global) 5 Offset 36
+                              MemberDecorate 15($Global) 6 Offset 40
+                              MemberDecorate 15($Global) 7 Offset 48
+                              MemberDecorate 15($Global) 8 Offset 60
+                              MemberDecorate 15($Global) 9 Offset 64
+                              Decorate 15($Global) Block
+                              Decorate 17 DescriptorSet 0
+                              Decorate 115(g_tTex1du1) DescriptorSet 0
+                              Decorate 211(g_tTex2di1) DescriptorSet 0
+                              Decorate 302(g_tTex2du1) DescriptorSet 0
+                              Decorate 393(g_tTex3di1) DescriptorSet 0
+                              Decorate 484(g_tTex3du1) DescriptorSet 0
+                              Decorate 575(g_tTex1di1a) DescriptorSet 0
+                              Decorate 664(g_tTex1du1a) DescriptorSet 0
+                              Decorate 925(g_tBuffI) DescriptorSet 0
+                              Decorate 1014(g_tBuffU) DescriptorSet 0
+                              Decorate 1111(Color) Location 0
+                              Decorate 1117(g_sSamp) DescriptorSet 0
+                              Decorate 1120(g_tTex1df1) DescriptorSet 0
+                              Decorate 1123(g_tTex2df1) DescriptorSet 0
+                              Decorate 1126(g_tTex3df1) DescriptorSet 0
+                              Decorate 1129(g_tTex1df1a) DescriptorSet 0
+                              Decorate 1132(g_tTex2df1a) DescriptorSet 0
+                              Decorate 1135(g_tTex2di1a) DescriptorSet 0
+                              Decorate 1138(g_tTex2du1a) DescriptorSet 0
+                              Decorate 1141(g_tBuffF) DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypeImage 6(int) 1D nonsampled format:R32i
+               8:             TypePointer UniformConstant 7
+   9(g_tTex1di1):      8(ptr) Variable UniformConstant
+              10:             TypeInt 32 0
+              11:             TypeVector 10(int) 2
+              12:             TypeVector 10(int) 3
+              13:             TypeVector 6(int) 2
+              14:             TypeVector 6(int) 3
+     15($Global):             TypeStruct 10(int) 11(ivec2) 12(ivec3) 10(int) 10(int) 6(int) 13(ivec2) 14(ivec3) 6(int) 6(int)
+              16:             TypePointer Uniform 15($Global)
+              17:     16(ptr) Variable Uniform
+              18:      6(int) Constant 5
+              19:             TypePointer Uniform 6(int)
+              22:      6(int) Constant 8
+              25:     10(int) Constant 0
+              26:             TypePointer Image 6(int)
+              28:     10(int) Constant 1
+              30:             TypePointer Function 6(int)
+              54:      6(int) Constant 9
+             113:             TypeImage 10(int) 1D nonsampled format:R32ui
+             114:             TypePointer UniformConstant 113
+ 115(g_tTex1du1):    114(ptr) Variable UniformConstant
+             116:      6(int) Constant 0
+             117:             TypePointer Uniform 10(int)
+             122:             TypePointer Image 10(int)
+             125:             TypePointer Function 10(int)
+             147:      6(int) Constant 3
+             150:      6(int) Constant 4
+             209:             TypeImage 6(int) 2D nonsampled format:R32i
+             210:             TypePointer UniformConstant 209
+ 211(g_tTex2di1):    210(ptr) Variable UniformConstant
+             212:      6(int) Constant 6
+             213:             TypePointer Uniform 13(ivec2)
+             300:             TypeImage 10(int) 2D nonsampled format:R32ui
+             301:             TypePointer UniformConstant 300
+ 302(g_tTex2du1):    301(ptr) Variable UniformConstant
+             303:      6(int) Constant 1
+             304:             TypePointer Uniform 11(ivec2)
+             391:             TypeImage 6(int) 3D nonsampled format:R32i
+             392:             TypePointer UniformConstant 391
+ 393(g_tTex3di1):    392(ptr) Variable UniformConstant
+             394:      6(int) Constant 7
+             395:             TypePointer Uniform 14(ivec3)
+             482:             TypeImage 10(int) 3D nonsampled format:R32ui
+             483:             TypePointer UniformConstant 482
+ 484(g_tTex3du1):    483(ptr) Variable UniformConstant
+             485:      6(int) Constant 2
+             486:             TypePointer Uniform 12(ivec3)
+             573:             TypeImage 6(int) 1D array nonsampled format:R32i
+             574:             TypePointer UniformConstant 573
+575(g_tTex1di1a):    574(ptr) Variable UniformConstant
+             662:             TypeImage 10(int) 1D array nonsampled format:R32ui
+             663:             TypePointer UniformConstant 662
+664(g_tTex1du1a):    663(ptr) Variable UniformConstant
+             923:             TypeImage 6(int) Buffer nonsampled format:R32i
+             924:             TypePointer UniformConstant 923
+   925(g_tBuffI):    924(ptr) Variable UniformConstant
+            1012:             TypeImage 10(int) Buffer nonsampled format:R32ui
+            1013:             TypePointer UniformConstant 1012
+  1014(g_tBuffU):   1013(ptr) Variable UniformConstant
+            1101:             TypeFloat 32
+            1102:             TypeVector 1101(float) 4
+ 1103(PS_OUTPUT):             TypeStruct 1102(fvec4)
+            1104:             TypePointer Function 1103(PS_OUTPUT)
+            1106: 1101(float) Constant 1065353216
+            1107: 1102(fvec4) ConstantComposite 1106 1106 1106 1106
+            1108:             TypePointer Function 1102(fvec4)
+            1110:             TypePointer Output 1102(fvec4)
+     1111(Color):   1110(ptr) Variable Output
+            1115:             TypeSampler
+            1116:             TypePointer UniformConstant 1115
+   1117(g_sSamp):   1116(ptr) Variable UniformConstant
+            1118:             TypeImage 1101(float) 1D nonsampled format:R32f
+            1119:             TypePointer UniformConstant 1118
+1120(g_tTex1df1):   1119(ptr) Variable UniformConstant
+            1121:             TypeImage 1101(float) 2D nonsampled format:R32f
+            1122:             TypePointer UniformConstant 1121
+1123(g_tTex2df1):   1122(ptr) Variable UniformConstant
+            1124:             TypeImage 1101(float) 3D nonsampled format:R32f
+            1125:             TypePointer UniformConstant 1124
+1126(g_tTex3df1):   1125(ptr) Variable UniformConstant
+            1127:             TypeImage 1101(float) 1D array nonsampled format:R32f
+            1128:             TypePointer UniformConstant 1127
+1129(g_tTex1df1a):   1128(ptr) Variable UniformConstant
+            1130:             TypeImage 1101(float) 2D array nonsampled format:R32f
+            1131:             TypePointer UniformConstant 1130
+1132(g_tTex2df1a):   1131(ptr) Variable UniformConstant
+            1133:             TypeImage 6(int) 2D array nonsampled format:R32i
+            1134:             TypePointer UniformConstant 1133
+1135(g_tTex2di1a):   1134(ptr) Variable UniformConstant
+            1136:             TypeImage 10(int) 2D array nonsampled format:R32ui
+            1137:             TypePointer UniformConstant 1136
+1138(g_tTex2du1a):   1137(ptr) Variable UniformConstant
+            1139:             TypeImage 1101(float) Buffer nonsampled format:R32f
+            1140:             TypePointer UniformConstant 1139
+  1141(g_tBuffF):   1140(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+      31(out_i1):     30(ptr) Variable Function
+     126(out_u1):    125(ptr) Variable Function
+     1105(psout):   1104(ptr) Variable Function
+              20:     19(ptr) AccessChain 17 18
+              21:      6(int) Load 20
+              23:     19(ptr) AccessChain 17 22
+              24:      6(int) Load 23
+              27:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 21 25
+              29:      6(int) AtomicIAdd 27 28 25 24
+              32:     19(ptr) AccessChain 17 18
+              33:      6(int) Load 32
+              34:     19(ptr) AccessChain 17 18
+              35:      6(int) Load 34
+              36:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 33 25
+              37:      6(int) AtomicIAdd 36 28 25 35
+                              Store 31(out_i1) 37
+              38:     19(ptr) AccessChain 17 18
+              39:      6(int) Load 38
+              40:     19(ptr) AccessChain 17 22
+              41:      6(int) Load 40
+              42:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 39 25
+              43:      6(int) AtomicAnd 42 28 25 41
+              44:     19(ptr) AccessChain 17 18
+              45:      6(int) Load 44
+              46:     19(ptr) AccessChain 17 18
+              47:      6(int) Load 46
+              48:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 45 25
+              49:      6(int) AtomicAnd 48 28 25 47
+                              Store 31(out_i1) 49
+              50:     19(ptr) AccessChain 17 18
+              51:      6(int) Load 50
+              52:     19(ptr) AccessChain 17 22
+              53:      6(int) Load 52
+              55:     19(ptr) AccessChain 17 54
+              56:      6(int) Load 55
+              57:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 51 25
+              58:      6(int) AtomicCompareExchange 57 28 25 25 56 53
+                              Store 31(out_i1) 58
+              59:     19(ptr) AccessChain 17 18
+              60:      6(int) Load 59
+              61:     19(ptr) AccessChain 17 18
+              62:      6(int) Load 61
+              63:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 60 25
+              64:      6(int) AtomicExchange 63 28 25 62
+                              Store 31(out_i1) 64
+              65:     19(ptr) AccessChain 17 18
+              66:      6(int) Load 65
+              67:     19(ptr) AccessChain 17 22
+              68:      6(int) Load 67
+              69:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 66 25
+              70:      6(int) AtomicSMax 69 28 25 68
+              71:     19(ptr) AccessChain 17 18
+              72:      6(int) Load 71
+              73:     19(ptr) AccessChain 17 18
+              74:      6(int) Load 73
+              75:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 72 25
+              76:      6(int) AtomicSMax 75 28 25 74
+                              Store 31(out_i1) 76
+              77:     19(ptr) AccessChain 17 18
+              78:      6(int) Load 77
+              79:     19(ptr) AccessChain 17 22
+              80:      6(int) Load 79
+              81:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 78 25
+              82:      6(int) AtomicSMin 81 28 25 80
+              83:     19(ptr) AccessChain 17 18
+              84:      6(int) Load 83
+              85:     19(ptr) AccessChain 17 18
+              86:      6(int) Load 85
+              87:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 84 25
+              88:      6(int) AtomicSMin 87 28 25 86
+                              Store 31(out_i1) 88
+              89:     19(ptr) AccessChain 17 18
+              90:      6(int) Load 89
+              91:     19(ptr) AccessChain 17 22
+              92:      6(int) Load 91
+              93:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 90 25
+              94:      6(int) AtomicOr 93 28 25 92
+              95:     19(ptr) AccessChain 17 18
+              96:      6(int) Load 95
+              97:     19(ptr) AccessChain 17 18
+              98:      6(int) Load 97
+              99:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 96 25
+             100:      6(int) AtomicOr 99 28 25 98
+                              Store 31(out_i1) 100
+             101:     19(ptr) AccessChain 17 18
+             102:      6(int) Load 101
+             103:     19(ptr) AccessChain 17 22
+             104:      6(int) Load 103
+             105:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 102 25
+             106:      6(int) AtomicXor 105 28 25 104
+             107:     19(ptr) AccessChain 17 18
+             108:      6(int) Load 107
+             109:     19(ptr) AccessChain 17 18
+             110:      6(int) Load 109
+             111:     26(ptr) ImageTexelPointer 9(g_tTex1di1) 108 25
+             112:      6(int) AtomicXor 111 28 25 110
+                              Store 31(out_i1) 112
+             118:    117(ptr) AccessChain 17 116
+             119:     10(int) Load 118
+             120:    117(ptr) AccessChain 17 116
+             121:     10(int) Load 120
+             123:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 119 25
+             124:     10(int) AtomicIAdd 123 28 25 121
+             127:    117(ptr) AccessChain 17 116
+             128:     10(int) Load 127
+             129:    117(ptr) AccessChain 17 116
+             130:     10(int) Load 129
+             131:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 128 25
+             132:     10(int) AtomicIAdd 131 28 25 130
+                              Store 126(out_u1) 132
+             133:    117(ptr) AccessChain 17 116
+             134:     10(int) Load 133
+             135:    117(ptr) AccessChain 17 116
+             136:     10(int) Load 135
+             137:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 134 25
+             138:     10(int) AtomicAnd 137 28 25 136
+             139:    117(ptr) AccessChain 17 116
+             140:     10(int) Load 139
+             141:    117(ptr) AccessChain 17 116
+             142:     10(int) Load 141
+             143:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 140 25
+             144:     10(int) AtomicAnd 143 28 25 142
+                              Store 126(out_u1) 144
+             145:    117(ptr) AccessChain 17 116
+             146:     10(int) Load 145
+             148:    117(ptr) AccessChain 17 147
+             149:     10(int) Load 148
+             151:    117(ptr) AccessChain 17 150
+             152:     10(int) Load 151
+             153:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 146 25
+             154:     10(int) AtomicCompareExchange 153 28 25 25 152 149
+                              Store 126(out_u1) 154
+             155:    117(ptr) AccessChain 17 116
+             156:     10(int) Load 155
+             157:    117(ptr) AccessChain 17 116
+             158:     10(int) Load 157
+             159:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 156 25
+             160:     10(int) AtomicExchange 159 28 25 158
+                              Store 126(out_u1) 160
+             161:    117(ptr) AccessChain 17 116
+             162:     10(int) Load 161
+             163:    117(ptr) AccessChain 17 116
+             164:     10(int) Load 163
+             165:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 162 25
+             166:     10(int) AtomicUMax 165 28 25 164
+             167:    117(ptr) AccessChain 17 116
+             168:     10(int) Load 167
+             169:    117(ptr) AccessChain 17 116
+             170:     10(int) Load 169
+             171:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 168 25
+             172:     10(int) AtomicUMax 171 28 25 170
+                              Store 126(out_u1) 172
+             173:    117(ptr) AccessChain 17 116
+             174:     10(int) Load 173
+             175:    117(ptr) AccessChain 17 116
+             176:     10(int) Load 175
+             177:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 174 25
+             178:     10(int) AtomicUMin 177 28 25 176
+             179:    117(ptr) AccessChain 17 116
+             180:     10(int) Load 179
+             181:    117(ptr) AccessChain 17 116
+             182:     10(int) Load 181
+             183:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 180 25
+             184:     10(int) AtomicUMin 183 28 25 182
+                              Store 126(out_u1) 184
+             185:    117(ptr) AccessChain 17 116
+             186:     10(int) Load 185
+             187:    117(ptr) AccessChain 17 116
+             188:     10(int) Load 187
+             189:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 186 25
+             190:     10(int) AtomicOr 189 28 25 188
+             191:    117(ptr) AccessChain 17 116
+             192:     10(int) Load 191
+             193:    117(ptr) AccessChain 17 116
+             194:     10(int) Load 193
+             195:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 192 25
+             196:     10(int) AtomicOr 195 28 25 194
+                              Store 126(out_u1) 196
+             197:    117(ptr) AccessChain 17 116
+             198:     10(int) Load 197
+             199:    117(ptr) AccessChain 17 116
+             200:     10(int) Load 199
+             201:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 198 25
+             202:     10(int) AtomicXor 201 28 25 200
+             203:    117(ptr) AccessChain 17 116
+             204:     10(int) Load 203
+             205:    117(ptr) AccessChain 17 116
+             206:     10(int) Load 205
+             207:    122(ptr) ImageTexelPointer 115(g_tTex1du1) 204 25
+             208:     10(int) AtomicXor 207 28 25 206
+                              Store 126(out_u1) 208
+             214:    213(ptr) AccessChain 17 212
+             215:   13(ivec2) Load 214
+             216:     19(ptr) AccessChain 17 22
+             217:      6(int) Load 216
+             218:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 215 25
+             219:      6(int) AtomicIAdd 218 28 25 217
+             220:    213(ptr) AccessChain 17 212
+             221:   13(ivec2) Load 220
+             222:     19(ptr) AccessChain 17 18
+             223:      6(int) Load 222
+             224:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 221 25
+             225:      6(int) AtomicIAdd 224 28 25 223
+                              Store 31(out_i1) 225
+             226:    213(ptr) AccessChain 17 212
+             227:   13(ivec2) Load 226
+             228:     19(ptr) AccessChain 17 22
+             229:      6(int) Load 228
+             230:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 227 25
+             231:      6(int) AtomicAnd 230 28 25 229
+             232:    213(ptr) AccessChain 17 212
+             233:   13(ivec2) Load 232
+             234:     19(ptr) AccessChain 17 18
+             235:      6(int) Load 234
+             236:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 233 25
+             237:      6(int) AtomicAnd 236 28 25 235
+                              Store 31(out_i1) 237
+             238:    213(ptr) AccessChain 17 212
+             239:   13(ivec2) Load 238
+             240:     19(ptr) AccessChain 17 22
+             241:      6(int) Load 240
+             242:     19(ptr) AccessChain 17 54
+             243:      6(int) Load 242
+             244:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 239 25
+             245:      6(int) AtomicCompareExchange 244 28 25 25 243 241
+                              Store 31(out_i1) 245
+             246:    213(ptr) AccessChain 17 212
+             247:   13(ivec2) Load 246
+             248:     19(ptr) AccessChain 17 18
+             249:      6(int) Load 248
+             250:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 247 25
+             251:      6(int) AtomicExchange 250 28 25 249
+                              Store 31(out_i1) 251
+             252:    213(ptr) AccessChain 17 212
+             253:   13(ivec2) Load 252
+             254:     19(ptr) AccessChain 17 22
+             255:      6(int) Load 254
+             256:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 253 25
+             257:      6(int) AtomicSMax 256 28 25 255
+             258:    213(ptr) AccessChain 17 212
+             259:   13(ivec2) Load 258
+             260:     19(ptr) AccessChain 17 18
+             261:      6(int) Load 260
+             262:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 259 25
+             263:      6(int) AtomicSMax 262 28 25 261
+                              Store 31(out_i1) 263
+             264:    213(ptr) AccessChain 17 212
+             265:   13(ivec2) Load 264
+             266:     19(ptr) AccessChain 17 22
+             267:      6(int) Load 266
+             268:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 265 25
+             269:      6(int) AtomicSMin 268 28 25 267
+             270:    213(ptr) AccessChain 17 212
+             271:   13(ivec2) Load 270
+             272:     19(ptr) AccessChain 17 18
+             273:      6(int) Load 272
+             274:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 271 25
+             275:      6(int) AtomicSMin 274 28 25 273
+                              Store 31(out_i1) 275
+             276:    213(ptr) AccessChain 17 212
+             277:   13(ivec2) Load 276
+             278:     19(ptr) AccessChain 17 22
+             279:      6(int) Load 278
+             280:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 277 25
+             281:      6(int) AtomicOr 280 28 25 279
+             282:    213(ptr) AccessChain 17 212
+             283:   13(ivec2) Load 282
+             284:     19(ptr) AccessChain 17 18
+             285:      6(int) Load 284
+             286:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 283 25
+             287:      6(int) AtomicOr 286 28 25 285
+                              Store 31(out_i1) 287
+             288:    213(ptr) AccessChain 17 212
+             289:   13(ivec2) Load 288
+             290:     19(ptr) AccessChain 17 22
+             291:      6(int) Load 290
+             292:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 289 25
+             293:      6(int) AtomicXor 292 28 25 291
+             294:    213(ptr) AccessChain 17 212
+             295:   13(ivec2) Load 294
+             296:     19(ptr) AccessChain 17 18
+             297:      6(int) Load 296
+             298:     26(ptr) ImageTexelPointer 211(g_tTex2di1) 295 25
+             299:      6(int) AtomicXor 298 28 25 297
+                              Store 31(out_i1) 299
+             305:    304(ptr) AccessChain 17 303
+             306:   11(ivec2) Load 305
+             307:    117(ptr) AccessChain 17 116
+             308:     10(int) Load 307
+             309:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 306 25
+             310:     10(int) AtomicIAdd 309 28 25 308
+             311:    304(ptr) AccessChain 17 303
+             312:   11(ivec2) Load 311
+             313:    117(ptr) AccessChain 17 116
+             314:     10(int) Load 313
+             315:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 312 25
+             316:     10(int) AtomicIAdd 315 28 25 314
+                              Store 126(out_u1) 316
+             317:    304(ptr) AccessChain 17 303
+             318:   11(ivec2) Load 317
+             319:    117(ptr) AccessChain 17 116
+             320:     10(int) Load 319
+             321:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 318 25
+             322:     10(int) AtomicAnd 321 28 25 320
+             323:    304(ptr) AccessChain 17 303
+             324:   11(ivec2) Load 323
+             325:    117(ptr) AccessChain 17 116
+             326:     10(int) Load 325
+             327:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 324 25
+             328:     10(int) AtomicAnd 327 28 25 326
+                              Store 126(out_u1) 328
+             329:    304(ptr) AccessChain 17 303
+             330:   11(ivec2) Load 329
+             331:    117(ptr) AccessChain 17 147
+             332:     10(int) Load 331
+             333:    117(ptr) AccessChain 17 150
+             334:     10(int) Load 333
+             335:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 330 25
+             336:     10(int) AtomicCompareExchange 335 28 25 25 334 332
+                              Store 126(out_u1) 336
+             337:    304(ptr) AccessChain 17 303
+             338:   11(ivec2) Load 337
+             339:    117(ptr) AccessChain 17 116
+             340:     10(int) Load 339
+             341:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 338 25
+             342:     10(int) AtomicExchange 341 28 25 340
+                              Store 126(out_u1) 342
+             343:    304(ptr) AccessChain 17 303
+             344:   11(ivec2) Load 343
+             345:    117(ptr) AccessChain 17 116
+             346:     10(int) Load 345
+             347:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 344 25
+             348:     10(int) AtomicUMax 347 28 25 346
+             349:    304(ptr) AccessChain 17 303
+             350:   11(ivec2) Load 349
+             351:    117(ptr) AccessChain 17 116
+             352:     10(int) Load 351
+             353:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 350 25
+             354:     10(int) AtomicUMax 353 28 25 352
+                              Store 126(out_u1) 354
+             355:    304(ptr) AccessChain 17 303
+             356:   11(ivec2) Load 355
+             357:    117(ptr) AccessChain 17 116
+             358:     10(int) Load 357
+             359:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 356 25
+             360:     10(int) AtomicUMin 359 28 25 358
+             361:    304(ptr) AccessChain 17 303
+             362:   11(ivec2) Load 361
+             363:    117(ptr) AccessChain 17 116
+             364:     10(int) Load 363
+             365:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 362 25
+             366:     10(int) AtomicUMin 365 28 25 364
+                              Store 126(out_u1) 366
+             367:    304(ptr) AccessChain 17 303
+             368:   11(ivec2) Load 367
+             369:    117(ptr) AccessChain 17 116
+             370:     10(int) Load 369
+             371:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 368 25
+             372:     10(int) AtomicOr 371 28 25 370
+             373:    304(ptr) AccessChain 17 303
+             374:   11(ivec2) Load 373
+             375:    117(ptr) AccessChain 17 116
+             376:     10(int) Load 375
+             377:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 374 25
+             378:     10(int) AtomicOr 377 28 25 376
+                              Store 126(out_u1) 378
+             379:    304(ptr) AccessChain 17 303
+             380:   11(ivec2) Load 379
+             381:    117(ptr) AccessChain 17 116
+             382:     10(int) Load 381
+             383:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 380 25
+             384:     10(int) AtomicXor 383 28 25 382
+             385:    304(ptr) AccessChain 17 303
+             386:   11(ivec2) Load 385
+             387:    117(ptr) AccessChain 17 116
+             388:     10(int) Load 387
+             389:    122(ptr) ImageTexelPointer 302(g_tTex2du1) 386 25
+             390:     10(int) AtomicXor 389 28 25 388
+                              Store 126(out_u1) 390
+             396:    395(ptr) AccessChain 17 394
+             397:   14(ivec3) Load 396
+             398:     19(ptr) AccessChain 17 22
+             399:      6(int) Load 398
+             400:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 397 25
+             401:      6(int) AtomicIAdd 400 28 25 399
+             402:    395(ptr) AccessChain 17 394
+             403:   14(ivec3) Load 402
+             404:     19(ptr) AccessChain 17 18
+             405:      6(int) Load 404
+             406:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 403 25
+             407:      6(int) AtomicIAdd 406 28 25 405
+                              Store 31(out_i1) 407
+             408:    395(ptr) AccessChain 17 394
+             409:   14(ivec3) Load 408
+             410:     19(ptr) AccessChain 17 22
+             411:      6(int) Load 410
+             412:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 409 25
+             413:      6(int) AtomicAnd 412 28 25 411
+             414:    395(ptr) AccessChain 17 394
+             415:   14(ivec3) Load 414
+             416:     19(ptr) AccessChain 17 18
+             417:      6(int) Load 416
+             418:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 415 25
+             419:      6(int) AtomicAnd 418 28 25 417
+                              Store 31(out_i1) 419
+             420:    395(ptr) AccessChain 17 394
+             421:   14(ivec3) Load 420
+             422:     19(ptr) AccessChain 17 22
+             423:      6(int) Load 422
+             424:     19(ptr) AccessChain 17 54
+             425:      6(int) Load 424
+             426:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 421 25
+             427:      6(int) AtomicCompareExchange 426 28 25 25 425 423
+                              Store 31(out_i1) 427
+             428:    395(ptr) AccessChain 17 394
+             429:   14(ivec3) Load 428
+             430:     19(ptr) AccessChain 17 18
+             431:      6(int) Load 430
+             432:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 429 25
+             433:      6(int) AtomicExchange 432 28 25 431
+                              Store 31(out_i1) 433
+             434:    395(ptr) AccessChain 17 394
+             435:   14(ivec3) Load 434
+             436:     19(ptr) AccessChain 17 22
+             437:      6(int) Load 436
+             438:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 435 25
+             439:      6(int) AtomicSMax 438 28 25 437
+             440:    395(ptr) AccessChain 17 394
+             441:   14(ivec3) Load 440
+             442:     19(ptr) AccessChain 17 18
+             443:      6(int) Load 442
+             444:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 441 25
+             445:      6(int) AtomicSMax 444 28 25 443
+                              Store 31(out_i1) 445
+             446:    395(ptr) AccessChain 17 394
+             447:   14(ivec3) Load 446
+             448:     19(ptr) AccessChain 17 22
+             449:      6(int) Load 448
+             450:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 447 25
+             451:      6(int) AtomicSMin 450 28 25 449
+             452:    395(ptr) AccessChain 17 394
+             453:   14(ivec3) Load 452
+             454:     19(ptr) AccessChain 17 18
+             455:      6(int) Load 454
+             456:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 453 25
+             457:      6(int) AtomicSMin 456 28 25 455
+                              Store 31(out_i1) 457
+             458:    395(ptr) AccessChain 17 394
+             459:   14(ivec3) Load 458
+             460:     19(ptr) AccessChain 17 22
+             461:      6(int) Load 460
+             462:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 459 25
+             463:      6(int) AtomicOr 462 28 25 461
+             464:    395(ptr) AccessChain 17 394
+             465:   14(ivec3) Load 464
+             466:     19(ptr) AccessChain 17 18
+             467:      6(int) Load 466
+             468:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 465 25
+             469:      6(int) AtomicOr 468 28 25 467
+                              Store 31(out_i1) 469
+             470:    395(ptr) AccessChain 17 394
+             471:   14(ivec3) Load 470
+             472:     19(ptr) AccessChain 17 22
+             473:      6(int) Load 472
+             474:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 471 25
+             475:      6(int) AtomicXor 474 28 25 473
+             476:    395(ptr) AccessChain 17 394
+             477:   14(ivec3) Load 476
+             478:     19(ptr) AccessChain 17 18
+             479:      6(int) Load 478
+             480:     26(ptr) ImageTexelPointer 393(g_tTex3di1) 477 25
+             481:      6(int) AtomicXor 480 28 25 479
+                              Store 31(out_i1) 481
+             487:    486(ptr) AccessChain 17 485
+             488:   12(ivec3) Load 487
+             489:    117(ptr) AccessChain 17 116
+             490:     10(int) Load 489
+             491:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 488 25
+             492:     10(int) AtomicIAdd 491 28 25 490
+             493:    486(ptr) AccessChain 17 485
+             494:   12(ivec3) Load 493
+             495:    117(ptr) AccessChain 17 116
+             496:     10(int) Load 495
+             497:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 494 25
+             498:     10(int) AtomicIAdd 497 28 25 496
+                              Store 126(out_u1) 498
+             499:    486(ptr) AccessChain 17 485
+             500:   12(ivec3) Load 499
+             501:    117(ptr) AccessChain 17 116
+             502:     10(int) Load 501
+             503:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 500 25
+             504:     10(int) AtomicAnd 503 28 25 502
+             505:    486(ptr) AccessChain 17 485
+             506:   12(ivec3) Load 505
+             507:    117(ptr) AccessChain 17 116
+             508:     10(int) Load 507
+             509:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 506 25
+             510:     10(int) AtomicAnd 509 28 25 508
+                              Store 126(out_u1) 510
+             511:    486(ptr) AccessChain 17 485
+             512:   12(ivec3) Load 511
+             513:    117(ptr) AccessChain 17 147
+             514:     10(int) Load 513
+             515:    117(ptr) AccessChain 17 150
+             516:     10(int) Load 515
+             517:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 512 25
+             518:     10(int) AtomicCompareExchange 517 28 25 25 516 514
+                              Store 126(out_u1) 518
+             519:    486(ptr) AccessChain 17 485
+             520:   12(ivec3) Load 519
+             521:    117(ptr) AccessChain 17 116
+             522:     10(int) Load 521
+             523:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 520 25
+             524:     10(int) AtomicExchange 523 28 25 522
+                              Store 126(out_u1) 524
+             525:    486(ptr) AccessChain 17 485
+             526:   12(ivec3) Load 525
+             527:    117(ptr) AccessChain 17 116
+             528:     10(int) Load 527
+             529:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 526 25
+             530:     10(int) AtomicUMax 529 28 25 528
+             531:    486(ptr) AccessChain 17 485
+             532:   12(ivec3) Load 531
+             533:    117(ptr) AccessChain 17 116
+             534:     10(int) Load 533
+             535:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 532 25
+             536:     10(int) AtomicUMax 535 28 25 534
+                              Store 126(out_u1) 536
+             537:    486(ptr) AccessChain 17 485
+             538:   12(ivec3) Load 537
+             539:    117(ptr) AccessChain 17 116
+             540:     10(int) Load 539
+             541:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 538 25
+             542:     10(int) AtomicUMin 541 28 25 540
+             543:    486(ptr) AccessChain 17 485
+             544:   12(ivec3) Load 543
+             545:    117(ptr) AccessChain 17 116
+             546:     10(int) Load 545
+             547:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 544 25
+             548:     10(int) AtomicUMin 547 28 25 546
+                              Store 126(out_u1) 548
+             549:    486(ptr) AccessChain 17 485
+             550:   12(ivec3) Load 549
+             551:    117(ptr) AccessChain 17 116
+             552:     10(int) Load 551
+             553:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 550 25
+             554:     10(int) AtomicOr 553 28 25 552
+             555:    486(ptr) AccessChain 17 485
+             556:   12(ivec3) Load 555
+             557:    117(ptr) AccessChain 17 116
+             558:     10(int) Load 557
+             559:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 556 25
+             560:     10(int) AtomicOr 559 28 25 558
+                              Store 126(out_u1) 560
+             561:    486(ptr) AccessChain 17 485
+             562:   12(ivec3) Load 561
+             563:    117(ptr) AccessChain 17 116
+             564:     10(int) Load 563
+             565:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 562 25
+             566:     10(int) AtomicXor 565 28 25 564
+             567:    486(ptr) AccessChain 17 485
+             568:   12(ivec3) Load 567
+             569:    117(ptr) AccessChain 17 116
+             570:     10(int) Load 569
+             571:    122(ptr) ImageTexelPointer 484(g_tTex3du1) 568 25
+             572:     10(int) AtomicXor 571 28 25 570
+                              Store 126(out_u1) 572
+             576:    213(ptr) AccessChain 17 212
+             577:   13(ivec2) Load 576
+             578:     19(ptr) AccessChain 17 22
+             579:      6(int) Load 578
+             580:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 577 25
+             581:      6(int) AtomicIAdd 580 28 25 579
+             582:    213(ptr) AccessChain 17 212
+             583:   13(ivec2) Load 582
+             584:     19(ptr) AccessChain 17 18
+             585:      6(int) Load 584
+             586:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 583 25
+             587:      6(int) AtomicIAdd 586 28 25 585
+                              Store 31(out_i1) 587
+             588:    213(ptr) AccessChain 17 212
+             589:   13(ivec2) Load 588
+             590:     19(ptr) AccessChain 17 22
+             591:      6(int) Load 590
+             592:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 589 25
+             593:      6(int) AtomicAnd 592 28 25 591
+             594:    213(ptr) AccessChain 17 212
+             595:   13(ivec2) Load 594
+             596:     19(ptr) AccessChain 17 18
+             597:      6(int) Load 596
+             598:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 595 25
+             599:      6(int) AtomicAnd 598 28 25 597
+                              Store 31(out_i1) 599
+             600:    213(ptr) AccessChain 17 212
+             601:   13(ivec2) Load 600
+             602:     19(ptr) AccessChain 17 22
+             603:      6(int) Load 602
+             604:     19(ptr) AccessChain 17 54
+             605:      6(int) Load 604
+             606:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 601 25
+             607:      6(int) AtomicCompareExchange 606 28 25 25 605 603
+                              Store 31(out_i1) 607
+             608:    213(ptr) AccessChain 17 212
+             609:   13(ivec2) Load 608
+             610:     19(ptr) AccessChain 17 18
+             611:      6(int) Load 610
+             612:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 609 25
+             613:      6(int) AtomicExchange 612 28 25 611
+                              Store 31(out_i1) 613
+             614:    213(ptr) AccessChain 17 212
+             615:   13(ivec2) Load 614
+             616:     19(ptr) AccessChain 17 22
+             617:      6(int) Load 616
+             618:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 615 25
+             619:      6(int) AtomicSMax 618 28 25 617
+             620:    213(ptr) AccessChain 17 212
+             621:   13(ivec2) Load 620
+             622:     19(ptr) AccessChain 17 18
+             623:      6(int) Load 622
+             624:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 621 25
+             625:      6(int) AtomicSMax 624 28 25 623
+                              Store 31(out_i1) 625
+             626:    213(ptr) AccessChain 17 212
+             627:   13(ivec2) Load 626
+             628:     19(ptr) AccessChain 17 22
+             629:      6(int) Load 628
+             630:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 627 25
+             631:      6(int) AtomicSMin 630 28 25 629
+             632:    213(ptr) AccessChain 17 212
+             633:   13(ivec2) Load 632
+             634:     19(ptr) AccessChain 17 18
+             635:      6(int) Load 634
+             636:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 633 25
+             637:      6(int) AtomicSMin 636 28 25 635
+                              Store 31(out_i1) 637
+             638:    213(ptr) AccessChain 17 212
+             639:   13(ivec2) Load 638
+             640:     19(ptr) AccessChain 17 22
+             641:      6(int) Load 640
+             642:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 639 25
+             643:      6(int) AtomicOr 642 28 25 641
+             644:    213(ptr) AccessChain 17 212
+             645:   13(ivec2) Load 644
+             646:     19(ptr) AccessChain 17 18
+             647:      6(int) Load 646
+             648:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 645 25
+             649:      6(int) AtomicOr 648 28 25 647
+                              Store 31(out_i1) 649
+             650:    213(ptr) AccessChain 17 212
+             651:   13(ivec2) Load 650
+             652:     19(ptr) AccessChain 17 22
+             653:      6(int) Load 652
+             654:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 651 25
+             655:      6(int) AtomicXor 654 28 25 653
+             656:    213(ptr) AccessChain 17 212
+             657:   13(ivec2) Load 656
+             658:     19(ptr) AccessChain 17 18
+             659:      6(int) Load 658
+             660:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 657 25
+             661:      6(int) AtomicXor 660 28 25 659
+                              Store 31(out_i1) 661
+             665:    304(ptr) AccessChain 17 303
+             666:   11(ivec2) Load 665
+             667:    117(ptr) AccessChain 17 116
+             668:     10(int) Load 667
+             669:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 666 25
+             670:     10(int) AtomicIAdd 669 28 25 668
+             671:    304(ptr) AccessChain 17 303
+             672:   11(ivec2) Load 671
+             673:    117(ptr) AccessChain 17 116
+             674:     10(int) Load 673
+             675:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 672 25
+             676:     10(int) AtomicIAdd 675 28 25 674
+                              Store 126(out_u1) 676
+             677:    304(ptr) AccessChain 17 303
+             678:   11(ivec2) Load 677
+             679:    117(ptr) AccessChain 17 116
+             680:     10(int) Load 679
+             681:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 678 25
+             682:     10(int) AtomicAnd 681 28 25 680
+             683:    304(ptr) AccessChain 17 303
+             684:   11(ivec2) Load 683
+             685:    117(ptr) AccessChain 17 116
+             686:     10(int) Load 685
+             687:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 684 25
+             688:     10(int) AtomicAnd 687 28 25 686
+                              Store 126(out_u1) 688
+             689:    304(ptr) AccessChain 17 303
+             690:   11(ivec2) Load 689
+             691:    117(ptr) AccessChain 17 147
+             692:     10(int) Load 691
+             693:    117(ptr) AccessChain 17 150
+             694:     10(int) Load 693
+             695:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 690 25
+             696:     10(int) AtomicCompareExchange 695 28 25 25 694 692
+                              Store 126(out_u1) 696
+             697:    304(ptr) AccessChain 17 303
+             698:   11(ivec2) Load 697
+             699:    117(ptr) AccessChain 17 116
+             700:     10(int) Load 699
+             701:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 698 25
+             702:     10(int) AtomicExchange 701 28 25 700
+                              Store 126(out_u1) 702
+             703:    304(ptr) AccessChain 17 303
+             704:   11(ivec2) Load 703
+             705:    117(ptr) AccessChain 17 116
+             706:     10(int) Load 705
+             707:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 704 25
+             708:     10(int) AtomicUMax 707 28 25 706
+             709:    304(ptr) AccessChain 17 303
+             710:   11(ivec2) Load 709
+             711:    117(ptr) AccessChain 17 116
+             712:     10(int) Load 711
+             713:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 710 25
+             714:     10(int) AtomicUMax 713 28 25 712
+                              Store 126(out_u1) 714
+             715:    304(ptr) AccessChain 17 303
+             716:   11(ivec2) Load 715
+             717:    117(ptr) AccessChain 17 116
+             718:     10(int) Load 717
+             719:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 716 25
+             720:     10(int) AtomicUMin 719 28 25 718
+             721:    304(ptr) AccessChain 17 303
+             722:   11(ivec2) Load 721
+             723:    117(ptr) AccessChain 17 116
+             724:     10(int) Load 723
+             725:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 722 25
+             726:     10(int) AtomicUMin 725 28 25 724
+                              Store 126(out_u1) 726
+             727:    304(ptr) AccessChain 17 303
+             728:   11(ivec2) Load 727
+             729:    117(ptr) AccessChain 17 116
+             730:     10(int) Load 729
+             731:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 728 25
+             732:     10(int) AtomicOr 731 28 25 730
+             733:    304(ptr) AccessChain 17 303
+             734:   11(ivec2) Load 733
+             735:    117(ptr) AccessChain 17 116
+             736:     10(int) Load 735
+             737:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 734 25
+             738:     10(int) AtomicOr 737 28 25 736
+                              Store 126(out_u1) 738
+             739:    304(ptr) AccessChain 17 303
+             740:   11(ivec2) Load 739
+             741:    117(ptr) AccessChain 17 116
+             742:     10(int) Load 741
+             743:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 740 25
+             744:     10(int) AtomicXor 743 28 25 742
+             745:    304(ptr) AccessChain 17 303
+             746:   11(ivec2) Load 745
+             747:    117(ptr) AccessChain 17 116
+             748:     10(int) Load 747
+             749:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 746 25
+             750:     10(int) AtomicXor 749 28 25 748
+                              Store 126(out_u1) 750
+             751:    213(ptr) AccessChain 17 212
+             752:   13(ivec2) Load 751
+             753:     19(ptr) AccessChain 17 22
+             754:      6(int) Load 753
+             755:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 752 25
+             756:      6(int) AtomicIAdd 755 28 25 754
+             757:    213(ptr) AccessChain 17 212
+             758:   13(ivec2) Load 757
+             759:     19(ptr) AccessChain 17 18
+             760:      6(int) Load 759
+             761:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 758 25
+             762:      6(int) AtomicIAdd 761 28 25 760
+                              Store 31(out_i1) 762
+             763:    213(ptr) AccessChain 17 212
+             764:   13(ivec2) Load 763
+             765:     19(ptr) AccessChain 17 22
+             766:      6(int) Load 765
+             767:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 764 25
+             768:      6(int) AtomicAnd 767 28 25 766
+             769:    213(ptr) AccessChain 17 212
+             770:   13(ivec2) Load 769
+             771:     19(ptr) AccessChain 17 18
+             772:      6(int) Load 771
+             773:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 770 25
+             774:      6(int) AtomicAnd 773 28 25 772
+                              Store 31(out_i1) 774
+             775:    213(ptr) AccessChain 17 212
+             776:   13(ivec2) Load 775
+             777:     19(ptr) AccessChain 17 22
+             778:      6(int) Load 777
+             779:     19(ptr) AccessChain 17 54
+             780:      6(int) Load 779
+             781:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 776 25
+             782:      6(int) AtomicCompareExchange 781 28 25 25 780 778
+                              Store 31(out_i1) 782
+             783:    213(ptr) AccessChain 17 212
+             784:   13(ivec2) Load 783
+             785:     19(ptr) AccessChain 17 18
+             786:      6(int) Load 785
+             787:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 784 25
+             788:      6(int) AtomicExchange 787 28 25 786
+                              Store 31(out_i1) 788
+             789:    213(ptr) AccessChain 17 212
+             790:   13(ivec2) Load 789
+             791:     19(ptr) AccessChain 17 22
+             792:      6(int) Load 791
+             793:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 790 25
+             794:      6(int) AtomicSMax 793 28 25 792
+             795:    213(ptr) AccessChain 17 212
+             796:   13(ivec2) Load 795
+             797:     19(ptr) AccessChain 17 18
+             798:      6(int) Load 797
+             799:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 796 25
+             800:      6(int) AtomicSMax 799 28 25 798
+                              Store 31(out_i1) 800
+             801:    213(ptr) AccessChain 17 212
+             802:   13(ivec2) Load 801
+             803:     19(ptr) AccessChain 17 22
+             804:      6(int) Load 803
+             805:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 802 25
+             806:      6(int) AtomicSMin 805 28 25 804
+             807:    213(ptr) AccessChain 17 212
+             808:   13(ivec2) Load 807
+             809:     19(ptr) AccessChain 17 18
+             810:      6(int) Load 809
+             811:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 808 25
+             812:      6(int) AtomicSMin 811 28 25 810
+                              Store 31(out_i1) 812
+             813:    213(ptr) AccessChain 17 212
+             814:   13(ivec2) Load 813
+             815:     19(ptr) AccessChain 17 22
+             816:      6(int) Load 815
+             817:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 814 25
+             818:      6(int) AtomicOr 817 28 25 816
+             819:    213(ptr) AccessChain 17 212
+             820:   13(ivec2) Load 819
+             821:     19(ptr) AccessChain 17 18
+             822:      6(int) Load 821
+             823:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 820 25
+             824:      6(int) AtomicOr 823 28 25 822
+                              Store 31(out_i1) 824
+             825:    213(ptr) AccessChain 17 212
+             826:   13(ivec2) Load 825
+             827:     19(ptr) AccessChain 17 22
+             828:      6(int) Load 827
+             829:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 826 25
+             830:      6(int) AtomicXor 829 28 25 828
+             831:    213(ptr) AccessChain 17 212
+             832:   13(ivec2) Load 831
+             833:     19(ptr) AccessChain 17 18
+             834:      6(int) Load 833
+             835:     26(ptr) ImageTexelPointer 575(g_tTex1di1a) 832 25
+             836:      6(int) AtomicXor 835 28 25 834
+                              Store 31(out_i1) 836
+             837:    304(ptr) AccessChain 17 303
+             838:   11(ivec2) Load 837
+             839:    117(ptr) AccessChain 17 116
+             840:     10(int) Load 839
+             841:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 838 25
+             842:     10(int) AtomicIAdd 841 28 25 840
+             843:    304(ptr) AccessChain 17 303
+             844:   11(ivec2) Load 843
+             845:    117(ptr) AccessChain 17 116
+             846:     10(int) Load 845
+             847:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 844 25
+             848:     10(int) AtomicIAdd 847 28 25 846
+                              Store 126(out_u1) 848
+             849:    304(ptr) AccessChain 17 303
+             850:   11(ivec2) Load 849
+             851:    117(ptr) AccessChain 17 116
+             852:     10(int) Load 851
+             853:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 850 25
+             854:     10(int) AtomicAnd 853 28 25 852
+             855:    304(ptr) AccessChain 17 303
+             856:   11(ivec2) Load 855
+             857:    117(ptr) AccessChain 17 116
+             858:     10(int) Load 857
+             859:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 856 25
+             860:     10(int) AtomicAnd 859 28 25 858
+                              Store 126(out_u1) 860
+             861:    304(ptr) AccessChain 17 303
+             862:   11(ivec2) Load 861
+             863:    117(ptr) AccessChain 17 147
+             864:     10(int) Load 863
+             865:    117(ptr) AccessChain 17 150
+             866:     10(int) Load 865
+             867:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 862 25
+             868:     10(int) AtomicCompareExchange 867 28 25 25 866 864
+                              Store 126(out_u1) 868
+             869:    304(ptr) AccessChain 17 303
+             870:   11(ivec2) Load 869
+             871:    117(ptr) AccessChain 17 116
+             872:     10(int) Load 871
+             873:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 870 25
+             874:     10(int) AtomicExchange 873 28 25 872
+                              Store 126(out_u1) 874
+             875:    304(ptr) AccessChain 17 303
+             876:   11(ivec2) Load 875
+             877:    117(ptr) AccessChain 17 116
+             878:     10(int) Load 877
+             879:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 876 25
+             880:     10(int) AtomicUMax 879 28 25 878
+             881:    304(ptr) AccessChain 17 303
+             882:   11(ivec2) Load 881
+             883:    117(ptr) AccessChain 17 116
+             884:     10(int) Load 883
+             885:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 882 25
+             886:     10(int) AtomicUMax 885 28 25 884
+                              Store 126(out_u1) 886
+             887:    304(ptr) AccessChain 17 303
+             888:   11(ivec2) Load 887
+             889:    117(ptr) AccessChain 17 116
+             890:     10(int) Load 889
+             891:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 888 25
+             892:     10(int) AtomicUMin 891 28 25 890
+             893:    304(ptr) AccessChain 17 303
+             894:   11(ivec2) Load 893
+             895:    117(ptr) AccessChain 17 116
+             896:     10(int) Load 895
+             897:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 894 25
+             898:     10(int) AtomicUMin 897 28 25 896
+                              Store 126(out_u1) 898
+             899:    304(ptr) AccessChain 17 303
+             900:   11(ivec2) Load 899
+             901:    117(ptr) AccessChain 17 116
+             902:     10(int) Load 901
+             903:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 900 25
+             904:     10(int) AtomicOr 903 28 25 902
+             905:    304(ptr) AccessChain 17 303
+             906:   11(ivec2) Load 905
+             907:    117(ptr) AccessChain 17 116
+             908:     10(int) Load 907
+             909:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 906 25
+             910:     10(int) AtomicOr 909 28 25 908
+                              Store 126(out_u1) 910
+             911:    304(ptr) AccessChain 17 303
+             912:   11(ivec2) Load 911
+             913:    117(ptr) AccessChain 17 116
+             914:     10(int) Load 913
+             915:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 912 25
+             916:     10(int) AtomicXor 915 28 25 914
+             917:    304(ptr) AccessChain 17 303
+             918:   11(ivec2) Load 917
+             919:    117(ptr) AccessChain 17 116
+             920:     10(int) Load 919
+             921:    122(ptr) ImageTexelPointer 664(g_tTex1du1a) 918 25
+             922:     10(int) AtomicXor 921 28 25 920
+                              Store 126(out_u1) 922
+             926:     19(ptr) AccessChain 17 18
+             927:      6(int) Load 926
+             928:     19(ptr) AccessChain 17 22
+             929:      6(int) Load 928
+             930:     26(ptr) ImageTexelPointer 925(g_tBuffI) 927 25
+             931:      6(int) AtomicIAdd 930 28 25 929
+             932:     19(ptr) AccessChain 17 18
+             933:      6(int) Load 932
+             934:     19(ptr) AccessChain 17 18
+             935:      6(int) Load 934
+             936:     26(ptr) ImageTexelPointer 925(g_tBuffI) 933 25
+             937:      6(int) AtomicIAdd 936 28 25 935
+                              Store 31(out_i1) 937
+             938:     19(ptr) AccessChain 17 18
+             939:      6(int) Load 938
+             940:     19(ptr) AccessChain 17 22
+             941:      6(int) Load 940
+             942:     26(ptr) ImageTexelPointer 925(g_tBuffI) 939 25
+             943:      6(int) AtomicAnd 942 28 25 941
+             944:     19(ptr) AccessChain 17 18
+             945:      6(int) Load 944
+             946:     19(ptr) AccessChain 17 18
+             947:      6(int) Load 946
+             948:     26(ptr) ImageTexelPointer 925(g_tBuffI) 945 25
+             949:      6(int) AtomicAnd 948 28 25 947
+                              Store 31(out_i1) 949
+             950:     19(ptr) AccessChain 17 18
+             951:      6(int) Load 950
+             952:     19(ptr) AccessChain 17 22
+             953:      6(int) Load 952
+             954:     19(ptr) AccessChain 17 54
+             955:      6(int) Load 954
+             956:     26(ptr) ImageTexelPointer 925(g_tBuffI) 951 25
+             957:      6(int) AtomicCompareExchange 956 28 25 25 955 953
+                              Store 31(out_i1) 957
+             958:     19(ptr) AccessChain 17 18
+             959:      6(int) Load 958
+             960:     19(ptr) AccessChain 17 18
+             961:      6(int) Load 960
+             962:     26(ptr) ImageTexelPointer 925(g_tBuffI) 959 25
+             963:      6(int) AtomicExchange 962 28 25 961
+                              Store 31(out_i1) 963
+             964:     19(ptr) AccessChain 17 18
+             965:      6(int) Load 964
+             966:     19(ptr) AccessChain 17 22
+             967:      6(int) Load 966
+             968:     26(ptr) ImageTexelPointer 925(g_tBuffI) 965 25
+             969:      6(int) AtomicSMax 968 28 25 967
+             970:     19(ptr) AccessChain 17 18
+             971:      6(int) Load 970
+             972:     19(ptr) AccessChain 17 18
+             973:      6(int) Load 972
+             974:     26(ptr) ImageTexelPointer 925(g_tBuffI) 971 25
+             975:      6(int) AtomicSMax 974 28 25 973
+                              Store 31(out_i1) 975
+             976:     19(ptr) AccessChain 17 18
+             977:      6(int) Load 976
+             978:     19(ptr) AccessChain 17 22
+             979:      6(int) Load 978
+             980:     26(ptr) ImageTexelPointer 925(g_tBuffI) 977 25
+             981:      6(int) AtomicSMin 980 28 25 979
+             982:     19(ptr) AccessChain 17 18
+             983:      6(int) Load 982
+             984:     19(ptr) AccessChain 17 18
+             985:      6(int) Load 984
+             986:     26(ptr) ImageTexelPointer 925(g_tBuffI) 983 25
+             987:      6(int) AtomicSMin 986 28 25 985
+                              Store 31(out_i1) 987
+             988:     19(ptr) AccessChain 17 18
+             989:      6(int) Load 988
+             990:     19(ptr) AccessChain 17 22
+             991:      6(int) Load 990
+             992:     26(ptr) ImageTexelPointer 925(g_tBuffI) 989 25
+             993:      6(int) AtomicOr 992 28 25 991
+             994:     19(ptr) AccessChain 17 18
+             995:      6(int) Load 994
+             996:     19(ptr) AccessChain 17 18
+             997:      6(int) Load 996
+             998:     26(ptr) ImageTexelPointer 925(g_tBuffI) 995 25
+             999:      6(int) AtomicOr 998 28 25 997
+                              Store 31(out_i1) 999
+            1000:     19(ptr) AccessChain 17 18
+            1001:      6(int) Load 1000
+            1002:     19(ptr) AccessChain 17 22
+            1003:      6(int) Load 1002
+            1004:     26(ptr) ImageTexelPointer 925(g_tBuffI) 1001 25
+            1005:      6(int) AtomicXor 1004 28 25 1003
+            1006:     19(ptr) AccessChain 17 18
+            1007:      6(int) Load 1006
+            1008:     19(ptr) AccessChain 17 18
+            1009:      6(int) Load 1008
+            1010:     26(ptr) ImageTexelPointer 925(g_tBuffI) 1007 25
+            1011:      6(int) AtomicXor 1010 28 25 1009
+                              Store 31(out_i1) 1011
+            1015:    117(ptr) AccessChain 17 116
+            1016:     10(int) Load 1015
+            1017:    117(ptr) AccessChain 17 116
+            1018:     10(int) Load 1017
+            1019:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1016 25
+            1020:     10(int) AtomicIAdd 1019 28 25 1018
+            1021:    117(ptr) AccessChain 17 116
+            1022:     10(int) Load 1021
+            1023:    117(ptr) AccessChain 17 116
+            1024:     10(int) Load 1023
+            1025:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1022 25
+            1026:     10(int) AtomicIAdd 1025 28 25 1024
+                              Store 126(out_u1) 1026
+            1027:    117(ptr) AccessChain 17 116
+            1028:     10(int) Load 1027
+            1029:    117(ptr) AccessChain 17 116
+            1030:     10(int) Load 1029
+            1031:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1028 25
+            1032:     10(int) AtomicAnd 1031 28 25 1030
+            1033:    117(ptr) AccessChain 17 116
+            1034:     10(int) Load 1033
+            1035:    117(ptr) AccessChain 17 116
+            1036:     10(int) Load 1035
+            1037:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1034 25
+            1038:     10(int) AtomicAnd 1037 28 25 1036
+                              Store 126(out_u1) 1038
+            1039:    117(ptr) AccessChain 17 116
+            1040:     10(int) Load 1039
+            1041:    117(ptr) AccessChain 17 147
+            1042:     10(int) Load 1041
+            1043:    117(ptr) AccessChain 17 150
+            1044:     10(int) Load 1043
+            1045:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1040 25
+            1046:     10(int) AtomicCompareExchange 1045 28 25 25 1044 1042
+                              Store 126(out_u1) 1046
+            1047:    117(ptr) AccessChain 17 116
+            1048:     10(int) Load 1047
+            1049:    117(ptr) AccessChain 17 116
+            1050:     10(int) Load 1049
+            1051:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1048 25
+            1052:     10(int) AtomicExchange 1051 28 25 1050
+                              Store 126(out_u1) 1052
+            1053:    117(ptr) AccessChain 17 116
+            1054:     10(int) Load 1053
+            1055:    117(ptr) AccessChain 17 116
+            1056:     10(int) Load 1055
+            1057:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1054 25
+            1058:     10(int) AtomicUMax 1057 28 25 1056
+            1059:    117(ptr) AccessChain 17 116
+            1060:     10(int) Load 1059
+            1061:    117(ptr) AccessChain 17 116
+            1062:     10(int) Load 1061
+            1063:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1060 25
+            1064:     10(int) AtomicUMax 1063 28 25 1062
+                              Store 126(out_u1) 1064
+            1065:    117(ptr) AccessChain 17 116
+            1066:     10(int) Load 1065
+            1067:    117(ptr) AccessChain 17 116
+            1068:     10(int) Load 1067
+            1069:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1066 25
+            1070:     10(int) AtomicUMin 1069 28 25 1068
+            1071:    117(ptr) AccessChain 17 116
+            1072:     10(int) Load 1071
+            1073:    117(ptr) AccessChain 17 116
+            1074:     10(int) Load 1073
+            1075:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1072 25
+            1076:     10(int) AtomicUMin 1075 28 25 1074
+                              Store 126(out_u1) 1076
+            1077:    117(ptr) AccessChain 17 116
+            1078:     10(int) Load 1077
+            1079:    117(ptr) AccessChain 17 116
+            1080:     10(int) Load 1079
+            1081:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1078 25
+            1082:     10(int) AtomicOr 1081 28 25 1080
+            1083:    117(ptr) AccessChain 17 116
+            1084:     10(int) Load 1083
+            1085:    117(ptr) AccessChain 17 116
+            1086:     10(int) Load 1085
+            1087:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1084 25
+            1088:     10(int) AtomicOr 1087 28 25 1086
+                              Store 126(out_u1) 1088
+            1089:    117(ptr) AccessChain 17 116
+            1090:     10(int) Load 1089
+            1091:    117(ptr) AccessChain 17 116
+            1092:     10(int) Load 1091
+            1093:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1090 25
+            1094:     10(int) AtomicXor 1093 28 25 1092
+            1095:    117(ptr) AccessChain 17 116
+            1096:     10(int) Load 1095
+            1097:    117(ptr) AccessChain 17 116
+            1098:     10(int) Load 1097
+            1099:    122(ptr) ImageTexelPointer 1014(g_tBuffU) 1096 25
+            1100:     10(int) AtomicXor 1099 28 25 1098
+                              Store 126(out_u1) 1100
+            1109:   1108(ptr) AccessChain 1105(psout) 116
+                              Store 1109 1107
+            1112:   1108(ptr) AccessChain 1105(psout) 116
+            1113: 1102(fvec4) Load 1112
+                              Store 1111(Color) 1113
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index c6e3c89..31ed4a9 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -847,6 +847,7 @@
 0:139                0 (const int)
 0:139        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -863,8 +864,7 @@
 0:?     'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
 
 
 Linked fragment stage:
@@ -1718,6 +1718,7 @@
 0:139                0 (const int)
 0:139        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 rgba32f ) uniform image1D)
 0:?     'g_tTex1di4' (layout(rgba32i ) uniform iimage1D)
@@ -1734,8 +1735,7 @@
 0:?     'g_tTex2df4a' (layout(rgba32f ) uniform image2DArray)
 0:?     'g_tTex2di4a' (layout(rgba32i ) uniform iimage2DArray)
 0:?     'g_tTex2du4a' (layout(rgba32ui ) uniform uimage2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 4-component vector of float uf4, layout(offset=112 ) uniform 4-component vector of int ui4, layout(offset=128 ) uniform 4-component vector of uint uu4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out
new file mode 100644
index 0000000..f369cac
--- /dev/null
+++ b/Test/baseResults/hlsl.rw.register.frag.out
@@ -0,0 +1,158 @@
+hlsl.rw.register.frag
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:11  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:11    Function Parameters: 
+0:?     Sequence
+0:12      Sequence
+0:12        move second child to first child (temp float)
+0:12          'r00' (temp float)
+0:12          imageLoad (temp float)
+0:12            'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
+0:12            Constant:
+0:12              0 (const int)
+0:13      Sequence
+0:13        move second child to first child (temp uint)
+0:13          'r01' (temp uint)
+0:13          imageLoad (temp uint)
+0:13            'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
+0:13            Constant:
+0:13              0 (const int)
+0:16      move second child to first child (temp 4-component vector of float)
+0:16        Color: direct index for structure (temp 4-component vector of float)
+0:16          'psout' (temp structure{temp 4-component vector of float Color})
+0:16          Constant:
+0:16            0 (const int)
+0:16        Constant:
+0:16          1.000000
+0:16          1.000000
+0:16          1.000000
+0:16          1.000000
+0:17      Sequence
+0:17        Sequence
+0:17          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:17            Color: direct index for structure (temp 4-component vector of float)
+0:17              'psout' (temp structure{temp 4-component vector of float Color})
+0:17              Constant:
+0:17                0 (const int)
+0:17        Branch: Return
+0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
+0:?     'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
+
+
+Linked fragment stage:
+
+
+Shader version: 450
+gl_FragCoord origin is upper left
+0:? Sequence
+0:11  Function Definition: main( (temp structure{temp 4-component vector of float Color})
+0:11    Function Parameters: 
+0:?     Sequence
+0:12      Sequence
+0:12        move second child to first child (temp float)
+0:12          'r00' (temp float)
+0:12          imageLoad (temp float)
+0:12            'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
+0:12            Constant:
+0:12              0 (const int)
+0:13      Sequence
+0:13        move second child to first child (temp uint)
+0:13          'r01' (temp uint)
+0:13          imageLoad (temp uint)
+0:13            'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
+0:13            Constant:
+0:13              0 (const int)
+0:16      move second child to first child (temp 4-component vector of float)
+0:16        Color: direct index for structure (temp 4-component vector of float)
+0:16          'psout' (temp structure{temp 4-component vector of float Color})
+0:16          Constant:
+0:16            0 (const int)
+0:16        Constant:
+0:16          1.000000
+0:16          1.000000
+0:16          1.000000
+0:16          1.000000
+0:17      Sequence
+0:17        Sequence
+0:17          move second child to first child (temp 4-component vector of float)
+0:?             'Color' (layout(location=0 ) out 4-component vector of float)
+0:17            Color: direct index for structure (temp 4-component vector of float)
+0:17              'psout' (temp structure{temp 4-component vector of float Color})
+0:17              Constant:
+0:17                0 (const int)
+0:17        Branch: Return
+0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'g_tTex1df1' (layout(binding=2 r32f ) uniform image1D)
+0:?     'g_tBuf1du1' (layout(binding=3 r32ui ) uniform uimageBuffer)
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 37
+
+                              Capability Shader
+                              Capability Sampled1D
+                              Capability SampledBuffer
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 33
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "r00"
+                              Name 11  "g_tTex1df1"
+                              Name 18  "r01"
+                              Name 21  "g_tBuf1du1"
+                              Name 25  "PS_OUTPUT"
+                              MemberName 25(PS_OUTPUT) 0  "Color"
+                              Name 27  "psout"
+                              Name 33  "Color"
+                              Decorate 11(g_tTex1df1) DescriptorSet 0
+                              Decorate 11(g_tTex1df1) Binding 2
+                              Decorate 21(g_tBuf1du1) DescriptorSet 0
+                              Decorate 21(g_tBuf1du1) Binding 3
+                              Decorate 33(Color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+               9:             TypeImage 6(float) 1D nonsampled format:R32f
+              10:             TypePointer UniformConstant 9
+  11(g_tTex1df1):     10(ptr) Variable UniformConstant
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              16:             TypeInt 32 0
+              17:             TypePointer Function 16(int)
+              19:             TypeImage 16(int) Buffer nonsampled format:R32ui
+              20:             TypePointer UniformConstant 19
+  21(g_tBuf1du1):     20(ptr) Variable UniformConstant
+              24:             TypeVector 6(float) 4
+   25(PS_OUTPUT):             TypeStruct 24(fvec4)
+              26:             TypePointer Function 25(PS_OUTPUT)
+              28:    6(float) Constant 1065353216
+              29:   24(fvec4) ConstantComposite 28 28 28 28
+              30:             TypePointer Function 24(fvec4)
+              32:             TypePointer Output 24(fvec4)
+       33(Color):     32(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+          8(r00):      7(ptr) Variable Function
+         18(r01):     17(ptr) Variable Function
+       27(psout):     26(ptr) Variable Function
+              12:           9 Load 11(g_tTex1df1)
+              15:    6(float) ImageRead 12 14
+                              Store 8(r00) 15
+              22:          19 Load 21(g_tBuf1du1)
+              23:     16(int) ImageRead 22 14
+                              Store 18(r01) 23
+              31:     30(ptr) AccessChain 27(psout) 14
+                              Store 31 29
+              34:     30(ptr) AccessChain 27(psout) 14
+              35:   24(fvec4) Load 34
+                              Store 33(Color) 35
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 904c2da..8e40fd2 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -820,6 +820,7 @@
 0:139                0 (const int)
 0:139        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df1' (layout(r32f ) uniform image1D)
 0:?     'g_tTex1di1' (layout(r32i ) uniform iimage1D)
@@ -836,8 +837,7 @@
 0:?     'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
 0:?     'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
 0:?     'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
 
 
 Linked fragment stage:
@@ -1664,6 +1664,7 @@
 0:139                0 (const int)
 0:139        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df1' (layout(r32f ) uniform image1D)
 0:?     'g_tTex1di1' (layout(r32i ) uniform iimage1D)
@@ -1680,8 +1681,7 @@
 0:?     'g_tTex2df1a' (layout(r32f ) uniform image2DArray)
 0:?     'g_tTex2di1a' (layout(r32i ) uniform iimage2DArray)
 0:?     'g_tTex2du1a' (layout(r32ui ) uniform uimage2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform float uf1, layout(offset=100 ) uniform int ui1, layout(offset=104 ) uniform uint uu1})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index b8452c3..7ca7e3e 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -829,6 +829,7 @@
 0:139                0 (const int)
 0:139        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df2' (layout(rg32f ) uniform image1D)
 0:?     'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
@@ -845,8 +846,7 @@
 0:?     'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
 0:?     'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
 0:?     'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
 
 
 Linked fragment stage:
@@ -1682,6 +1682,7 @@
 0:139                0 (const int)
 0:139        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df2' (layout(rg32f ) uniform image1D)
 0:?     'g_tTex1di2' (layout(rg32i ) uniform iimage1D)
@@ -1698,8 +1699,7 @@
 0:?     'g_tTex2df2a' (layout(rg32f ) uniform image2DArray)
 0:?     'g_tTex2di2a' (layout(rg32i ) uniform iimage2DArray)
 0:?     'g_tTex2du2a' (layout(rg32ui ) uniform uimage2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4, layout(offset=96 ) uniform 2-component vector of float uf2, layout(offset=104 ) uniform 2-component vector of int ui2, layout(offset=112 ) uniform 2-component vector of uint uu2})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index 6c6f187..f223e4b 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -137,6 +137,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -148,8 +150,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -293,6 +293,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -304,8 +306,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index de9a4f4..a222125 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -247,6 +247,8 @@
 0:89                1 (const int)
 0:89        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_sSamp2D_b' (uniform sampler)
@@ -263,8 +265,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -516,6 +516,8 @@
 0:89                1 (const int)
 0:89        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_sSamp2D_b' (uniform sampler)
@@ -532,8 +534,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index 67bf043..a148a86 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -155,6 +155,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -169,8 +171,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -332,6 +332,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -346,8 +348,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index 83a0e8b..abdf032 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -116,6 +116,8 @@
 0:36                1 (const int)
 0:36        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -124,8 +126,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -248,6 +248,8 @@
 0:36                1 (const int)
 0:36        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -256,8 +258,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
index 5a97ed9..bfbad5c 100644
--- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
@@ -64,12 +64,12 @@
 0:23                0 (const int)
 0:23        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df1' (uniform texture1D)
 0:?     'g_tTex1df2' (uniform texture1D)
 0:?     'g_tTex1df3' (uniform texture1D)
 0:?     'g_tTex1df4' (uniform texture1D)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 
 
 Linked fragment stage:
@@ -140,12 +140,12 @@
 0:23                0 (const int)
 0:23        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df1' (uniform texture1D)
 0:?     'g_tTex1df2' (uniform texture1D)
 0:?     'g_tTex1df3' (uniform texture1D)
 0:?     'g_tTex1df4' (uniform texture1D)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index b2b38b6..05ac32a 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -155,6 +155,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -166,8 +168,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -329,6 +329,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -340,8 +342,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index c794914..1442fc3 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -185,6 +185,8 @@
 0:50                1 (const int)
 0:50        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -199,8 +201,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -392,6 +392,8 @@
 0:50                1 (const int)
 0:50        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -406,8 +408,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 900eb4b..01facb6 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -173,6 +173,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -187,8 +189,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -368,6 +368,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -382,8 +384,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index bd21622..17aef7a 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -128,6 +128,8 @@
 0:36                1 (const int)
 0:36        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -136,8 +138,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -272,6 +272,8 @@
 0:36                1 (const int)
 0:36        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -280,8 +282,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index 05f53c7..c4f5d11 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r10' (temp float)
-0:42          texture (global float)
+0:42          texture (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -21,11 +21,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r12' (temp float)
-0:43          texture (global float)
+0:43          texture (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -34,11 +34,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r14' (temp float)
-0:44          texture (global float)
+0:44          texture (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -47,11 +47,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r30' (temp float)
-0:47          texture (global float)
+0:47          texture (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -61,11 +61,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r32' (temp float)
-0:48          texture (global float)
+0:48          texture (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -75,11 +75,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r34' (temp float)
-0:49          texture (global float)
+0:49          texture (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -89,11 +89,11 @@
 0:52      Sequence
 0:52        move second child to first child (temp float)
 0:52          'r60' (temp float)
-0:52          texture (global float)
+0:52          texture (temp float)
 0:52            Construct combined texture-sampler (temp samplerCubeArrayShadow)
 0:52              'g_tTexcdf4a' (uniform textureCubeArray)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:52            Construct vec4 (temp float)
+0:52            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -104,11 +104,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r62' (temp float)
-0:53          texture (global float)
+0:53          texture (temp float)
 0:53            Construct combined texture-sampler (temp isamplerCubeArrayShadow)
 0:53              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -119,11 +119,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r64' (temp float)
-0:54          texture (global float)
+0:54          texture (temp float)
 0:54            Construct combined texture-sampler (temp usamplerCubeArrayShadow)
 0:54              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -164,6 +164,8 @@
 0:59                1 (const int)
 0:59        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -186,8 +188,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -202,11 +202,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r10' (temp float)
-0:42          texture (global float)
+0:42          texture (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -215,11 +215,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r12' (temp float)
-0:43          texture (global float)
+0:43          texture (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -228,11 +228,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r14' (temp float)
-0:44          texture (global float)
+0:44          texture (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -241,11 +241,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r30' (temp float)
-0:47          texture (global float)
+0:47          texture (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -255,11 +255,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r32' (temp float)
-0:48          texture (global float)
+0:48          texture (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -269,11 +269,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r34' (temp float)
-0:49          texture (global float)
+0:49          texture (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -283,11 +283,11 @@
 0:52      Sequence
 0:52        move second child to first child (temp float)
 0:52          'r60' (temp float)
-0:52          texture (global float)
+0:52          texture (temp float)
 0:52            Construct combined texture-sampler (temp samplerCubeArrayShadow)
 0:52              'g_tTexcdf4a' (uniform textureCubeArray)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:52            Construct vec4 (temp float)
+0:52            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -298,11 +298,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r62' (temp float)
-0:53          texture (global float)
+0:53          texture (temp float)
 0:53            Construct combined texture-sampler (temp isamplerCubeArrayShadow)
 0:53              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -313,11 +313,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r64' (temp float)
-0:54          texture (global float)
+0:54          texture (temp float)
 0:54            Construct combined texture-sampler (temp usamplerCubeArrayShadow)
 0:54              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -358,6 +358,8 @@
 0:59                1 (const int)
 0:59        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -380,84 +382,82 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 184
+// Id's are bound by 211
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 140 144
+                              EntryPoint Fragment 4  "main" 167 171
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r10"
                               Name 11  "g_tTex1df4a"
                               Name 15  "g_sSamp"
-                              Name 28  "r12"
-                              Name 32  "g_tTex1di4a"
-                              Name 41  "r14"
-                              Name 45  "g_tTex1du4a"
-                              Name 54  "r30"
-                              Name 57  "g_tTex2df4a"
-                              Name 69  "r32"
-                              Name 72  "g_tTex2di4a"
-                              Name 81  "r34"
-                              Name 84  "g_tTex2du4a"
-                              Name 93  "r60"
-                              Name 96  "g_tTexcdf4a"
-                              Name 107  "r62"
-                              Name 110  "g_tTexcdi4a"
-                              Name 118  "r64"
-                              Name 121  "g_tTexcdu4a"
-                              Name 129  "PS_OUTPUT"
-                              MemberName 129(PS_OUTPUT) 0  "Color"
-                              MemberName 129(PS_OUTPUT) 1  "Depth"
-                              Name 131  "psout"
-                              Name 140  "Color"
-                              Name 144  "Depth"
-                              Name 150  "g_tTex1df4"
-                              Name 153  "g_tTex1di4"
-                              Name 156  "g_tTex1du4"
-                              Name 159  "g_tTex2df4"
-                              Name 162  "g_tTex2di4"
-                              Name 165  "g_tTex2du4"
-                              Name 168  "g_tTex3df4"
-                              Name 171  "g_tTex3di4"
-                              Name 174  "g_tTex3du4"
-                              Name 177  "g_tTexcdf4"
-                              Name 180  "g_tTexcdi4"
-                              Name 183  "g_tTexcdu4"
+                              Name 31  "r12"
+                              Name 35  "g_tTex1di4a"
+                              Name 46  "r14"
+                              Name 50  "g_tTex1du4a"
+                              Name 61  "r30"
+                              Name 64  "g_tTex2df4a"
+                              Name 79  "r32"
+                              Name 82  "g_tTex2di4a"
+                              Name 94  "r34"
+                              Name 97  "g_tTex2du4a"
+                              Name 109  "r60"
+                              Name 112  "g_tTexcdf4a"
+                              Name 126  "r62"
+                              Name 129  "g_tTexcdi4a"
+                              Name 141  "r64"
+                              Name 144  "g_tTexcdu4a"
+                              Name 156  "PS_OUTPUT"
+                              MemberName 156(PS_OUTPUT) 0  "Color"
+                              MemberName 156(PS_OUTPUT) 1  "Depth"
+                              Name 158  "psout"
+                              Name 167  "Color"
+                              Name 171  "Depth"
+                              Name 177  "g_tTex1df4"
+                              Name 180  "g_tTex1di4"
+                              Name 183  "g_tTex1du4"
+                              Name 186  "g_tTex2df4"
+                              Name 189  "g_tTex2di4"
+                              Name 192  "g_tTex2du4"
+                              Name 195  "g_tTex3df4"
+                              Name 198  "g_tTex3di4"
+                              Name 201  "g_tTex3du4"
+                              Name 204  "g_tTexcdf4"
+                              Name 207  "g_tTexcdi4"
+                              Name 210  "g_tTexcdu4"
                               Decorate 11(g_tTex1df4a) DescriptorSet 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 32(g_tTex1di4a) DescriptorSet 0
-                              Decorate 45(g_tTex1du4a) DescriptorSet 0
-                              Decorate 57(g_tTex2df4a) DescriptorSet 0
-                              Decorate 72(g_tTex2di4a) DescriptorSet 0
-                              Decorate 84(g_tTex2du4a) DescriptorSet 0
-                              Decorate 96(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 110(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 121(g_tTexcdu4a) DescriptorSet 0
-                              Decorate 140(Color) Location 0
-                              Decorate 144(Depth) BuiltIn FragDepth
-                              Decorate 150(g_tTex1df4) DescriptorSet 0
-                              Decorate 150(g_tTex1df4) Binding 0
-                              Decorate 153(g_tTex1di4) DescriptorSet 0
-                              Decorate 156(g_tTex1du4) DescriptorSet 0
-                              Decorate 159(g_tTex2df4) DescriptorSet 0
-                              Decorate 162(g_tTex2di4) DescriptorSet 0
-                              Decorate 165(g_tTex2du4) DescriptorSet 0
-                              Decorate 168(g_tTex3df4) DescriptorSet 0
-                              Decorate 171(g_tTex3di4) DescriptorSet 0
-                              Decorate 174(g_tTex3du4) DescriptorSet 0
-                              Decorate 177(g_tTexcdf4) DescriptorSet 0
-                              Decorate 180(g_tTexcdi4) DescriptorSet 0
-                              Decorate 183(g_tTexcdu4) DescriptorSet 0
+                              Decorate 35(g_tTex1di4a) DescriptorSet 0
+                              Decorate 50(g_tTex1du4a) DescriptorSet 0
+                              Decorate 64(g_tTex2df4a) DescriptorSet 0
+                              Decorate 82(g_tTex2di4a) DescriptorSet 0
+                              Decorate 97(g_tTex2du4a) DescriptorSet 0
+                              Decorate 112(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 129(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 144(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 167(Color) Location 0
+                              Decorate 171(Depth) BuiltIn FragDepth
+                              Decorate 177(g_tTex1df4) DescriptorSet 0
+                              Decorate 177(g_tTex1df4) Binding 0
+                              Decorate 180(g_tTex1di4) DescriptorSet 0
+                              Decorate 183(g_tTex1du4) DescriptorSet 0
+                              Decorate 186(g_tTex2df4) DescriptorSet 0
+                              Decorate 189(g_tTex2di4) DescriptorSet 0
+                              Decorate 192(g_tTex2du4) DescriptorSet 0
+                              Decorate 195(g_tTex3df4) DescriptorSet 0
+                              Decorate 198(g_tTex3di4) DescriptorSet 0
+                              Decorate 201(g_tTex3du4) DescriptorSet 0
+                              Decorate 204(g_tTexcdf4) DescriptorSet 0
+                              Decorate 207(g_tTexcdi4) DescriptorSet 0
+                              Decorate 210(g_tTexcdu4) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -475,182 +475,209 @@
               22:    6(float) Constant 1045220557
               23:   20(fvec2) ConstantComposite 21 22
               24:    6(float) Constant 1061158912
-              29:             TypeInt 32 1
-              30:             TypeImage 29(int) 1D array sampled format:Unknown
-              31:             TypePointer UniformConstant 30
- 32(g_tTex1di4a):     31(ptr) Variable UniformConstant
-              35:             TypeImage 29(int) 1D depth array sampled format:Unknown
-              36:             TypeSampledImage 35
-              42:             TypeInt 32 0
-              43:             TypeImage 42(int) 1D array sampled format:Unknown
-              44:             TypePointer UniformConstant 43
- 45(g_tTex1du4a):     44(ptr) Variable UniformConstant
-              48:             TypeImage 42(int) 1D depth array sampled format:Unknown
-              49:             TypeSampledImage 48
-              55:             TypeImage 6(float) 2D array sampled format:Unknown
-              56:             TypePointer UniformConstant 55
- 57(g_tTex2df4a):     56(ptr) Variable UniformConstant
-              60:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              61:             TypeSampledImage 60
-              63:             TypeVector 6(float) 3
-              64:    6(float) Constant 1050253722
-              65:   63(fvec3) ConstantComposite 21 22 64
-              70:             TypeImage 29(int) 2D array sampled format:Unknown
-              71:             TypePointer UniformConstant 70
- 72(g_tTex2di4a):     71(ptr) Variable UniformConstant
-              75:             TypeImage 29(int) 2D depth array sampled format:Unknown
-              76:             TypeSampledImage 75
-              82:             TypeImage 42(int) 2D array sampled format:Unknown
-              83:             TypePointer UniformConstant 82
- 84(g_tTex2du4a):     83(ptr) Variable UniformConstant
-              87:             TypeImage 42(int) 2D depth array sampled format:Unknown
-              88:             TypeSampledImage 87
-              94:             TypeImage 6(float) Cube array sampled format:Unknown
-              95:             TypePointer UniformConstant 94
- 96(g_tTexcdf4a):     95(ptr) Variable UniformConstant
-              99:             TypeImage 6(float) Cube depth array sampled format:Unknown
-             100:             TypeSampledImage 99
-             102:             TypeVector 6(float) 4
-             103:    6(float) Constant 1053609165
-             104:  102(fvec4) ConstantComposite 21 22 64 103
-             108:             TypeImage 29(int) Cube array sampled format:Unknown
-             109:             TypePointer UniformConstant 108
-110(g_tTexcdi4a):    109(ptr) Variable UniformConstant
-             113:             TypeImage 29(int) Cube depth array sampled format:Unknown
-             114:             TypeSampledImage 113
-             119:             TypeImage 42(int) Cube array sampled format:Unknown
-             120:             TypePointer UniformConstant 119
-121(g_tTexcdu4a):    120(ptr) Variable UniformConstant
-             124:             TypeImage 42(int) Cube depth array sampled format:Unknown
-             125:             TypeSampledImage 124
-  129(PS_OUTPUT):             TypeStruct 102(fvec4) 6(float)
-             130:             TypePointer Function 129(PS_OUTPUT)
-             132:     29(int) Constant 0
-             133:    6(float) Constant 1065353216
-             134:  102(fvec4) ConstantComposite 133 133 133 133
-             135:             TypePointer Function 102(fvec4)
-             137:     29(int) Constant 1
-             139:             TypePointer Output 102(fvec4)
-      140(Color):    139(ptr) Variable Output
-             143:             TypePointer Output 6(float)
-      144(Depth):    143(ptr) Variable Output
-             148:             TypeImage 6(float) 1D sampled format:Unknown
-             149:             TypePointer UniformConstant 148
- 150(g_tTex1df4):    149(ptr) Variable UniformConstant
-             151:             TypeImage 29(int) 1D sampled format:Unknown
-             152:             TypePointer UniformConstant 151
- 153(g_tTex1di4):    152(ptr) Variable UniformConstant
-             154:             TypeImage 42(int) 1D sampled format:Unknown
-             155:             TypePointer UniformConstant 154
- 156(g_tTex1du4):    155(ptr) Variable UniformConstant
-             157:             TypeImage 6(float) 2D sampled format:Unknown
-             158:             TypePointer UniformConstant 157
- 159(g_tTex2df4):    158(ptr) Variable UniformConstant
-             160:             TypeImage 29(int) 2D sampled format:Unknown
-             161:             TypePointer UniformConstant 160
- 162(g_tTex2di4):    161(ptr) Variable UniformConstant
-             163:             TypeImage 42(int) 2D sampled format:Unknown
-             164:             TypePointer UniformConstant 163
- 165(g_tTex2du4):    164(ptr) Variable UniformConstant
-             166:             TypeImage 6(float) 3D sampled format:Unknown
-             167:             TypePointer UniformConstant 166
- 168(g_tTex3df4):    167(ptr) Variable UniformConstant
-             169:             TypeImage 29(int) 3D sampled format:Unknown
-             170:             TypePointer UniformConstant 169
- 171(g_tTex3di4):    170(ptr) Variable UniformConstant
-             172:             TypeImage 42(int) 3D sampled format:Unknown
-             173:             TypePointer UniformConstant 172
- 174(g_tTex3du4):    173(ptr) Variable UniformConstant
-             175:             TypeImage 6(float) Cube sampled format:Unknown
+              25:             TypeVector 6(float) 3
+              32:             TypeInt 32 1
+              33:             TypeImage 32(int) 1D array sampled format:Unknown
+              34:             TypePointer UniformConstant 33
+ 35(g_tTex1di4a):     34(ptr) Variable UniformConstant
+              38:             TypeImage 32(int) 1D depth array sampled format:Unknown
+              39:             TypeSampledImage 38
+              47:             TypeInt 32 0
+              48:             TypeImage 47(int) 1D array sampled format:Unknown
+              49:             TypePointer UniformConstant 48
+ 50(g_tTex1du4a):     49(ptr) Variable UniformConstant
+              53:             TypeImage 47(int) 1D depth array sampled format:Unknown
+              54:             TypeSampledImage 53
+              62:             TypeImage 6(float) 2D array sampled format:Unknown
+              63:             TypePointer UniformConstant 62
+ 64(g_tTex2df4a):     63(ptr) Variable UniformConstant
+              67:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              68:             TypeSampledImage 67
+              70:    6(float) Constant 1050253722
+              71:   25(fvec3) ConstantComposite 21 22 70
+              72:             TypeVector 6(float) 4
+              80:             TypeImage 32(int) 2D array sampled format:Unknown
+              81:             TypePointer UniformConstant 80
+ 82(g_tTex2di4a):     81(ptr) Variable UniformConstant
+              85:             TypeImage 32(int) 2D depth array sampled format:Unknown
+              86:             TypeSampledImage 85
+              95:             TypeImage 47(int) 2D array sampled format:Unknown
+              96:             TypePointer UniformConstant 95
+ 97(g_tTex2du4a):     96(ptr) Variable UniformConstant
+             100:             TypeImage 47(int) 2D depth array sampled format:Unknown
+             101:             TypeSampledImage 100
+             110:             TypeImage 6(float) Cube array sampled format:Unknown
+             111:             TypePointer UniformConstant 110
+112(g_tTexcdf4a):    111(ptr) Variable UniformConstant
+             115:             TypeImage 6(float) Cube depth array sampled format:Unknown
+             116:             TypeSampledImage 115
+             118:    6(float) Constant 1053609165
+             119:   72(fvec4) ConstantComposite 21 22 70 118
+             127:             TypeImage 32(int) Cube array sampled format:Unknown
+             128:             TypePointer UniformConstant 127
+129(g_tTexcdi4a):    128(ptr) Variable UniformConstant
+             132:             TypeImage 32(int) Cube depth array sampled format:Unknown
+             133:             TypeSampledImage 132
+             142:             TypeImage 47(int) Cube array sampled format:Unknown
+             143:             TypePointer UniformConstant 142
+144(g_tTexcdu4a):    143(ptr) Variable UniformConstant
+             147:             TypeImage 47(int) Cube depth array sampled format:Unknown
+             148:             TypeSampledImage 147
+  156(PS_OUTPUT):             TypeStruct 72(fvec4) 6(float)
+             157:             TypePointer Function 156(PS_OUTPUT)
+             159:     32(int) Constant 0
+             160:    6(float) Constant 1065353216
+             161:   72(fvec4) ConstantComposite 160 160 160 160
+             162:             TypePointer Function 72(fvec4)
+             164:     32(int) Constant 1
+             166:             TypePointer Output 72(fvec4)
+      167(Color):    166(ptr) Variable Output
+             170:             TypePointer Output 6(float)
+      171(Depth):    170(ptr) Variable Output
+             175:             TypeImage 6(float) 1D sampled format:Unknown
              176:             TypePointer UniformConstant 175
- 177(g_tTexcdf4):    176(ptr) Variable UniformConstant
-             178:             TypeImage 29(int) Cube sampled format:Unknown
+ 177(g_tTex1df4):    176(ptr) Variable UniformConstant
+             178:             TypeImage 32(int) 1D sampled format:Unknown
              179:             TypePointer UniformConstant 178
- 180(g_tTexcdi4):    179(ptr) Variable UniformConstant
-             181:             TypeImage 42(int) Cube sampled format:Unknown
+ 180(g_tTex1di4):    179(ptr) Variable UniformConstant
+             181:             TypeImage 47(int) 1D sampled format:Unknown
              182:             TypePointer UniformConstant 181
- 183(g_tTexcdu4):    182(ptr) Variable UniformConstant
+ 183(g_tTex1du4):    182(ptr) Variable UniformConstant
+             184:             TypeImage 6(float) 2D sampled format:Unknown
+             185:             TypePointer UniformConstant 184
+ 186(g_tTex2df4):    185(ptr) Variable UniformConstant
+             187:             TypeImage 32(int) 2D sampled format:Unknown
+             188:             TypePointer UniformConstant 187
+ 189(g_tTex2di4):    188(ptr) Variable UniformConstant
+             190:             TypeImage 47(int) 2D sampled format:Unknown
+             191:             TypePointer UniformConstant 190
+ 192(g_tTex2du4):    191(ptr) Variable UniformConstant
+             193:             TypeImage 6(float) 3D sampled format:Unknown
+             194:             TypePointer UniformConstant 193
+ 195(g_tTex3df4):    194(ptr) Variable UniformConstant
+             196:             TypeImage 32(int) 3D sampled format:Unknown
+             197:             TypePointer UniformConstant 196
+ 198(g_tTex3di4):    197(ptr) Variable UniformConstant
+             199:             TypeImage 47(int) 3D sampled format:Unknown
+             200:             TypePointer UniformConstant 199
+ 201(g_tTex3du4):    200(ptr) Variable UniformConstant
+             202:             TypeImage 6(float) Cube sampled format:Unknown
+             203:             TypePointer UniformConstant 202
+ 204(g_tTexcdf4):    203(ptr) Variable UniformConstant
+             205:             TypeImage 32(int) Cube sampled format:Unknown
+             206:             TypePointer UniformConstant 205
+ 207(g_tTexcdi4):    206(ptr) Variable UniformConstant
+             208:             TypeImage 47(int) Cube sampled format:Unknown
+             209:             TypePointer UniformConstant 208
+ 210(g_tTexcdu4):    209(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r10):      7(ptr) Variable Function
-         28(r12):      7(ptr) Variable Function
-         41(r14):      7(ptr) Variable Function
-         54(r30):      7(ptr) Variable Function
-         69(r32):      7(ptr) Variable Function
-         81(r34):      7(ptr) Variable Function
-         93(r60):      7(ptr) Variable Function
-        107(r62):      7(ptr) Variable Function
-        118(r64):      7(ptr) Variable Function
-      131(psout):    130(ptr) Variable Function
+         31(r12):      7(ptr) Variable Function
+         46(r14):      7(ptr) Variable Function
+         61(r30):      7(ptr) Variable Function
+         79(r32):      7(ptr) Variable Function
+         94(r34):      7(ptr) Variable Function
+        109(r60):      7(ptr) Variable Function
+        126(r62):      7(ptr) Variable Function
+        141(r64):      7(ptr) Variable Function
+      158(psout):    157(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4a)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              25:    6(float) CompositeExtract 23 0
-              26:    6(float) CompositeExtract 25 0
-              27:    6(float) ImageSampleDrefImplicitLod 19 25 26
-                              Store 8(r10) 27
-              33:          30 Load 32(g_tTex1di4a)
-              34:          13 Load 15(g_sSamp)
-              37:          36 SampledImage 33 34
-              38:    6(float) CompositeExtract 23 0
-              39:    6(float) CompositeExtract 38 0
-              40:    6(float) ImageSampleDrefImplicitLod 37 38 39
-                              Store 28(r12) 40
-              46:          43 Load 45(g_tTex1du4a)
-              47:          13 Load 15(g_sSamp)
-              50:          49 SampledImage 46 47
-              51:    6(float) CompositeExtract 23 0
-              52:    6(float) CompositeExtract 51 0
-              53:    6(float) ImageSampleDrefImplicitLod 50 51 52
-                              Store 41(r14) 53
-              58:          55 Load 57(g_tTex2df4a)
-              59:          13 Load 15(g_sSamp)
-              62:          61 SampledImage 58 59
-              66:    6(float) CompositeExtract 65 0
-              67:    6(float) CompositeExtract 66 0
-              68:    6(float) ImageSampleDrefImplicitLod 62 66 67
-                              Store 54(r30) 68
-              73:          70 Load 72(g_tTex2di4a)
-              74:          13 Load 15(g_sSamp)
-              77:          76 SampledImage 73 74
-              78:    6(float) CompositeExtract 65 0
-              79:    6(float) CompositeExtract 78 0
-              80:    6(float) ImageSampleDrefImplicitLod 77 78 79
-                              Store 69(r32) 80
-              85:          82 Load 84(g_tTex2du4a)
-              86:          13 Load 15(g_sSamp)
-              89:          88 SampledImage 85 86
-              90:    6(float) CompositeExtract 65 0
-              91:    6(float) CompositeExtract 90 0
-              92:    6(float) ImageSampleDrefImplicitLod 89 90 91
-                              Store 81(r34) 92
-              97:          94 Load 96(g_tTexcdf4a)
-              98:          13 Load 15(g_sSamp)
-             101:         100 SampledImage 97 98
-             105:    6(float) CompositeExtract 104 0
-             106:    6(float) ImageSampleDrefImplicitLod 101 105 24
-                              Store 93(r60) 106
-             111:         108 Load 110(g_tTexcdi4a)
-             112:          13 Load 15(g_sSamp)
-             115:         114 SampledImage 111 112
-             116:    6(float) CompositeExtract 104 0
-             117:    6(float) ImageSampleDrefImplicitLod 115 116 24
-                              Store 107(r62) 117
-             122:         119 Load 121(g_tTexcdu4a)
-             123:          13 Load 15(g_sSamp)
-             126:         125 SampledImage 122 123
-             127:    6(float) CompositeExtract 104 0
-             128:    6(float) ImageSampleDrefImplicitLod 126 127 24
-                              Store 118(r64) 128
-             136:    135(ptr) AccessChain 131(psout) 132
-                              Store 136 134
-             138:      7(ptr) AccessChain 131(psout) 137
-                              Store 138 133
-             141:    135(ptr) AccessChain 131(psout) 132
-             142:  102(fvec4) Load 141
-                              Store 140(Color) 142
-             145:      7(ptr) AccessChain 131(psout) 137
-             146:    6(float) Load 145
-                              Store 144(Depth) 146
+              26:    6(float) CompositeExtract 23 0
+              27:    6(float) CompositeExtract 23 1
+              28:   25(fvec3) CompositeConstruct 26 27 24
+              29:    6(float) CompositeExtract 28 2
+              30:    6(float) ImageSampleDrefImplicitLod 19 28 29
+                              Store 8(r10) 30
+              36:          33 Load 35(g_tTex1di4a)
+              37:          13 Load 15(g_sSamp)
+              40:          39 SampledImage 36 37
+              41:    6(float) CompositeExtract 23 0
+              42:    6(float) CompositeExtract 23 1
+              43:   25(fvec3) CompositeConstruct 41 42 24
+              44:    6(float) CompositeExtract 43 2
+              45:    6(float) ImageSampleDrefImplicitLod 40 43 44
+                              Store 31(r12) 45
+              51:          48 Load 50(g_tTex1du4a)
+              52:          13 Load 15(g_sSamp)
+              55:          54 SampledImage 51 52
+              56:    6(float) CompositeExtract 23 0
+              57:    6(float) CompositeExtract 23 1
+              58:   25(fvec3) CompositeConstruct 56 57 24
+              59:    6(float) CompositeExtract 58 2
+              60:    6(float) ImageSampleDrefImplicitLod 55 58 59
+                              Store 46(r14) 60
+              65:          62 Load 64(g_tTex2df4a)
+              66:          13 Load 15(g_sSamp)
+              69:          68 SampledImage 65 66
+              73:    6(float) CompositeExtract 71 0
+              74:    6(float) CompositeExtract 71 1
+              75:    6(float) CompositeExtract 71 2
+              76:   72(fvec4) CompositeConstruct 73 74 75 24
+              77:    6(float) CompositeExtract 76 3
+              78:    6(float) ImageSampleDrefImplicitLod 69 76 77
+                              Store 61(r30) 78
+              83:          80 Load 82(g_tTex2di4a)
+              84:          13 Load 15(g_sSamp)
+              87:          86 SampledImage 83 84
+              88:    6(float) CompositeExtract 71 0
+              89:    6(float) CompositeExtract 71 1
+              90:    6(float) CompositeExtract 71 2
+              91:   72(fvec4) CompositeConstruct 88 89 90 24
+              92:    6(float) CompositeExtract 91 3
+              93:    6(float) ImageSampleDrefImplicitLod 87 91 92
+                              Store 79(r32) 93
+              98:          95 Load 97(g_tTex2du4a)
+              99:          13 Load 15(g_sSamp)
+             102:         101 SampledImage 98 99
+             103:    6(float) CompositeExtract 71 0
+             104:    6(float) CompositeExtract 71 1
+             105:    6(float) CompositeExtract 71 2
+             106:   72(fvec4) CompositeConstruct 103 104 105 24
+             107:    6(float) CompositeExtract 106 3
+             108:    6(float) ImageSampleDrefImplicitLod 102 106 107
+                              Store 94(r34) 108
+             113:         110 Load 112(g_tTexcdf4a)
+             114:          13 Load 15(g_sSamp)
+             117:         116 SampledImage 113 114
+             120:    6(float) CompositeExtract 119 0
+             121:    6(float) CompositeExtract 119 1
+             122:    6(float) CompositeExtract 119 2
+             123:    6(float) CompositeExtract 119 3
+             124:   72(fvec4) CompositeConstruct 120 121 122 123
+             125:    6(float) ImageSampleDrefImplicitLod 117 124 24
+                              Store 109(r60) 125
+             130:         127 Load 129(g_tTexcdi4a)
+             131:          13 Load 15(g_sSamp)
+             134:         133 SampledImage 130 131
+             135:    6(float) CompositeExtract 119 0
+             136:    6(float) CompositeExtract 119 1
+             137:    6(float) CompositeExtract 119 2
+             138:    6(float) CompositeExtract 119 3
+             139:   72(fvec4) CompositeConstruct 135 136 137 138
+             140:    6(float) ImageSampleDrefImplicitLod 134 139 24
+                              Store 126(r62) 140
+             145:         142 Load 144(g_tTexcdu4a)
+             146:          13 Load 15(g_sSamp)
+             149:         148 SampledImage 145 146
+             150:    6(float) CompositeExtract 119 0
+             151:    6(float) CompositeExtract 119 1
+             152:    6(float) CompositeExtract 119 2
+             153:    6(float) CompositeExtract 119 3
+             154:   72(fvec4) CompositeConstruct 150 151 152 153
+             155:    6(float) ImageSampleDrefImplicitLod 149 154 24
+                              Store 141(r64) 155
+             163:    162(ptr) AccessChain 158(psout) 159
+                              Store 163 161
+             165:      7(ptr) AccessChain 158(psout) 164
+                              Store 165 160
+             168:    162(ptr) AccessChain 158(psout) 159
+             169:   72(fvec4) Load 168
+                              Store 167(Color) 169
+             172:      7(ptr) AccessChain 158(psout) 164
+             173:    6(float) Load 172
+                              Store 171(Depth) 173
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index d7a6b2f..acd24b8 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r00' (temp float)
-0:42          texture (global float)
+0:42          texture (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -20,11 +20,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r02' (temp float)
-0:43          texture (global float)
+0:43          texture (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -32,11 +32,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r04' (temp float)
-0:44          texture (global float)
+0:44          texture (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -44,11 +44,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r20' (temp float)
-0:47          texture (global float)
+0:47          texture (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -57,11 +57,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r22' (temp float)
-0:48          texture (global float)
+0:48          texture (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -70,11 +70,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r24' (temp float)
-0:49          texture (global float)
+0:49          texture (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -83,11 +83,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r50' (temp float)
-0:53          texture (global float)
+0:53          texture (temp float)
 0:53            Construct combined texture-sampler (temp samplerCubeShadow)
 0:53              'g_tTexcdf4' (uniform textureCube)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -97,11 +97,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r52' (temp float)
-0:54          texture (global float)
+0:54          texture (temp float)
 0:54            Construct combined texture-sampler (temp isamplerCubeShadow)
 0:54              'g_tTexcdi4' (uniform itextureCube)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -111,11 +111,11 @@
 0:55      Sequence
 0:55        move second child to first child (temp float)
 0:55          'r54' (temp float)
-0:55          texture (global float)
+0:55          texture (temp float)
 0:55            Construct combined texture-sampler (temp usamplerCubeShadow)
 0:55              'g_tTexcdu4' (uniform utextureCube)
 0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:55            Construct vec4 (temp float)
+0:55            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -155,6 +155,8 @@
 0:60                1 (const int)
 0:60        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -177,8 +179,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -193,11 +193,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r00' (temp float)
-0:42          texture (global float)
+0:42          texture (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -205,11 +205,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r02' (temp float)
-0:43          texture (global float)
+0:43          texture (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -217,11 +217,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r04' (temp float)
-0:44          texture (global float)
+0:44          texture (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -229,11 +229,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r20' (temp float)
-0:47          texture (global float)
+0:47          texture (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -242,11 +242,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r22' (temp float)
-0:48          texture (global float)
+0:48          texture (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -255,11 +255,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r24' (temp float)
-0:49          texture (global float)
+0:49          texture (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -268,11 +268,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r50' (temp float)
-0:53          texture (global float)
+0:53          texture (temp float)
 0:53            Construct combined texture-sampler (temp samplerCubeShadow)
 0:53              'g_tTexcdf4' (uniform textureCube)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -282,11 +282,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r52' (temp float)
-0:54          texture (global float)
+0:54          texture (temp float)
 0:54            Construct combined texture-sampler (temp isamplerCubeShadow)
 0:54              'g_tTexcdi4' (uniform itextureCube)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -296,11 +296,11 @@
 0:55      Sequence
 0:55        move second child to first child (temp float)
 0:55          'r54' (temp float)
-0:55          texture (global float)
+0:55          texture (temp float)
 0:55            Construct combined texture-sampler (temp usamplerCubeShadow)
 0:55              'g_tTexcdu4' (uniform utextureCube)
 0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:55            Construct vec4 (temp float)
+0:55            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -340,6 +340,8 @@
 0:60                1 (const int)
 0:60        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -362,84 +364,82 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 182
+// Id's are bound by 200
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 138 142
+                              EntryPoint Fragment 4  "main" 156 160
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r00"
                               Name 11  "g_tTex1df4"
                               Name 15  "g_sSamp"
-                              Name 24  "r02"
-                              Name 28  "g_tTex1di4"
-                              Name 36  "r04"
-                              Name 40  "g_tTex1du4"
-                              Name 48  "r20"
-                              Name 51  "g_tTex2df4"
-                              Name 63  "r22"
-                              Name 66  "g_tTex2di4"
-                              Name 75  "r24"
-                              Name 78  "g_tTex2du4"
-                              Name 87  "r50"
-                              Name 90  "g_tTexcdf4"
-                              Name 102  "r52"
-                              Name 105  "g_tTexcdi4"
-                              Name 114  "r54"
-                              Name 117  "g_tTexcdu4"
-                              Name 127  "PS_OUTPUT"
-                              MemberName 127(PS_OUTPUT) 0  "Color"
-                              MemberName 127(PS_OUTPUT) 1  "Depth"
-                              Name 129  "psout"
-                              Name 138  "Color"
-                              Name 142  "Depth"
-                              Name 148  "g_tTex3df4"
-                              Name 151  "g_tTex3di4"
-                              Name 154  "g_tTex3du4"
-                              Name 157  "g_tTex1df4a"
-                              Name 160  "g_tTex1di4a"
-                              Name 163  "g_tTex1du4a"
-                              Name 166  "g_tTex2df4a"
-                              Name 169  "g_tTex2di4a"
-                              Name 172  "g_tTex2du4a"
-                              Name 175  "g_tTexcdf4a"
-                              Name 178  "g_tTexcdi4a"
-                              Name 181  "g_tTexcdu4a"
+                              Name 26  "r02"
+                              Name 30  "g_tTex1di4"
+                              Name 39  "r04"
+                              Name 43  "g_tTex1du4"
+                              Name 52  "r20"
+                              Name 55  "g_tTex2df4"
+                              Name 69  "r22"
+                              Name 72  "g_tTex2di4"
+                              Name 83  "r24"
+                              Name 86  "g_tTex2du4"
+                              Name 97  "r50"
+                              Name 100  "g_tTexcdf4"
+                              Name 115  "r52"
+                              Name 118  "g_tTexcdi4"
+                              Name 130  "r54"
+                              Name 133  "g_tTexcdu4"
+                              Name 145  "PS_OUTPUT"
+                              MemberName 145(PS_OUTPUT) 0  "Color"
+                              MemberName 145(PS_OUTPUT) 1  "Depth"
+                              Name 147  "psout"
+                              Name 156  "Color"
+                              Name 160  "Depth"
+                              Name 166  "g_tTex3df4"
+                              Name 169  "g_tTex3di4"
+                              Name 172  "g_tTex3du4"
+                              Name 175  "g_tTex1df4a"
+                              Name 178  "g_tTex1di4a"
+                              Name 181  "g_tTex1du4a"
+                              Name 184  "g_tTex2df4a"
+                              Name 187  "g_tTex2di4a"
+                              Name 190  "g_tTex2du4a"
+                              Name 193  "g_tTexcdf4a"
+                              Name 196  "g_tTexcdi4a"
+                              Name 199  "g_tTexcdu4a"
                               Decorate 11(g_tTex1df4) DescriptorSet 0
                               Decorate 11(g_tTex1df4) Binding 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 28(g_tTex1di4) DescriptorSet 0
-                              Decorate 40(g_tTex1du4) DescriptorSet 0
-                              Decorate 51(g_tTex2df4) DescriptorSet 0
-                              Decorate 66(g_tTex2di4) DescriptorSet 0
-                              Decorate 78(g_tTex2du4) DescriptorSet 0
-                              Decorate 90(g_tTexcdf4) DescriptorSet 0
-                              Decorate 105(g_tTexcdi4) DescriptorSet 0
-                              Decorate 117(g_tTexcdu4) DescriptorSet 0
-                              Decorate 138(Color) Location 0
-                              Decorate 142(Depth) BuiltIn FragDepth
-                              Decorate 148(g_tTex3df4) DescriptorSet 0
-                              Decorate 151(g_tTex3di4) DescriptorSet 0
-                              Decorate 154(g_tTex3du4) DescriptorSet 0
-                              Decorate 157(g_tTex1df4a) DescriptorSet 0
-                              Decorate 160(g_tTex1di4a) DescriptorSet 0
-                              Decorate 163(g_tTex1du4a) DescriptorSet 0
-                              Decorate 166(g_tTex2df4a) DescriptorSet 0
-                              Decorate 169(g_tTex2di4a) DescriptorSet 0
-                              Decorate 172(g_tTex2du4a) DescriptorSet 0
-                              Decorate 175(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 178(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 181(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 30(g_tTex1di4) DescriptorSet 0
+                              Decorate 43(g_tTex1du4) DescriptorSet 0
+                              Decorate 55(g_tTex2df4) DescriptorSet 0
+                              Decorate 72(g_tTex2di4) DescriptorSet 0
+                              Decorate 86(g_tTex2du4) DescriptorSet 0
+                              Decorate 100(g_tTexcdf4) DescriptorSet 0
+                              Decorate 118(g_tTexcdi4) DescriptorSet 0
+                              Decorate 133(g_tTexcdu4) DescriptorSet 0
+                              Decorate 156(Color) Location 0
+                              Decorate 160(Depth) BuiltIn FragDepth
+                              Decorate 166(g_tTex3df4) DescriptorSet 0
+                              Decorate 169(g_tTex3di4) DescriptorSet 0
+                              Decorate 172(g_tTex3du4) DescriptorSet 0
+                              Decorate 175(g_tTex1df4a) DescriptorSet 0
+                              Decorate 178(g_tTex1di4a) DescriptorSet 0
+                              Decorate 181(g_tTex1du4a) DescriptorSet 0
+                              Decorate 184(g_tTex2df4a) DescriptorSet 0
+                              Decorate 187(g_tTex2di4a) DescriptorSet 0
+                              Decorate 190(g_tTex2du4a) DescriptorSet 0
+                              Decorate 193(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 196(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 199(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -454,183 +454,201 @@
               18:             TypeSampledImage 17
               20:    6(float) Constant 1036831949
               21:    6(float) Constant 1061158912
-              25:             TypeInt 32 1
-              26:             TypeImage 25(int) 1D sampled format:Unknown
-              27:             TypePointer UniformConstant 26
-  28(g_tTex1di4):     27(ptr) Variable UniformConstant
-              31:             TypeImage 25(int) 1D depth sampled format:Unknown
-              32:             TypeSampledImage 31
-              37:             TypeInt 32 0
-              38:             TypeImage 37(int) 1D sampled format:Unknown
-              39:             TypePointer UniformConstant 38
-  40(g_tTex1du4):     39(ptr) Variable UniformConstant
-              43:             TypeImage 37(int) 1D depth sampled format:Unknown
-              44:             TypeSampledImage 43
-              49:             TypeImage 6(float) 2D sampled format:Unknown
-              50:             TypePointer UniformConstant 49
-  51(g_tTex2df4):     50(ptr) Variable UniformConstant
-              54:             TypeImage 6(float) 2D depth sampled format:Unknown
-              55:             TypeSampledImage 54
-              57:             TypeVector 6(float) 2
-              58:    6(float) Constant 1045220557
-              59:   57(fvec2) ConstantComposite 20 58
-              64:             TypeImage 25(int) 2D sampled format:Unknown
-              65:             TypePointer UniformConstant 64
-  66(g_tTex2di4):     65(ptr) Variable UniformConstant
-              69:             TypeImage 25(int) 2D depth sampled format:Unknown
-              70:             TypeSampledImage 69
-              76:             TypeImage 37(int) 2D sampled format:Unknown
-              77:             TypePointer UniformConstant 76
-  78(g_tTex2du4):     77(ptr) Variable UniformConstant
-              81:             TypeImage 37(int) 2D depth sampled format:Unknown
-              82:             TypeSampledImage 81
-              88:             TypeImage 6(float) Cube sampled format:Unknown
-              89:             TypePointer UniformConstant 88
-  90(g_tTexcdf4):     89(ptr) Variable UniformConstant
-              93:             TypeImage 6(float) Cube depth sampled format:Unknown
-              94:             TypeSampledImage 93
-              96:             TypeVector 6(float) 3
-              97:    6(float) Constant 1050253722
-              98:   96(fvec3) ConstantComposite 20 58 97
-             103:             TypeImage 25(int) Cube sampled format:Unknown
-             104:             TypePointer UniformConstant 103
- 105(g_tTexcdi4):    104(ptr) Variable UniformConstant
-             108:             TypeImage 25(int) Cube depth sampled format:Unknown
-             109:             TypeSampledImage 108
-             115:             TypeImage 37(int) Cube sampled format:Unknown
-             116:             TypePointer UniformConstant 115
- 117(g_tTexcdu4):    116(ptr) Variable UniformConstant
-             120:             TypeImage 37(int) Cube depth sampled format:Unknown
-             121:             TypeSampledImage 120
-             126:             TypeVector 6(float) 4
-  127(PS_OUTPUT):             TypeStruct 126(fvec4) 6(float)
-             128:             TypePointer Function 127(PS_OUTPUT)
-             130:     25(int) Constant 0
-             131:    6(float) Constant 1065353216
-             132:  126(fvec4) ConstantComposite 131 131 131 131
-             133:             TypePointer Function 126(fvec4)
-             135:     25(int) Constant 1
-             137:             TypePointer Output 126(fvec4)
-      138(Color):    137(ptr) Variable Output
-             141:             TypePointer Output 6(float)
-      142(Depth):    141(ptr) Variable Output
-             146:             TypeImage 6(float) 3D sampled format:Unknown
-             147:             TypePointer UniformConstant 146
- 148(g_tTex3df4):    147(ptr) Variable UniformConstant
-             149:             TypeImage 25(int) 3D sampled format:Unknown
-             150:             TypePointer UniformConstant 149
- 151(g_tTex3di4):    150(ptr) Variable UniformConstant
-             152:             TypeImage 37(int) 3D sampled format:Unknown
-             153:             TypePointer UniformConstant 152
- 154(g_tTex3du4):    153(ptr) Variable UniformConstant
-             155:             TypeImage 6(float) 1D array sampled format:Unknown
-             156:             TypePointer UniformConstant 155
-157(g_tTex1df4a):    156(ptr) Variable UniformConstant
-             158:             TypeImage 25(int) 1D array sampled format:Unknown
-             159:             TypePointer UniformConstant 158
-160(g_tTex1di4a):    159(ptr) Variable UniformConstant
-             161:             TypeImage 37(int) 1D array sampled format:Unknown
-             162:             TypePointer UniformConstant 161
-163(g_tTex1du4a):    162(ptr) Variable UniformConstant
-             164:             TypeImage 6(float) 2D array sampled format:Unknown
+              22:             TypeVector 6(float) 2
+              27:             TypeInt 32 1
+              28:             TypeImage 27(int) 1D sampled format:Unknown
+              29:             TypePointer UniformConstant 28
+  30(g_tTex1di4):     29(ptr) Variable UniformConstant
+              33:             TypeImage 27(int) 1D depth sampled format:Unknown
+              34:             TypeSampledImage 33
+              40:             TypeInt 32 0
+              41:             TypeImage 40(int) 1D sampled format:Unknown
+              42:             TypePointer UniformConstant 41
+  43(g_tTex1du4):     42(ptr) Variable UniformConstant
+              46:             TypeImage 40(int) 1D depth sampled format:Unknown
+              47:             TypeSampledImage 46
+              53:             TypeImage 6(float) 2D sampled format:Unknown
+              54:             TypePointer UniformConstant 53
+  55(g_tTex2df4):     54(ptr) Variable UniformConstant
+              58:             TypeImage 6(float) 2D depth sampled format:Unknown
+              59:             TypeSampledImage 58
+              61:    6(float) Constant 1045220557
+              62:   22(fvec2) ConstantComposite 20 61
+              63:             TypeVector 6(float) 3
+              70:             TypeImage 27(int) 2D sampled format:Unknown
+              71:             TypePointer UniformConstant 70
+  72(g_tTex2di4):     71(ptr) Variable UniformConstant
+              75:             TypeImage 27(int) 2D depth sampled format:Unknown
+              76:             TypeSampledImage 75
+              84:             TypeImage 40(int) 2D sampled format:Unknown
+              85:             TypePointer UniformConstant 84
+  86(g_tTex2du4):     85(ptr) Variable UniformConstant
+              89:             TypeImage 40(int) 2D depth sampled format:Unknown
+              90:             TypeSampledImage 89
+              98:             TypeImage 6(float) Cube sampled format:Unknown
+              99:             TypePointer UniformConstant 98
+ 100(g_tTexcdf4):     99(ptr) Variable UniformConstant
+             103:             TypeImage 6(float) Cube depth sampled format:Unknown
+             104:             TypeSampledImage 103
+             106:    6(float) Constant 1050253722
+             107:   63(fvec3) ConstantComposite 20 61 106
+             108:             TypeVector 6(float) 4
+             116:             TypeImage 27(int) Cube sampled format:Unknown
+             117:             TypePointer UniformConstant 116
+ 118(g_tTexcdi4):    117(ptr) Variable UniformConstant
+             121:             TypeImage 27(int) Cube depth sampled format:Unknown
+             122:             TypeSampledImage 121
+             131:             TypeImage 40(int) Cube sampled format:Unknown
+             132:             TypePointer UniformConstant 131
+ 133(g_tTexcdu4):    132(ptr) Variable UniformConstant
+             136:             TypeImage 40(int) Cube depth sampled format:Unknown
+             137:             TypeSampledImage 136
+  145(PS_OUTPUT):             TypeStruct 108(fvec4) 6(float)
+             146:             TypePointer Function 145(PS_OUTPUT)
+             148:     27(int) Constant 0
+             149:    6(float) Constant 1065353216
+             150:  108(fvec4) ConstantComposite 149 149 149 149
+             151:             TypePointer Function 108(fvec4)
+             153:     27(int) Constant 1
+             155:             TypePointer Output 108(fvec4)
+      156(Color):    155(ptr) Variable Output
+             159:             TypePointer Output 6(float)
+      160(Depth):    159(ptr) Variable Output
+             164:             TypeImage 6(float) 3D sampled format:Unknown
              165:             TypePointer UniformConstant 164
-166(g_tTex2df4a):    165(ptr) Variable UniformConstant
-             167:             TypeImage 25(int) 2D array sampled format:Unknown
+ 166(g_tTex3df4):    165(ptr) Variable UniformConstant
+             167:             TypeImage 27(int) 3D sampled format:Unknown
              168:             TypePointer UniformConstant 167
-169(g_tTex2di4a):    168(ptr) Variable UniformConstant
-             170:             TypeImage 37(int) 2D array sampled format:Unknown
+ 169(g_tTex3di4):    168(ptr) Variable UniformConstant
+             170:             TypeImage 40(int) 3D sampled format:Unknown
              171:             TypePointer UniformConstant 170
-172(g_tTex2du4a):    171(ptr) Variable UniformConstant
-             173:             TypeImage 6(float) Cube array sampled format:Unknown
+ 172(g_tTex3du4):    171(ptr) Variable UniformConstant
+             173:             TypeImage 6(float) 1D array sampled format:Unknown
              174:             TypePointer UniformConstant 173
-175(g_tTexcdf4a):    174(ptr) Variable UniformConstant
-             176:             TypeImage 25(int) Cube array sampled format:Unknown
+175(g_tTex1df4a):    174(ptr) Variable UniformConstant
+             176:             TypeImage 27(int) 1D array sampled format:Unknown
              177:             TypePointer UniformConstant 176
-178(g_tTexcdi4a):    177(ptr) Variable UniformConstant
-             179:             TypeImage 37(int) Cube array sampled format:Unknown
+178(g_tTex1di4a):    177(ptr) Variable UniformConstant
+             179:             TypeImage 40(int) 1D array sampled format:Unknown
              180:             TypePointer UniformConstant 179
-181(g_tTexcdu4a):    180(ptr) Variable UniformConstant
+181(g_tTex1du4a):    180(ptr) Variable UniformConstant
+             182:             TypeImage 6(float) 2D array sampled format:Unknown
+             183:             TypePointer UniformConstant 182
+184(g_tTex2df4a):    183(ptr) Variable UniformConstant
+             185:             TypeImage 27(int) 2D array sampled format:Unknown
+             186:             TypePointer UniformConstant 185
+187(g_tTex2di4a):    186(ptr) Variable UniformConstant
+             188:             TypeImage 40(int) 2D array sampled format:Unknown
+             189:             TypePointer UniformConstant 188
+190(g_tTex2du4a):    189(ptr) Variable UniformConstant
+             191:             TypeImage 6(float) Cube array sampled format:Unknown
+             192:             TypePointer UniformConstant 191
+193(g_tTexcdf4a):    192(ptr) Variable UniformConstant
+             194:             TypeImage 27(int) Cube array sampled format:Unknown
+             195:             TypePointer UniformConstant 194
+196(g_tTexcdi4a):    195(ptr) Variable UniformConstant
+             197:             TypeImage 40(int) Cube array sampled format:Unknown
+             198:             TypePointer UniformConstant 197
+199(g_tTexcdu4a):    198(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r00):      7(ptr) Variable Function
-         24(r02):      7(ptr) Variable Function
-         36(r04):      7(ptr) Variable Function
-         48(r20):      7(ptr) Variable Function
-         63(r22):      7(ptr) Variable Function
-         75(r24):      7(ptr) Variable Function
-         87(r50):      7(ptr) Variable Function
-        102(r52):      7(ptr) Variable Function
-        114(r54):      7(ptr) Variable Function
-      129(psout):    128(ptr) Variable Function
+         26(r02):      7(ptr) Variable Function
+         39(r04):      7(ptr) Variable Function
+         52(r20):      7(ptr) Variable Function
+         69(r22):      7(ptr) Variable Function
+         83(r24):      7(ptr) Variable Function
+         97(r50):      7(ptr) Variable Function
+        115(r52):      7(ptr) Variable Function
+        130(r54):      7(ptr) Variable Function
+      147(psout):    146(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              22:    6(float) CompositeExtract 20 0
-              23:    6(float) ImageSampleDrefImplicitLod 19 20 22
-                              Store 8(r00) 23
-              29:          26 Load 28(g_tTex1di4)
-              30:          13 Load 15(g_sSamp)
-              33:          32 SampledImage 29 30
-              34:    6(float) CompositeExtract 20 0
-              35:    6(float) ImageSampleDrefImplicitLod 33 20 34
-                              Store 24(r02) 35
-              41:          38 Load 40(g_tTex1du4)
-              42:          13 Load 15(g_sSamp)
-              45:          44 SampledImage 41 42
-              46:    6(float) CompositeExtract 20 0
-              47:    6(float) ImageSampleDrefImplicitLod 45 20 46
-                              Store 36(r04) 47
-              52:          49 Load 51(g_tTex2df4)
-              53:          13 Load 15(g_sSamp)
-              56:          55 SampledImage 52 53
-              60:    6(float) CompositeExtract 59 0
-              61:    6(float) CompositeExtract 60 0
-              62:    6(float) ImageSampleDrefImplicitLod 56 60 61
-                              Store 48(r20) 62
-              67:          64 Load 66(g_tTex2di4)
-              68:          13 Load 15(g_sSamp)
-              71:          70 SampledImage 67 68
-              72:    6(float) CompositeExtract 59 0
-              73:    6(float) CompositeExtract 72 0
-              74:    6(float) ImageSampleDrefImplicitLod 71 72 73
-                              Store 63(r22) 74
-              79:          76 Load 78(g_tTex2du4)
-              80:          13 Load 15(g_sSamp)
-              83:          82 SampledImage 79 80
-              84:    6(float) CompositeExtract 59 0
-              85:    6(float) CompositeExtract 84 0
-              86:    6(float) ImageSampleDrefImplicitLod 83 84 85
-                              Store 75(r24) 86
-              91:          88 Load 90(g_tTexcdf4)
-              92:          13 Load 15(g_sSamp)
-              95:          94 SampledImage 91 92
-              99:    6(float) CompositeExtract 98 0
-             100:    6(float) CompositeExtract 99 0
-             101:    6(float) ImageSampleDrefImplicitLod 95 99 100
-                              Store 87(r50) 101
-             106:         103 Load 105(g_tTexcdi4)
-             107:          13 Load 15(g_sSamp)
-             110:         109 SampledImage 106 107
-             111:    6(float) CompositeExtract 98 0
-             112:    6(float) CompositeExtract 111 0
-             113:    6(float) ImageSampleDrefImplicitLod 110 111 112
-                              Store 102(r52) 113
-             118:         115 Load 117(g_tTexcdu4)
-             119:          13 Load 15(g_sSamp)
-             122:         121 SampledImage 118 119
-             123:    6(float) CompositeExtract 98 0
-             124:    6(float) CompositeExtract 123 0
-             125:    6(float) ImageSampleDrefImplicitLod 122 123 124
-                              Store 114(r54) 125
-             134:    133(ptr) AccessChain 129(psout) 130
-                              Store 134 132
-             136:      7(ptr) AccessChain 129(psout) 135
-                              Store 136 131
-             139:    133(ptr) AccessChain 129(psout) 130
-             140:  126(fvec4) Load 139
-                              Store 138(Color) 140
-             143:      7(ptr) AccessChain 129(psout) 135
-             144:    6(float) Load 143
-                              Store 142(Depth) 144
+              23:   22(fvec2) CompositeConstruct 20 21
+              24:    6(float) CompositeExtract 23 1
+              25:    6(float) ImageSampleDrefImplicitLod 19 23 24
+                              Store 8(r00) 25
+              31:          28 Load 30(g_tTex1di4)
+              32:          13 Load 15(g_sSamp)
+              35:          34 SampledImage 31 32
+              36:   22(fvec2) CompositeConstruct 20 21
+              37:    6(float) CompositeExtract 36 1
+              38:    6(float) ImageSampleDrefImplicitLod 35 36 37
+                              Store 26(r02) 38
+              44:          41 Load 43(g_tTex1du4)
+              45:          13 Load 15(g_sSamp)
+              48:          47 SampledImage 44 45
+              49:   22(fvec2) CompositeConstruct 20 21
+              50:    6(float) CompositeExtract 49 1
+              51:    6(float) ImageSampleDrefImplicitLod 48 49 50
+                              Store 39(r04) 51
+              56:          53 Load 55(g_tTex2df4)
+              57:          13 Load 15(g_sSamp)
+              60:          59 SampledImage 56 57
+              64:    6(float) CompositeExtract 62 0
+              65:    6(float) CompositeExtract 62 1
+              66:   63(fvec3) CompositeConstruct 64 65 21
+              67:    6(float) CompositeExtract 66 2
+              68:    6(float) ImageSampleDrefImplicitLod 60 66 67
+                              Store 52(r20) 68
+              73:          70 Load 72(g_tTex2di4)
+              74:          13 Load 15(g_sSamp)
+              77:          76 SampledImage 73 74
+              78:    6(float) CompositeExtract 62 0
+              79:    6(float) CompositeExtract 62 1
+              80:   63(fvec3) CompositeConstruct 78 79 21
+              81:    6(float) CompositeExtract 80 2
+              82:    6(float) ImageSampleDrefImplicitLod 77 80 81
+                              Store 69(r22) 82
+              87:          84 Load 86(g_tTex2du4)
+              88:          13 Load 15(g_sSamp)
+              91:          90 SampledImage 87 88
+              92:    6(float) CompositeExtract 62 0
+              93:    6(float) CompositeExtract 62 1
+              94:   63(fvec3) CompositeConstruct 92 93 21
+              95:    6(float) CompositeExtract 94 2
+              96:    6(float) ImageSampleDrefImplicitLod 91 94 95
+                              Store 83(r24) 96
+             101:          98 Load 100(g_tTexcdf4)
+             102:          13 Load 15(g_sSamp)
+             105:         104 SampledImage 101 102
+             109:    6(float) CompositeExtract 107 0
+             110:    6(float) CompositeExtract 107 1
+             111:    6(float) CompositeExtract 107 2
+             112:  108(fvec4) CompositeConstruct 109 110 111 21
+             113:    6(float) CompositeExtract 112 3
+             114:    6(float) ImageSampleDrefImplicitLod 105 112 113
+                              Store 97(r50) 114
+             119:         116 Load 118(g_tTexcdi4)
+             120:          13 Load 15(g_sSamp)
+             123:         122 SampledImage 119 120
+             124:    6(float) CompositeExtract 107 0
+             125:    6(float) CompositeExtract 107 1
+             126:    6(float) CompositeExtract 107 2
+             127:  108(fvec4) CompositeConstruct 124 125 126 21
+             128:    6(float) CompositeExtract 127 3
+             129:    6(float) ImageSampleDrefImplicitLod 123 127 128
+                              Store 115(r52) 129
+             134:         131 Load 133(g_tTexcdu4)
+             135:          13 Load 15(g_sSamp)
+             138:         137 SampledImage 134 135
+             139:    6(float) CompositeExtract 107 0
+             140:    6(float) CompositeExtract 107 1
+             141:    6(float) CompositeExtract 107 2
+             142:  108(fvec4) CompositeConstruct 139 140 141 21
+             143:    6(float) CompositeExtract 142 3
+             144:    6(float) ImageSampleDrefImplicitLod 138 142 143
+                              Store 130(r54) 144
+             152:    151(ptr) AccessChain 147(psout) 148
+                              Store 152 150
+             154:      7(ptr) AccessChain 147(psout) 153
+                              Store 154 149
+             157:    151(ptr) AccessChain 147(psout) 148
+             158:  108(fvec4) Load 157
+                              Store 156(Color) 158
+             161:      7(ptr) AccessChain 147(psout) 153
+             162:    6(float) Load 161
+                              Store 160(Depth) 162
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index 021e08f..fe2c74f 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r01' (temp float)
-0:42          textureOffset (global float)
+0:42          textureOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -22,11 +22,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r03' (temp float)
-0:43          textureOffset (global float)
+0:43          textureOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -36,11 +36,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r05' (temp float)
-0:44          textureOffset (global float)
+0:44          textureOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -50,11 +50,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r21' (temp float)
-0:47          textureOffset (global float)
+0:47          textureOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -66,11 +66,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r23' (temp float)
-0:48          textureOffset (global float)
+0:48          textureOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -82,11 +82,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r25' (temp float)
-0:49          textureOffset (global float)
+0:49          textureOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -128,6 +128,8 @@
 0:65                1 (const int)
 0:65        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -150,8 +152,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -166,11 +166,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r01' (temp float)
-0:42          textureOffset (global float)
+0:42          textureOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -180,11 +180,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r03' (temp float)
-0:43          textureOffset (global float)
+0:43          textureOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -194,11 +194,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r05' (temp float)
-0:44          textureOffset (global float)
+0:44          textureOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -208,11 +208,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r21' (temp float)
-0:47          textureOffset (global float)
+0:47          textureOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -224,11 +224,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r23' (temp float)
-0:48          textureOffset (global float)
+0:48          textureOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -240,11 +240,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r25' (temp float)
-0:49          textureOffset (global float)
+0:49          textureOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -286,6 +286,8 @@
 0:65                1 (const int)
 0:65        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -308,81 +310,79 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 156
+// Id's are bound by 166
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 103 107
+                              EntryPoint Fragment 4  "main" 113 117
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r01"
                               Name 11  "g_tTex1df4"
                               Name 15  "g_sSamp"
-                              Name 26  "r03"
-                              Name 29  "g_tTex1di4"
-                              Name 37  "r05"
-                              Name 41  "g_tTex1du4"
-                              Name 49  "r21"
-                              Name 52  "g_tTex2df4"
-                              Name 67  "r23"
-                              Name 70  "g_tTex2di4"
-                              Name 79  "r25"
-                              Name 82  "g_tTex2du4"
-                              Name 92  "PS_OUTPUT"
-                              MemberName 92(PS_OUTPUT) 0  "Color"
-                              MemberName 92(PS_OUTPUT) 1  "Depth"
-                              Name 94  "psout"
-                              Name 103  "Color"
-                              Name 107  "Depth"
-                              Name 113  "g_tTex3df4"
-                              Name 116  "g_tTex3di4"
-                              Name 119  "g_tTex3du4"
-                              Name 122  "g_tTexcdf4"
-                              Name 125  "g_tTexcdi4"
-                              Name 128  "g_tTexcdu4"
-                              Name 131  "g_tTex1df4a"
-                              Name 134  "g_tTex1di4a"
-                              Name 137  "g_tTex1du4a"
-                              Name 140  "g_tTex2df4a"
-                              Name 143  "g_tTex2di4a"
-                              Name 146  "g_tTex2du4a"
-                              Name 149  "g_tTexcdf4a"
-                              Name 152  "g_tTexcdi4a"
-                              Name 155  "g_tTexcdu4a"
+                              Name 28  "r03"
+                              Name 31  "g_tTex1di4"
+                              Name 40  "r05"
+                              Name 44  "g_tTex1du4"
+                              Name 53  "r21"
+                              Name 56  "g_tTex2df4"
+                              Name 73  "r23"
+                              Name 76  "g_tTex2di4"
+                              Name 87  "r25"
+                              Name 90  "g_tTex2du4"
+                              Name 102  "PS_OUTPUT"
+                              MemberName 102(PS_OUTPUT) 0  "Color"
+                              MemberName 102(PS_OUTPUT) 1  "Depth"
+                              Name 104  "psout"
+                              Name 113  "Color"
+                              Name 117  "Depth"
+                              Name 123  "g_tTex3df4"
+                              Name 126  "g_tTex3di4"
+                              Name 129  "g_tTex3du4"
+                              Name 132  "g_tTexcdf4"
+                              Name 135  "g_tTexcdi4"
+                              Name 138  "g_tTexcdu4"
+                              Name 141  "g_tTex1df4a"
+                              Name 144  "g_tTex1di4a"
+                              Name 147  "g_tTex1du4a"
+                              Name 150  "g_tTex2df4a"
+                              Name 153  "g_tTex2di4a"
+                              Name 156  "g_tTex2du4a"
+                              Name 159  "g_tTexcdf4a"
+                              Name 162  "g_tTexcdi4a"
+                              Name 165  "g_tTexcdu4a"
                               Decorate 11(g_tTex1df4) DescriptorSet 0
                               Decorate 11(g_tTex1df4) Binding 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 29(g_tTex1di4) DescriptorSet 0
-                              Decorate 41(g_tTex1du4) DescriptorSet 0
-                              Decorate 52(g_tTex2df4) DescriptorSet 0
-                              Decorate 70(g_tTex2di4) DescriptorSet 0
-                              Decorate 82(g_tTex2du4) DescriptorSet 0
-                              Decorate 103(Color) Location 0
-                              Decorate 107(Depth) BuiltIn FragDepth
-                              Decorate 113(g_tTex3df4) DescriptorSet 0
-                              Decorate 116(g_tTex3di4) DescriptorSet 0
-                              Decorate 119(g_tTex3du4) DescriptorSet 0
-                              Decorate 122(g_tTexcdf4) DescriptorSet 0
-                              Decorate 125(g_tTexcdi4) DescriptorSet 0
-                              Decorate 128(g_tTexcdu4) DescriptorSet 0
-                              Decorate 131(g_tTex1df4a) DescriptorSet 0
-                              Decorate 134(g_tTex1di4a) DescriptorSet 0
-                              Decorate 137(g_tTex1du4a) DescriptorSet 0
-                              Decorate 140(g_tTex2df4a) DescriptorSet 0
-                              Decorate 143(g_tTex2di4a) DescriptorSet 0
-                              Decorate 146(g_tTex2du4a) DescriptorSet 0
-                              Decorate 149(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 152(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 155(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 31(g_tTex1di4) DescriptorSet 0
+                              Decorate 44(g_tTex1du4) DescriptorSet 0
+                              Decorate 56(g_tTex2df4) DescriptorSet 0
+                              Decorate 76(g_tTex2di4) DescriptorSet 0
+                              Decorate 90(g_tTex2du4) DescriptorSet 0
+                              Decorate 113(Color) Location 0
+                              Decorate 117(Depth) BuiltIn FragDepth
+                              Decorate 123(g_tTex3df4) DescriptorSet 0
+                              Decorate 126(g_tTex3di4) DescriptorSet 0
+                              Decorate 129(g_tTex3du4) DescriptorSet 0
+                              Decorate 132(g_tTexcdf4) DescriptorSet 0
+                              Decorate 135(g_tTexcdi4) DescriptorSet 0
+                              Decorate 138(g_tTexcdu4) DescriptorSet 0
+                              Decorate 141(g_tTex1df4a) DescriptorSet 0
+                              Decorate 144(g_tTex1di4a) DescriptorSet 0
+                              Decorate 147(g_tTex1du4a) DescriptorSet 0
+                              Decorate 150(g_tTex2df4a) DescriptorSet 0
+                              Decorate 153(g_tTex2di4a) DescriptorSet 0
+                              Decorate 156(g_tTex2du4a) DescriptorSet 0
+                              Decorate 159(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 162(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 165(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -397,154 +397,164 @@
               18:             TypeSampledImage 17
               20:    6(float) Constant 1036831949
               21:    6(float) Constant 1061158912
-              22:             TypeInt 32 1
-              23:     22(int) Constant 2
-              27:             TypeImage 22(int) 1D sampled format:Unknown
-              28:             TypePointer UniformConstant 27
-  29(g_tTex1di4):     28(ptr) Variable UniformConstant
-              32:             TypeImage 22(int) 1D depth sampled format:Unknown
-              33:             TypeSampledImage 32
-              38:             TypeInt 32 0
-              39:             TypeImage 38(int) 1D sampled format:Unknown
-              40:             TypePointer UniformConstant 39
-  41(g_tTex1du4):     40(ptr) Variable UniformConstant
-              44:             TypeImage 38(int) 1D depth sampled format:Unknown
-              45:             TypeSampledImage 44
-              50:             TypeImage 6(float) 2D sampled format:Unknown
-              51:             TypePointer UniformConstant 50
-  52(g_tTex2df4):     51(ptr) Variable UniformConstant
-              55:             TypeImage 6(float) 2D depth sampled format:Unknown
-              56:             TypeSampledImage 55
-              58:             TypeVector 6(float) 2
-              59:    6(float) Constant 1045220557
-              60:   58(fvec2) ConstantComposite 20 59
-              62:             TypeVector 22(int) 2
-              63:     22(int) Constant 3
-              64:   62(ivec2) ConstantComposite 23 63
-              68:             TypeImage 22(int) 2D sampled format:Unknown
-              69:             TypePointer UniformConstant 68
-  70(g_tTex2di4):     69(ptr) Variable UniformConstant
-              73:             TypeImage 22(int) 2D depth sampled format:Unknown
-              74:             TypeSampledImage 73
-              80:             TypeImage 38(int) 2D sampled format:Unknown
-              81:             TypePointer UniformConstant 80
-  82(g_tTex2du4):     81(ptr) Variable UniformConstant
-              85:             TypeImage 38(int) 2D depth sampled format:Unknown
-              86:             TypeSampledImage 85
-              91:             TypeVector 6(float) 4
-   92(PS_OUTPUT):             TypeStruct 91(fvec4) 6(float)
-              93:             TypePointer Function 92(PS_OUTPUT)
-              95:     22(int) Constant 0
-              96:    6(float) Constant 1065353216
-              97:   91(fvec4) ConstantComposite 96 96 96 96
-              98:             TypePointer Function 91(fvec4)
-             100:     22(int) Constant 1
-             102:             TypePointer Output 91(fvec4)
-      103(Color):    102(ptr) Variable Output
-             106:             TypePointer Output 6(float)
-      107(Depth):    106(ptr) Variable Output
-             111:             TypeImage 6(float) 3D sampled format:Unknown
-             112:             TypePointer UniformConstant 111
- 113(g_tTex3df4):    112(ptr) Variable UniformConstant
-             114:             TypeImage 22(int) 3D sampled format:Unknown
-             115:             TypePointer UniformConstant 114
- 116(g_tTex3di4):    115(ptr) Variable UniformConstant
-             117:             TypeImage 38(int) 3D sampled format:Unknown
-             118:             TypePointer UniformConstant 117
- 119(g_tTex3du4):    118(ptr) Variable UniformConstant
-             120:             TypeImage 6(float) Cube sampled format:Unknown
-             121:             TypePointer UniformConstant 120
- 122(g_tTexcdf4):    121(ptr) Variable UniformConstant
-             123:             TypeImage 22(int) Cube sampled format:Unknown
-             124:             TypePointer UniformConstant 123
- 125(g_tTexcdi4):    124(ptr) Variable UniformConstant
-             126:             TypeImage 38(int) Cube sampled format:Unknown
-             127:             TypePointer UniformConstant 126
- 128(g_tTexcdu4):    127(ptr) Variable UniformConstant
-             129:             TypeImage 6(float) 1D array sampled format:Unknown
-             130:             TypePointer UniformConstant 129
-131(g_tTex1df4a):    130(ptr) Variable UniformConstant
-             132:             TypeImage 22(int) 1D array sampled format:Unknown
-             133:             TypePointer UniformConstant 132
-134(g_tTex1di4a):    133(ptr) Variable UniformConstant
-             135:             TypeImage 38(int) 1D array sampled format:Unknown
-             136:             TypePointer UniformConstant 135
-137(g_tTex1du4a):    136(ptr) Variable UniformConstant
-             138:             TypeImage 6(float) 2D array sampled format:Unknown
-             139:             TypePointer UniformConstant 138
-140(g_tTex2df4a):    139(ptr) Variable UniformConstant
-             141:             TypeImage 22(int) 2D array sampled format:Unknown
-             142:             TypePointer UniformConstant 141
-143(g_tTex2di4a):    142(ptr) Variable UniformConstant
-             144:             TypeImage 38(int) 2D array sampled format:Unknown
-             145:             TypePointer UniformConstant 144
-146(g_tTex2du4a):    145(ptr) Variable UniformConstant
-             147:             TypeImage 6(float) Cube array sampled format:Unknown
-             148:             TypePointer UniformConstant 147
-149(g_tTexcdf4a):    148(ptr) Variable UniformConstant
-             150:             TypeImage 22(int) Cube array sampled format:Unknown
-             151:             TypePointer UniformConstant 150
-152(g_tTexcdi4a):    151(ptr) Variable UniformConstant
-             153:             TypeImage 38(int) Cube array sampled format:Unknown
-             154:             TypePointer UniformConstant 153
-155(g_tTexcdu4a):    154(ptr) Variable UniformConstant
+              22:             TypeVector 6(float) 2
+              24:             TypeInt 32 1
+              25:     24(int) Constant 2
+              29:             TypeImage 24(int) 1D sampled format:Unknown
+              30:             TypePointer UniformConstant 29
+  31(g_tTex1di4):     30(ptr) Variable UniformConstant
+              34:             TypeImage 24(int) 1D depth sampled format:Unknown
+              35:             TypeSampledImage 34
+              41:             TypeInt 32 0
+              42:             TypeImage 41(int) 1D sampled format:Unknown
+              43:             TypePointer UniformConstant 42
+  44(g_tTex1du4):     43(ptr) Variable UniformConstant
+              47:             TypeImage 41(int) 1D depth sampled format:Unknown
+              48:             TypeSampledImage 47
+              54:             TypeImage 6(float) 2D sampled format:Unknown
+              55:             TypePointer UniformConstant 54
+  56(g_tTex2df4):     55(ptr) Variable UniformConstant
+              59:             TypeImage 6(float) 2D depth sampled format:Unknown
+              60:             TypeSampledImage 59
+              62:    6(float) Constant 1045220557
+              63:   22(fvec2) ConstantComposite 20 62
+              64:             TypeVector 6(float) 3
+              68:             TypeVector 24(int) 2
+              69:     24(int) Constant 3
+              70:   68(ivec2) ConstantComposite 25 69
+              74:             TypeImage 24(int) 2D sampled format:Unknown
+              75:             TypePointer UniformConstant 74
+  76(g_tTex2di4):     75(ptr) Variable UniformConstant
+              79:             TypeImage 24(int) 2D depth sampled format:Unknown
+              80:             TypeSampledImage 79
+              88:             TypeImage 41(int) 2D sampled format:Unknown
+              89:             TypePointer UniformConstant 88
+  90(g_tTex2du4):     89(ptr) Variable UniformConstant
+              93:             TypeImage 41(int) 2D depth sampled format:Unknown
+              94:             TypeSampledImage 93
+             101:             TypeVector 6(float) 4
+  102(PS_OUTPUT):             TypeStruct 101(fvec4) 6(float)
+             103:             TypePointer Function 102(PS_OUTPUT)
+             105:     24(int) Constant 0
+             106:    6(float) Constant 1065353216
+             107:  101(fvec4) ConstantComposite 106 106 106 106
+             108:             TypePointer Function 101(fvec4)
+             110:     24(int) Constant 1
+             112:             TypePointer Output 101(fvec4)
+      113(Color):    112(ptr) Variable Output
+             116:             TypePointer Output 6(float)
+      117(Depth):    116(ptr) Variable Output
+             121:             TypeImage 6(float) 3D sampled format:Unknown
+             122:             TypePointer UniformConstant 121
+ 123(g_tTex3df4):    122(ptr) Variable UniformConstant
+             124:             TypeImage 24(int) 3D sampled format:Unknown
+             125:             TypePointer UniformConstant 124
+ 126(g_tTex3di4):    125(ptr) Variable UniformConstant
+             127:             TypeImage 41(int) 3D sampled format:Unknown
+             128:             TypePointer UniformConstant 127
+ 129(g_tTex3du4):    128(ptr) Variable UniformConstant
+             130:             TypeImage 6(float) Cube sampled format:Unknown
+             131:             TypePointer UniformConstant 130
+ 132(g_tTexcdf4):    131(ptr) Variable UniformConstant
+             133:             TypeImage 24(int) Cube sampled format:Unknown
+             134:             TypePointer UniformConstant 133
+ 135(g_tTexcdi4):    134(ptr) Variable UniformConstant
+             136:             TypeImage 41(int) Cube sampled format:Unknown
+             137:             TypePointer UniformConstant 136
+ 138(g_tTexcdu4):    137(ptr) Variable UniformConstant
+             139:             TypeImage 6(float) 1D array sampled format:Unknown
+             140:             TypePointer UniformConstant 139
+141(g_tTex1df4a):    140(ptr) Variable UniformConstant
+             142:             TypeImage 24(int) 1D array sampled format:Unknown
+             143:             TypePointer UniformConstant 142
+144(g_tTex1di4a):    143(ptr) Variable UniformConstant
+             145:             TypeImage 41(int) 1D array sampled format:Unknown
+             146:             TypePointer UniformConstant 145
+147(g_tTex1du4a):    146(ptr) Variable UniformConstant
+             148:             TypeImage 6(float) 2D array sampled format:Unknown
+             149:             TypePointer UniformConstant 148
+150(g_tTex2df4a):    149(ptr) Variable UniformConstant
+             151:             TypeImage 24(int) 2D array sampled format:Unknown
+             152:             TypePointer UniformConstant 151
+153(g_tTex2di4a):    152(ptr) Variable UniformConstant
+             154:             TypeImage 41(int) 2D array sampled format:Unknown
+             155:             TypePointer UniformConstant 154
+156(g_tTex2du4a):    155(ptr) Variable UniformConstant
+             157:             TypeImage 6(float) Cube array sampled format:Unknown
+             158:             TypePointer UniformConstant 157
+159(g_tTexcdf4a):    158(ptr) Variable UniformConstant
+             160:             TypeImage 24(int) Cube array sampled format:Unknown
+             161:             TypePointer UniformConstant 160
+162(g_tTexcdi4a):    161(ptr) Variable UniformConstant
+             163:             TypeImage 41(int) Cube array sampled format:Unknown
+             164:             TypePointer UniformConstant 163
+165(g_tTexcdu4a):    164(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r01):      7(ptr) Variable Function
-         26(r03):      7(ptr) Variable Function
-         37(r05):      7(ptr) Variable Function
-         49(r21):      7(ptr) Variable Function
-         67(r23):      7(ptr) Variable Function
-         79(r25):      7(ptr) Variable Function
-       94(psout):     93(ptr) Variable Function
+         28(r03):      7(ptr) Variable Function
+         40(r05):      7(ptr) Variable Function
+         53(r21):      7(ptr) Variable Function
+         73(r23):      7(ptr) Variable Function
+         87(r25):      7(ptr) Variable Function
+      104(psout):    103(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              24:    6(float) CompositeExtract 20 0
-              25:    6(float) ImageSampleDrefImplicitLod 19 20 24 ConstOffset 23
-                              Store 8(r01) 25
-              30:          27 Load 29(g_tTex1di4)
-              31:          13 Load 15(g_sSamp)
-              34:          33 SampledImage 30 31
-              35:    6(float) CompositeExtract 20 0
-              36:    6(float) ImageSampleDrefImplicitLod 34 20 35 ConstOffset 23
-                              Store 26(r03) 36
-              42:          39 Load 41(g_tTex1du4)
-              43:          13 Load 15(g_sSamp)
-              46:          45 SampledImage 42 43
-              47:    6(float) CompositeExtract 20 0
-              48:    6(float) ImageSampleDrefImplicitLod 46 20 47 ConstOffset 23
-                              Store 37(r05) 48
-              53:          50 Load 52(g_tTex2df4)
-              54:          13 Load 15(g_sSamp)
-              57:          56 SampledImage 53 54
-              61:    6(float) CompositeExtract 60 0
-              65:    6(float) CompositeExtract 61 0
-              66:    6(float) ImageSampleDrefImplicitLod 57 61 65 ConstOffset 64
-                              Store 49(r21) 66
-              71:          68 Load 70(g_tTex2di4)
-              72:          13 Load 15(g_sSamp)
-              75:          74 SampledImage 71 72
-              76:    6(float) CompositeExtract 60 0
-              77:    6(float) CompositeExtract 76 0
-              78:    6(float) ImageSampleDrefImplicitLod 75 76 77 ConstOffset 64
-                              Store 67(r23) 78
-              83:          80 Load 82(g_tTex2du4)
-              84:          13 Load 15(g_sSamp)
-              87:          86 SampledImage 83 84
-              88:    6(float) CompositeExtract 60 0
-              89:    6(float) CompositeExtract 88 0
-              90:    6(float) ImageSampleDrefImplicitLod 87 88 89 ConstOffset 64
-                              Store 79(r25) 90
-              99:     98(ptr) AccessChain 94(psout) 95
-                              Store 99 97
-             101:      7(ptr) AccessChain 94(psout) 100
-                              Store 101 96
-             104:     98(ptr) AccessChain 94(psout) 95
-             105:   91(fvec4) Load 104
-                              Store 103(Color) 105
-             108:      7(ptr) AccessChain 94(psout) 100
-             109:    6(float) Load 108
-                              Store 107(Depth) 109
+              23:   22(fvec2) CompositeConstruct 20 21
+              26:    6(float) CompositeExtract 23 1
+              27:    6(float) ImageSampleDrefImplicitLod 19 23 26 ConstOffset 25
+                              Store 8(r01) 27
+              32:          29 Load 31(g_tTex1di4)
+              33:          13 Load 15(g_sSamp)
+              36:          35 SampledImage 32 33
+              37:   22(fvec2) CompositeConstruct 20 21
+              38:    6(float) CompositeExtract 37 1
+              39:    6(float) ImageSampleDrefImplicitLod 36 37 38 ConstOffset 25
+                              Store 28(r03) 39
+              45:          42 Load 44(g_tTex1du4)
+              46:          13 Load 15(g_sSamp)
+              49:          48 SampledImage 45 46
+              50:   22(fvec2) CompositeConstruct 20 21
+              51:    6(float) CompositeExtract 50 1
+              52:    6(float) ImageSampleDrefImplicitLod 49 50 51 ConstOffset 25
+                              Store 40(r05) 52
+              57:          54 Load 56(g_tTex2df4)
+              58:          13 Load 15(g_sSamp)
+              61:          60 SampledImage 57 58
+              65:    6(float) CompositeExtract 63 0
+              66:    6(float) CompositeExtract 63 1
+              67:   64(fvec3) CompositeConstruct 65 66 21
+              71:    6(float) CompositeExtract 67 2
+              72:    6(float) ImageSampleDrefImplicitLod 61 67 71 ConstOffset 70
+                              Store 53(r21) 72
+              77:          74 Load 76(g_tTex2di4)
+              78:          13 Load 15(g_sSamp)
+              81:          80 SampledImage 77 78
+              82:    6(float) CompositeExtract 63 0
+              83:    6(float) CompositeExtract 63 1
+              84:   64(fvec3) CompositeConstruct 82 83 21
+              85:    6(float) CompositeExtract 84 2
+              86:    6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 70
+                              Store 73(r23) 86
+              91:          88 Load 90(g_tTex2du4)
+              92:          13 Load 15(g_sSamp)
+              95:          94 SampledImage 91 92
+              96:    6(float) CompositeExtract 63 0
+              97:    6(float) CompositeExtract 63 1
+              98:   64(fvec3) CompositeConstruct 96 97 21
+              99:    6(float) CompositeExtract 98 2
+             100:    6(float) ImageSampleDrefImplicitLod 95 98 99 ConstOffset 70
+                              Store 87(r25) 100
+             109:    108(ptr) AccessChain 104(psout) 105
+                              Store 109 107
+             111:      7(ptr) AccessChain 104(psout) 110
+                              Store 111 106
+             114:    108(ptr) AccessChain 104(psout) 105
+             115:  101(fvec4) Load 114
+                              Store 113(Color) 115
+             118:      7(ptr) AccessChain 104(psout) 110
+             119:    6(float) Load 118
+                              Store 117(Depth) 119
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index 73a2a89..013a645 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r11' (temp float)
-0:42          textureOffset (global float)
+0:42          textureOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -23,11 +23,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r13' (temp float)
-0:43          textureOffset (global float)
+0:43          textureOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -38,11 +38,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r15' (temp float)
-0:44          textureOffset (global float)
+0:44          textureOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -53,11 +53,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r31' (temp float)
-0:47          textureOffset (global float)
+0:47          textureOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -70,11 +70,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r33' (temp float)
-0:48          textureOffset (global float)
+0:48          textureOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -87,11 +87,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r35' (temp float)
-0:49          textureOffset (global float)
+0:49          textureOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -134,6 +134,8 @@
 0:66                1 (const int)
 0:66        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -156,8 +158,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -172,11 +172,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r11' (temp float)
-0:42          textureOffset (global float)
+0:42          textureOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -187,11 +187,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r13' (temp float)
-0:43          textureOffset (global float)
+0:43          textureOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -202,11 +202,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r15' (temp float)
-0:44          textureOffset (global float)
+0:44          textureOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -217,11 +217,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r31' (temp float)
-0:47          textureOffset (global float)
+0:47          textureOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -234,11 +234,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r33' (temp float)
-0:48          textureOffset (global float)
+0:48          textureOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -251,11 +251,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r35' (temp float)
-0:49          textureOffset (global float)
+0:49          textureOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -298,6 +298,8 @@
 0:66                1 (const int)
 0:66        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -320,81 +322,79 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 162
+// Id's are bound by 177
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 109 113
+                              EntryPoint Fragment 4  "main" 124 128
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r11"
                               Name 11  "g_tTex1df4a"
                               Name 15  "g_sSamp"
-                              Name 30  "r13"
-                              Name 33  "g_tTex1di4a"
-                              Name 42  "r15"
-                              Name 46  "g_tTex1du4a"
-                              Name 55  "r31"
-                              Name 58  "g_tTex2df4a"
-                              Name 73  "r33"
-                              Name 76  "g_tTex2di4a"
-                              Name 85  "r35"
-                              Name 88  "g_tTex2du4a"
-                              Name 98  "PS_OUTPUT"
-                              MemberName 98(PS_OUTPUT) 0  "Color"
-                              MemberName 98(PS_OUTPUT) 1  "Depth"
-                              Name 100  "psout"
-                              Name 109  "Color"
-                              Name 113  "Depth"
-                              Name 119  "g_tTex1df4"
-                              Name 122  "g_tTex1di4"
-                              Name 125  "g_tTex1du4"
-                              Name 128  "g_tTex2df4"
-                              Name 131  "g_tTex2di4"
-                              Name 134  "g_tTex2du4"
-                              Name 137  "g_tTex3df4"
-                              Name 140  "g_tTex3di4"
-                              Name 143  "g_tTex3du4"
-                              Name 146  "g_tTexcdf4"
-                              Name 149  "g_tTexcdi4"
-                              Name 152  "g_tTexcdu4"
-                              Name 155  "g_tTexcdf4a"
-                              Name 158  "g_tTexcdi4a"
-                              Name 161  "g_tTexcdu4a"
+                              Name 33  "r13"
+                              Name 36  "g_tTex1di4a"
+                              Name 47  "r15"
+                              Name 51  "g_tTex1du4a"
+                              Name 62  "r31"
+                              Name 65  "g_tTex2df4a"
+                              Name 83  "r33"
+                              Name 86  "g_tTex2di4a"
+                              Name 98  "r35"
+                              Name 101  "g_tTex2du4a"
+                              Name 113  "PS_OUTPUT"
+                              MemberName 113(PS_OUTPUT) 0  "Color"
+                              MemberName 113(PS_OUTPUT) 1  "Depth"
+                              Name 115  "psout"
+                              Name 124  "Color"
+                              Name 128  "Depth"
+                              Name 134  "g_tTex1df4"
+                              Name 137  "g_tTex1di4"
+                              Name 140  "g_tTex1du4"
+                              Name 143  "g_tTex2df4"
+                              Name 146  "g_tTex2di4"
+                              Name 149  "g_tTex2du4"
+                              Name 152  "g_tTex3df4"
+                              Name 155  "g_tTex3di4"
+                              Name 158  "g_tTex3du4"
+                              Name 161  "g_tTexcdf4"
+                              Name 164  "g_tTexcdi4"
+                              Name 167  "g_tTexcdu4"
+                              Name 170  "g_tTexcdf4a"
+                              Name 173  "g_tTexcdi4a"
+                              Name 176  "g_tTexcdu4a"
                               Decorate 11(g_tTex1df4a) DescriptorSet 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 33(g_tTex1di4a) DescriptorSet 0
-                              Decorate 46(g_tTex1du4a) DescriptorSet 0
-                              Decorate 58(g_tTex2df4a) DescriptorSet 0
-                              Decorate 76(g_tTex2di4a) DescriptorSet 0
-                              Decorate 88(g_tTex2du4a) DescriptorSet 0
-                              Decorate 109(Color) Location 0
-                              Decorate 113(Depth) BuiltIn FragDepth
-                              Decorate 119(g_tTex1df4) DescriptorSet 0
-                              Decorate 119(g_tTex1df4) Binding 0
-                              Decorate 122(g_tTex1di4) DescriptorSet 0
-                              Decorate 125(g_tTex1du4) DescriptorSet 0
-                              Decorate 128(g_tTex2df4) DescriptorSet 0
-                              Decorate 131(g_tTex2di4) DescriptorSet 0
-                              Decorate 134(g_tTex2du4) DescriptorSet 0
-                              Decorate 137(g_tTex3df4) DescriptorSet 0
-                              Decorate 140(g_tTex3di4) DescriptorSet 0
-                              Decorate 143(g_tTex3du4) DescriptorSet 0
-                              Decorate 146(g_tTexcdf4) DescriptorSet 0
-                              Decorate 149(g_tTexcdi4) DescriptorSet 0
-                              Decorate 152(g_tTexcdu4) DescriptorSet 0
-                              Decorate 155(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 158(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 161(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 36(g_tTex1di4a) DescriptorSet 0
+                              Decorate 51(g_tTex1du4a) DescriptorSet 0
+                              Decorate 65(g_tTex2df4a) DescriptorSet 0
+                              Decorate 86(g_tTex2di4a) DescriptorSet 0
+                              Decorate 101(g_tTex2du4a) DescriptorSet 0
+                              Decorate 124(Color) Location 0
+                              Decorate 128(Depth) BuiltIn FragDepth
+                              Decorate 134(g_tTex1df4) DescriptorSet 0
+                              Decorate 134(g_tTex1df4) Binding 0
+                              Decorate 137(g_tTex1di4) DescriptorSet 0
+                              Decorate 140(g_tTex1du4) DescriptorSet 0
+                              Decorate 143(g_tTex2df4) DescriptorSet 0
+                              Decorate 146(g_tTex2di4) DescriptorSet 0
+                              Decorate 149(g_tTex2du4) DescriptorSet 0
+                              Decorate 152(g_tTex3df4) DescriptorSet 0
+                              Decorate 155(g_tTex3di4) DescriptorSet 0
+                              Decorate 158(g_tTex3du4) DescriptorSet 0
+                              Decorate 161(g_tTexcdf4) DescriptorSet 0
+                              Decorate 164(g_tTexcdi4) DescriptorSet 0
+                              Decorate 167(g_tTexcdu4) DescriptorSet 0
+                              Decorate 170(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 173(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 176(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -412,157 +412,172 @@
               22:    6(float) Constant 1045220557
               23:   20(fvec2) ConstantComposite 21 22
               24:    6(float) Constant 1061158912
-              26:             TypeInt 32 1
-              27:     26(int) Constant 2
-              31:             TypeImage 26(int) 1D array sampled format:Unknown
-              32:             TypePointer UniformConstant 31
- 33(g_tTex1di4a):     32(ptr) Variable UniformConstant
-              36:             TypeImage 26(int) 1D depth array sampled format:Unknown
-              37:             TypeSampledImage 36
-              43:             TypeInt 32 0
-              44:             TypeImage 43(int) 1D array sampled format:Unknown
-              45:             TypePointer UniformConstant 44
- 46(g_tTex1du4a):     45(ptr) Variable UniformConstant
-              49:             TypeImage 43(int) 1D depth array sampled format:Unknown
-              50:             TypeSampledImage 49
-              56:             TypeImage 6(float) 2D array sampled format:Unknown
-              57:             TypePointer UniformConstant 56
- 58(g_tTex2df4a):     57(ptr) Variable UniformConstant
-              61:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              62:             TypeSampledImage 61
-              64:             TypeVector 6(float) 3
-              65:    6(float) Constant 1050253722
-              66:   64(fvec3) ConstantComposite 21 22 65
-              68:             TypeVector 26(int) 2
-              69:     26(int) Constant 3
-              70:   68(ivec2) ConstantComposite 27 69
-              74:             TypeImage 26(int) 2D array sampled format:Unknown
-              75:             TypePointer UniformConstant 74
- 76(g_tTex2di4a):     75(ptr) Variable UniformConstant
-              79:             TypeImage 26(int) 2D depth array sampled format:Unknown
-              80:             TypeSampledImage 79
-              86:             TypeImage 43(int) 2D array sampled format:Unknown
-              87:             TypePointer UniformConstant 86
- 88(g_tTex2du4a):     87(ptr) Variable UniformConstant
-              91:             TypeImage 43(int) 2D depth array sampled format:Unknown
-              92:             TypeSampledImage 91
-              97:             TypeVector 6(float) 4
-   98(PS_OUTPUT):             TypeStruct 97(fvec4) 6(float)
-              99:             TypePointer Function 98(PS_OUTPUT)
-             101:     26(int) Constant 0
-             102:    6(float) Constant 1065353216
-             103:   97(fvec4) ConstantComposite 102 102 102 102
-             104:             TypePointer Function 97(fvec4)
-             106:     26(int) Constant 1
-             108:             TypePointer Output 97(fvec4)
-      109(Color):    108(ptr) Variable Output
-             112:             TypePointer Output 6(float)
-      113(Depth):    112(ptr) Variable Output
-             117:             TypeImage 6(float) 1D sampled format:Unknown
-             118:             TypePointer UniformConstant 117
- 119(g_tTex1df4):    118(ptr) Variable UniformConstant
-             120:             TypeImage 26(int) 1D sampled format:Unknown
-             121:             TypePointer UniformConstant 120
- 122(g_tTex1di4):    121(ptr) Variable UniformConstant
-             123:             TypeImage 43(int) 1D sampled format:Unknown
-             124:             TypePointer UniformConstant 123
- 125(g_tTex1du4):    124(ptr) Variable UniformConstant
-             126:             TypeImage 6(float) 2D sampled format:Unknown
-             127:             TypePointer UniformConstant 126
- 128(g_tTex2df4):    127(ptr) Variable UniformConstant
-             129:             TypeImage 26(int) 2D sampled format:Unknown
-             130:             TypePointer UniformConstant 129
- 131(g_tTex2di4):    130(ptr) Variable UniformConstant
-             132:             TypeImage 43(int) 2D sampled format:Unknown
+              25:             TypeVector 6(float) 3
+              29:             TypeInt 32 1
+              30:     29(int) Constant 2
+              34:             TypeImage 29(int) 1D array sampled format:Unknown
+              35:             TypePointer UniformConstant 34
+ 36(g_tTex1di4a):     35(ptr) Variable UniformConstant
+              39:             TypeImage 29(int) 1D depth array sampled format:Unknown
+              40:             TypeSampledImage 39
+              48:             TypeInt 32 0
+              49:             TypeImage 48(int) 1D array sampled format:Unknown
+              50:             TypePointer UniformConstant 49
+ 51(g_tTex1du4a):     50(ptr) Variable UniformConstant
+              54:             TypeImage 48(int) 1D depth array sampled format:Unknown
+              55:             TypeSampledImage 54
+              63:             TypeImage 6(float) 2D array sampled format:Unknown
+              64:             TypePointer UniformConstant 63
+ 65(g_tTex2df4a):     64(ptr) Variable UniformConstant
+              68:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              69:             TypeSampledImage 68
+              71:    6(float) Constant 1050253722
+              72:   25(fvec3) ConstantComposite 21 22 71
+              73:             TypeVector 6(float) 4
+              78:             TypeVector 29(int) 2
+              79:     29(int) Constant 3
+              80:   78(ivec2) ConstantComposite 30 79
+              84:             TypeImage 29(int) 2D array sampled format:Unknown
+              85:             TypePointer UniformConstant 84
+ 86(g_tTex2di4a):     85(ptr) Variable UniformConstant
+              89:             TypeImage 29(int) 2D depth array sampled format:Unknown
+              90:             TypeSampledImage 89
+              99:             TypeImage 48(int) 2D array sampled format:Unknown
+             100:             TypePointer UniformConstant 99
+101(g_tTex2du4a):    100(ptr) Variable UniformConstant
+             104:             TypeImage 48(int) 2D depth array sampled format:Unknown
+             105:             TypeSampledImage 104
+  113(PS_OUTPUT):             TypeStruct 73(fvec4) 6(float)
+             114:             TypePointer Function 113(PS_OUTPUT)
+             116:     29(int) Constant 0
+             117:    6(float) Constant 1065353216
+             118:   73(fvec4) ConstantComposite 117 117 117 117
+             119:             TypePointer Function 73(fvec4)
+             121:     29(int) Constant 1
+             123:             TypePointer Output 73(fvec4)
+      124(Color):    123(ptr) Variable Output
+             127:             TypePointer Output 6(float)
+      128(Depth):    127(ptr) Variable Output
+             132:             TypeImage 6(float) 1D sampled format:Unknown
              133:             TypePointer UniformConstant 132
- 134(g_tTex2du4):    133(ptr) Variable UniformConstant
-             135:             TypeImage 6(float) 3D sampled format:Unknown
+ 134(g_tTex1df4):    133(ptr) Variable UniformConstant
+             135:             TypeImage 29(int) 1D sampled format:Unknown
              136:             TypePointer UniformConstant 135
- 137(g_tTex3df4):    136(ptr) Variable UniformConstant
-             138:             TypeImage 26(int) 3D sampled format:Unknown
+ 137(g_tTex1di4):    136(ptr) Variable UniformConstant
+             138:             TypeImage 48(int) 1D sampled format:Unknown
              139:             TypePointer UniformConstant 138
- 140(g_tTex3di4):    139(ptr) Variable UniformConstant
-             141:             TypeImage 43(int) 3D sampled format:Unknown
+ 140(g_tTex1du4):    139(ptr) Variable UniformConstant
+             141:             TypeImage 6(float) 2D sampled format:Unknown
              142:             TypePointer UniformConstant 141
- 143(g_tTex3du4):    142(ptr) Variable UniformConstant
-             144:             TypeImage 6(float) Cube sampled format:Unknown
+ 143(g_tTex2df4):    142(ptr) Variable UniformConstant
+             144:             TypeImage 29(int) 2D sampled format:Unknown
              145:             TypePointer UniformConstant 144
- 146(g_tTexcdf4):    145(ptr) Variable UniformConstant
-             147:             TypeImage 26(int) Cube sampled format:Unknown
+ 146(g_tTex2di4):    145(ptr) Variable UniformConstant
+             147:             TypeImage 48(int) 2D sampled format:Unknown
              148:             TypePointer UniformConstant 147
- 149(g_tTexcdi4):    148(ptr) Variable UniformConstant
-             150:             TypeImage 43(int) Cube sampled format:Unknown
+ 149(g_tTex2du4):    148(ptr) Variable UniformConstant
+             150:             TypeImage 6(float) 3D sampled format:Unknown
              151:             TypePointer UniformConstant 150
- 152(g_tTexcdu4):    151(ptr) Variable UniformConstant
-             153:             TypeImage 6(float) Cube array sampled format:Unknown
+ 152(g_tTex3df4):    151(ptr) Variable UniformConstant
+             153:             TypeImage 29(int) 3D sampled format:Unknown
              154:             TypePointer UniformConstant 153
-155(g_tTexcdf4a):    154(ptr) Variable UniformConstant
-             156:             TypeImage 26(int) Cube array sampled format:Unknown
+ 155(g_tTex3di4):    154(ptr) Variable UniformConstant
+             156:             TypeImage 48(int) 3D sampled format:Unknown
              157:             TypePointer UniformConstant 156
-158(g_tTexcdi4a):    157(ptr) Variable UniformConstant
-             159:             TypeImage 43(int) Cube array sampled format:Unknown
+ 158(g_tTex3du4):    157(ptr) Variable UniformConstant
+             159:             TypeImage 6(float) Cube sampled format:Unknown
              160:             TypePointer UniformConstant 159
-161(g_tTexcdu4a):    160(ptr) Variable UniformConstant
+ 161(g_tTexcdf4):    160(ptr) Variable UniformConstant
+             162:             TypeImage 29(int) Cube sampled format:Unknown
+             163:             TypePointer UniformConstant 162
+ 164(g_tTexcdi4):    163(ptr) Variable UniformConstant
+             165:             TypeImage 48(int) Cube sampled format:Unknown
+             166:             TypePointer UniformConstant 165
+ 167(g_tTexcdu4):    166(ptr) Variable UniformConstant
+             168:             TypeImage 6(float) Cube array sampled format:Unknown
+             169:             TypePointer UniformConstant 168
+170(g_tTexcdf4a):    169(ptr) Variable UniformConstant
+             171:             TypeImage 29(int) Cube array sampled format:Unknown
+             172:             TypePointer UniformConstant 171
+173(g_tTexcdi4a):    172(ptr) Variable UniformConstant
+             174:             TypeImage 48(int) Cube array sampled format:Unknown
+             175:             TypePointer UniformConstant 174
+176(g_tTexcdu4a):    175(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r11):      7(ptr) Variable Function
-         30(r13):      7(ptr) Variable Function
-         42(r15):      7(ptr) Variable Function
-         55(r31):      7(ptr) Variable Function
-         73(r33):      7(ptr) Variable Function
-         85(r35):      7(ptr) Variable Function
-      100(psout):     99(ptr) Variable Function
+         33(r13):      7(ptr) Variable Function
+         47(r15):      7(ptr) Variable Function
+         62(r31):      7(ptr) Variable Function
+         83(r33):      7(ptr) Variable Function
+         98(r35):      7(ptr) Variable Function
+      115(psout):    114(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4a)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              25:    6(float) CompositeExtract 23 0
-              28:    6(float) CompositeExtract 25 0
-              29:    6(float) ImageSampleDrefImplicitLod 19 25 28 ConstOffset 27
-                              Store 8(r11) 29
-              34:          31 Load 33(g_tTex1di4a)
-              35:          13 Load 15(g_sSamp)
-              38:          37 SampledImage 34 35
-              39:    6(float) CompositeExtract 23 0
-              40:    6(float) CompositeExtract 39 0
-              41:    6(float) ImageSampleDrefImplicitLod 38 39 40 ConstOffset 27
-                              Store 30(r13) 41
-              47:          44 Load 46(g_tTex1du4a)
-              48:          13 Load 15(g_sSamp)
-              51:          50 SampledImage 47 48
-              52:    6(float) CompositeExtract 23 0
-              53:    6(float) CompositeExtract 52 0
-              54:    6(float) ImageSampleDrefImplicitLod 51 52 53 ConstOffset 27
-                              Store 42(r15) 54
-              59:          56 Load 58(g_tTex2df4a)
-              60:          13 Load 15(g_sSamp)
-              63:          62 SampledImage 59 60
-              67:    6(float) CompositeExtract 66 0
-              71:    6(float) CompositeExtract 67 0
-              72:    6(float) ImageSampleDrefImplicitLod 63 67 71 ConstOffset 70
-                              Store 55(r31) 72
-              77:          74 Load 76(g_tTex2di4a)
-              78:          13 Load 15(g_sSamp)
-              81:          80 SampledImage 77 78
-              82:    6(float) CompositeExtract 66 0
-              83:    6(float) CompositeExtract 82 0
-              84:    6(float) ImageSampleDrefImplicitLod 81 82 83 ConstOffset 70
-                              Store 73(r33) 84
-              89:          86 Load 88(g_tTex2du4a)
-              90:          13 Load 15(g_sSamp)
-              93:          92 SampledImage 89 90
-              94:    6(float) CompositeExtract 66 0
-              95:    6(float) CompositeExtract 94 0
-              96:    6(float) ImageSampleDrefImplicitLod 93 94 95 ConstOffset 70
-                              Store 85(r35) 96
-             105:    104(ptr) AccessChain 100(psout) 101
-                              Store 105 103
-             107:      7(ptr) AccessChain 100(psout) 106
-                              Store 107 102
-             110:    104(ptr) AccessChain 100(psout) 101
-             111:   97(fvec4) Load 110
-                              Store 109(Color) 111
-             114:      7(ptr) AccessChain 100(psout) 106
-             115:    6(float) Load 114
-                              Store 113(Depth) 115
+              26:    6(float) CompositeExtract 23 0
+              27:    6(float) CompositeExtract 23 1
+              28:   25(fvec3) CompositeConstruct 26 27 24
+              31:    6(float) CompositeExtract 28 2
+              32:    6(float) ImageSampleDrefImplicitLod 19 28 31 ConstOffset 30
+                              Store 8(r11) 32
+              37:          34 Load 36(g_tTex1di4a)
+              38:          13 Load 15(g_sSamp)
+              41:          40 SampledImage 37 38
+              42:    6(float) CompositeExtract 23 0
+              43:    6(float) CompositeExtract 23 1
+              44:   25(fvec3) CompositeConstruct 42 43 24
+              45:    6(float) CompositeExtract 44 2
+              46:    6(float) ImageSampleDrefImplicitLod 41 44 45 ConstOffset 30
+                              Store 33(r13) 46
+              52:          49 Load 51(g_tTex1du4a)
+              53:          13 Load 15(g_sSamp)
+              56:          55 SampledImage 52 53
+              57:    6(float) CompositeExtract 23 0
+              58:    6(float) CompositeExtract 23 1
+              59:   25(fvec3) CompositeConstruct 57 58 24
+              60:    6(float) CompositeExtract 59 2
+              61:    6(float) ImageSampleDrefImplicitLod 56 59 60 ConstOffset 30
+                              Store 47(r15) 61
+              66:          63 Load 65(g_tTex2df4a)
+              67:          13 Load 15(g_sSamp)
+              70:          69 SampledImage 66 67
+              74:    6(float) CompositeExtract 72 0
+              75:    6(float) CompositeExtract 72 1
+              76:    6(float) CompositeExtract 72 2
+              77:   73(fvec4) CompositeConstruct 74 75 76 24
+              81:    6(float) CompositeExtract 77 3
+              82:    6(float) ImageSampleDrefImplicitLod 70 77 81 ConstOffset 80
+                              Store 62(r31) 82
+              87:          84 Load 86(g_tTex2di4a)
+              88:          13 Load 15(g_sSamp)
+              91:          90 SampledImage 87 88
+              92:    6(float) CompositeExtract 72 0
+              93:    6(float) CompositeExtract 72 1
+              94:    6(float) CompositeExtract 72 2
+              95:   73(fvec4) CompositeConstruct 92 93 94 24
+              96:    6(float) CompositeExtract 95 3
+              97:    6(float) ImageSampleDrefImplicitLod 91 95 96 ConstOffset 80
+                              Store 83(r33) 97
+             102:          99 Load 101(g_tTex2du4a)
+             103:          13 Load 15(g_sSamp)
+             106:         105 SampledImage 102 103
+             107:    6(float) CompositeExtract 72 0
+             108:    6(float) CompositeExtract 72 1
+             109:    6(float) CompositeExtract 72 2
+             110:   73(fvec4) CompositeConstruct 107 108 109 24
+             111:    6(float) CompositeExtract 110 3
+             112:    6(float) ImageSampleDrefImplicitLod 106 110 111 ConstOffset 80
+                              Store 98(r35) 112
+             120:    119(ptr) AccessChain 115(psout) 116
+                              Store 120 118
+             122:      7(ptr) AccessChain 115(psout) 121
+                              Store 122 117
+             125:    119(ptr) AccessChain 115(psout) 116
+             126:   73(fvec4) Load 125
+                              Store 124(Color) 126
+             129:      7(ptr) AccessChain 115(psout) 121
+             130:    6(float) Load 129
+                              Store 128(Depth) 130
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index c5009ff..29e02cd 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r10' (temp float)
-0:42          textureLod (global float)
+0:42          textureLod (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -23,11 +23,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r12' (temp float)
-0:43          textureLod (global float)
+0:43          textureLod (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -38,11 +38,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r14' (temp float)
-0:44          textureLod (global float)
+0:44          textureLod (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -53,11 +53,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r30' (temp float)
-0:47          textureLod (global float)
+0:47          textureLod (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -69,11 +69,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r32' (temp float)
-0:48          textureLod (global float)
+0:48          textureLod (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -85,11 +85,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r34' (temp float)
-0:49          textureLod (global float)
+0:49          textureLod (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -101,11 +101,11 @@
 0:52      Sequence
 0:52        move second child to first child (temp float)
 0:52          'r60' (temp float)
-0:52          textureLod (global float)
+0:52          textureLod (temp float)
 0:52            Construct combined texture-sampler (temp samplerCubeArrayShadow)
 0:52              'g_tTexcdf4a' (uniform textureCubeArray)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:52            Construct vec4 (temp float)
+0:52            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -118,11 +118,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r62' (temp float)
-0:53          textureLod (global float)
+0:53          textureLod (temp float)
 0:53            Construct combined texture-sampler (temp isamplerCubeArrayShadow)
 0:53              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -135,11 +135,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r64' (temp float)
-0:54          textureLod (global float)
+0:54          textureLod (temp float)
 0:54            Construct combined texture-sampler (temp usamplerCubeArrayShadow)
 0:54              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -182,6 +182,8 @@
 0:59                1 (const int)
 0:59        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -204,8 +206,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -220,11 +220,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r10' (temp float)
-0:42          textureLod (global float)
+0:42          textureLod (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -235,11 +235,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r12' (temp float)
-0:43          textureLod (global float)
+0:43          textureLod (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -250,11 +250,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r14' (temp float)
-0:44          textureLod (global float)
+0:44          textureLod (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -265,11 +265,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r30' (temp float)
-0:47          textureLod (global float)
+0:47          textureLod (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -281,11 +281,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r32' (temp float)
-0:48          textureLod (global float)
+0:48          textureLod (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -297,11 +297,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r34' (temp float)
-0:49          textureLod (global float)
+0:49          textureLod (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -313,11 +313,11 @@
 0:52      Sequence
 0:52        move second child to first child (temp float)
 0:52          'r60' (temp float)
-0:52          textureLod (global float)
+0:52          textureLod (temp float)
 0:52            Construct combined texture-sampler (temp samplerCubeArrayShadow)
 0:52              'g_tTexcdf4a' (uniform textureCubeArray)
 0:52              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:52            Construct vec4 (temp float)
+0:52            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -330,11 +330,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r62' (temp float)
-0:53          textureLod (global float)
+0:53          textureLod (temp float)
 0:53            Construct combined texture-sampler (temp isamplerCubeArrayShadow)
 0:53              'g_tTexcdi4a' (uniform itextureCubeArray)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -347,11 +347,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r64' (temp float)
-0:54          textureLod (global float)
+0:54          textureLod (temp float)
 0:54            Construct combined texture-sampler (temp usamplerCubeArrayShadow)
 0:54              'g_tTexcdu4a' (uniform utextureCubeArray)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -394,6 +394,8 @@
 0:59                1 (const int)
 0:59        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -416,84 +418,82 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 185
+// Id's are bound by 212
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 141 145
+                              EntryPoint Fragment 4  "main" 168 172
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r10"
                               Name 11  "g_tTex1df4a"
                               Name 15  "g_sSamp"
-                              Name 29  "r12"
-                              Name 33  "g_tTex1di4a"
-                              Name 42  "r14"
-                              Name 46  "g_tTex1du4a"
-                              Name 55  "r30"
-                              Name 58  "g_tTex2df4a"
-                              Name 70  "r32"
-                              Name 73  "g_tTex2di4a"
-                              Name 82  "r34"
-                              Name 85  "g_tTex2du4a"
-                              Name 94  "r60"
-                              Name 97  "g_tTexcdf4a"
-                              Name 108  "r62"
-                              Name 111  "g_tTexcdi4a"
-                              Name 119  "r64"
-                              Name 122  "g_tTexcdu4a"
-                              Name 130  "PS_OUTPUT"
-                              MemberName 130(PS_OUTPUT) 0  "Color"
-                              MemberName 130(PS_OUTPUT) 1  "Depth"
-                              Name 132  "psout"
-                              Name 141  "Color"
-                              Name 145  "Depth"
-                              Name 151  "g_tTex1df4"
-                              Name 154  "g_tTex1di4"
-                              Name 157  "g_tTex1du4"
-                              Name 160  "g_tTex2df4"
-                              Name 163  "g_tTex2di4"
-                              Name 166  "g_tTex2du4"
-                              Name 169  "g_tTex3df4"
-                              Name 172  "g_tTex3di4"
-                              Name 175  "g_tTex3du4"
-                              Name 178  "g_tTexcdf4"
-                              Name 181  "g_tTexcdi4"
-                              Name 184  "g_tTexcdu4"
+                              Name 32  "r12"
+                              Name 36  "g_tTex1di4a"
+                              Name 47  "r14"
+                              Name 51  "g_tTex1du4a"
+                              Name 62  "r30"
+                              Name 65  "g_tTex2df4a"
+                              Name 80  "r32"
+                              Name 83  "g_tTex2di4a"
+                              Name 95  "r34"
+                              Name 98  "g_tTex2du4a"
+                              Name 110  "r60"
+                              Name 113  "g_tTexcdf4a"
+                              Name 127  "r62"
+                              Name 130  "g_tTexcdi4a"
+                              Name 142  "r64"
+                              Name 145  "g_tTexcdu4a"
+                              Name 157  "PS_OUTPUT"
+                              MemberName 157(PS_OUTPUT) 0  "Color"
+                              MemberName 157(PS_OUTPUT) 1  "Depth"
+                              Name 159  "psout"
+                              Name 168  "Color"
+                              Name 172  "Depth"
+                              Name 178  "g_tTex1df4"
+                              Name 181  "g_tTex1di4"
+                              Name 184  "g_tTex1du4"
+                              Name 187  "g_tTex2df4"
+                              Name 190  "g_tTex2di4"
+                              Name 193  "g_tTex2du4"
+                              Name 196  "g_tTex3df4"
+                              Name 199  "g_tTex3di4"
+                              Name 202  "g_tTex3du4"
+                              Name 205  "g_tTexcdf4"
+                              Name 208  "g_tTexcdi4"
+                              Name 211  "g_tTexcdu4"
                               Decorate 11(g_tTex1df4a) DescriptorSet 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 33(g_tTex1di4a) DescriptorSet 0
-                              Decorate 46(g_tTex1du4a) DescriptorSet 0
-                              Decorate 58(g_tTex2df4a) DescriptorSet 0
-                              Decorate 73(g_tTex2di4a) DescriptorSet 0
-                              Decorate 85(g_tTex2du4a) DescriptorSet 0
-                              Decorate 97(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 111(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 122(g_tTexcdu4a) DescriptorSet 0
-                              Decorate 141(Color) Location 0
-                              Decorate 145(Depth) BuiltIn FragDepth
-                              Decorate 151(g_tTex1df4) DescriptorSet 0
-                              Decorate 151(g_tTex1df4) Binding 0
-                              Decorate 154(g_tTex1di4) DescriptorSet 0
-                              Decorate 157(g_tTex1du4) DescriptorSet 0
-                              Decorate 160(g_tTex2df4) DescriptorSet 0
-                              Decorate 163(g_tTex2di4) DescriptorSet 0
-                              Decorate 166(g_tTex2du4) DescriptorSet 0
-                              Decorate 169(g_tTex3df4) DescriptorSet 0
-                              Decorate 172(g_tTex3di4) DescriptorSet 0
-                              Decorate 175(g_tTex3du4) DescriptorSet 0
-                              Decorate 178(g_tTexcdf4) DescriptorSet 0
-                              Decorate 181(g_tTexcdi4) DescriptorSet 0
-                              Decorate 184(g_tTexcdu4) DescriptorSet 0
+                              Decorate 36(g_tTex1di4a) DescriptorSet 0
+                              Decorate 51(g_tTex1du4a) DescriptorSet 0
+                              Decorate 65(g_tTex2df4a) DescriptorSet 0
+                              Decorate 83(g_tTex2di4a) DescriptorSet 0
+                              Decorate 98(g_tTex2du4a) DescriptorSet 0
+                              Decorate 113(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 130(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 145(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 168(Color) Location 0
+                              Decorate 172(Depth) BuiltIn FragDepth
+                              Decorate 178(g_tTex1df4) DescriptorSet 0
+                              Decorate 178(g_tTex1df4) Binding 0
+                              Decorate 181(g_tTex1di4) DescriptorSet 0
+                              Decorate 184(g_tTex1du4) DescriptorSet 0
+                              Decorate 187(g_tTex2df4) DescriptorSet 0
+                              Decorate 190(g_tTex2di4) DescriptorSet 0
+                              Decorate 193(g_tTex2du4) DescriptorSet 0
+                              Decorate 196(g_tTex3df4) DescriptorSet 0
+                              Decorate 199(g_tTex3di4) DescriptorSet 0
+                              Decorate 202(g_tTex3du4) DescriptorSet 0
+                              Decorate 205(g_tTexcdf4) DescriptorSet 0
+                              Decorate 208(g_tTexcdi4) DescriptorSet 0
+                              Decorate 211(g_tTexcdu4) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -511,183 +511,210 @@
               22:    6(float) Constant 1045220557
               23:   20(fvec2) ConstantComposite 21 22
               24:    6(float) Constant 1061158912
-              26:    6(float) Constant 0
-              30:             TypeInt 32 1
-              31:             TypeImage 30(int) 1D array sampled format:Unknown
-              32:             TypePointer UniformConstant 31
- 33(g_tTex1di4a):     32(ptr) Variable UniformConstant
-              36:             TypeImage 30(int) 1D depth array sampled format:Unknown
-              37:             TypeSampledImage 36
-              43:             TypeInt 32 0
-              44:             TypeImage 43(int) 1D array sampled format:Unknown
-              45:             TypePointer UniformConstant 44
- 46(g_tTex1du4a):     45(ptr) Variable UniformConstant
-              49:             TypeImage 43(int) 1D depth array sampled format:Unknown
-              50:             TypeSampledImage 49
-              56:             TypeImage 6(float) 2D array sampled format:Unknown
-              57:             TypePointer UniformConstant 56
- 58(g_tTex2df4a):     57(ptr) Variable UniformConstant
-              61:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              62:             TypeSampledImage 61
-              64:             TypeVector 6(float) 3
-              65:    6(float) Constant 1050253722
-              66:   64(fvec3) ConstantComposite 21 22 65
-              71:             TypeImage 30(int) 2D array sampled format:Unknown
-              72:             TypePointer UniformConstant 71
- 73(g_tTex2di4a):     72(ptr) Variable UniformConstant
-              76:             TypeImage 30(int) 2D depth array sampled format:Unknown
-              77:             TypeSampledImage 76
-              83:             TypeImage 43(int) 2D array sampled format:Unknown
-              84:             TypePointer UniformConstant 83
- 85(g_tTex2du4a):     84(ptr) Variable UniformConstant
-              88:             TypeImage 43(int) 2D depth array sampled format:Unknown
-              89:             TypeSampledImage 88
-              95:             TypeImage 6(float) Cube array sampled format:Unknown
-              96:             TypePointer UniformConstant 95
- 97(g_tTexcdf4a):     96(ptr) Variable UniformConstant
-             100:             TypeImage 6(float) Cube depth array sampled format:Unknown
-             101:             TypeSampledImage 100
-             103:             TypeVector 6(float) 4
-             104:    6(float) Constant 1053609165
-             105:  103(fvec4) ConstantComposite 21 22 65 104
-             109:             TypeImage 30(int) Cube array sampled format:Unknown
-             110:             TypePointer UniformConstant 109
-111(g_tTexcdi4a):    110(ptr) Variable UniformConstant
-             114:             TypeImage 30(int) Cube depth array sampled format:Unknown
-             115:             TypeSampledImage 114
-             120:             TypeImage 43(int) Cube array sampled format:Unknown
-             121:             TypePointer UniformConstant 120
-122(g_tTexcdu4a):    121(ptr) Variable UniformConstant
-             125:             TypeImage 43(int) Cube depth array sampled format:Unknown
-             126:             TypeSampledImage 125
-  130(PS_OUTPUT):             TypeStruct 103(fvec4) 6(float)
-             131:             TypePointer Function 130(PS_OUTPUT)
-             133:     30(int) Constant 0
-             134:    6(float) Constant 1065353216
-             135:  103(fvec4) ConstantComposite 134 134 134 134
-             136:             TypePointer Function 103(fvec4)
-             138:     30(int) Constant 1
-             140:             TypePointer Output 103(fvec4)
-      141(Color):    140(ptr) Variable Output
-             144:             TypePointer Output 6(float)
-      145(Depth):    144(ptr) Variable Output
-             149:             TypeImage 6(float) 1D sampled format:Unknown
-             150:             TypePointer UniformConstant 149
- 151(g_tTex1df4):    150(ptr) Variable UniformConstant
-             152:             TypeImage 30(int) 1D sampled format:Unknown
-             153:             TypePointer UniformConstant 152
- 154(g_tTex1di4):    153(ptr) Variable UniformConstant
-             155:             TypeImage 43(int) 1D sampled format:Unknown
-             156:             TypePointer UniformConstant 155
- 157(g_tTex1du4):    156(ptr) Variable UniformConstant
-             158:             TypeImage 6(float) 2D sampled format:Unknown
-             159:             TypePointer UniformConstant 158
- 160(g_tTex2df4):    159(ptr) Variable UniformConstant
-             161:             TypeImage 30(int) 2D sampled format:Unknown
-             162:             TypePointer UniformConstant 161
- 163(g_tTex2di4):    162(ptr) Variable UniformConstant
-             164:             TypeImage 43(int) 2D sampled format:Unknown
-             165:             TypePointer UniformConstant 164
- 166(g_tTex2du4):    165(ptr) Variable UniformConstant
-             167:             TypeImage 6(float) 3D sampled format:Unknown
-             168:             TypePointer UniformConstant 167
- 169(g_tTex3df4):    168(ptr) Variable UniformConstant
-             170:             TypeImage 30(int) 3D sampled format:Unknown
-             171:             TypePointer UniformConstant 170
- 172(g_tTex3di4):    171(ptr) Variable UniformConstant
-             173:             TypeImage 43(int) 3D sampled format:Unknown
-             174:             TypePointer UniformConstant 173
- 175(g_tTex3du4):    174(ptr) Variable UniformConstant
-             176:             TypeImage 6(float) Cube sampled format:Unknown
+              25:             TypeVector 6(float) 3
+              29:    6(float) Constant 0
+              33:             TypeInt 32 1
+              34:             TypeImage 33(int) 1D array sampled format:Unknown
+              35:             TypePointer UniformConstant 34
+ 36(g_tTex1di4a):     35(ptr) Variable UniformConstant
+              39:             TypeImage 33(int) 1D depth array sampled format:Unknown
+              40:             TypeSampledImage 39
+              48:             TypeInt 32 0
+              49:             TypeImage 48(int) 1D array sampled format:Unknown
+              50:             TypePointer UniformConstant 49
+ 51(g_tTex1du4a):     50(ptr) Variable UniformConstant
+              54:             TypeImage 48(int) 1D depth array sampled format:Unknown
+              55:             TypeSampledImage 54
+              63:             TypeImage 6(float) 2D array sampled format:Unknown
+              64:             TypePointer UniformConstant 63
+ 65(g_tTex2df4a):     64(ptr) Variable UniformConstant
+              68:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              69:             TypeSampledImage 68
+              71:    6(float) Constant 1050253722
+              72:   25(fvec3) ConstantComposite 21 22 71
+              73:             TypeVector 6(float) 4
+              81:             TypeImage 33(int) 2D array sampled format:Unknown
+              82:             TypePointer UniformConstant 81
+ 83(g_tTex2di4a):     82(ptr) Variable UniformConstant
+              86:             TypeImage 33(int) 2D depth array sampled format:Unknown
+              87:             TypeSampledImage 86
+              96:             TypeImage 48(int) 2D array sampled format:Unknown
+              97:             TypePointer UniformConstant 96
+ 98(g_tTex2du4a):     97(ptr) Variable UniformConstant
+             101:             TypeImage 48(int) 2D depth array sampled format:Unknown
+             102:             TypeSampledImage 101
+             111:             TypeImage 6(float) Cube array sampled format:Unknown
+             112:             TypePointer UniformConstant 111
+113(g_tTexcdf4a):    112(ptr) Variable UniformConstant
+             116:             TypeImage 6(float) Cube depth array sampled format:Unknown
+             117:             TypeSampledImage 116
+             119:    6(float) Constant 1053609165
+             120:   73(fvec4) ConstantComposite 21 22 71 119
+             128:             TypeImage 33(int) Cube array sampled format:Unknown
+             129:             TypePointer UniformConstant 128
+130(g_tTexcdi4a):    129(ptr) Variable UniformConstant
+             133:             TypeImage 33(int) Cube depth array sampled format:Unknown
+             134:             TypeSampledImage 133
+             143:             TypeImage 48(int) Cube array sampled format:Unknown
+             144:             TypePointer UniformConstant 143
+145(g_tTexcdu4a):    144(ptr) Variable UniformConstant
+             148:             TypeImage 48(int) Cube depth array sampled format:Unknown
+             149:             TypeSampledImage 148
+  157(PS_OUTPUT):             TypeStruct 73(fvec4) 6(float)
+             158:             TypePointer Function 157(PS_OUTPUT)
+             160:     33(int) Constant 0
+             161:    6(float) Constant 1065353216
+             162:   73(fvec4) ConstantComposite 161 161 161 161
+             163:             TypePointer Function 73(fvec4)
+             165:     33(int) Constant 1
+             167:             TypePointer Output 73(fvec4)
+      168(Color):    167(ptr) Variable Output
+             171:             TypePointer Output 6(float)
+      172(Depth):    171(ptr) Variable Output
+             176:             TypeImage 6(float) 1D sampled format:Unknown
              177:             TypePointer UniformConstant 176
- 178(g_tTexcdf4):    177(ptr) Variable UniformConstant
-             179:             TypeImage 30(int) Cube sampled format:Unknown
+ 178(g_tTex1df4):    177(ptr) Variable UniformConstant
+             179:             TypeImage 33(int) 1D sampled format:Unknown
              180:             TypePointer UniformConstant 179
- 181(g_tTexcdi4):    180(ptr) Variable UniformConstant
-             182:             TypeImage 43(int) Cube sampled format:Unknown
+ 181(g_tTex1di4):    180(ptr) Variable UniformConstant
+             182:             TypeImage 48(int) 1D sampled format:Unknown
              183:             TypePointer UniformConstant 182
- 184(g_tTexcdu4):    183(ptr) Variable UniformConstant
+ 184(g_tTex1du4):    183(ptr) Variable UniformConstant
+             185:             TypeImage 6(float) 2D sampled format:Unknown
+             186:             TypePointer UniformConstant 185
+ 187(g_tTex2df4):    186(ptr) Variable UniformConstant
+             188:             TypeImage 33(int) 2D sampled format:Unknown
+             189:             TypePointer UniformConstant 188
+ 190(g_tTex2di4):    189(ptr) Variable UniformConstant
+             191:             TypeImage 48(int) 2D sampled format:Unknown
+             192:             TypePointer UniformConstant 191
+ 193(g_tTex2du4):    192(ptr) Variable UniformConstant
+             194:             TypeImage 6(float) 3D sampled format:Unknown
+             195:             TypePointer UniformConstant 194
+ 196(g_tTex3df4):    195(ptr) Variable UniformConstant
+             197:             TypeImage 33(int) 3D sampled format:Unknown
+             198:             TypePointer UniformConstant 197
+ 199(g_tTex3di4):    198(ptr) Variable UniformConstant
+             200:             TypeImage 48(int) 3D sampled format:Unknown
+             201:             TypePointer UniformConstant 200
+ 202(g_tTex3du4):    201(ptr) Variable UniformConstant
+             203:             TypeImage 6(float) Cube sampled format:Unknown
+             204:             TypePointer UniformConstant 203
+ 205(g_tTexcdf4):    204(ptr) Variable UniformConstant
+             206:             TypeImage 33(int) Cube sampled format:Unknown
+             207:             TypePointer UniformConstant 206
+ 208(g_tTexcdi4):    207(ptr) Variable UniformConstant
+             209:             TypeImage 48(int) Cube sampled format:Unknown
+             210:             TypePointer UniformConstant 209
+ 211(g_tTexcdu4):    210(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r10):      7(ptr) Variable Function
-         29(r12):      7(ptr) Variable Function
-         42(r14):      7(ptr) Variable Function
-         55(r30):      7(ptr) Variable Function
-         70(r32):      7(ptr) Variable Function
-         82(r34):      7(ptr) Variable Function
-         94(r60):      7(ptr) Variable Function
-        108(r62):      7(ptr) Variable Function
-        119(r64):      7(ptr) Variable Function
-      132(psout):    131(ptr) Variable Function
+         32(r12):      7(ptr) Variable Function
+         47(r14):      7(ptr) Variable Function
+         62(r30):      7(ptr) Variable Function
+         80(r32):      7(ptr) Variable Function
+         95(r34):      7(ptr) Variable Function
+        110(r60):      7(ptr) Variable Function
+        127(r62):      7(ptr) Variable Function
+        142(r64):      7(ptr) Variable Function
+      159(psout):    158(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4a)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              25:    6(float) CompositeExtract 23 0
-              27:    6(float) CompositeExtract 25 0
-              28:    6(float) ImageSampleDrefExplicitLod 19 25 27 Lod 26
-                              Store 8(r10) 28
-              34:          31 Load 33(g_tTex1di4a)
-              35:          13 Load 15(g_sSamp)
-              38:          37 SampledImage 34 35
-              39:    6(float) CompositeExtract 23 0
-              40:    6(float) CompositeExtract 39 0
-              41:    6(float) ImageSampleDrefExplicitLod 38 39 40 Lod 26
-                              Store 29(r12) 41
-              47:          44 Load 46(g_tTex1du4a)
-              48:          13 Load 15(g_sSamp)
-              51:          50 SampledImage 47 48
-              52:    6(float) CompositeExtract 23 0
-              53:    6(float) CompositeExtract 52 0
-              54:    6(float) ImageSampleDrefExplicitLod 51 52 53 Lod 26
-                              Store 42(r14) 54
-              59:          56 Load 58(g_tTex2df4a)
-              60:          13 Load 15(g_sSamp)
-              63:          62 SampledImage 59 60
-              67:    6(float) CompositeExtract 66 0
-              68:    6(float) CompositeExtract 67 0
-              69:    6(float) ImageSampleDrefExplicitLod 63 67 68 Lod 26
-                              Store 55(r30) 69
-              74:          71 Load 73(g_tTex2di4a)
-              75:          13 Load 15(g_sSamp)
-              78:          77 SampledImage 74 75
-              79:    6(float) CompositeExtract 66 0
-              80:    6(float) CompositeExtract 79 0
-              81:    6(float) ImageSampleDrefExplicitLod 78 79 80 Lod 26
-                              Store 70(r32) 81
-              86:          83 Load 85(g_tTex2du4a)
-              87:          13 Load 15(g_sSamp)
-              90:          89 SampledImage 86 87
-              91:    6(float) CompositeExtract 66 0
-              92:    6(float) CompositeExtract 91 0
-              93:    6(float) ImageSampleDrefExplicitLod 90 91 92 Lod 26
-                              Store 82(r34) 93
-              98:          95 Load 97(g_tTexcdf4a)
-              99:          13 Load 15(g_sSamp)
-             102:         101 SampledImage 98 99
-             106:    6(float) CompositeExtract 105 0
-             107:    6(float) ImageSampleDrefExplicitLod 102 106 24 Lod 24
-                              Store 94(r60) 107
-             112:         109 Load 111(g_tTexcdi4a)
-             113:          13 Load 15(g_sSamp)
-             116:         115 SampledImage 112 113
-             117:    6(float) CompositeExtract 105 0
-             118:    6(float) ImageSampleDrefExplicitLod 116 117 24 Lod 24
-                              Store 108(r62) 118
-             123:         120 Load 122(g_tTexcdu4a)
-             124:          13 Load 15(g_sSamp)
-             127:         126 SampledImage 123 124
-             128:    6(float) CompositeExtract 105 0
-             129:    6(float) ImageSampleDrefExplicitLod 127 128 24 Lod 24
-                              Store 119(r64) 129
-             137:    136(ptr) AccessChain 132(psout) 133
-                              Store 137 135
-             139:      7(ptr) AccessChain 132(psout) 138
-                              Store 139 134
-             142:    136(ptr) AccessChain 132(psout) 133
-             143:  103(fvec4) Load 142
-                              Store 141(Color) 143
-             146:      7(ptr) AccessChain 132(psout) 138
-             147:    6(float) Load 146
-                              Store 145(Depth) 147
+              26:    6(float) CompositeExtract 23 0
+              27:    6(float) CompositeExtract 23 1
+              28:   25(fvec3) CompositeConstruct 26 27 24
+              30:    6(float) CompositeExtract 28 2
+              31:    6(float) ImageSampleDrefExplicitLod 19 28 30 Lod 29
+                              Store 8(r10) 31
+              37:          34 Load 36(g_tTex1di4a)
+              38:          13 Load 15(g_sSamp)
+              41:          40 SampledImage 37 38
+              42:    6(float) CompositeExtract 23 0
+              43:    6(float) CompositeExtract 23 1
+              44:   25(fvec3) CompositeConstruct 42 43 24
+              45:    6(float) CompositeExtract 44 2
+              46:    6(float) ImageSampleDrefExplicitLod 41 44 45 Lod 29
+                              Store 32(r12) 46
+              52:          49 Load 51(g_tTex1du4a)
+              53:          13 Load 15(g_sSamp)
+              56:          55 SampledImage 52 53
+              57:    6(float) CompositeExtract 23 0
+              58:    6(float) CompositeExtract 23 1
+              59:   25(fvec3) CompositeConstruct 57 58 24
+              60:    6(float) CompositeExtract 59 2
+              61:    6(float) ImageSampleDrefExplicitLod 56 59 60 Lod 29
+                              Store 47(r14) 61
+              66:          63 Load 65(g_tTex2df4a)
+              67:          13 Load 15(g_sSamp)
+              70:          69 SampledImage 66 67
+              74:    6(float) CompositeExtract 72 0
+              75:    6(float) CompositeExtract 72 1
+              76:    6(float) CompositeExtract 72 2
+              77:   73(fvec4) CompositeConstruct 74 75 76 24
+              78:    6(float) CompositeExtract 77 3
+              79:    6(float) ImageSampleDrefExplicitLod 70 77 78 Lod 29
+                              Store 62(r30) 79
+              84:          81 Load 83(g_tTex2di4a)
+              85:          13 Load 15(g_sSamp)
+              88:          87 SampledImage 84 85
+              89:    6(float) CompositeExtract 72 0
+              90:    6(float) CompositeExtract 72 1
+              91:    6(float) CompositeExtract 72 2
+              92:   73(fvec4) CompositeConstruct 89 90 91 24
+              93:    6(float) CompositeExtract 92 3
+              94:    6(float) ImageSampleDrefExplicitLod 88 92 93 Lod 29
+                              Store 80(r32) 94
+              99:          96 Load 98(g_tTex2du4a)
+             100:          13 Load 15(g_sSamp)
+             103:         102 SampledImage 99 100
+             104:    6(float) CompositeExtract 72 0
+             105:    6(float) CompositeExtract 72 1
+             106:    6(float) CompositeExtract 72 2
+             107:   73(fvec4) CompositeConstruct 104 105 106 24
+             108:    6(float) CompositeExtract 107 3
+             109:    6(float) ImageSampleDrefExplicitLod 103 107 108 Lod 29
+                              Store 95(r34) 109
+             114:         111 Load 113(g_tTexcdf4a)
+             115:          13 Load 15(g_sSamp)
+             118:         117 SampledImage 114 115
+             121:    6(float) CompositeExtract 120 0
+             122:    6(float) CompositeExtract 120 1
+             123:    6(float) CompositeExtract 120 2
+             124:    6(float) CompositeExtract 120 3
+             125:   73(fvec4) CompositeConstruct 121 122 123 124
+             126:    6(float) ImageSampleDrefExplicitLod 118 125 24 Lod 24
+                              Store 110(r60) 126
+             131:         128 Load 130(g_tTexcdi4a)
+             132:          13 Load 15(g_sSamp)
+             135:         134 SampledImage 131 132
+             136:    6(float) CompositeExtract 120 0
+             137:    6(float) CompositeExtract 120 1
+             138:    6(float) CompositeExtract 120 2
+             139:    6(float) CompositeExtract 120 3
+             140:   73(fvec4) CompositeConstruct 136 137 138 139
+             141:    6(float) ImageSampleDrefExplicitLod 135 140 24 Lod 24
+                              Store 127(r62) 141
+             146:         143 Load 145(g_tTexcdu4a)
+             147:          13 Load 15(g_sSamp)
+             150:         149 SampledImage 146 147
+             151:    6(float) CompositeExtract 120 0
+             152:    6(float) CompositeExtract 120 1
+             153:    6(float) CompositeExtract 120 2
+             154:    6(float) CompositeExtract 120 3
+             155:   73(fvec4) CompositeConstruct 151 152 153 154
+             156:    6(float) ImageSampleDrefExplicitLod 150 155 24 Lod 24
+                              Store 142(r64) 156
+             164:    163(ptr) AccessChain 159(psout) 160
+                              Store 164 162
+             166:      7(ptr) AccessChain 159(psout) 165
+                              Store 166 161
+             169:    163(ptr) AccessChain 159(psout) 160
+             170:   73(fvec4) Load 169
+                              Store 168(Color) 170
+             173:      7(ptr) AccessChain 159(psout) 165
+             174:    6(float) Load 173
+                              Store 172(Depth) 174
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index b8f55b8..de82276 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r00' (temp float)
-0:42          textureLod (global float)
+0:42          textureLod (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -22,11 +22,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r02' (temp float)
-0:43          textureLod (global float)
+0:43          textureLod (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -36,11 +36,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r04' (temp float)
-0:44          textureLod (global float)
+0:44          textureLod (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -50,11 +50,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r20' (temp float)
-0:47          textureLod (global float)
+0:47          textureLod (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -65,11 +65,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r22' (temp float)
-0:48          textureLod (global float)
+0:48          textureLod (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -80,11 +80,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r24' (temp float)
-0:49          textureLod (global float)
+0:49          textureLod (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -95,11 +95,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r50' (temp float)
-0:53          textureLod (global float)
+0:53          textureLod (temp float)
 0:53            Construct combined texture-sampler (temp samplerCubeShadow)
 0:53              'g_tTexcdf4' (uniform textureCube)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -111,11 +111,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r52' (temp float)
-0:54          textureLod (global float)
+0:54          textureLod (temp float)
 0:54            Construct combined texture-sampler (temp isamplerCubeShadow)
 0:54              'g_tTexcdi4' (uniform itextureCube)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -127,11 +127,11 @@
 0:55      Sequence
 0:55        move second child to first child (temp float)
 0:55          'r54' (temp float)
-0:55          textureLod (global float)
+0:55          textureLod (temp float)
 0:55            Construct combined texture-sampler (temp usamplerCubeShadow)
 0:55              'g_tTexcdu4' (uniform utextureCube)
 0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:55            Construct vec4 (temp float)
+0:55            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -173,6 +173,8 @@
 0:60                1 (const int)
 0:60        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -195,8 +197,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -211,11 +211,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r00' (temp float)
-0:42          textureLod (global float)
+0:42          textureLod (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -225,11 +225,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r02' (temp float)
-0:43          textureLod (global float)
+0:43          textureLod (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -239,11 +239,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r04' (temp float)
-0:44          textureLod (global float)
+0:44          textureLod (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -253,11 +253,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r20' (temp float)
-0:47          textureLod (global float)
+0:47          textureLod (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -268,11 +268,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r22' (temp float)
-0:48          textureLod (global float)
+0:48          textureLod (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -283,11 +283,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r24' (temp float)
-0:49          textureLod (global float)
+0:49          textureLod (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -298,11 +298,11 @@
 0:53      Sequence
 0:53        move second child to first child (temp float)
 0:53          'r50' (temp float)
-0:53          textureLod (global float)
+0:53          textureLod (temp float)
 0:53            Construct combined texture-sampler (temp samplerCubeShadow)
 0:53              'g_tTexcdf4' (uniform textureCube)
 0:53              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:53            Construct vec4 (temp float)
+0:53            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -314,11 +314,11 @@
 0:54      Sequence
 0:54        move second child to first child (temp float)
 0:54          'r52' (temp float)
-0:54          textureLod (global float)
+0:54          textureLod (temp float)
 0:54            Construct combined texture-sampler (temp isamplerCubeShadow)
 0:54              'g_tTexcdi4' (uniform itextureCube)
 0:54              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:54            Construct vec4 (temp float)
+0:54            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -330,11 +330,11 @@
 0:55      Sequence
 0:55        move second child to first child (temp float)
 0:55          'r54' (temp float)
-0:55          textureLod (global float)
+0:55          textureLod (temp float)
 0:55            Construct combined texture-sampler (temp usamplerCubeShadow)
 0:55              'g_tTexcdu4' (uniform utextureCube)
 0:55              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:55            Construct vec4 (temp float)
+0:55            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -376,6 +376,8 @@
 0:60                1 (const int)
 0:60        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -398,84 +400,82 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 183
+// Id's are bound by 201
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 139 143
+                              EntryPoint Fragment 4  "main" 157 161
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r00"
                               Name 11  "g_tTex1df4"
                               Name 15  "g_sSamp"
-                              Name 25  "r02"
-                              Name 29  "g_tTex1di4"
-                              Name 37  "r04"
-                              Name 41  "g_tTex1du4"
-                              Name 49  "r20"
-                              Name 52  "g_tTex2df4"
-                              Name 64  "r22"
-                              Name 67  "g_tTex2di4"
-                              Name 76  "r24"
-                              Name 79  "g_tTex2du4"
-                              Name 88  "r50"
-                              Name 91  "g_tTexcdf4"
-                              Name 103  "r52"
-                              Name 106  "g_tTexcdi4"
-                              Name 115  "r54"
-                              Name 118  "g_tTexcdu4"
-                              Name 128  "PS_OUTPUT"
-                              MemberName 128(PS_OUTPUT) 0  "Color"
-                              MemberName 128(PS_OUTPUT) 1  "Depth"
-                              Name 130  "psout"
-                              Name 139  "Color"
-                              Name 143  "Depth"
-                              Name 149  "g_tTex3df4"
-                              Name 152  "g_tTex3di4"
-                              Name 155  "g_tTex3du4"
-                              Name 158  "g_tTex1df4a"
-                              Name 161  "g_tTex1di4a"
-                              Name 164  "g_tTex1du4a"
-                              Name 167  "g_tTex2df4a"
-                              Name 170  "g_tTex2di4a"
-                              Name 173  "g_tTex2du4a"
-                              Name 176  "g_tTexcdf4a"
-                              Name 179  "g_tTexcdi4a"
-                              Name 182  "g_tTexcdu4a"
+                              Name 27  "r02"
+                              Name 31  "g_tTex1di4"
+                              Name 40  "r04"
+                              Name 44  "g_tTex1du4"
+                              Name 53  "r20"
+                              Name 56  "g_tTex2df4"
+                              Name 70  "r22"
+                              Name 73  "g_tTex2di4"
+                              Name 84  "r24"
+                              Name 87  "g_tTex2du4"
+                              Name 98  "r50"
+                              Name 101  "g_tTexcdf4"
+                              Name 116  "r52"
+                              Name 119  "g_tTexcdi4"
+                              Name 131  "r54"
+                              Name 134  "g_tTexcdu4"
+                              Name 146  "PS_OUTPUT"
+                              MemberName 146(PS_OUTPUT) 0  "Color"
+                              MemberName 146(PS_OUTPUT) 1  "Depth"
+                              Name 148  "psout"
+                              Name 157  "Color"
+                              Name 161  "Depth"
+                              Name 167  "g_tTex3df4"
+                              Name 170  "g_tTex3di4"
+                              Name 173  "g_tTex3du4"
+                              Name 176  "g_tTex1df4a"
+                              Name 179  "g_tTex1di4a"
+                              Name 182  "g_tTex1du4a"
+                              Name 185  "g_tTex2df4a"
+                              Name 188  "g_tTex2di4a"
+                              Name 191  "g_tTex2du4a"
+                              Name 194  "g_tTexcdf4a"
+                              Name 197  "g_tTexcdi4a"
+                              Name 200  "g_tTexcdu4a"
                               Decorate 11(g_tTex1df4) DescriptorSet 0
                               Decorate 11(g_tTex1df4) Binding 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 29(g_tTex1di4) DescriptorSet 0
-                              Decorate 41(g_tTex1du4) DescriptorSet 0
-                              Decorate 52(g_tTex2df4) DescriptorSet 0
-                              Decorate 67(g_tTex2di4) DescriptorSet 0
-                              Decorate 79(g_tTex2du4) DescriptorSet 0
-                              Decorate 91(g_tTexcdf4) DescriptorSet 0
-                              Decorate 106(g_tTexcdi4) DescriptorSet 0
-                              Decorate 118(g_tTexcdu4) DescriptorSet 0
-                              Decorate 139(Color) Location 0
-                              Decorate 143(Depth) BuiltIn FragDepth
-                              Decorate 149(g_tTex3df4) DescriptorSet 0
-                              Decorate 152(g_tTex3di4) DescriptorSet 0
-                              Decorate 155(g_tTex3du4) DescriptorSet 0
-                              Decorate 158(g_tTex1df4a) DescriptorSet 0
-                              Decorate 161(g_tTex1di4a) DescriptorSet 0
-                              Decorate 164(g_tTex1du4a) DescriptorSet 0
-                              Decorate 167(g_tTex2df4a) DescriptorSet 0
-                              Decorate 170(g_tTex2di4a) DescriptorSet 0
-                              Decorate 173(g_tTex2du4a) DescriptorSet 0
-                              Decorate 176(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 179(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 182(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 31(g_tTex1di4) DescriptorSet 0
+                              Decorate 44(g_tTex1du4) DescriptorSet 0
+                              Decorate 56(g_tTex2df4) DescriptorSet 0
+                              Decorate 73(g_tTex2di4) DescriptorSet 0
+                              Decorate 87(g_tTex2du4) DescriptorSet 0
+                              Decorate 101(g_tTexcdf4) DescriptorSet 0
+                              Decorate 119(g_tTexcdi4) DescriptorSet 0
+                              Decorate 134(g_tTexcdu4) DescriptorSet 0
+                              Decorate 157(Color) Location 0
+                              Decorate 161(Depth) BuiltIn FragDepth
+                              Decorate 167(g_tTex3df4) DescriptorSet 0
+                              Decorate 170(g_tTex3di4) DescriptorSet 0
+                              Decorate 173(g_tTex3du4) DescriptorSet 0
+                              Decorate 176(g_tTex1df4a) DescriptorSet 0
+                              Decorate 179(g_tTex1di4a) DescriptorSet 0
+                              Decorate 182(g_tTex1du4a) DescriptorSet 0
+                              Decorate 185(g_tTex2df4a) DescriptorSet 0
+                              Decorate 188(g_tTex2di4a) DescriptorSet 0
+                              Decorate 191(g_tTex2du4a) DescriptorSet 0
+                              Decorate 194(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 197(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 200(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -490,184 +490,202 @@
               18:             TypeSampledImage 17
               20:    6(float) Constant 1036831949
               21:    6(float) Constant 1061158912
-              22:    6(float) Constant 0
-              26:             TypeInt 32 1
-              27:             TypeImage 26(int) 1D sampled format:Unknown
-              28:             TypePointer UniformConstant 27
-  29(g_tTex1di4):     28(ptr) Variable UniformConstant
-              32:             TypeImage 26(int) 1D depth sampled format:Unknown
-              33:             TypeSampledImage 32
-              38:             TypeInt 32 0
-              39:             TypeImage 38(int) 1D sampled format:Unknown
-              40:             TypePointer UniformConstant 39
-  41(g_tTex1du4):     40(ptr) Variable UniformConstant
-              44:             TypeImage 38(int) 1D depth sampled format:Unknown
-              45:             TypeSampledImage 44
-              50:             TypeImage 6(float) 2D sampled format:Unknown
-              51:             TypePointer UniformConstant 50
-  52(g_tTex2df4):     51(ptr) Variable UniformConstant
-              55:             TypeImage 6(float) 2D depth sampled format:Unknown
-              56:             TypeSampledImage 55
-              58:             TypeVector 6(float) 2
-              59:    6(float) Constant 1045220557
-              60:   58(fvec2) ConstantComposite 20 59
-              65:             TypeImage 26(int) 2D sampled format:Unknown
-              66:             TypePointer UniformConstant 65
-  67(g_tTex2di4):     66(ptr) Variable UniformConstant
-              70:             TypeImage 26(int) 2D depth sampled format:Unknown
-              71:             TypeSampledImage 70
-              77:             TypeImage 38(int) 2D sampled format:Unknown
-              78:             TypePointer UniformConstant 77
-  79(g_tTex2du4):     78(ptr) Variable UniformConstant
-              82:             TypeImage 38(int) 2D depth sampled format:Unknown
-              83:             TypeSampledImage 82
-              89:             TypeImage 6(float) Cube sampled format:Unknown
-              90:             TypePointer UniformConstant 89
-  91(g_tTexcdf4):     90(ptr) Variable UniformConstant
-              94:             TypeImage 6(float) Cube depth sampled format:Unknown
-              95:             TypeSampledImage 94
-              97:             TypeVector 6(float) 3
-              98:    6(float) Constant 1050253722
-              99:   97(fvec3) ConstantComposite 20 59 98
-             104:             TypeImage 26(int) Cube sampled format:Unknown
-             105:             TypePointer UniformConstant 104
- 106(g_tTexcdi4):    105(ptr) Variable UniformConstant
-             109:             TypeImage 26(int) Cube depth sampled format:Unknown
-             110:             TypeSampledImage 109
-             116:             TypeImage 38(int) Cube sampled format:Unknown
-             117:             TypePointer UniformConstant 116
- 118(g_tTexcdu4):    117(ptr) Variable UniformConstant
-             121:             TypeImage 38(int) Cube depth sampled format:Unknown
-             122:             TypeSampledImage 121
-             127:             TypeVector 6(float) 4
-  128(PS_OUTPUT):             TypeStruct 127(fvec4) 6(float)
-             129:             TypePointer Function 128(PS_OUTPUT)
-             131:     26(int) Constant 0
-             132:    6(float) Constant 1065353216
-             133:  127(fvec4) ConstantComposite 132 132 132 132
-             134:             TypePointer Function 127(fvec4)
-             136:     26(int) Constant 1
-             138:             TypePointer Output 127(fvec4)
-      139(Color):    138(ptr) Variable Output
-             142:             TypePointer Output 6(float)
-      143(Depth):    142(ptr) Variable Output
-             147:             TypeImage 6(float) 3D sampled format:Unknown
-             148:             TypePointer UniformConstant 147
- 149(g_tTex3df4):    148(ptr) Variable UniformConstant
-             150:             TypeImage 26(int) 3D sampled format:Unknown
-             151:             TypePointer UniformConstant 150
- 152(g_tTex3di4):    151(ptr) Variable UniformConstant
-             153:             TypeImage 38(int) 3D sampled format:Unknown
-             154:             TypePointer UniformConstant 153
- 155(g_tTex3du4):    154(ptr) Variable UniformConstant
-             156:             TypeImage 6(float) 1D array sampled format:Unknown
-             157:             TypePointer UniformConstant 156
-158(g_tTex1df4a):    157(ptr) Variable UniformConstant
-             159:             TypeImage 26(int) 1D array sampled format:Unknown
-             160:             TypePointer UniformConstant 159
-161(g_tTex1di4a):    160(ptr) Variable UniformConstant
-             162:             TypeImage 38(int) 1D array sampled format:Unknown
-             163:             TypePointer UniformConstant 162
-164(g_tTex1du4a):    163(ptr) Variable UniformConstant
-             165:             TypeImage 6(float) 2D array sampled format:Unknown
+              22:             TypeVector 6(float) 2
+              24:    6(float) Constant 0
+              28:             TypeInt 32 1
+              29:             TypeImage 28(int) 1D sampled format:Unknown
+              30:             TypePointer UniformConstant 29
+  31(g_tTex1di4):     30(ptr) Variable UniformConstant
+              34:             TypeImage 28(int) 1D depth sampled format:Unknown
+              35:             TypeSampledImage 34
+              41:             TypeInt 32 0
+              42:             TypeImage 41(int) 1D sampled format:Unknown
+              43:             TypePointer UniformConstant 42
+  44(g_tTex1du4):     43(ptr) Variable UniformConstant
+              47:             TypeImage 41(int) 1D depth sampled format:Unknown
+              48:             TypeSampledImage 47
+              54:             TypeImage 6(float) 2D sampled format:Unknown
+              55:             TypePointer UniformConstant 54
+  56(g_tTex2df4):     55(ptr) Variable UniformConstant
+              59:             TypeImage 6(float) 2D depth sampled format:Unknown
+              60:             TypeSampledImage 59
+              62:    6(float) Constant 1045220557
+              63:   22(fvec2) ConstantComposite 20 62
+              64:             TypeVector 6(float) 3
+              71:             TypeImage 28(int) 2D sampled format:Unknown
+              72:             TypePointer UniformConstant 71
+  73(g_tTex2di4):     72(ptr) Variable UniformConstant
+              76:             TypeImage 28(int) 2D depth sampled format:Unknown
+              77:             TypeSampledImage 76
+              85:             TypeImage 41(int) 2D sampled format:Unknown
+              86:             TypePointer UniformConstant 85
+  87(g_tTex2du4):     86(ptr) Variable UniformConstant
+              90:             TypeImage 41(int) 2D depth sampled format:Unknown
+              91:             TypeSampledImage 90
+              99:             TypeImage 6(float) Cube sampled format:Unknown
+             100:             TypePointer UniformConstant 99
+ 101(g_tTexcdf4):    100(ptr) Variable UniformConstant
+             104:             TypeImage 6(float) Cube depth sampled format:Unknown
+             105:             TypeSampledImage 104
+             107:    6(float) Constant 1050253722
+             108:   64(fvec3) ConstantComposite 20 62 107
+             109:             TypeVector 6(float) 4
+             117:             TypeImage 28(int) Cube sampled format:Unknown
+             118:             TypePointer UniformConstant 117
+ 119(g_tTexcdi4):    118(ptr) Variable UniformConstant
+             122:             TypeImage 28(int) Cube depth sampled format:Unknown
+             123:             TypeSampledImage 122
+             132:             TypeImage 41(int) Cube sampled format:Unknown
+             133:             TypePointer UniformConstant 132
+ 134(g_tTexcdu4):    133(ptr) Variable UniformConstant
+             137:             TypeImage 41(int) Cube depth sampled format:Unknown
+             138:             TypeSampledImage 137
+  146(PS_OUTPUT):             TypeStruct 109(fvec4) 6(float)
+             147:             TypePointer Function 146(PS_OUTPUT)
+             149:     28(int) Constant 0
+             150:    6(float) Constant 1065353216
+             151:  109(fvec4) ConstantComposite 150 150 150 150
+             152:             TypePointer Function 109(fvec4)
+             154:     28(int) Constant 1
+             156:             TypePointer Output 109(fvec4)
+      157(Color):    156(ptr) Variable Output
+             160:             TypePointer Output 6(float)
+      161(Depth):    160(ptr) Variable Output
+             165:             TypeImage 6(float) 3D sampled format:Unknown
              166:             TypePointer UniformConstant 165
-167(g_tTex2df4a):    166(ptr) Variable UniformConstant
-             168:             TypeImage 26(int) 2D array sampled format:Unknown
+ 167(g_tTex3df4):    166(ptr) Variable UniformConstant
+             168:             TypeImage 28(int) 3D sampled format:Unknown
              169:             TypePointer UniformConstant 168
-170(g_tTex2di4a):    169(ptr) Variable UniformConstant
-             171:             TypeImage 38(int) 2D array sampled format:Unknown
+ 170(g_tTex3di4):    169(ptr) Variable UniformConstant
+             171:             TypeImage 41(int) 3D sampled format:Unknown
              172:             TypePointer UniformConstant 171
-173(g_tTex2du4a):    172(ptr) Variable UniformConstant
-             174:             TypeImage 6(float) Cube array sampled format:Unknown
+ 173(g_tTex3du4):    172(ptr) Variable UniformConstant
+             174:             TypeImage 6(float) 1D array sampled format:Unknown
              175:             TypePointer UniformConstant 174
-176(g_tTexcdf4a):    175(ptr) Variable UniformConstant
-             177:             TypeImage 26(int) Cube array sampled format:Unknown
+176(g_tTex1df4a):    175(ptr) Variable UniformConstant
+             177:             TypeImage 28(int) 1D array sampled format:Unknown
              178:             TypePointer UniformConstant 177
-179(g_tTexcdi4a):    178(ptr) Variable UniformConstant
-             180:             TypeImage 38(int) Cube array sampled format:Unknown
+179(g_tTex1di4a):    178(ptr) Variable UniformConstant
+             180:             TypeImage 41(int) 1D array sampled format:Unknown
              181:             TypePointer UniformConstant 180
-182(g_tTexcdu4a):    181(ptr) Variable UniformConstant
+182(g_tTex1du4a):    181(ptr) Variable UniformConstant
+             183:             TypeImage 6(float) 2D array sampled format:Unknown
+             184:             TypePointer UniformConstant 183
+185(g_tTex2df4a):    184(ptr) Variable UniformConstant
+             186:             TypeImage 28(int) 2D array sampled format:Unknown
+             187:             TypePointer UniformConstant 186
+188(g_tTex2di4a):    187(ptr) Variable UniformConstant
+             189:             TypeImage 41(int) 2D array sampled format:Unknown
+             190:             TypePointer UniformConstant 189
+191(g_tTex2du4a):    190(ptr) Variable UniformConstant
+             192:             TypeImage 6(float) Cube array sampled format:Unknown
+             193:             TypePointer UniformConstant 192
+194(g_tTexcdf4a):    193(ptr) Variable UniformConstant
+             195:             TypeImage 28(int) Cube array sampled format:Unknown
+             196:             TypePointer UniformConstant 195
+197(g_tTexcdi4a):    196(ptr) Variable UniformConstant
+             198:             TypeImage 41(int) Cube array sampled format:Unknown
+             199:             TypePointer UniformConstant 198
+200(g_tTexcdu4a):    199(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r00):      7(ptr) Variable Function
-         25(r02):      7(ptr) Variable Function
-         37(r04):      7(ptr) Variable Function
-         49(r20):      7(ptr) Variable Function
-         64(r22):      7(ptr) Variable Function
-         76(r24):      7(ptr) Variable Function
-         88(r50):      7(ptr) Variable Function
-        103(r52):      7(ptr) Variable Function
-        115(r54):      7(ptr) Variable Function
-      130(psout):    129(ptr) Variable Function
+         27(r02):      7(ptr) Variable Function
+         40(r04):      7(ptr) Variable Function
+         53(r20):      7(ptr) Variable Function
+         70(r22):      7(ptr) Variable Function
+         84(r24):      7(ptr) Variable Function
+         98(r50):      7(ptr) Variable Function
+        116(r52):      7(ptr) Variable Function
+        131(r54):      7(ptr) Variable Function
+      148(psout):    147(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              23:    6(float) CompositeExtract 20 0
-              24:    6(float) ImageSampleDrefExplicitLod 19 20 23 Lod 22
-                              Store 8(r00) 24
-              30:          27 Load 29(g_tTex1di4)
-              31:          13 Load 15(g_sSamp)
-              34:          33 SampledImage 30 31
-              35:    6(float) CompositeExtract 20 0
-              36:    6(float) ImageSampleDrefExplicitLod 34 20 35 Lod 22
-                              Store 25(r02) 36
-              42:          39 Load 41(g_tTex1du4)
-              43:          13 Load 15(g_sSamp)
-              46:          45 SampledImage 42 43
-              47:    6(float) CompositeExtract 20 0
-              48:    6(float) ImageSampleDrefExplicitLod 46 20 47 Lod 22
-                              Store 37(r04) 48
-              53:          50 Load 52(g_tTex2df4)
-              54:          13 Load 15(g_sSamp)
-              57:          56 SampledImage 53 54
-              61:    6(float) CompositeExtract 60 0
-              62:    6(float) CompositeExtract 61 0
-              63:    6(float) ImageSampleDrefExplicitLod 57 61 62 Lod 22
-                              Store 49(r20) 63
-              68:          65 Load 67(g_tTex2di4)
-              69:          13 Load 15(g_sSamp)
-              72:          71 SampledImage 68 69
-              73:    6(float) CompositeExtract 60 0
-              74:    6(float) CompositeExtract 73 0
-              75:    6(float) ImageSampleDrefExplicitLod 72 73 74 Lod 22
-                              Store 64(r22) 75
-              80:          77 Load 79(g_tTex2du4)
-              81:          13 Load 15(g_sSamp)
-              84:          83 SampledImage 80 81
-              85:    6(float) CompositeExtract 60 0
-              86:    6(float) CompositeExtract 85 0
-              87:    6(float) ImageSampleDrefExplicitLod 84 85 86 Lod 22
-                              Store 76(r24) 87
-              92:          89 Load 91(g_tTexcdf4)
-              93:          13 Load 15(g_sSamp)
-              96:          95 SampledImage 92 93
-             100:    6(float) CompositeExtract 99 0
-             101:    6(float) CompositeExtract 100 0
-             102:    6(float) ImageSampleDrefExplicitLod 96 100 101 Lod 22
-                              Store 88(r50) 102
-             107:         104 Load 106(g_tTexcdi4)
-             108:          13 Load 15(g_sSamp)
-             111:         110 SampledImage 107 108
-             112:    6(float) CompositeExtract 99 0
-             113:    6(float) CompositeExtract 112 0
-             114:    6(float) ImageSampleDrefExplicitLod 111 112 113 Lod 22
-                              Store 103(r52) 114
-             119:         116 Load 118(g_tTexcdu4)
-             120:          13 Load 15(g_sSamp)
-             123:         122 SampledImage 119 120
-             124:    6(float) CompositeExtract 99 0
-             125:    6(float) CompositeExtract 124 0
-             126:    6(float) ImageSampleDrefExplicitLod 123 124 125 Lod 22
-                              Store 115(r54) 126
-             135:    134(ptr) AccessChain 130(psout) 131
-                              Store 135 133
-             137:      7(ptr) AccessChain 130(psout) 136
-                              Store 137 132
-             140:    134(ptr) AccessChain 130(psout) 131
-             141:  127(fvec4) Load 140
-                              Store 139(Color) 141
-             144:      7(ptr) AccessChain 130(psout) 136
-             145:    6(float) Load 144
-                              Store 143(Depth) 145
+              23:   22(fvec2) CompositeConstruct 20 21
+              25:    6(float) CompositeExtract 23 1
+              26:    6(float) ImageSampleDrefExplicitLod 19 23 25 Lod 24
+                              Store 8(r00) 26
+              32:          29 Load 31(g_tTex1di4)
+              33:          13 Load 15(g_sSamp)
+              36:          35 SampledImage 32 33
+              37:   22(fvec2) CompositeConstruct 20 21
+              38:    6(float) CompositeExtract 37 1
+              39:    6(float) ImageSampleDrefExplicitLod 36 37 38 Lod 24
+                              Store 27(r02) 39
+              45:          42 Load 44(g_tTex1du4)
+              46:          13 Load 15(g_sSamp)
+              49:          48 SampledImage 45 46
+              50:   22(fvec2) CompositeConstruct 20 21
+              51:    6(float) CompositeExtract 50 1
+              52:    6(float) ImageSampleDrefExplicitLod 49 50 51 Lod 24
+                              Store 40(r04) 52
+              57:          54 Load 56(g_tTex2df4)
+              58:          13 Load 15(g_sSamp)
+              61:          60 SampledImage 57 58
+              65:    6(float) CompositeExtract 63 0
+              66:    6(float) CompositeExtract 63 1
+              67:   64(fvec3) CompositeConstruct 65 66 21
+              68:    6(float) CompositeExtract 67 2
+              69:    6(float) ImageSampleDrefExplicitLod 61 67 68 Lod 24
+                              Store 53(r20) 69
+              74:          71 Load 73(g_tTex2di4)
+              75:          13 Load 15(g_sSamp)
+              78:          77 SampledImage 74 75
+              79:    6(float) CompositeExtract 63 0
+              80:    6(float) CompositeExtract 63 1
+              81:   64(fvec3) CompositeConstruct 79 80 21
+              82:    6(float) CompositeExtract 81 2
+              83:    6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 24
+                              Store 70(r22) 83
+              88:          85 Load 87(g_tTex2du4)
+              89:          13 Load 15(g_sSamp)
+              92:          91 SampledImage 88 89
+              93:    6(float) CompositeExtract 63 0
+              94:    6(float) CompositeExtract 63 1
+              95:   64(fvec3) CompositeConstruct 93 94 21
+              96:    6(float) CompositeExtract 95 2
+              97:    6(float) ImageSampleDrefExplicitLod 92 95 96 Lod 24
+                              Store 84(r24) 97
+             102:          99 Load 101(g_tTexcdf4)
+             103:          13 Load 15(g_sSamp)
+             106:         105 SampledImage 102 103
+             110:    6(float) CompositeExtract 108 0
+             111:    6(float) CompositeExtract 108 1
+             112:    6(float) CompositeExtract 108 2
+             113:  109(fvec4) CompositeConstruct 110 111 112 21
+             114:    6(float) CompositeExtract 113 3
+             115:    6(float) ImageSampleDrefExplicitLod 106 113 114 Lod 24
+                              Store 98(r50) 115
+             120:         117 Load 119(g_tTexcdi4)
+             121:          13 Load 15(g_sSamp)
+             124:         123 SampledImage 120 121
+             125:    6(float) CompositeExtract 108 0
+             126:    6(float) CompositeExtract 108 1
+             127:    6(float) CompositeExtract 108 2
+             128:  109(fvec4) CompositeConstruct 125 126 127 21
+             129:    6(float) CompositeExtract 128 3
+             130:    6(float) ImageSampleDrefExplicitLod 124 128 129 Lod 24
+                              Store 116(r52) 130
+             135:         132 Load 134(g_tTexcdu4)
+             136:          13 Load 15(g_sSamp)
+             139:         138 SampledImage 135 136
+             140:    6(float) CompositeExtract 108 0
+             141:    6(float) CompositeExtract 108 1
+             142:    6(float) CompositeExtract 108 2
+             143:  109(fvec4) CompositeConstruct 140 141 142 21
+             144:    6(float) CompositeExtract 143 3
+             145:    6(float) ImageSampleDrefExplicitLod 139 143 144 Lod 24
+                              Store 131(r54) 145
+             153:    152(ptr) AccessChain 148(psout) 149
+                              Store 153 151
+             155:      7(ptr) AccessChain 148(psout) 154
+                              Store 155 150
+             158:    152(ptr) AccessChain 148(psout) 149
+             159:  109(fvec4) Load 158
+                              Store 157(Color) 159
+             162:      7(ptr) AccessChain 148(psout) 154
+             163:    6(float) Load 162
+                              Store 161(Depth) 163
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index b30a252..216ed41 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r01' (temp float)
-0:42          textureLodOffset (global float)
+0:42          textureLodOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -24,11 +24,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r03' (temp float)
-0:43          textureLodOffset (global float)
+0:43          textureLodOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -40,11 +40,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r05' (temp float)
-0:44          textureLodOffset (global float)
+0:44          textureLodOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -56,11 +56,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r21' (temp float)
-0:47          textureLodOffset (global float)
+0:47          textureLodOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -74,11 +74,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r23' (temp float)
-0:48          textureLodOffset (global float)
+0:48          textureLodOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -92,11 +92,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r25' (temp float)
-0:49          textureLodOffset (global float)
+0:49          textureLodOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -140,6 +140,8 @@
 0:65                1 (const int)
 0:65        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -162,8 +164,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -178,11 +178,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r01' (temp float)
-0:42          textureLodOffset (global float)
+0:42          textureLodOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DShadow)
 0:42              'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec2 (temp float)
+0:42            Construct vec2 (temp 2-component vector of float)
 0:42              Constant:
 0:42                0.100000
 0:42              Constant:
@@ -194,11 +194,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r03' (temp float)
-0:43          textureLodOffset (global float)
+0:43          textureLodOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DShadow)
 0:43              'g_tTex1di4' (uniform itexture1D)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec2 (temp float)
+0:43            Construct vec2 (temp 2-component vector of float)
 0:43              Constant:
 0:43                0.100000
 0:43              Constant:
@@ -210,11 +210,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r05' (temp float)
-0:44          textureLodOffset (global float)
+0:44          textureLodOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DShadow)
 0:44              'g_tTex1du4' (uniform utexture1D)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec2 (temp float)
+0:44            Construct vec2 (temp 2-component vector of float)
 0:44              Constant:
 0:44                0.100000
 0:44              Constant:
@@ -226,11 +226,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r21' (temp float)
-0:47          textureLodOffset (global float)
+0:47          textureLodOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DShadow)
 0:47              'g_tTex2df4' (uniform texture2D)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec3 (temp float)
+0:47            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -244,11 +244,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r23' (temp float)
-0:48          textureLodOffset (global float)
+0:48          textureLodOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DShadow)
 0:48              'g_tTex2di4' (uniform itexture2D)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec3 (temp float)
+0:48            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -262,11 +262,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r25' (temp float)
-0:49          textureLodOffset (global float)
+0:49          textureLodOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DShadow)
 0:49              'g_tTex2du4' (uniform utexture2D)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec3 (temp float)
+0:49            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -310,6 +310,8 @@
 0:65                1 (const int)
 0:65        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -332,81 +334,79 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 157
+// Id's are bound by 167
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 104 108
+                              EntryPoint Fragment 4  "main" 114 118
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r01"
                               Name 11  "g_tTex1df4"
                               Name 15  "g_sSamp"
-                              Name 27  "r03"
-                              Name 30  "g_tTex1di4"
-                              Name 38  "r05"
-                              Name 42  "g_tTex1du4"
-                              Name 50  "r21"
-                              Name 53  "g_tTex2df4"
-                              Name 68  "r23"
-                              Name 71  "g_tTex2di4"
-                              Name 80  "r25"
-                              Name 83  "g_tTex2du4"
-                              Name 93  "PS_OUTPUT"
-                              MemberName 93(PS_OUTPUT) 0  "Color"
-                              MemberName 93(PS_OUTPUT) 1  "Depth"
-                              Name 95  "psout"
-                              Name 104  "Color"
-                              Name 108  "Depth"
-                              Name 114  "g_tTex3df4"
-                              Name 117  "g_tTex3di4"
-                              Name 120  "g_tTex3du4"
-                              Name 123  "g_tTexcdf4"
-                              Name 126  "g_tTexcdi4"
-                              Name 129  "g_tTexcdu4"
-                              Name 132  "g_tTex1df4a"
-                              Name 135  "g_tTex1di4a"
-                              Name 138  "g_tTex1du4a"
-                              Name 141  "g_tTex2df4a"
-                              Name 144  "g_tTex2di4a"
-                              Name 147  "g_tTex2du4a"
-                              Name 150  "g_tTexcdf4a"
-                              Name 153  "g_tTexcdi4a"
-                              Name 156  "g_tTexcdu4a"
+                              Name 29  "r03"
+                              Name 32  "g_tTex1di4"
+                              Name 41  "r05"
+                              Name 45  "g_tTex1du4"
+                              Name 54  "r21"
+                              Name 57  "g_tTex2df4"
+                              Name 74  "r23"
+                              Name 77  "g_tTex2di4"
+                              Name 88  "r25"
+                              Name 91  "g_tTex2du4"
+                              Name 103  "PS_OUTPUT"
+                              MemberName 103(PS_OUTPUT) 0  "Color"
+                              MemberName 103(PS_OUTPUT) 1  "Depth"
+                              Name 105  "psout"
+                              Name 114  "Color"
+                              Name 118  "Depth"
+                              Name 124  "g_tTex3df4"
+                              Name 127  "g_tTex3di4"
+                              Name 130  "g_tTex3du4"
+                              Name 133  "g_tTexcdf4"
+                              Name 136  "g_tTexcdi4"
+                              Name 139  "g_tTexcdu4"
+                              Name 142  "g_tTex1df4a"
+                              Name 145  "g_tTex1di4a"
+                              Name 148  "g_tTex1du4a"
+                              Name 151  "g_tTex2df4a"
+                              Name 154  "g_tTex2di4a"
+                              Name 157  "g_tTex2du4a"
+                              Name 160  "g_tTexcdf4a"
+                              Name 163  "g_tTexcdi4a"
+                              Name 166  "g_tTexcdu4a"
                               Decorate 11(g_tTex1df4) DescriptorSet 0
                               Decorate 11(g_tTex1df4) Binding 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 30(g_tTex1di4) DescriptorSet 0
-                              Decorate 42(g_tTex1du4) DescriptorSet 0
-                              Decorate 53(g_tTex2df4) DescriptorSet 0
-                              Decorate 71(g_tTex2di4) DescriptorSet 0
-                              Decorate 83(g_tTex2du4) DescriptorSet 0
-                              Decorate 104(Color) Location 0
-                              Decorate 108(Depth) BuiltIn FragDepth
-                              Decorate 114(g_tTex3df4) DescriptorSet 0
-                              Decorate 117(g_tTex3di4) DescriptorSet 0
-                              Decorate 120(g_tTex3du4) DescriptorSet 0
-                              Decorate 123(g_tTexcdf4) DescriptorSet 0
-                              Decorate 126(g_tTexcdi4) DescriptorSet 0
-                              Decorate 129(g_tTexcdu4) DescriptorSet 0
-                              Decorate 132(g_tTex1df4a) DescriptorSet 0
-                              Decorate 135(g_tTex1di4a) DescriptorSet 0
-                              Decorate 138(g_tTex1du4a) DescriptorSet 0
-                              Decorate 141(g_tTex2df4a) DescriptorSet 0
-                              Decorate 144(g_tTex2di4a) DescriptorSet 0
-                              Decorate 147(g_tTex2du4a) DescriptorSet 0
-                              Decorate 150(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 153(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 156(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 32(g_tTex1di4) DescriptorSet 0
+                              Decorate 45(g_tTex1du4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 77(g_tTex2di4) DescriptorSet 0
+                              Decorate 91(g_tTex2du4) DescriptorSet 0
+                              Decorate 114(Color) Location 0
+                              Decorate 118(Depth) BuiltIn FragDepth
+                              Decorate 124(g_tTex3df4) DescriptorSet 0
+                              Decorate 127(g_tTex3di4) DescriptorSet 0
+                              Decorate 130(g_tTex3du4) DescriptorSet 0
+                              Decorate 133(g_tTexcdf4) DescriptorSet 0
+                              Decorate 136(g_tTexcdi4) DescriptorSet 0
+                              Decorate 139(g_tTexcdu4) DescriptorSet 0
+                              Decorate 142(g_tTex1df4a) DescriptorSet 0
+                              Decorate 145(g_tTex1di4a) DescriptorSet 0
+                              Decorate 148(g_tTex1du4a) DescriptorSet 0
+                              Decorate 151(g_tTex2df4a) DescriptorSet 0
+                              Decorate 154(g_tTex2di4a) DescriptorSet 0
+                              Decorate 157(g_tTex2du4a) DescriptorSet 0
+                              Decorate 160(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 163(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 166(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -421,155 +421,165 @@
               18:             TypeSampledImage 17
               20:    6(float) Constant 1036831949
               21:    6(float) Constant 1061158912
-              22:    6(float) Constant 0
-              23:             TypeInt 32 1
-              24:     23(int) Constant 2
-              28:             TypeImage 23(int) 1D sampled format:Unknown
-              29:             TypePointer UniformConstant 28
-  30(g_tTex1di4):     29(ptr) Variable UniformConstant
-              33:             TypeImage 23(int) 1D depth sampled format:Unknown
-              34:             TypeSampledImage 33
-              39:             TypeInt 32 0
-              40:             TypeImage 39(int) 1D sampled format:Unknown
-              41:             TypePointer UniformConstant 40
-  42(g_tTex1du4):     41(ptr) Variable UniformConstant
-              45:             TypeImage 39(int) 1D depth sampled format:Unknown
-              46:             TypeSampledImage 45
-              51:             TypeImage 6(float) 2D sampled format:Unknown
-              52:             TypePointer UniformConstant 51
-  53(g_tTex2df4):     52(ptr) Variable UniformConstant
-              56:             TypeImage 6(float) 2D depth sampled format:Unknown
-              57:             TypeSampledImage 56
-              59:             TypeVector 6(float) 2
-              60:    6(float) Constant 1045220557
-              61:   59(fvec2) ConstantComposite 20 60
-              63:             TypeVector 23(int) 2
-              64:     23(int) Constant 3
-              65:   63(ivec2) ConstantComposite 24 64
-              69:             TypeImage 23(int) 2D sampled format:Unknown
-              70:             TypePointer UniformConstant 69
-  71(g_tTex2di4):     70(ptr) Variable UniformConstant
-              74:             TypeImage 23(int) 2D depth sampled format:Unknown
-              75:             TypeSampledImage 74
-              81:             TypeImage 39(int) 2D sampled format:Unknown
-              82:             TypePointer UniformConstant 81
-  83(g_tTex2du4):     82(ptr) Variable UniformConstant
-              86:             TypeImage 39(int) 2D depth sampled format:Unknown
-              87:             TypeSampledImage 86
-              92:             TypeVector 6(float) 4
-   93(PS_OUTPUT):             TypeStruct 92(fvec4) 6(float)
-              94:             TypePointer Function 93(PS_OUTPUT)
-              96:     23(int) Constant 0
-              97:    6(float) Constant 1065353216
-              98:   92(fvec4) ConstantComposite 97 97 97 97
-              99:             TypePointer Function 92(fvec4)
-             101:     23(int) Constant 1
-             103:             TypePointer Output 92(fvec4)
-      104(Color):    103(ptr) Variable Output
-             107:             TypePointer Output 6(float)
-      108(Depth):    107(ptr) Variable Output
-             112:             TypeImage 6(float) 3D sampled format:Unknown
-             113:             TypePointer UniformConstant 112
- 114(g_tTex3df4):    113(ptr) Variable UniformConstant
-             115:             TypeImage 23(int) 3D sampled format:Unknown
-             116:             TypePointer UniformConstant 115
- 117(g_tTex3di4):    116(ptr) Variable UniformConstant
-             118:             TypeImage 39(int) 3D sampled format:Unknown
-             119:             TypePointer UniformConstant 118
- 120(g_tTex3du4):    119(ptr) Variable UniformConstant
-             121:             TypeImage 6(float) Cube sampled format:Unknown
-             122:             TypePointer UniformConstant 121
- 123(g_tTexcdf4):    122(ptr) Variable UniformConstant
-             124:             TypeImage 23(int) Cube sampled format:Unknown
-             125:             TypePointer UniformConstant 124
- 126(g_tTexcdi4):    125(ptr) Variable UniformConstant
-             127:             TypeImage 39(int) Cube sampled format:Unknown
-             128:             TypePointer UniformConstant 127
- 129(g_tTexcdu4):    128(ptr) Variable UniformConstant
-             130:             TypeImage 6(float) 1D array sampled format:Unknown
-             131:             TypePointer UniformConstant 130
-132(g_tTex1df4a):    131(ptr) Variable UniformConstant
-             133:             TypeImage 23(int) 1D array sampled format:Unknown
-             134:             TypePointer UniformConstant 133
-135(g_tTex1di4a):    134(ptr) Variable UniformConstant
-             136:             TypeImage 39(int) 1D array sampled format:Unknown
-             137:             TypePointer UniformConstant 136
-138(g_tTex1du4a):    137(ptr) Variable UniformConstant
-             139:             TypeImage 6(float) 2D array sampled format:Unknown
-             140:             TypePointer UniformConstant 139
-141(g_tTex2df4a):    140(ptr) Variable UniformConstant
-             142:             TypeImage 23(int) 2D array sampled format:Unknown
-             143:             TypePointer UniformConstant 142
-144(g_tTex2di4a):    143(ptr) Variable UniformConstant
-             145:             TypeImage 39(int) 2D array sampled format:Unknown
-             146:             TypePointer UniformConstant 145
-147(g_tTex2du4a):    146(ptr) Variable UniformConstant
-             148:             TypeImage 6(float) Cube array sampled format:Unknown
-             149:             TypePointer UniformConstant 148
-150(g_tTexcdf4a):    149(ptr) Variable UniformConstant
-             151:             TypeImage 23(int) Cube array sampled format:Unknown
-             152:             TypePointer UniformConstant 151
-153(g_tTexcdi4a):    152(ptr) Variable UniformConstant
-             154:             TypeImage 39(int) Cube array sampled format:Unknown
-             155:             TypePointer UniformConstant 154
-156(g_tTexcdu4a):    155(ptr) Variable UniformConstant
+              22:             TypeVector 6(float) 2
+              24:    6(float) Constant 0
+              25:             TypeInt 32 1
+              26:     25(int) Constant 2
+              30:             TypeImage 25(int) 1D sampled format:Unknown
+              31:             TypePointer UniformConstant 30
+  32(g_tTex1di4):     31(ptr) Variable UniformConstant
+              35:             TypeImage 25(int) 1D depth sampled format:Unknown
+              36:             TypeSampledImage 35
+              42:             TypeInt 32 0
+              43:             TypeImage 42(int) 1D sampled format:Unknown
+              44:             TypePointer UniformConstant 43
+  45(g_tTex1du4):     44(ptr) Variable UniformConstant
+              48:             TypeImage 42(int) 1D depth sampled format:Unknown
+              49:             TypeSampledImage 48
+              55:             TypeImage 6(float) 2D sampled format:Unknown
+              56:             TypePointer UniformConstant 55
+  57(g_tTex2df4):     56(ptr) Variable UniformConstant
+              60:             TypeImage 6(float) 2D depth sampled format:Unknown
+              61:             TypeSampledImage 60
+              63:    6(float) Constant 1045220557
+              64:   22(fvec2) ConstantComposite 20 63
+              65:             TypeVector 6(float) 3
+              69:             TypeVector 25(int) 2
+              70:     25(int) Constant 3
+              71:   69(ivec2) ConstantComposite 26 70
+              75:             TypeImage 25(int) 2D sampled format:Unknown
+              76:             TypePointer UniformConstant 75
+  77(g_tTex2di4):     76(ptr) Variable UniformConstant
+              80:             TypeImage 25(int) 2D depth sampled format:Unknown
+              81:             TypeSampledImage 80
+              89:             TypeImage 42(int) 2D sampled format:Unknown
+              90:             TypePointer UniformConstant 89
+  91(g_tTex2du4):     90(ptr) Variable UniformConstant
+              94:             TypeImage 42(int) 2D depth sampled format:Unknown
+              95:             TypeSampledImage 94
+             102:             TypeVector 6(float) 4
+  103(PS_OUTPUT):             TypeStruct 102(fvec4) 6(float)
+             104:             TypePointer Function 103(PS_OUTPUT)
+             106:     25(int) Constant 0
+             107:    6(float) Constant 1065353216
+             108:  102(fvec4) ConstantComposite 107 107 107 107
+             109:             TypePointer Function 102(fvec4)
+             111:     25(int) Constant 1
+             113:             TypePointer Output 102(fvec4)
+      114(Color):    113(ptr) Variable Output
+             117:             TypePointer Output 6(float)
+      118(Depth):    117(ptr) Variable Output
+             122:             TypeImage 6(float) 3D sampled format:Unknown
+             123:             TypePointer UniformConstant 122
+ 124(g_tTex3df4):    123(ptr) Variable UniformConstant
+             125:             TypeImage 25(int) 3D sampled format:Unknown
+             126:             TypePointer UniformConstant 125
+ 127(g_tTex3di4):    126(ptr) Variable UniformConstant
+             128:             TypeImage 42(int) 3D sampled format:Unknown
+             129:             TypePointer UniformConstant 128
+ 130(g_tTex3du4):    129(ptr) Variable UniformConstant
+             131:             TypeImage 6(float) Cube sampled format:Unknown
+             132:             TypePointer UniformConstant 131
+ 133(g_tTexcdf4):    132(ptr) Variable UniformConstant
+             134:             TypeImage 25(int) Cube sampled format:Unknown
+             135:             TypePointer UniformConstant 134
+ 136(g_tTexcdi4):    135(ptr) Variable UniformConstant
+             137:             TypeImage 42(int) Cube sampled format:Unknown
+             138:             TypePointer UniformConstant 137
+ 139(g_tTexcdu4):    138(ptr) Variable UniformConstant
+             140:             TypeImage 6(float) 1D array sampled format:Unknown
+             141:             TypePointer UniformConstant 140
+142(g_tTex1df4a):    141(ptr) Variable UniformConstant
+             143:             TypeImage 25(int) 1D array sampled format:Unknown
+             144:             TypePointer UniformConstant 143
+145(g_tTex1di4a):    144(ptr) Variable UniformConstant
+             146:             TypeImage 42(int) 1D array sampled format:Unknown
+             147:             TypePointer UniformConstant 146
+148(g_tTex1du4a):    147(ptr) Variable UniformConstant
+             149:             TypeImage 6(float) 2D array sampled format:Unknown
+             150:             TypePointer UniformConstant 149
+151(g_tTex2df4a):    150(ptr) Variable UniformConstant
+             152:             TypeImage 25(int) 2D array sampled format:Unknown
+             153:             TypePointer UniformConstant 152
+154(g_tTex2di4a):    153(ptr) Variable UniformConstant
+             155:             TypeImage 42(int) 2D array sampled format:Unknown
+             156:             TypePointer UniformConstant 155
+157(g_tTex2du4a):    156(ptr) Variable UniformConstant
+             158:             TypeImage 6(float) Cube array sampled format:Unknown
+             159:             TypePointer UniformConstant 158
+160(g_tTexcdf4a):    159(ptr) Variable UniformConstant
+             161:             TypeImage 25(int) Cube array sampled format:Unknown
+             162:             TypePointer UniformConstant 161
+163(g_tTexcdi4a):    162(ptr) Variable UniformConstant
+             164:             TypeImage 42(int) Cube array sampled format:Unknown
+             165:             TypePointer UniformConstant 164
+166(g_tTexcdu4a):    165(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r01):      7(ptr) Variable Function
-         27(r03):      7(ptr) Variable Function
-         38(r05):      7(ptr) Variable Function
-         50(r21):      7(ptr) Variable Function
-         68(r23):      7(ptr) Variable Function
-         80(r25):      7(ptr) Variable Function
-       95(psout):     94(ptr) Variable Function
+         29(r03):      7(ptr) Variable Function
+         41(r05):      7(ptr) Variable Function
+         54(r21):      7(ptr) Variable Function
+         74(r23):      7(ptr) Variable Function
+         88(r25):      7(ptr) Variable Function
+      105(psout):    104(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              25:    6(float) CompositeExtract 20 0
-              26:    6(float) ImageSampleDrefExplicitLod 19 20 25 Lod ConstOffset 22 24
-                              Store 8(r01) 26
-              31:          28 Load 30(g_tTex1di4)
-              32:          13 Load 15(g_sSamp)
-              35:          34 SampledImage 31 32
-              36:    6(float) CompositeExtract 20 0
-              37:    6(float) ImageSampleDrefExplicitLod 35 20 36 Lod ConstOffset 22 24
-                              Store 27(r03) 37
-              43:          40 Load 42(g_tTex1du4)
-              44:          13 Load 15(g_sSamp)
-              47:          46 SampledImage 43 44
-              48:    6(float) CompositeExtract 20 0
-              49:    6(float) ImageSampleDrefExplicitLod 47 20 48 Lod ConstOffset 22 24
-                              Store 38(r05) 49
-              54:          51 Load 53(g_tTex2df4)
-              55:          13 Load 15(g_sSamp)
-              58:          57 SampledImage 54 55
-              62:    6(float) CompositeExtract 61 0
-              66:    6(float) CompositeExtract 62 0
-              67:    6(float) ImageSampleDrefExplicitLod 58 62 66 Lod ConstOffset 22 65
-                              Store 50(r21) 67
-              72:          69 Load 71(g_tTex2di4)
-              73:          13 Load 15(g_sSamp)
-              76:          75 SampledImage 72 73
-              77:    6(float) CompositeExtract 61 0
-              78:    6(float) CompositeExtract 77 0
-              79:    6(float) ImageSampleDrefExplicitLod 76 77 78 Lod ConstOffset 22 65
-                              Store 68(r23) 79
-              84:          81 Load 83(g_tTex2du4)
-              85:          13 Load 15(g_sSamp)
-              88:          87 SampledImage 84 85
-              89:    6(float) CompositeExtract 61 0
-              90:    6(float) CompositeExtract 89 0
-              91:    6(float) ImageSampleDrefExplicitLod 88 89 90 Lod ConstOffset 22 65
-                              Store 80(r25) 91
-             100:     99(ptr) AccessChain 95(psout) 96
-                              Store 100 98
-             102:      7(ptr) AccessChain 95(psout) 101
-                              Store 102 97
-             105:     99(ptr) AccessChain 95(psout) 96
-             106:   92(fvec4) Load 105
-                              Store 104(Color) 106
-             109:      7(ptr) AccessChain 95(psout) 101
-             110:    6(float) Load 109
-                              Store 108(Depth) 110
+              23:   22(fvec2) CompositeConstruct 20 21
+              27:    6(float) CompositeExtract 23 1
+              28:    6(float) ImageSampleDrefExplicitLod 19 23 27 Lod ConstOffset 24 26
+                              Store 8(r01) 28
+              33:          30 Load 32(g_tTex1di4)
+              34:          13 Load 15(g_sSamp)
+              37:          36 SampledImage 33 34
+              38:   22(fvec2) CompositeConstruct 20 21
+              39:    6(float) CompositeExtract 38 1
+              40:    6(float) ImageSampleDrefExplicitLod 37 38 39 Lod ConstOffset 24 26
+                              Store 29(r03) 40
+              46:          43 Load 45(g_tTex1du4)
+              47:          13 Load 15(g_sSamp)
+              50:          49 SampledImage 46 47
+              51:   22(fvec2) CompositeConstruct 20 21
+              52:    6(float) CompositeExtract 51 1
+              53:    6(float) ImageSampleDrefExplicitLod 50 51 52 Lod ConstOffset 24 26
+                              Store 41(r05) 53
+              58:          55 Load 57(g_tTex2df4)
+              59:          13 Load 15(g_sSamp)
+              62:          61 SampledImage 58 59
+              66:    6(float) CompositeExtract 64 0
+              67:    6(float) CompositeExtract 64 1
+              68:   65(fvec3) CompositeConstruct 66 67 21
+              72:    6(float) CompositeExtract 68 2
+              73:    6(float) ImageSampleDrefExplicitLod 62 68 72 Lod ConstOffset 24 71
+                              Store 54(r21) 73
+              78:          75 Load 77(g_tTex2di4)
+              79:          13 Load 15(g_sSamp)
+              82:          81 SampledImage 78 79
+              83:    6(float) CompositeExtract 64 0
+              84:    6(float) CompositeExtract 64 1
+              85:   65(fvec3) CompositeConstruct 83 84 21
+              86:    6(float) CompositeExtract 85 2
+              87:    6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 24 71
+                              Store 74(r23) 87
+              92:          89 Load 91(g_tTex2du4)
+              93:          13 Load 15(g_sSamp)
+              96:          95 SampledImage 92 93
+              97:    6(float) CompositeExtract 64 0
+              98:    6(float) CompositeExtract 64 1
+              99:   65(fvec3) CompositeConstruct 97 98 21
+             100:    6(float) CompositeExtract 99 2
+             101:    6(float) ImageSampleDrefExplicitLod 96 99 100 Lod ConstOffset 24 71
+                              Store 88(r25) 101
+             110:    109(ptr) AccessChain 105(psout) 106
+                              Store 110 108
+             112:      7(ptr) AccessChain 105(psout) 111
+                              Store 112 107
+             115:    109(ptr) AccessChain 105(psout) 106
+             116:  102(fvec4) Load 115
+                              Store 114(Color) 116
+             119:      7(ptr) AccessChain 105(psout) 111
+             120:    6(float) Load 119
+                              Store 118(Depth) 120
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index 19d262a..2e5f3cd 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -8,11 +8,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r11' (temp float)
-0:42          textureLodOffset (global float)
+0:42          textureLodOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -25,11 +25,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r13' (temp float)
-0:43          textureLodOffset (global float)
+0:43          textureLodOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -42,11 +42,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r15' (temp float)
-0:44          textureLodOffset (global float)
+0:44          textureLodOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -59,11 +59,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r31' (temp float)
-0:47          textureLodOffset (global float)
+0:47          textureLodOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -78,11 +78,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r33' (temp float)
-0:48          textureLodOffset (global float)
+0:48          textureLodOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -97,11 +97,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r35' (temp float)
-0:49          textureLodOffset (global float)
+0:49          textureLodOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -146,6 +146,8 @@
 0:66                1 (const int)
 0:66        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -168,8 +170,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -184,11 +184,11 @@
 0:42      Sequence
 0:42        move second child to first child (temp float)
 0:42          'r11' (temp float)
-0:42          textureLodOffset (global float)
+0:42          textureLodOffset (temp float)
 0:42            Construct combined texture-sampler (temp sampler1DArrayShadow)
 0:42              'g_tTex1df4a' (uniform texture1DArray)
 0:42              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:42            Construct vec3 (temp float)
+0:42            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -201,11 +201,11 @@
 0:43      Sequence
 0:43        move second child to first child (temp float)
 0:43          'r13' (temp float)
-0:43          textureLodOffset (global float)
+0:43          textureLodOffset (temp float)
 0:43            Construct combined texture-sampler (temp isampler1DArrayShadow)
 0:43              'g_tTex1di4a' (uniform itexture1DArray)
 0:43              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:43            Construct vec3 (temp float)
+0:43            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -218,11 +218,11 @@
 0:44      Sequence
 0:44        move second child to first child (temp float)
 0:44          'r15' (temp float)
-0:44          textureLodOffset (global float)
+0:44          textureLodOffset (temp float)
 0:44            Construct combined texture-sampler (temp usampler1DArrayShadow)
 0:44              'g_tTex1du4a' (uniform utexture1DArray)
 0:44              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:44            Construct vec3 (temp float)
+0:44            Construct vec3 (temp 3-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -235,11 +235,11 @@
 0:47      Sequence
 0:47        move second child to first child (temp float)
 0:47          'r31' (temp float)
-0:47          textureLodOffset (global float)
+0:47          textureLodOffset (temp float)
 0:47            Construct combined texture-sampler (temp sampler2DArrayShadow)
 0:47              'g_tTex2df4a' (uniform texture2DArray)
 0:47              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:47            Construct vec4 (temp float)
+0:47            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -254,11 +254,11 @@
 0:48      Sequence
 0:48        move second child to first child (temp float)
 0:48          'r33' (temp float)
-0:48          textureLodOffset (global float)
+0:48          textureLodOffset (temp float)
 0:48            Construct combined texture-sampler (temp isampler2DArrayShadow)
 0:48              'g_tTex2di4a' (uniform itexture2DArray)
 0:48              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:48            Construct vec4 (temp float)
+0:48            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -273,11 +273,11 @@
 0:49      Sequence
 0:49        move second child to first child (temp float)
 0:49          'r35' (temp float)
-0:49          textureLodOffset (global float)
+0:49          textureLodOffset (temp float)
 0:49            Construct combined texture-sampler (temp usampler2DArrayShadow)
 0:49              'g_tTex2du4a' (uniform utexture2DArray)
 0:49              'g_sSamp' (layout(binding=0 ) uniform sampler)
-0:49            Construct vec4 (temp float)
+0:49            Construct vec4 (temp 4-component vector of float)
 0:?               Constant:
 0:?                 0.100000
 0:?                 0.200000
@@ -322,6 +322,8 @@
 0:66                1 (const int)
 0:66        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -344,81 +346,79 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 163
+// Id's are bound by 178
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 110 114
+                              EntryPoint Fragment 4  "main" 125 129
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "main"
                               Name 8  "r11"
                               Name 11  "g_tTex1df4a"
                               Name 15  "g_sSamp"
-                              Name 31  "r13"
-                              Name 34  "g_tTex1di4a"
-                              Name 43  "r15"
-                              Name 47  "g_tTex1du4a"
-                              Name 56  "r31"
-                              Name 59  "g_tTex2df4a"
-                              Name 74  "r33"
-                              Name 77  "g_tTex2di4a"
-                              Name 86  "r35"
-                              Name 89  "g_tTex2du4a"
-                              Name 99  "PS_OUTPUT"
-                              MemberName 99(PS_OUTPUT) 0  "Color"
-                              MemberName 99(PS_OUTPUT) 1  "Depth"
-                              Name 101  "psout"
-                              Name 110  "Color"
-                              Name 114  "Depth"
-                              Name 120  "g_tTex1df4"
-                              Name 123  "g_tTex1di4"
-                              Name 126  "g_tTex1du4"
-                              Name 129  "g_tTex2df4"
-                              Name 132  "g_tTex2di4"
-                              Name 135  "g_tTex2du4"
-                              Name 138  "g_tTex3df4"
-                              Name 141  "g_tTex3di4"
-                              Name 144  "g_tTex3du4"
-                              Name 147  "g_tTexcdf4"
-                              Name 150  "g_tTexcdi4"
-                              Name 153  "g_tTexcdu4"
-                              Name 156  "g_tTexcdf4a"
-                              Name 159  "g_tTexcdi4a"
-                              Name 162  "g_tTexcdu4a"
+                              Name 34  "r13"
+                              Name 37  "g_tTex1di4a"
+                              Name 48  "r15"
+                              Name 52  "g_tTex1du4a"
+                              Name 63  "r31"
+                              Name 66  "g_tTex2df4a"
+                              Name 84  "r33"
+                              Name 87  "g_tTex2di4a"
+                              Name 99  "r35"
+                              Name 102  "g_tTex2du4a"
+                              Name 114  "PS_OUTPUT"
+                              MemberName 114(PS_OUTPUT) 0  "Color"
+                              MemberName 114(PS_OUTPUT) 1  "Depth"
+                              Name 116  "psout"
+                              Name 125  "Color"
+                              Name 129  "Depth"
+                              Name 135  "g_tTex1df4"
+                              Name 138  "g_tTex1di4"
+                              Name 141  "g_tTex1du4"
+                              Name 144  "g_tTex2df4"
+                              Name 147  "g_tTex2di4"
+                              Name 150  "g_tTex2du4"
+                              Name 153  "g_tTex3df4"
+                              Name 156  "g_tTex3di4"
+                              Name 159  "g_tTex3du4"
+                              Name 162  "g_tTexcdf4"
+                              Name 165  "g_tTexcdi4"
+                              Name 168  "g_tTexcdu4"
+                              Name 171  "g_tTexcdf4a"
+                              Name 174  "g_tTexcdi4a"
+                              Name 177  "g_tTexcdu4a"
                               Decorate 11(g_tTex1df4a) DescriptorSet 0
                               Decorate 15(g_sSamp) DescriptorSet 0
                               Decorate 15(g_sSamp) Binding 0
-                              Decorate 34(g_tTex1di4a) DescriptorSet 0
-                              Decorate 47(g_tTex1du4a) DescriptorSet 0
-                              Decorate 59(g_tTex2df4a) DescriptorSet 0
-                              Decorate 77(g_tTex2di4a) DescriptorSet 0
-                              Decorate 89(g_tTex2du4a) DescriptorSet 0
-                              Decorate 110(Color) Location 0
-                              Decorate 114(Depth) BuiltIn FragDepth
-                              Decorate 120(g_tTex1df4) DescriptorSet 0
-                              Decorate 120(g_tTex1df4) Binding 0
-                              Decorate 123(g_tTex1di4) DescriptorSet 0
-                              Decorate 126(g_tTex1du4) DescriptorSet 0
-                              Decorate 129(g_tTex2df4) DescriptorSet 0
-                              Decorate 132(g_tTex2di4) DescriptorSet 0
-                              Decorate 135(g_tTex2du4) DescriptorSet 0
-                              Decorate 138(g_tTex3df4) DescriptorSet 0
-                              Decorate 141(g_tTex3di4) DescriptorSet 0
-                              Decorate 144(g_tTex3du4) DescriptorSet 0
-                              Decorate 147(g_tTexcdf4) DescriptorSet 0
-                              Decorate 150(g_tTexcdi4) DescriptorSet 0
-                              Decorate 153(g_tTexcdu4) DescriptorSet 0
-                              Decorate 156(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 159(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 162(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 37(g_tTex1di4a) DescriptorSet 0
+                              Decorate 52(g_tTex1du4a) DescriptorSet 0
+                              Decorate 66(g_tTex2df4a) DescriptorSet 0
+                              Decorate 87(g_tTex2di4a) DescriptorSet 0
+                              Decorate 102(g_tTex2du4a) DescriptorSet 0
+                              Decorate 125(Color) Location 0
+                              Decorate 129(Depth) BuiltIn FragDepth
+                              Decorate 135(g_tTex1df4) DescriptorSet 0
+                              Decorate 135(g_tTex1df4) Binding 0
+                              Decorate 138(g_tTex1di4) DescriptorSet 0
+                              Decorate 141(g_tTex1du4) DescriptorSet 0
+                              Decorate 144(g_tTex2df4) DescriptorSet 0
+                              Decorate 147(g_tTex2di4) DescriptorSet 0
+                              Decorate 150(g_tTex2du4) DescriptorSet 0
+                              Decorate 153(g_tTex3df4) DescriptorSet 0
+                              Decorate 156(g_tTex3di4) DescriptorSet 0
+                              Decorate 159(g_tTex3du4) DescriptorSet 0
+                              Decorate 162(g_tTexcdf4) DescriptorSet 0
+                              Decorate 165(g_tTexcdi4) DescriptorSet 0
+                              Decorate 168(g_tTexcdu4) DescriptorSet 0
+                              Decorate 171(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 174(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 177(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -436,158 +436,173 @@
               22:    6(float) Constant 1045220557
               23:   20(fvec2) ConstantComposite 21 22
               24:    6(float) Constant 1061158912
-              26:    6(float) Constant 0
-              27:             TypeInt 32 1
-              28:     27(int) Constant 2
-              32:             TypeImage 27(int) 1D array sampled format:Unknown
-              33:             TypePointer UniformConstant 32
- 34(g_tTex1di4a):     33(ptr) Variable UniformConstant
-              37:             TypeImage 27(int) 1D depth array sampled format:Unknown
-              38:             TypeSampledImage 37
-              44:             TypeInt 32 0
-              45:             TypeImage 44(int) 1D array sampled format:Unknown
-              46:             TypePointer UniformConstant 45
- 47(g_tTex1du4a):     46(ptr) Variable UniformConstant
-              50:             TypeImage 44(int) 1D depth array sampled format:Unknown
-              51:             TypeSampledImage 50
-              57:             TypeImage 6(float) 2D array sampled format:Unknown
-              58:             TypePointer UniformConstant 57
- 59(g_tTex2df4a):     58(ptr) Variable UniformConstant
-              62:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              63:             TypeSampledImage 62
-              65:             TypeVector 6(float) 3
-              66:    6(float) Constant 1050253722
-              67:   65(fvec3) ConstantComposite 21 22 66
-              69:             TypeVector 27(int) 2
-              70:     27(int) Constant 3
-              71:   69(ivec2) ConstantComposite 28 70
-              75:             TypeImage 27(int) 2D array sampled format:Unknown
-              76:             TypePointer UniformConstant 75
- 77(g_tTex2di4a):     76(ptr) Variable UniformConstant
-              80:             TypeImage 27(int) 2D depth array sampled format:Unknown
-              81:             TypeSampledImage 80
-              87:             TypeImage 44(int) 2D array sampled format:Unknown
-              88:             TypePointer UniformConstant 87
- 89(g_tTex2du4a):     88(ptr) Variable UniformConstant
-              92:             TypeImage 44(int) 2D depth array sampled format:Unknown
-              93:             TypeSampledImage 92
-              98:             TypeVector 6(float) 4
-   99(PS_OUTPUT):             TypeStruct 98(fvec4) 6(float)
-             100:             TypePointer Function 99(PS_OUTPUT)
-             102:     27(int) Constant 0
-             103:    6(float) Constant 1065353216
-             104:   98(fvec4) ConstantComposite 103 103 103 103
-             105:             TypePointer Function 98(fvec4)
-             107:     27(int) Constant 1
-             109:             TypePointer Output 98(fvec4)
-      110(Color):    109(ptr) Variable Output
-             113:             TypePointer Output 6(float)
-      114(Depth):    113(ptr) Variable Output
-             118:             TypeImage 6(float) 1D sampled format:Unknown
-             119:             TypePointer UniformConstant 118
- 120(g_tTex1df4):    119(ptr) Variable UniformConstant
-             121:             TypeImage 27(int) 1D sampled format:Unknown
-             122:             TypePointer UniformConstant 121
- 123(g_tTex1di4):    122(ptr) Variable UniformConstant
-             124:             TypeImage 44(int) 1D sampled format:Unknown
-             125:             TypePointer UniformConstant 124
- 126(g_tTex1du4):    125(ptr) Variable UniformConstant
-             127:             TypeImage 6(float) 2D sampled format:Unknown
-             128:             TypePointer UniformConstant 127
- 129(g_tTex2df4):    128(ptr) Variable UniformConstant
-             130:             TypeImage 27(int) 2D sampled format:Unknown
-             131:             TypePointer UniformConstant 130
- 132(g_tTex2di4):    131(ptr) Variable UniformConstant
-             133:             TypeImage 44(int) 2D sampled format:Unknown
+              25:             TypeVector 6(float) 3
+              29:    6(float) Constant 0
+              30:             TypeInt 32 1
+              31:     30(int) Constant 2
+              35:             TypeImage 30(int) 1D array sampled format:Unknown
+              36:             TypePointer UniformConstant 35
+ 37(g_tTex1di4a):     36(ptr) Variable UniformConstant
+              40:             TypeImage 30(int) 1D depth array sampled format:Unknown
+              41:             TypeSampledImage 40
+              49:             TypeInt 32 0
+              50:             TypeImage 49(int) 1D array sampled format:Unknown
+              51:             TypePointer UniformConstant 50
+ 52(g_tTex1du4a):     51(ptr) Variable UniformConstant
+              55:             TypeImage 49(int) 1D depth array sampled format:Unknown
+              56:             TypeSampledImage 55
+              64:             TypeImage 6(float) 2D array sampled format:Unknown
+              65:             TypePointer UniformConstant 64
+ 66(g_tTex2df4a):     65(ptr) Variable UniformConstant
+              69:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              70:             TypeSampledImage 69
+              72:    6(float) Constant 1050253722
+              73:   25(fvec3) ConstantComposite 21 22 72
+              74:             TypeVector 6(float) 4
+              79:             TypeVector 30(int) 2
+              80:     30(int) Constant 3
+              81:   79(ivec2) ConstantComposite 31 80
+              85:             TypeImage 30(int) 2D array sampled format:Unknown
+              86:             TypePointer UniformConstant 85
+ 87(g_tTex2di4a):     86(ptr) Variable UniformConstant
+              90:             TypeImage 30(int) 2D depth array sampled format:Unknown
+              91:             TypeSampledImage 90
+             100:             TypeImage 49(int) 2D array sampled format:Unknown
+             101:             TypePointer UniformConstant 100
+102(g_tTex2du4a):    101(ptr) Variable UniformConstant
+             105:             TypeImage 49(int) 2D depth array sampled format:Unknown
+             106:             TypeSampledImage 105
+  114(PS_OUTPUT):             TypeStruct 74(fvec4) 6(float)
+             115:             TypePointer Function 114(PS_OUTPUT)
+             117:     30(int) Constant 0
+             118:    6(float) Constant 1065353216
+             119:   74(fvec4) ConstantComposite 118 118 118 118
+             120:             TypePointer Function 74(fvec4)
+             122:     30(int) Constant 1
+             124:             TypePointer Output 74(fvec4)
+      125(Color):    124(ptr) Variable Output
+             128:             TypePointer Output 6(float)
+      129(Depth):    128(ptr) Variable Output
+             133:             TypeImage 6(float) 1D sampled format:Unknown
              134:             TypePointer UniformConstant 133
- 135(g_tTex2du4):    134(ptr) Variable UniformConstant
-             136:             TypeImage 6(float) 3D sampled format:Unknown
+ 135(g_tTex1df4):    134(ptr) Variable UniformConstant
+             136:             TypeImage 30(int) 1D sampled format:Unknown
              137:             TypePointer UniformConstant 136
- 138(g_tTex3df4):    137(ptr) Variable UniformConstant
-             139:             TypeImage 27(int) 3D sampled format:Unknown
+ 138(g_tTex1di4):    137(ptr) Variable UniformConstant
+             139:             TypeImage 49(int) 1D sampled format:Unknown
              140:             TypePointer UniformConstant 139
- 141(g_tTex3di4):    140(ptr) Variable UniformConstant
-             142:             TypeImage 44(int) 3D sampled format:Unknown
+ 141(g_tTex1du4):    140(ptr) Variable UniformConstant
+             142:             TypeImage 6(float) 2D sampled format:Unknown
              143:             TypePointer UniformConstant 142
- 144(g_tTex3du4):    143(ptr) Variable UniformConstant
-             145:             TypeImage 6(float) Cube sampled format:Unknown
+ 144(g_tTex2df4):    143(ptr) Variable UniformConstant
+             145:             TypeImage 30(int) 2D sampled format:Unknown
              146:             TypePointer UniformConstant 145
- 147(g_tTexcdf4):    146(ptr) Variable UniformConstant
-             148:             TypeImage 27(int) Cube sampled format:Unknown
+ 147(g_tTex2di4):    146(ptr) Variable UniformConstant
+             148:             TypeImage 49(int) 2D sampled format:Unknown
              149:             TypePointer UniformConstant 148
- 150(g_tTexcdi4):    149(ptr) Variable UniformConstant
-             151:             TypeImage 44(int) Cube sampled format:Unknown
+ 150(g_tTex2du4):    149(ptr) Variable UniformConstant
+             151:             TypeImage 6(float) 3D sampled format:Unknown
              152:             TypePointer UniformConstant 151
- 153(g_tTexcdu4):    152(ptr) Variable UniformConstant
-             154:             TypeImage 6(float) Cube array sampled format:Unknown
+ 153(g_tTex3df4):    152(ptr) Variable UniformConstant
+             154:             TypeImage 30(int) 3D sampled format:Unknown
              155:             TypePointer UniformConstant 154
-156(g_tTexcdf4a):    155(ptr) Variable UniformConstant
-             157:             TypeImage 27(int) Cube array sampled format:Unknown
+ 156(g_tTex3di4):    155(ptr) Variable UniformConstant
+             157:             TypeImage 49(int) 3D sampled format:Unknown
              158:             TypePointer UniformConstant 157
-159(g_tTexcdi4a):    158(ptr) Variable UniformConstant
-             160:             TypeImage 44(int) Cube array sampled format:Unknown
+ 159(g_tTex3du4):    158(ptr) Variable UniformConstant
+             160:             TypeImage 6(float) Cube sampled format:Unknown
              161:             TypePointer UniformConstant 160
-162(g_tTexcdu4a):    161(ptr) Variable UniformConstant
+ 162(g_tTexcdf4):    161(ptr) Variable UniformConstant
+             163:             TypeImage 30(int) Cube sampled format:Unknown
+             164:             TypePointer UniformConstant 163
+ 165(g_tTexcdi4):    164(ptr) Variable UniformConstant
+             166:             TypeImage 49(int) Cube sampled format:Unknown
+             167:             TypePointer UniformConstant 166
+ 168(g_tTexcdu4):    167(ptr) Variable UniformConstant
+             169:             TypeImage 6(float) Cube array sampled format:Unknown
+             170:             TypePointer UniformConstant 169
+171(g_tTexcdf4a):    170(ptr) Variable UniformConstant
+             172:             TypeImage 30(int) Cube array sampled format:Unknown
+             173:             TypePointer UniformConstant 172
+174(g_tTexcdi4a):    173(ptr) Variable UniformConstant
+             175:             TypeImage 49(int) Cube array sampled format:Unknown
+             176:             TypePointer UniformConstant 175
+177(g_tTexcdu4a):    176(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
           8(r11):      7(ptr) Variable Function
-         31(r13):      7(ptr) Variable Function
-         43(r15):      7(ptr) Variable Function
-         56(r31):      7(ptr) Variable Function
-         74(r33):      7(ptr) Variable Function
-         86(r35):      7(ptr) Variable Function
-      101(psout):    100(ptr) Variable Function
+         34(r13):      7(ptr) Variable Function
+         48(r15):      7(ptr) Variable Function
+         63(r31):      7(ptr) Variable Function
+         84(r33):      7(ptr) Variable Function
+         99(r35):      7(ptr) Variable Function
+      116(psout):    115(ptr) Variable Function
               12:           9 Load 11(g_tTex1df4a)
               16:          13 Load 15(g_sSamp)
               19:          18 SampledImage 12 16
-              25:    6(float) CompositeExtract 23 0
-              29:    6(float) CompositeExtract 25 0
-              30:    6(float) ImageSampleDrefExplicitLod 19 25 29 Lod ConstOffset 26 28
-                              Store 8(r11) 30
-              35:          32 Load 34(g_tTex1di4a)
-              36:          13 Load 15(g_sSamp)
-              39:          38 SampledImage 35 36
-              40:    6(float) CompositeExtract 23 0
-              41:    6(float) CompositeExtract 40 0
-              42:    6(float) ImageSampleDrefExplicitLod 39 40 41 Lod ConstOffset 26 28
-                              Store 31(r13) 42
-              48:          45 Load 47(g_tTex1du4a)
-              49:          13 Load 15(g_sSamp)
-              52:          51 SampledImage 48 49
-              53:    6(float) CompositeExtract 23 0
-              54:    6(float) CompositeExtract 53 0
-              55:    6(float) ImageSampleDrefExplicitLod 52 53 54 Lod ConstOffset 26 28
-                              Store 43(r15) 55
-              60:          57 Load 59(g_tTex2df4a)
-              61:          13 Load 15(g_sSamp)
-              64:          63 SampledImage 60 61
-              68:    6(float) CompositeExtract 67 0
-              72:    6(float) CompositeExtract 68 0
-              73:    6(float) ImageSampleDrefExplicitLod 64 68 72 Lod ConstOffset 26 71
-                              Store 56(r31) 73
-              78:          75 Load 77(g_tTex2di4a)
-              79:          13 Load 15(g_sSamp)
-              82:          81 SampledImage 78 79
-              83:    6(float) CompositeExtract 67 0
-              84:    6(float) CompositeExtract 83 0
-              85:    6(float) ImageSampleDrefExplicitLod 82 83 84 Lod ConstOffset 26 71
-                              Store 74(r33) 85
-              90:          87 Load 89(g_tTex2du4a)
-              91:          13 Load 15(g_sSamp)
-              94:          93 SampledImage 90 91
-              95:    6(float) CompositeExtract 67 0
-              96:    6(float) CompositeExtract 95 0
-              97:    6(float) ImageSampleDrefExplicitLod 94 95 96 Lod ConstOffset 26 71
-                              Store 86(r35) 97
-             106:    105(ptr) AccessChain 101(psout) 102
-                              Store 106 104
-             108:      7(ptr) AccessChain 101(psout) 107
-                              Store 108 103
-             111:    105(ptr) AccessChain 101(psout) 102
-             112:   98(fvec4) Load 111
-                              Store 110(Color) 112
-             115:      7(ptr) AccessChain 101(psout) 107
-             116:    6(float) Load 115
-                              Store 114(Depth) 116
+              26:    6(float) CompositeExtract 23 0
+              27:    6(float) CompositeExtract 23 1
+              28:   25(fvec3) CompositeConstruct 26 27 24
+              32:    6(float) CompositeExtract 28 2
+              33:    6(float) ImageSampleDrefExplicitLod 19 28 32 Lod ConstOffset 29 31
+                              Store 8(r11) 33
+              38:          35 Load 37(g_tTex1di4a)
+              39:          13 Load 15(g_sSamp)
+              42:          41 SampledImage 38 39
+              43:    6(float) CompositeExtract 23 0
+              44:    6(float) CompositeExtract 23 1
+              45:   25(fvec3) CompositeConstruct 43 44 24
+              46:    6(float) CompositeExtract 45 2
+              47:    6(float) ImageSampleDrefExplicitLod 42 45 46 Lod ConstOffset 29 31
+                              Store 34(r13) 47
+              53:          50 Load 52(g_tTex1du4a)
+              54:          13 Load 15(g_sSamp)
+              57:          56 SampledImage 53 54
+              58:    6(float) CompositeExtract 23 0
+              59:    6(float) CompositeExtract 23 1
+              60:   25(fvec3) CompositeConstruct 58 59 24
+              61:    6(float) CompositeExtract 60 2
+              62:    6(float) ImageSampleDrefExplicitLod 57 60 61 Lod ConstOffset 29 31
+                              Store 48(r15) 62
+              67:          64 Load 66(g_tTex2df4a)
+              68:          13 Load 15(g_sSamp)
+              71:          70 SampledImage 67 68
+              75:    6(float) CompositeExtract 73 0
+              76:    6(float) CompositeExtract 73 1
+              77:    6(float) CompositeExtract 73 2
+              78:   74(fvec4) CompositeConstruct 75 76 77 24
+              82:    6(float) CompositeExtract 78 3
+              83:    6(float) ImageSampleDrefExplicitLod 71 78 82 Lod ConstOffset 29 81
+                              Store 63(r31) 83
+              88:          85 Load 87(g_tTex2di4a)
+              89:          13 Load 15(g_sSamp)
+              92:          91 SampledImage 88 89
+              93:    6(float) CompositeExtract 73 0
+              94:    6(float) CompositeExtract 73 1
+              95:    6(float) CompositeExtract 73 2
+              96:   74(fvec4) CompositeConstruct 93 94 95 24
+              97:    6(float) CompositeExtract 96 3
+              98:    6(float) ImageSampleDrefExplicitLod 92 96 97 Lod ConstOffset 29 81
+                              Store 84(r33) 98
+             103:         100 Load 102(g_tTex2du4a)
+             104:          13 Load 15(g_sSamp)
+             107:         106 SampledImage 103 104
+             108:    6(float) CompositeExtract 73 0
+             109:    6(float) CompositeExtract 73 1
+             110:    6(float) CompositeExtract 73 2
+             111:   74(fvec4) CompositeConstruct 108 109 110 24
+             112:    6(float) CompositeExtract 111 3
+             113:    6(float) ImageSampleDrefExplicitLod 107 111 112 Lod ConstOffset 29 81
+                              Store 99(r35) 113
+             121:    120(ptr) AccessChain 116(psout) 117
+                              Store 121 119
+             123:      7(ptr) AccessChain 116(psout) 122
+                              Store 123 118
+             126:    120(ptr) AccessChain 116(psout) 117
+             127:   74(fvec4) Load 126
+                              Store 125(Color) 127
+             130:      7(ptr) AccessChain 116(psout) 122
+             131:    6(float) Load 130
+                              Store 129(Depth) 131
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 46a6bbc..2a0d77a 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -191,6 +191,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -202,8 +204,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -401,6 +401,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -412,8 +414,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 395efc2..feaba77 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -239,6 +239,8 @@
 0:50                1 (const int)
 0:50        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -253,8 +255,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -500,6 +500,8 @@
 0:50                1 (const int)
 0:50        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -514,8 +516,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index 2e79be3..f6d37c3 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -225,6 +225,7 @@
 0:48                0 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -239,7 +240,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Pos' (out 4-component vector of float Position)
 
 
 Linked vertex stage:
@@ -471,6 +471,7 @@
 0:48                0 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -485,7 +486,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Pos' (out 4-component vector of float Position)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index 7ef5e07..7938e52 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -209,6 +209,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -223,8 +225,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -440,6 +440,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -454,8 +456,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index 2043f38..dee78bc 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -146,6 +146,8 @@
 0:38                1 (const int)
 0:38        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -157,8 +159,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -311,6 +311,8 @@
 0:38                1 (const int)
 0:38        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -322,8 +324,6 @@
 0:?     'g_tTexcdf4' (uniform textureCubeArray)
 0:?     'g_tTexcdi4' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index 351e2ed..afdedb7 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -155,6 +155,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -166,8 +168,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -329,6 +329,8 @@
 0:42                1 (const int)
 0:42        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -340,8 +342,6 @@
 0:?     'g_tTexcdf4a' (uniform textureCubeArray)
 0:?     'g_tTexcdi4a' (uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' (uniform utextureCubeArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index d37090f..34a6597 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -185,6 +185,8 @@
 0:51                1 (const int)
 0:51        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -200,8 +202,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -393,6 +393,8 @@
 0:51                1 (const int)
 0:51        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_sSamp2d' (uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
@@ -408,8 +410,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index 0438299..04d0870 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -171,6 +171,7 @@
 0:48                0 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -185,7 +186,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Pos' (out 4-component vector of float Position)
 
 
 Linked vertex stage:
@@ -363,6 +363,7 @@
 0:48                0 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Pos' (out 4-component vector of float Position)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -377,7 +378,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Pos' (out 4-component vector of float Position)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index 0f0f968..aa77961 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -173,6 +173,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -187,8 +189,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -368,6 +368,8 @@
 0:48                1 (const int)
 0:48        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1D)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
@@ -382,8 +384,6 @@
 0:?     'g_tTexcdf4' (uniform textureCube)
 0:?     'g_tTexcdi4' (uniform itextureCube)
 0:?     'g_tTexcdu4' (uniform utextureCube)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index 8eb74cd..056a4f1 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -128,6 +128,8 @@
 0:36                1 (const int)
 0:36        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -136,8 +138,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 
 Linked fragment stage:
@@ -272,6 +272,8 @@
 0:36                1 (const int)
 0:36        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
+0:?     'Depth' (out float FragDepth)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4a' (layout(binding=1 ) uniform texture1DArray)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1DArray)
@@ -280,8 +282,6 @@
 0:?     'g_tTex2df4' (uniform texture2DArray)
 0:?     'g_tTex2di4' (uniform itexture2DArray)
 0:?     'g_tTex2du4' (uniform utexture2DArray)
-0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'Depth' (out float FragDepth)
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.shapeConv.frag.out b/Test/baseResults/hlsl.shapeConv.frag.out
index 9ea4f83..a15caac 100755
--- a/Test/baseResults/hlsl.shapeConv.frag.out
+++ b/Test/baseResults/hlsl.shapeConv.frag.out
@@ -58,41 +58,43 @@
 0:13          'MyVal' (temp 3-component vector of float)
 0:13          Construct vec3 (temp 3-component vector of float)
 0:13            'V' (temp float)
-0:16      Compare Greater Than (temp bool)
+0:16      Compare Greater Than (temp 3-component vector of bool)
 0:16        'foo' (temp 3-component vector of float)
 0:16        Constant:
 0:16          4.000000
 0:16          4.000000
 0:16          4.000000
-0:17      Compare Greater Than or Equal (temp bool)
+0:17      Compare Greater Than or Equal (temp 3-component vector of bool)
 0:17        'foo' (temp 3-component vector of float)
 0:17        Constant:
 0:17          5.000000
 0:17          5.000000
 0:17          5.000000
-0:18      Compare Less Than (temp bool)
+0:18      Compare Less Than (temp 3-component vector of bool)
 0:18        Constant:
 0:18          6.000000
 0:18          6.000000
 0:18          6.000000
 0:18        'foo' (temp 3-component vector of float)
-0:19      Compare Less Than or Equal (temp bool)
+0:19      Compare Less Than or Equal (temp 3-component vector of bool)
 0:19        Constant:
 0:19          7.000000
 0:19          7.000000
 0:19          7.000000
 0:19        'foo' (temp 3-component vector of float)
-0:21      Compare Equal (temp bool)
-0:21        Construct vec4 (temp 4-component vector of float)
-0:21          direct index (temp float)
-0:21            'v' (temp 4-component vector of float)
-0:21            Constant:
-0:21              0 (const int)
-0:21        'v' (temp 4-component vector of float)
-0:22      Compare Not Equal (temp bool)
-0:22        Construct vec4 (temp 4-component vector of float)
-0:22          'f' (in float)
-0:22        'v' (temp 4-component vector of float)
+0:21      all (temp bool)
+0:21        Equal (temp 4-component vector of bool)
+0:21          Construct vec4 (temp 4-component vector of float)
+0:21            direct index (temp float)
+0:21              'v' (temp 4-component vector of float)
+0:21              Constant:
+0:21                0 (const int)
+0:21          'v' (temp 4-component vector of float)
+0:22      any (temp bool)
+0:22        NotEqual (temp 4-component vector of bool)
+0:22          Construct vec4 (temp 4-component vector of float)
+0:22            'f' (in float)
+0:22          'v' (temp 4-component vector of float)
 0:26      Compare Equal (temp bool)
 0:26        'f1' (temp 1-component vector of float)
 0:26        Construct float (temp 1-component vector of float)
@@ -113,6 +115,7 @@
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -173,41 +176,43 @@
 0:13          'MyVal' (temp 3-component vector of float)
 0:13          Construct vec3 (temp 3-component vector of float)
 0:13            'V' (temp float)
-0:16      Compare Greater Than (temp bool)
+0:16      Compare Greater Than (temp 3-component vector of bool)
 0:16        'foo' (temp 3-component vector of float)
 0:16        Constant:
 0:16          4.000000
 0:16          4.000000
 0:16          4.000000
-0:17      Compare Greater Than or Equal (temp bool)
+0:17      Compare Greater Than or Equal (temp 3-component vector of bool)
 0:17        'foo' (temp 3-component vector of float)
 0:17        Constant:
 0:17          5.000000
 0:17          5.000000
 0:17          5.000000
-0:18      Compare Less Than (temp bool)
+0:18      Compare Less Than (temp 3-component vector of bool)
 0:18        Constant:
 0:18          6.000000
 0:18          6.000000
 0:18          6.000000
 0:18        'foo' (temp 3-component vector of float)
-0:19      Compare Less Than or Equal (temp bool)
+0:19      Compare Less Than or Equal (temp 3-component vector of bool)
 0:19        Constant:
 0:19          7.000000
 0:19          7.000000
 0:19          7.000000
 0:19        'foo' (temp 3-component vector of float)
-0:21      Compare Equal (temp bool)
-0:21        Construct vec4 (temp 4-component vector of float)
-0:21          direct index (temp float)
-0:21            'v' (temp 4-component vector of float)
-0:21            Constant:
-0:21              0 (const int)
-0:21        'v' (temp 4-component vector of float)
-0:22      Compare Not Equal (temp bool)
-0:22        Construct vec4 (temp 4-component vector of float)
-0:22          'f' (in float)
-0:22        'v' (temp 4-component vector of float)
+0:21      all (temp bool)
+0:21        Equal (temp 4-component vector of bool)
+0:21          Construct vec4 (temp 4-component vector of float)
+0:21            direct index (temp float)
+0:21              'v' (temp 4-component vector of float)
+0:21              Constant:
+0:21                0 (const int)
+0:21          'v' (temp 4-component vector of float)
+0:22      any (temp bool)
+0:22        NotEqual (temp 4-component vector of bool)
+0:22          Construct vec4 (temp 4-component vector of float)
+0:22            'f' (in float)
+0:22          'v' (temp 4-component vector of float)
 0:26      Compare Equal (temp bool)
 0:26        'f1' (temp 1-component vector of float)
 0:26        Construct float (temp 1-component vector of float)
@@ -227,7 +232,7 @@
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 84
+// Id's are bound by 85
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
@@ -244,7 +249,7 @@
                               Name 33  "V"
                               Name 34  "MyVal"
                               Name 37  "foo"
-                              Name 69  "f1"
+                              Name 70  "f1"
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -266,17 +271,19 @@
               39:    6(float) Constant 1082130432
               40:   22(fvec3) ConstantComposite 39 39 39
               41:             TypeBool
-              44:    6(float) Constant 1084227584
-              45:   22(fvec3) ConstantComposite 44 44 44
-              47:    6(float) Constant 1086324736
-              48:   22(fvec3) ConstantComposite 47 47 47
-              51:    6(float) Constant 1088421888
-              52:   22(fvec3) ConstantComposite 51 51 51
-              55:             TypeInt 32 0
-              56:     55(int) Constant 0
-              61:             TypeVector 41(bool) 4
+              42:             TypeVector 41(bool) 3
+              45:    6(float) Constant 1084227584
+              46:   22(fvec3) ConstantComposite 45 45 45
+              48:    6(float) Constant 1086324736
+              49:   22(fvec3) ConstantComposite 48 48 48
+              52:    6(float) Constant 1088421888
+              53:   22(fvec3) ConstantComposite 52 52 52
+              56:             TypeInt 32 0
+              57:     56(int) Constant 0
+              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
@@ -288,7 +295,7 @@
            33(V):      9(ptr) Variable Function
        34(MyVal):     23(ptr) Variable Function
          37(foo):     23(ptr) Variable Function
-          69(f1):      9(ptr) Variable Function
+          70(f1):      9(ptr) Variable Function
                               Store 15(v) 17
                               Store 15(v) 19
               20:    6(float) Load 12(f)
@@ -305,35 +312,35 @@
               36:   22(fvec3) CompositeConstruct 35 35 35
                               Store 34(MyVal) 36
               38:   22(fvec3) Load 37(foo)
-              42:    41(bool) FOrdGreaterThan 38 40
-              43:   22(fvec3) Load 37(foo)
-              46:    41(bool) FOrdGreaterThanEqual 43 45
-              49:   22(fvec3) Load 37(foo)
-              50:    41(bool) FOrdLessThan 48 49
-              53:   22(fvec3) Load 37(foo)
-              54:    41(bool) FOrdLessThanEqual 52 53
-              57:      9(ptr) AccessChain 15(v) 56
-              58:    6(float) Load 57
-              59:    7(fvec4) CompositeConstruct 58 58 58 58
-              60:    7(fvec4) Load 15(v)
-              62:   61(bvec4) FOrdEqual 59 60
-              63:    41(bool) All 62
-              64:    6(float) Load 12(f)
-              65:    7(fvec4) CompositeConstruct 64 64 64 64
-              66:    7(fvec4) Load 15(v)
-              67:   61(bvec4) FOrdNotEqual 65 66
-              68:    41(bool) Any 67
-              70:    6(float) Load 69(f1)
-              71:    7(fvec4) Load 15(v)
-              72:    6(float) CompositeExtract 71 0
-              73:    41(bool) FOrdEqual 70 72
-              74:    7(fvec4) Load 15(v)
-              75:    6(float) CompositeExtract 74 0
-              76:    6(float) Load 69(f1)
-              77:    41(bool) FOrdLessThan 75 76
-              78:    6(float) Load 69(f1)
-              79:    6(float) Load 69(f1)
-              80:   22(fvec3) CompositeConstruct 79 79 79
-              81:    7(fvec4) Load 11(input)
-                              ReturnValue 81
+              43:   42(bvec3) FOrdGreaterThan 38 40
+              44:   22(fvec3) Load 37(foo)
+              47:   42(bvec3) FOrdGreaterThanEqual 44 46
+              50:   22(fvec3) Load 37(foo)
+              51:   42(bvec3) FOrdLessThan 49 50
+              54:   22(fvec3) Load 37(foo)
+              55:   42(bvec3) FOrdLessThanEqual 53 54
+              58:      9(ptr) AccessChain 15(v) 57
+              59:    6(float) Load 58
+              60:    7(fvec4) CompositeConstruct 59 59 59 59
+              61:    7(fvec4) Load 15(v)
+              63:   62(bvec4) FOrdEqual 60 61
+              64:    41(bool) All 63
+              65:    6(float) Load 12(f)
+              66:    7(fvec4) CompositeConstruct 65 65 65 65
+              67:    7(fvec4) Load 15(v)
+              68:   62(bvec4) FOrdNotEqual 66 67
+              69:    41(bool) Any 68
+              71:    6(float) Load 70(f1)
+              72:    7(fvec4) Load 15(v)
+              73:    6(float) CompositeExtract 72 0
+              74:    41(bool) FOrdEqual 71 73
+              75:    7(fvec4) Load 15(v)
+              76:    6(float) CompositeExtract 75 0
+              77:    6(float) Load 70(f1)
+              78:    41(bool) FOrdLessThan 76 77
+              79:    6(float) Load 70(f1)
+              80:    6(float) Load 70(f1)
+              81:   22(fvec3) CompositeConstruct 80 80 80
+              82:    7(fvec4) Load 11(input)
+                              ReturnValue 82
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out
index 0836a61..629668a 100755
--- a/Test/baseResults/hlsl.sin.frag.out
+++ b/Test/baseResults/hlsl.sin.frag.out
@@ -9,7 +9,7 @@
 0:3      Sequence
 0:3        move second child to first child (temp 4-component vector of float)
 0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:3          sine (global 4-component vector of float)
+0:3          sine (temp 4-component vector of float)
 0:3            'input' (layout(location=0 ) in 4-component vector of float)
 0:3        Branch: Return
 0:?   Linker Objects
@@ -30,7 +30,7 @@
 0:3      Sequence
 0:3        move second child to first child (temp 4-component vector of float)
 0:?           '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:3          sine (global 4-component vector of float)
+0:3          sine (temp 4-component vector of float)
 0:3            'input' (layout(location=0 ) in 4-component vector of float)
 0:3        Branch: Return
 0:?   Linker Objects
diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out
index 8593db6..94c1b2a 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -25,9 +25,9 @@
 0:19                0 (const int)
 0:19        Branch: Return
 0:?   Linker Objects
-0:?     'TestTexture' (uniform texture2D)
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
+0:?     'TestTexture' (uniform texture2D)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
 
 
 Linked fragment stage:
@@ -59,9 +59,9 @@
 0:19                0 (const int)
 0:19        Branch: Return
 0:?   Linker Objects
-0:?     'TestTexture' (uniform texture2D)
 0:?     'Color' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
+0:?     'TestTexture' (uniform texture2D)
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float TestUF})
 
 // Module Version 10000
 // Generated by (magic number): 80001
@@ -83,6 +83,7 @@
                               Name 28  ""
                               Decorate 19(Color) Location 0
                               Decorate 25(TestTexture) DescriptorSet 0
+                              MemberDecorate 26($Global) 0 Offset 0
                               Decorate 26($Global) Block
                               Decorate 28 DescriptorSet 0
                2:             TypeVoid
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index 5fef959..c14018e 100755
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -26,9 +26,7 @@
 0:42          'input' (layout(location=0 ) in 4-component vector of float)
 0:42        Branch: Return
 0:?   Linker Objects
-0:?     's2' (global structure{temp 4-component vector of float i})
 0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
 0:?     'input' (layout(location=0 ) in 4-component vector of float)
 0:?     'a' (layout(location=1 ) smooth in 4-component vector of float)
 0:?     'b' (layout(location=2 ) flat in bool)
@@ -38,6 +36,8 @@
 0:?     'ff2' (layout(location=5 offset=4 ) in bool)
 0:?     'ff3' (layout(location=6 binding=0 offset=4 ) in bool)
 0:?     'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
+0:?     's2' (global structure{temp 4-component vector of float i})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
 
 
 Linked fragment stage:
@@ -66,9 +66,7 @@
 0:42          'input' (layout(location=0 ) in 4-component vector of float)
 0:42        Branch: Return
 0:?   Linker Objects
-0:?     's2' (global structure{temp 4-component vector of float i})
 0:?     '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
 0:?     'input' (layout(location=0 ) in 4-component vector of float)
 0:?     'a' (layout(location=1 ) smooth in 4-component vector of float)
 0:?     'b' (layout(location=2 ) flat in bool)
@@ -78,15 +76,17 @@
 0:?     'ff2' (layout(location=5 offset=4 ) in bool)
 0:?     'ff3' (layout(location=6 binding=0 offset=4 ) in bool)
 0:?     'ff4' (layout(location=7 binding=0 offset=4 ) in 4-component vector of float)
+0:?     's2' (global structure{temp 4-component vector of float i})
+0:?     'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform structure{temp bool b, temp bool c, temp 4-component vector of float a, temp 4-component vector of float d} s1, layout(binding=5 offset=1620 ) uniform float ff5, layout(binding=8 offset=1636 ) uniform float ff6})
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 49
+// Id's are bound by 50
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "PixelShaderFunction" 25 30 31 38 40 42 45 46 47 48
+                              EntryPoint Fragment 4  "PixelShaderFunction" 25 30 31 34 36 38 41 42 43 44
                               ExecutionMode 4 OriginUpperLeft
                               Name 4  "PixelShaderFunction"
                               Name 8  "FS"
@@ -98,44 +98,51 @@
                               Name 25  "ff4"
                               Name 30  "@entryPointOutput"
                               Name 31  "input"
-                              Name 34  "myS"
-                              MemberName 34(myS) 0  "b"
-                              MemberName 34(myS) 1  "c"
-                              MemberName 34(myS) 2  "a"
-                              MemberName 34(myS) 3  "d"
-                              Name 35  "$Global"
-                              MemberName 35($Global) 0  "s1"
-                              MemberName 35($Global) 1  "ff5"
-                              MemberName 35($Global) 2  "ff6"
-                              Name 37  ""
-                              Name 38  "a"
-                              Name 40  "b"
-                              Name 42  "c"
-                              Name 45  "d"
-                              Name 46  "ff1"
-                              Name 47  "ff2"
-                              Name 48  "ff3"
+                              Name 34  "a"
+                              Name 36  "b"
+                              Name 38  "c"
+                              Name 41  "d"
+                              Name 42  "ff1"
+                              Name 43  "ff2"
+                              Name 44  "ff3"
+                              Name 46  "myS"
+                              MemberName 46(myS) 0  "b"
+                              MemberName 46(myS) 1  "c"
+                              MemberName 46(myS) 2  "a"
+                              MemberName 46(myS) 3  "d"
+                              Name 47  "$Global"
+                              MemberName 47($Global) 0  "s1"
+                              MemberName 47($Global) 1  "ff5"
+                              MemberName 47($Global) 2  "ff6"
+                              Name 49  ""
                               Decorate 25(ff4) Offset 4
                               Decorate 25(ff4) Location 7
                               Decorate 25(ff4) Binding 0
                               Decorate 30(@entryPointOutput) Location 0
                               Decorate 31(input) Location 0
-                              Decorate 35($Global) Block
-                              Decorate 37 DescriptorSet 0
-                              Decorate 38(a) Location 1
-                              Decorate 40(b) Flat
-                              Decorate 40(b) Location 2
-                              Decorate 42(c) NoPerspective
-                              Decorate 42(c) Centroid
-                              Decorate 42(c) Location 3
-                              Decorate 45(d) Centroid
-                              Decorate 45(d) Location 4
-                              Decorate 46(ff1) BuiltIn FrontFacing
-                              Decorate 47(ff2) Offset 4
-                              Decorate 47(ff2) Location 5
-                              Decorate 48(ff3) Offset 4
-                              Decorate 48(ff3) Location 6
-                              Decorate 48(ff3) Binding 0
+                              Decorate 34(a) Location 1
+                              Decorate 36(b) Flat
+                              Decorate 36(b) Location 2
+                              Decorate 38(c) NoPerspective
+                              Decorate 38(c) Centroid
+                              Decorate 38(c) Location 3
+                              Decorate 41(d) Centroid
+                              Decorate 41(d) Location 4
+                              Decorate 42(ff1) BuiltIn FrontFacing
+                              Decorate 43(ff2) Offset 4
+                              Decorate 43(ff2) Location 5
+                              Decorate 44(ff3) Offset 4
+                              Decorate 44(ff3) Location 6
+                              Decorate 44(ff3) Binding 0
+                              MemberDecorate 46(myS) 0 Offset 0
+                              MemberDecorate 46(myS) 1 Offset 4
+                              MemberDecorate 46(myS) 2 Offset 16
+                              MemberDecorate 46(myS) 3 Offset 32
+                              MemberDecorate 47($Global) 0 Offset 0
+                              MemberDecorate 47($Global) 1 Offset 1620
+                              MemberDecorate 47($Global) 2 Offset 1636
+                              Decorate 47($Global) Block
+                              Decorate 49 DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeBool
@@ -155,21 +162,22 @@
               29:             TypePointer Output 18(fvec4)
 30(@entryPointOutput):     29(ptr) Variable Output
        31(input):     24(ptr) Variable Input
-         34(myS):             TypeStruct 6(bool) 6(bool) 18(fvec4) 18(fvec4)
-     35($Global):             TypeStruct 34(myS) 17(float) 17(float)
-              36:             TypePointer Uniform 35($Global)
-              37:     36(ptr) Variable Uniform
-           38(a):     24(ptr) Variable Input
-              39:             TypePointer Input 6(bool)
-           40(b):     39(ptr) Variable Input
-              41:             TypePointer Input 17(float)
-           42(c):     41(ptr) Variable Input
-              43:             TypeVector 17(float) 2
-              44:             TypePointer Input 43(fvec2)
-           45(d):     44(ptr) Variable Input
-         46(ff1):     39(ptr) Variable Input
-         47(ff2):     39(ptr) Variable Input
-         48(ff3):     39(ptr) Variable Input
+           34(a):     24(ptr) Variable Input
+              35:             TypePointer Input 6(bool)
+           36(b):     35(ptr) Variable Input
+              37:             TypePointer Input 17(float)
+           38(c):     37(ptr) Variable Input
+              39:             TypeVector 17(float) 2
+              40:             TypePointer Input 39(fvec2)
+           41(d):     40(ptr) Variable Input
+         42(ff1):     35(ptr) Variable Input
+         43(ff2):     35(ptr) Variable Input
+         44(ff3):     35(ptr) Variable Input
+              45:             TypeInt 32 0
+         46(myS):             TypeStruct 45(int) 45(int) 18(fvec4) 18(fvec4)
+     47($Global):             TypeStruct 46(myS) 17(float) 17(float)
+              48:             TypePointer Uniform 47($Global)
+              49:     48(ptr) Variable Uniform
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
           10(s3):      9(ptr) Variable Function
diff --git a/Test/baseResults/hlsl.swizzle.frag.out b/Test/baseResults/hlsl.swizzle.frag.out
index 16951a3..54fc662 100755
--- a/Test/baseResults/hlsl.swizzle.frag.out
+++ b/Test/baseResults/hlsl.swizzle.frag.out
@@ -38,6 +38,7 @@
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -106,6 +107,7 @@
 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
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
index 0769cde..d000257 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -186,6 +186,7 @@
 0:72                0 (const int)
 0:72        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -202,8 +203,7 @@
 0:?     'g_tTex2df4a' (uniform texture2DArray)
 0:?     'g_tTex2di4a' (uniform itexture2DArray)
 0:?     'g_tTex2du4a' (uniform utexture2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 
 Linked fragment stage:
@@ -396,6 +396,7 @@
 0:72                0 (const int)
 0:72        Branch: Return
 0:?   Linker Objects
+0:?     'Color' (layout(location=0 ) out 4-component vector of float)
 0:?     'g_sSamp' (layout(binding=0 ) uniform sampler)
 0:?     'g_tTex1df4' (layout(binding=0 ) uniform texture1D)
 0:?     'g_tTex1di4' (uniform itexture1D)
@@ -412,8 +413,7 @@
 0:?     'g_tTex2df4a' (uniform texture2DArray)
 0:?     'g_tTex2di4a' (uniform itexture2DArray)
 0:?     'g_tTex2du4a' (uniform utexture2DArray)
-0:?     'anon@0' (uniform block{layout(offset=0 ) uniform int c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
-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 c1, layout(offset=8 ) uniform 2-component vector of int c2, layout(offset=16 ) uniform 3-component vector of int c3, layout(offset=32 ) uniform 4-component vector of int c4, layout(offset=48 ) uniform int o1, layout(offset=56 ) uniform 2-component vector of int o2, layout(offset=64 ) uniform 3-component vector of int o3, layout(offset=80 ) uniform 4-component vector of int o4})
 
 // Module Version 10000
 // Generated by (magic number): 80001
diff --git a/Test/baseResults/hlsl.typedef.frag.out b/Test/baseResults/hlsl.typedef.frag.out
index e8bda1a..565f45f 100755
--- a/Test/baseResults/hlsl.typedef.frag.out
+++ b/Test/baseResults/hlsl.typedef.frag.out
@@ -39,6 +39,7 @@
 
 Linked fragment stage:
 
+WARNING: Linking fragment stage: Entry point not found
 
 Shader version: 450
 gl_FragCoord origin is upper left
@@ -106,6 +107,7 @@
               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
diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out
index 28e326d..699364f 100755
--- a/Test/baseResults/hlsl.whileLoop.frag.out
+++ b/Test/baseResults/hlsl.whileLoop.frag.out
@@ -8,9 +8,10 @@
 0:?     Sequence
 0:3      Loop with condition tested first
 0:3        Loop Condition
-0:3        Compare Not Equal (temp bool)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
+0:3        any (temp bool)
+0:3          NotEqual (temp 4-component vector of bool)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
 0:3        Loop Body
 0:?         Sequence
 0:3          Sequence
@@ -50,9 +51,10 @@
 0:?     Sequence
 0:3      Loop with condition tested first
 0:3        Loop Condition
-0:3        Compare Not Equal (temp bool)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
-0:3          'input' (layout(location=0 ) in 4-component vector of float)
+0:3        any (temp bool)
+0:3          NotEqual (temp 4-component vector of bool)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
+0:3            'input' (layout(location=0 ) in 4-component vector of float)
 0:3        Loop Body
 0:?         Sequence
 0:3          Sequence
diff --git a/Test/baseResults/maxClipDistances.vert.out b/Test/baseResults/maxClipDistances.vert.out
index 5d44a66..4ad4ef1 100644
--- a/Test/baseResults/maxClipDistances.vert.out
+++ b/Test/baseResults/maxClipDistances.vert.out
@@ -5,7 +5,6 @@
 0:5    Function Parameters: 
 0:?   Linker Objects
 0:?     'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
-0:?     'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
 0:?     'gl_VertexID' (gl_VertexId int VertexId)
 
 
@@ -18,6 +17,5 @@
 0:5    Function Parameters: 
 0:?   Linker Objects
 0:?     'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
-0:?     'gl_ClipDistance' (smooth out 8-element array of float ClipDistance)
 0:?     'gl_VertexID' (gl_VertexId int VertexId)
 
diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out
index 848839c..711c529 100644
--- a/Test/baseResults/specExamples.frag.out
+++ b/Test/baseResults/specExamples.frag.out
@@ -318,12 +318,9 @@
 0:?     'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
 0:?     'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'factor' (layout(location=3 index=1 ) out 4-component vector of float)
 0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
 0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
 0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
 
 
@@ -607,11 +604,8 @@
 0:?     'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})
 0:?     'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
-0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float FragCoord)
 0:?     'factor' (layout(location=3 index=1 ) out 4-component vector of float)
 0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)
 0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:?     'gl_FragDepth' (gl_FragDepth float FragDepth)
-0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
 0:?     'anon@2' (in block{in float FogFragCoord gl_FogFragCoord, in 1-element array of 4-component vector of float TexCoord gl_TexCoord, flat in 4-component vector of float Color gl_Color, in 4-component vector of float SecondaryColor gl_SecondaryColor})
 
diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out
index ef9a122..d7de758 100644
--- a/Test/baseResults/specExamples.vert.out
+++ b/Test/baseResults/specExamples.vert.out
@@ -298,11 +298,10 @@
 0:?     'c2' (layout(binding=3 ) uniform atomic_uint)
 0:?     'd2' (layout(binding=2 ) uniform atomic_uint)
 0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat 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 implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
-0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance, gl_ClipVertex 4-component vector of float ClipVertex gl_ClipVertex, flat 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 implicitly-sized array of 4-component vector of float TexCoord gl_TexCoord, ...})
 0:?     'ColorInv' (smooth out 3-component vector of float)
 0:?     'Color4' (invariant centroid smooth out 3-component vector of float)
 0:?     'position' (noContraction smooth out 4-component vector of float)
-0:?     'Color5' (smooth out 3-component vector of float)
+0:?     'Color5' (noContraction smooth out 3-component vector of float)
 0:?     'a' (in 4-component vector of float)
 0:?     'b' (in 4-component vector of float)
 0:?     'c' (in 4-component vector of float)
@@ -582,11 +581,10 @@
 0:?     'c2' (layout(binding=3 ) uniform atomic_uint)
 0:?     'd2' (layout(binding=2 ) uniform atomic_uint)
 0:?     'anon@5' (out block{invariant 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, flat 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})
-0:?     'anon@5' (out block{invariant 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, flat 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})
 0:?     'ColorInv' (smooth out 3-component vector of float)
 0:?     'Color4' (invariant centroid smooth out 3-component vector of float)
 0:?     'position' (noContraction smooth out 4-component vector of float)
-0:?     'Color5' (smooth out 3-component vector of float)
+0:?     'Color5' (noContraction smooth out 3-component vector of float)
 0:?     'a' (in 4-component vector of float)
 0:?     'b' (in 4-component vector of float)
 0:?     'c' (in 4-component vector of float)
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
old mode 100755
new mode 100644
index 3eafc2b..bd1f346
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -7,121 +7,122 @@
 
 // Module Version 10000
 // Generated by (magic number): 80001
-// Id's are bound by 66
+// Id's are bound by 67
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint GLCompute 4  "main" 52
+                              EntryPoint GLCompute 4  "main" 53
                               ExecutionMode 4 LocalSize 16 32 4
                               Source ESSL 310
                               Name 4  "main"
-                              Name 12  "outb"
-                              MemberName 12(outb) 0  "f"
-                              MemberName 12(outb) 1  "g"
-                              MemberName 12(outb) 2  "h"
-                              MemberName 12(outb) 3  "uns"
-                              Name 14  "outbname"
-                              Name 18  "s"
-                              Name 23  "outbna"
-                              MemberName 23(outbna) 0  "k"
-                              MemberName 23(outbna) 1  "na"
-                              Name 25  "outbnamena"
-                              Name 41  "i"
-                              Name 47  "outs"
-                              MemberName 47(outs) 0  "s"
-                              MemberName 47(outs) 1  "va"
-                              Name 49  "outnames"
-                              Name 52  "gl_LocalInvocationID"
-                              Decorate 11 ArrayStride 16
-                              MemberDecorate 12(outb) 0 Offset 0
-                              MemberDecorate 12(outb) 1 Offset 4
-                              MemberDecorate 12(outb) 2 Offset 8
-                              MemberDecorate 12(outb) 3 Offset 16
-                              Decorate 12(outb) BufferBlock
-                              Decorate 14(outbname) DescriptorSet 0
-                              MemberDecorate 23(outbna) 0 Offset 0
-                              MemberDecorate 23(outbna) 1 Offset 16
-                              Decorate 23(outbna) BufferBlock
-                              Decorate 25(outbnamena) DescriptorSet 0
-                              Decorate 46 ArrayStride 16
-                              MemberDecorate 47(outs) 0 Offset 0
-                              MemberDecorate 47(outs) 1 Offset 16
-                              Decorate 47(outs) BufferBlock
-                              Decorate 49(outnames) DescriptorSet 0
-                              Decorate 52(gl_LocalInvocationID) BuiltIn LocalInvocationId
-                              Decorate 65 BuiltIn WorkgroupSize
+                              Name 13  "outb"
+                              MemberName 13(outb) 0  "f"
+                              MemberName 13(outb) 1  "g"
+                              MemberName 13(outb) 2  "h"
+                              MemberName 13(outb) 3  "uns"
+                              Name 15  "outbname"
+                              Name 19  "s"
+                              Name 24  "outbna"
+                              MemberName 24(outbna) 0  "k"
+                              MemberName 24(outbna) 1  "na"
+                              Name 26  "outbnamena"
+                              Name 42  "i"
+                              Name 48  "outs"
+                              MemberName 48(outs) 0  "s"
+                              MemberName 48(outs) 1  "va"
+                              Name 50  "outnames"
+                              Name 53  "gl_LocalInvocationID"
+                              Decorate 12 ArrayStride 16
+                              MemberDecorate 13(outb) 0 Offset 0
+                              MemberDecorate 13(outb) 1 Offset 4
+                              MemberDecorate 13(outb) 2 Offset 8
+                              MemberDecorate 13(outb) 3 Offset 16
+                              Decorate 13(outb) BufferBlock
+                              Decorate 15(outbname) DescriptorSet 0
+                              MemberDecorate 24(outbna) 0 Offset 0
+                              MemberDecorate 24(outbna) 1 Offset 16
+                              Decorate 24(outbna) BufferBlock
+                              Decorate 26(outbnamena) DescriptorSet 0
+                              Decorate 47 ArrayStride 16
+                              MemberDecorate 48(outs) 0 Offset 0
+                              MemberDecorate 48(outs) 1 Offset 16
+                              Decorate 48(outs) BufferBlock
+                              Decorate 50(outnames) DescriptorSet 0
+                              Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 66 BuiltIn WorkgroupSize
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
-               7:      6(int) Constant 1
-               8:      6(int) Constant 0
-               9:             TypeFloat 32
-              10:             TypeVector 9(float) 3
-              11:             TypeRuntimeArray 10(fvec3)
-        12(outb):             TypeStruct 9(float) 9(float) 9(float) 11
-              13:             TypePointer Uniform 12(outb)
-    14(outbname):     13(ptr) Variable Uniform
-              15:             TypeInt 32 1
-              16:     15(int) Constant 0
-              17:             TypePointer Workgroup 9(float)
-           18(s):     17(ptr) Variable Workgroup
-              20:             TypePointer Uniform 9(float)
-              22:             TypeVector 9(float) 4
-      23(outbna):             TypeStruct 15(int) 22(fvec4)
-              24:             TypePointer Uniform 23(outbna)
-  25(outbnamena):     24(ptr) Variable Uniform
-              26:     15(int) Constant 1
-              29:             TypePointer Uniform 22(fvec4)
-              31:     15(int) Constant 3
-              32:     15(int) Constant 18
-              35:     15(int) Constant 17
-              36:    9(float) Constant 1077936128
-              37:   10(fvec3) ConstantComposite 36 36 36
-              38:             TypePointer Uniform 10(fvec3)
-              40:             TypePointer Workgroup 15(int)
-           41(i):     40(ptr) Variable Workgroup
-              46:             TypeRuntimeArray 22(fvec4)
-        47(outs):             TypeStruct 15(int) 46
-              48:             TypePointer Uniform 47(outs)
-    49(outnames):     48(ptr) Variable Uniform
-              50:             TypeVector 6(int) 3
-              51:             TypePointer Input 50(ivec3)
-52(gl_LocalInvocationID):     51(ptr) Variable Input
-              53:             TypePointer Input 6(int)
-              60:             TypePointer Uniform 15(int)
-              62:      6(int) Constant 16
-              63:      6(int) Constant 32
-              64:      6(int) Constant 4
-              65:   50(ivec3) ConstantComposite 62 63 64
+               7:      6(int) Constant 2
+               8:      6(int) Constant 1
+               9:      6(int) Constant 0
+              10:             TypeFloat 32
+              11:             TypeVector 10(float) 3
+              12:             TypeRuntimeArray 11(fvec3)
+        13(outb):             TypeStruct 10(float) 10(float) 10(float) 12
+              14:             TypePointer Uniform 13(outb)
+    15(outbname):     14(ptr) Variable Uniform
+              16:             TypeInt 32 1
+              17:     16(int) Constant 0
+              18:             TypePointer Workgroup 10(float)
+           19(s):     18(ptr) Variable Workgroup
+              21:             TypePointer Uniform 10(float)
+              23:             TypeVector 10(float) 4
+      24(outbna):             TypeStruct 16(int) 23(fvec4)
+              25:             TypePointer Uniform 24(outbna)
+  26(outbnamena):     25(ptr) Variable Uniform
+              27:     16(int) Constant 1
+              30:             TypePointer Uniform 23(fvec4)
+              32:     16(int) Constant 3
+              33:     16(int) Constant 18
+              36:     16(int) Constant 17
+              37:   10(float) Constant 1077936128
+              38:   11(fvec3) ConstantComposite 37 37 37
+              39:             TypePointer Uniform 11(fvec3)
+              41:             TypePointer Workgroup 16(int)
+           42(i):     41(ptr) Variable Workgroup
+              47:             TypeRuntimeArray 23(fvec4)
+        48(outs):             TypeStruct 16(int) 47
+              49:             TypePointer Uniform 48(outs)
+    50(outnames):     49(ptr) Variable Uniform
+              51:             TypeVector 6(int) 3
+              52:             TypePointer Input 51(ivec3)
+53(gl_LocalInvocationID):     52(ptr) Variable Input
+              54:             TypePointer Input 6(int)
+              61:             TypePointer Uniform 16(int)
+              63:      6(int) Constant 16
+              64:      6(int) Constant 32
+              65:      6(int) Constant 4
+              66:   51(ivec3) ConstantComposite 63 64 65
          4(main):           2 Function None 3
                5:             Label
-                              ControlBarrier 7 7 8
-              19:    9(float) Load 18(s)
-              21:     20(ptr) AccessChain 14(outbname) 16
-                              Store 21 19
-              27:    9(float) Load 18(s)
-              28:   22(fvec4) CompositeConstruct 27 27 27 27
-              30:     29(ptr) AccessChain 25(outbnamena) 26
-                              Store 30 28
-              33:     20(ptr) AccessChain 14(outbname) 31 32 8
-              34:    9(float) Load 33
-                              Store 18(s) 34
-              39:     38(ptr) AccessChain 14(outbname) 31 35
-                              Store 39 37
-              42:     15(int) Load 41(i)
-              43:    9(float) Load 18(s)
-              44:   10(fvec3) CompositeConstruct 43 43 43
-              45:     38(ptr) AccessChain 14(outbname) 31 42
-                              Store 45 44
-              54:     53(ptr) AccessChain 52(gl_LocalInvocationID) 8
-              55:      6(int) Load 54
-              56:    9(float) Load 18(s)
-              57:   22(fvec4) CompositeConstruct 56 56 56 56
-              58:     29(ptr) AccessChain 49(outnames) 26 55
-                              Store 58 57
-              59:     15(int) ArrayLength 14(outbname) 3
-              61:     60(ptr) AccessChain 49(outnames) 16
-                              Store 61 59
+                              ControlBarrier 7 8 9
+              20:   10(float) Load 19(s)
+              22:     21(ptr) AccessChain 15(outbname) 17
+                              Store 22 20
+              28:   10(float) Load 19(s)
+              29:   23(fvec4) CompositeConstruct 28 28 28 28
+              31:     30(ptr) AccessChain 26(outbnamena) 27
+                              Store 31 29
+              34:     21(ptr) AccessChain 15(outbname) 32 33 9
+              35:   10(float) Load 34
+                              Store 19(s) 35
+              40:     39(ptr) AccessChain 15(outbname) 32 36
+                              Store 40 38
+              43:     16(int) Load 42(i)
+              44:   10(float) Load 19(s)
+              45:   11(fvec3) CompositeConstruct 44 44 44
+              46:     39(ptr) AccessChain 15(outbname) 32 43
+                              Store 46 45
+              55:     54(ptr) AccessChain 53(gl_LocalInvocationID) 9
+              56:      6(int) Load 55
+              57:   10(float) Load 19(s)
+              58:   23(fvec4) CompositeConstruct 57 57 57 57
+              59:     30(ptr) AccessChain 50(outnames) 27 56
+                              Store 59 58
+              60:     16(int) ArrayLength 15(outbname) 3
+              62:     61(ptr) AccessChain 50(outnames) 17
+                              Store 62 60
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
old mode 100755
new mode 100644
index bcfd963..ae469aa
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -14,26 +14,26 @@
                               Capability ClipDistance
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint TessellationControl 4  "main" 23 40 43 46 54 68 73 79 83 84 87 88 91 92
+                              EntryPoint TessellationControl 4  "main" 24 41 44 47 54 68 73 79 83 84 87 88 91 92
                               ExecutionMode 4 OutputVertices 4
                               Source GLSL 400
                               SourceExtension  "GL_ARB_separate_shader_objects"
                               Name 4  "main"
-                              Name 11  "a"
-                              Name 16  "p"
-                              Name 19  "gl_PerVertex"
-                              MemberName 19(gl_PerVertex) 0  "gl_Position"
-                              MemberName 19(gl_PerVertex) 1  "gl_PointSize"
-                              MemberName 19(gl_PerVertex) 2  "gl_ClipDistance"
-                              Name 23  "gl_in"
-                              Name 30  "ps"
-                              Name 34  "cd"
-                              Name 38  "pvi"
-                              Name 40  "gl_PatchVerticesIn"
-                              Name 42  "pid"
-                              Name 43  "gl_PrimitiveID"
-                              Name 45  "iid"
-                              Name 46  "gl_InvocationID"
+                              Name 12  "a"
+                              Name 17  "p"
+                              Name 20  "gl_PerVertex"
+                              MemberName 20(gl_PerVertex) 0  "gl_Position"
+                              MemberName 20(gl_PerVertex) 1  "gl_PointSize"
+                              MemberName 20(gl_PerVertex) 2  "gl_ClipDistance"
+                              Name 24  "gl_in"
+                              Name 31  "ps"
+                              Name 35  "cd"
+                              Name 39  "pvi"
+                              Name 41  "gl_PatchVerticesIn"
+                              Name 43  "pid"
+                              Name 44  "gl_PrimitiveID"
+                              Name 46  "iid"
+                              Name 47  "gl_InvocationID"
                               Name 50  "gl_PerVertex"
                               MemberName 50(gl_PerVertex) 0  "gl_Position"
                               MemberName 50(gl_PerVertex) 1  "gl_PointSize"
@@ -49,13 +49,13 @@
                               Name 88  "ivlb"
                               Name 91  "ovla"
                               Name 92  "ovlb"
-                              MemberDecorate 19(gl_PerVertex) 0 BuiltIn Position
-                              MemberDecorate 19(gl_PerVertex) 1 BuiltIn PointSize
-                              MemberDecorate 19(gl_PerVertex) 2 BuiltIn ClipDistance
-                              Decorate 19(gl_PerVertex) Block
-                              Decorate 40(gl_PatchVerticesIn) BuiltIn PatchVertices
-                              Decorate 43(gl_PrimitiveID) BuiltIn PrimitiveId
-                              Decorate 46(gl_InvocationID) BuiltIn InvocationId
+                              MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
+                              MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
+                              MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
+                              Decorate 20(gl_PerVertex) Block
+                              Decorate 41(gl_PatchVerticesIn) BuiltIn PatchVertices
+                              Decorate 44(gl_PrimitiveID) BuiltIn PrimitiveId
+                              Decorate 47(gl_InvocationID) BuiltIn InvocationId
                               MemberDecorate 50(gl_PerVertex) 0 BuiltIn Position
                               MemberDecorate 50(gl_PerVertex) 1 BuiltIn PointSize
                               MemberDecorate 50(gl_PerVertex) 2 BuiltIn ClipDistance
@@ -72,106 +72,106 @@
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
-               7:      6(int) Constant 1
-               8:      6(int) Constant 0
-               9:             TypeInt 32 1
-              10:             TypePointer Function 9(int)
-              12:      9(int) Constant 5392
-              13:             TypeFloat 32
-              14:             TypeVector 13(float) 4
-              15:             TypePointer Function 14(fvec4)
-              17:      6(int) Constant 3
-              18:             TypeArray 13(float) 17
-19(gl_PerVertex):             TypeStruct 14(fvec4) 13(float) 18
-              20:      6(int) Constant 32
-              21:             TypeArray 19(gl_PerVertex) 20
-              22:             TypePointer Input 21
-       23(gl_in):     22(ptr) Variable Input
-              24:      9(int) Constant 1
-              25:      9(int) Constant 0
-              26:             TypePointer Input 14(fvec4)
-              29:             TypePointer Function 13(float)
-              31:             TypePointer Input 13(float)
-              35:      9(int) Constant 2
-              39:             TypePointer Input 9(int)
-40(gl_PatchVerticesIn):     39(ptr) Variable Input
-43(gl_PrimitiveID):     39(ptr) Variable Input
-46(gl_InvocationID):     39(ptr) Variable Input
-              48:      6(int) Constant 2
-              49:             TypeArray 13(float) 48
-50(gl_PerVertex):             TypeStruct 14(fvec4) 13(float) 49
+               7:      6(int) Constant 2
+               8:      6(int) Constant 1
+               9:      6(int) Constant 0
+              10:             TypeInt 32 1
+              11:             TypePointer Function 10(int)
+              13:     10(int) Constant 5392
+              14:             TypeFloat 32
+              15:             TypeVector 14(float) 4
+              16:             TypePointer Function 15(fvec4)
+              18:      6(int) Constant 3
+              19:             TypeArray 14(float) 18
+20(gl_PerVertex):             TypeStruct 15(fvec4) 14(float) 19
+              21:      6(int) Constant 32
+              22:             TypeArray 20(gl_PerVertex) 21
+              23:             TypePointer Input 22
+       24(gl_in):     23(ptr) Variable Input
+              25:     10(int) Constant 1
+              26:     10(int) Constant 0
+              27:             TypePointer Input 15(fvec4)
+              30:             TypePointer Function 14(float)
+              32:             TypePointer Input 14(float)
+              36:     10(int) Constant 2
+              40:             TypePointer Input 10(int)
+41(gl_PatchVerticesIn):     40(ptr) Variable Input
+44(gl_PrimitiveID):     40(ptr) Variable Input
+47(gl_InvocationID):     40(ptr) Variable Input
+              49:             TypeArray 14(float) 7
+50(gl_PerVertex):             TypeStruct 15(fvec4) 14(float) 49
               51:      6(int) Constant 4
               52:             TypeArray 50(gl_PerVertex) 51
               53:             TypePointer Output 52
       54(gl_out):     53(ptr) Variable Output
-              57:             TypePointer Output 14(fvec4)
-              61:             TypePointer Output 13(float)
-              66:             TypeArray 13(float) 51
+              57:             TypePointer Output 15(fvec4)
+              61:             TypePointer Output 14(float)
+              66:             TypeArray 14(float) 51
               67:             TypePointer Output 66
 68(gl_TessLevelOuter):     67(ptr) Variable Output
-              69:      9(int) Constant 3
-              70:   13(float) Constant 1078774989
+              69:     10(int) Constant 3
+              70:   14(float) Constant 1078774989
               72:             TypePointer Output 49
 73(gl_TessLevelInner):     72(ptr) Variable Output
-              74:   13(float) Constant 1067869798
-              76:             TypeArray 9(int) 51
+              74:   14(float) Constant 1067869798
+              76:             TypeArray 10(int) 51
               77:             TypePointer Private 76
         78(outa):     77(ptr) Variable Private
     79(patchOut):     57(ptr) Variable Output
-              80:             TypeVector 13(float) 2
-              81:             TypeArray 80(fvec2) 20
+              80:             TypeVector 14(float) 2
+              81:             TypeArray 80(fvec2) 21
               82:             TypePointer Input 81
          83(inb):     82(ptr) Variable Input
          84(ind):     82(ptr) Variable Input
-              85:             TypeArray 14(fvec4) 20
+              85:             TypeArray 15(fvec4) 21
               86:             TypePointer Input 85
         87(ivla):     86(ptr) Variable Input
         88(ivlb):     86(ptr) Variable Input
-              89:             TypeArray 14(fvec4) 51
+              89:             TypeArray 15(fvec4) 51
               90:             TypePointer Output 89
         91(ovla):     90(ptr) Variable Output
         92(ovlb):     90(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-           11(a):     10(ptr) Variable Function
-           16(p):     15(ptr) Variable Function
-          30(ps):     29(ptr) Variable Function
-          34(cd):     29(ptr) Variable Function
-         38(pvi):     10(ptr) Variable Function
-         42(pid):     10(ptr) Variable Function
-         45(iid):     10(ptr) Variable Function
-                              ControlBarrier 7 7 8
-                              Store 11(a) 12
-              27:     26(ptr) AccessChain 23(gl_in) 24 25
-              28:   14(fvec4) Load 27
-                              Store 16(p) 28
-              32:     31(ptr) AccessChain 23(gl_in) 24 24
-              33:   13(float) Load 32
-                              Store 30(ps) 33
-              36:     31(ptr) AccessChain 23(gl_in) 24 35 35
-              37:   13(float) Load 36
-                              Store 34(cd) 37
-              41:      9(int) Load 40(gl_PatchVerticesIn)
-                              Store 38(pvi) 41
-              44:      9(int) Load 43(gl_PrimitiveID)
-                              Store 42(pid) 44
-              47:      9(int) Load 46(gl_InvocationID)
-                              Store 45(iid) 47
-              55:      9(int) Load 46(gl_InvocationID)
-              56:   14(fvec4) Load 16(p)
-              58:     57(ptr) AccessChain 54(gl_out) 55 25
+           12(a):     11(ptr) Variable Function
+           17(p):     16(ptr) Variable Function
+          31(ps):     30(ptr) Variable Function
+          35(cd):     30(ptr) Variable Function
+         39(pvi):     11(ptr) Variable Function
+         43(pid):     11(ptr) Variable Function
+         46(iid):     11(ptr) Variable Function
+                              ControlBarrier 7 8 9
+                              Store 12(a) 13
+              28:     27(ptr) AccessChain 24(gl_in) 25 26
+              29:   15(fvec4) Load 28
+                              Store 17(p) 29
+              33:     32(ptr) AccessChain 24(gl_in) 25 25
+              34:   14(float) Load 33
+                              Store 31(ps) 34
+              37:     32(ptr) AccessChain 24(gl_in) 25 36 36
+              38:   14(float) Load 37
+                              Store 35(cd) 38
+              42:     10(int) Load 41(gl_PatchVerticesIn)
+                              Store 39(pvi) 42
+              45:     10(int) Load 44(gl_PrimitiveID)
+                              Store 43(pid) 45
+              48:     10(int) Load 47(gl_InvocationID)
+                              Store 46(iid) 48
+              55:     10(int) Load 47(gl_InvocationID)
+              56:   15(fvec4) Load 17(p)
+              58:     57(ptr) AccessChain 54(gl_out) 55 26
                               Store 58 56
-              59:      9(int) Load 46(gl_InvocationID)
-              60:   13(float) Load 30(ps)
-              62:     61(ptr) AccessChain 54(gl_out) 59 24
+              59:     10(int) Load 47(gl_InvocationID)
+              60:   14(float) Load 31(ps)
+              62:     61(ptr) AccessChain 54(gl_out) 59 25
                               Store 62 60
-              63:      9(int) Load 46(gl_InvocationID)
-              64:   13(float) Load 34(cd)
-              65:     61(ptr) AccessChain 54(gl_out) 63 35 24
+              63:     10(int) Load 47(gl_InvocationID)
+              64:   14(float) Load 35(cd)
+              65:     61(ptr) AccessChain 54(gl_out) 63 36 25
                               Store 65 64
               71:     61(ptr) AccessChain 68(gl_TessLevelOuter) 69
                               Store 71 70
-              75:     61(ptr) AccessChain 73(gl_TessLevelInner) 24
+              75:     61(ptr) AccessChain 73(gl_TessLevelInner) 25
                               Store 75 74
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
new file mode 100755
index 0000000..f12e620
--- /dev/null
+++ b/Test/baseResults/spv.noWorkgroup.comp.out
@@ -0,0 +1,34 @@
+spv.noWorkgroup.comp
+Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.
+
+
+Linked compute stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 12
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 1 1 1
+                              Source GLSL 450
+                              Name 4  "main"
+                              Decorate 7 SpecId 18
+                              Decorate 8 SpecId 10
+                              Decorate 9 SpecId 19
+                              Decorate 11 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:      6(int) SpecConstant 1
+               8:      6(int) SpecConstant 1
+               9:      6(int) SpecConstant 1
+              10:             TypeVector 6(int) 3
+              11:   10(ivec3) SpecConstantComposite 7 8 9
+         4(main):           2 Function None 3
+               5:             Label
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.register.autoassign.rangetest.frag.out b/Test/baseResults/spv.register.autoassign.rangetest.frag.out
index a521a13..94933fb 100644
--- a/Test/baseResults/spv.register.autoassign.rangetest.frag.out
+++ b/Test/baseResults/spv.register.autoassign.rangetest.frag.out
@@ -2,10 +2,6 @@
 
 Linked fragment stage:
 
-INTERNAL ERROR: mapped binding out of range: g_tScene
-INTERNAL ERROR: mapped binding out of range: g_tSamp
-INTERNAL ERROR: mapped binding out of range: g_tScene
-INTERNAL ERROR: mapped binding out of range: g_tSamp
 INTERNAL ERROR: mapped binding out of range: g_tSamp
 INTERNAL ERROR: mapped binding out of range: g_tScene
 
diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out
new file mode 100644
index 0000000..851ef46
--- /dev/null
+++ b/Test/baseResults/spv.rw.autoassign.frag.out
@@ -0,0 +1,70 @@
+spv.rw.autoassign.frag
+
+Linked fragment stage:
+
+
+// Module Version 10000
+// Generated by (magic number): 80001
+// Id's are bound by 37
+
+                              Capability Shader
+                              Capability Sampled1D
+                              Capability SampledBuffer
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 33
+                              ExecutionMode 4 OriginUpperLeft
+                              Name 4  "main"
+                              Name 8  "r00"
+                              Name 11  "g_tTex1df1"
+                              Name 18  "r01"
+                              Name 21  "g_tBuf1du1"
+                              Name 25  "PS_OUTPUT"
+                              MemberName 25(PS_OUTPUT) 0  "Color"
+                              Name 27  "psout"
+                              Name 33  "Color"
+                              Decorate 11(g_tTex1df1) DescriptorSet 0
+                              Decorate 11(g_tTex1df1) Binding 20
+                              Decorate 21(g_tBuf1du1) DescriptorSet 0
+                              Decorate 21(g_tBuf1du1) Binding 21
+                              Decorate 33(Color) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Function 6(float)
+               9:             TypeImage 6(float) 1D nonsampled format:R32f
+              10:             TypePointer UniformConstant 9
+  11(g_tTex1df1):     10(ptr) Variable UniformConstant
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              16:             TypeInt 32 0
+              17:             TypePointer Function 16(int)
+              19:             TypeImage 16(int) Buffer nonsampled format:R32ui
+              20:             TypePointer UniformConstant 19
+  21(g_tBuf1du1):     20(ptr) Variable UniformConstant
+              24:             TypeVector 6(float) 4
+   25(PS_OUTPUT):             TypeStruct 24(fvec4)
+              26:             TypePointer Function 25(PS_OUTPUT)
+              28:    6(float) Constant 0
+              29:   24(fvec4) ConstantComposite 28 28 28 28
+              30:             TypePointer Function 24(fvec4)
+              32:             TypePointer Output 24(fvec4)
+       33(Color):     32(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+          8(r00):      7(ptr) Variable Function
+         18(r01):     17(ptr) Variable Function
+       27(psout):     26(ptr) Variable Function
+              12:           9 Load 11(g_tTex1df1)
+              15:    6(float) ImageRead 12 14
+                              Store 8(r00) 15
+              22:          19 Load 21(g_tBuf1du1)
+              23:     16(int) ImageRead 22 14
+                              Store 18(r01) 23
+              31:     30(ptr) AccessChain 27(psout) 14
+                              Store 31 29
+              34:     30(ptr) AccessChain 27(psout) 14
+              35:   24(fvec4) Load 34
+                              Store 33(Color) 35
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out
index c6cf6ba..1fd59b4 100644
--- a/Test/baseResults/varyingArray.frag.out
+++ b/Test/baseResults/varyingArray.frag.out
@@ -56,7 +56,6 @@
 0:?     'color' (smooth in 4-component vector of float)
 0:?     'alpha' (smooth in float)
 0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
 0:?     'foo' (smooth in 3-element array of 4-component vector of float)
 
 
@@ -115,6 +114,5 @@
 0:?     'color' (smooth in 4-component vector of float)
 0:?     'alpha' (smooth in float)
 0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
 0:?     'foo' (smooth in 3-element array of 4-component vector of float)
 
diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out
index 02a41f3..7349812 100644
--- a/Test/baseResults/varyingArrayIndirect.frag.out
+++ b/Test/baseResults/varyingArrayIndirect.frag.out
@@ -57,7 +57,6 @@
 0:?     'color' (smooth in 4-component vector of float)
 0:?     'alpha' (smooth in float)
 0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
 0:?     'userIn' (smooth in 2-element array of 4-component vector of float)
 0:?     'a' (uniform int)
 0:?     'b' (uniform int)
@@ -119,7 +118,6 @@
 0:?     'color' (smooth in 4-component vector of float)
 0:?     'alpha' (smooth in float)
 0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
-0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float TexCoord)
 0:?     'userIn' (smooth in 2-element array of 4-component vector of float)
 0:?     'a' (uniform int)
 0:?     'b' (uniform int)
diff --git a/Test/hlsl.attribute.expression.comp b/Test/hlsl.attribute.expression.comp
new file mode 100644
index 0000000..535fbad
--- /dev/null
+++ b/Test/hlsl.attribute.expression.comp
@@ -0,0 +1,15 @@
+
+uniform int bound;
+
+#define FOO 3
+#define BAR 2
+
+[numthreads(2+2, 2*3, (1+FOO)*BAR)]
+float4 main() : SV_TARGET
+{
+    [unroll(5*2 + 1) ]
+        for (int x=0; x<bound; ++x)
+            ;
+    
+    return float4(0,0,0,0);
+}
diff --git a/Test/hlsl.basic.geom b/Test/hlsl.basic.geom
new file mode 100644
index 0000000..79b061e
--- /dev/null
+++ b/Test/hlsl.basic.geom
@@ -0,0 +1,25 @@
+struct PSInput
+{
+    float  myfloat    : SOME_SEMANTIC;
+    int    something  : ANOTHER_SEMANTIC;
+};
+
+struct nametest {
+    int Append;        // these are valid names even though they are also method names.
+    int RestartStrip;  // ...
+};
+
+[maxvertexcount(4)]
+void main(triangle in uint VertexID[3] : VertexID,
+          triangle uint test[3] : FOO, 
+          inout LineStream<PSInput> OutputStream)
+{
+    PSInput Vert;
+
+    Vert.myfloat    = test[0] + test[1] + test[2];
+    Vert.something  = VertexID[0];
+
+    OutputStream.Append(Vert);
+    OutputStream.Append(Vert);
+    OutputStream.RestartStrip();
+}
diff --git a/Test/hlsl.comparison.vec.frag b/Test/hlsl.comparison.vec.frag
new file mode 100644
index 0000000..b8f93c9
--- /dev/null
+++ b/Test/hlsl.comparison.vec.frag
@@ -0,0 +1,34 @@
+uniform float4 uf4;
+
+void Bug1( float4 a )
+{
+    float4 v04 = float4( 0.0, 0.0, 0.0, 0.0 );
+    float  v01 = 0.0; 
+
+    bool4 r00 = a == v04;
+    bool4 r01 = a != v04;
+    bool4 r02 = a < v04;
+    bool4 r03 = a > v04;
+    
+    bool4 r10 = a == v01;
+    bool4 r11 = a != v01;
+    bool4 r12 = a < v01;
+    bool4 r13 = a > v01;
+    
+    bool4 r20 = v01 == a;
+    bool4 r21 = v01 != a;
+    bool4 r22 = v01 < a;
+    bool4 r23 = v01 > a;
+}
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+PS_OUTPUT main()
+{
+   PS_OUTPUT psout;
+   psout.Color = 0;
+   return psout;
+}
diff --git a/Test/hlsl.doLoop.frag b/Test/hlsl.doLoop.frag
index 546b2c2..251a8c1 100644
--- a/Test/hlsl.doLoop.frag
+++ b/Test/hlsl.doLoop.frag
@@ -2,5 +2,5 @@
 {
     [unroll] do {} while (false);
     [unroll] do {;} while (false);
-    do { return input; } while (input == input);
+    do { return input; } while (all(input == input));
 }
diff --git a/Test/hlsl.forLoop.frag b/Test/hlsl.forLoop.frag
index 2495e6e..9378996 100644
--- a/Test/hlsl.forLoop.frag
+++ b/Test/hlsl.forLoop.frag
@@ -2,9 +2,9 @@
 {
     for (;;) ;
     for (++input; ; ) ;
-    [unroll] for (; input != input; ) {}
-    for (; input != input; ) { return -input; }
-    for (--input; input != input; input += 2) { return -input; }
+    [unroll] for (; any(input != input); ) {}
+    for (; any(input != input); ) { return -input; }
+    for (--input; any(input != input); input += 2) { return -input; }
 	for (;;) if (input.x > 2.0) break;
 	for (;;) if (input.x > 2.0) continue;
 	float ii;
diff --git a/Test/hlsl.identifier.sample.frag b/Test/hlsl.identifier.sample.frag
new file mode 100644
index 0000000..3281a9a
--- /dev/null
+++ b/Test/hlsl.identifier.sample.frag
@@ -0,0 +1,18 @@
+
+struct MyStruct {
+    sample        float a;
+    noperspective float b;
+    linear        float c;
+    centroid      float d;
+};
+
+int sample(int x) { return x; } // HLSL allows this as an identifier as well.
+
+float4 main() : SV_Target0
+{
+    // HLSL allows this as an identifier as well.
+    // However, this is not true of other qualifier keywords such as "linear".
+    int sample = 3;
+
+    return float4(0,0,0,0);
+}
diff --git a/Test/hlsl.if.frag b/Test/hlsl.if.frag
index 1f6dc41..ba659e6 100644
--- a/Test/hlsl.if.frag
+++ b/Test/hlsl.if.frag
@@ -1,26 +1,26 @@
 float4 PixelShaderFunction(float4 input) : COLOR0
 {
-    if (input == input)
+    if (all(input == input))
         return input;
 
-    if (input == input)
+    if (all(input == input))
         return input;
     else
         return -input;
 
-    if (input == input)
+    if (all(input == input))
         ;
 
-    if (input == input)
+    if (all(input == input))
         ;
     else
         ;
 
-    [flatten] if (input == input) {
+    [flatten] if (all(input == input)) {
         return input;
     }
 
-    if (input == input) {
+    if (all(input == input)) {
         return input;
     } else {
         return -input;
diff --git a/Test/hlsl.logical.binary.frag b/Test/hlsl.logical.binary.frag
new file mode 100644
index 0000000..06bc9f2
--- /dev/null
+++ b/Test/hlsl.logical.binary.frag
@@ -0,0 +1,21 @@
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform int    ival;
+uniform int4   ival4;
+uniform float  fval;
+uniform float4 fval4;
+
+PS_OUTPUT main()
+{
+    if (ival && fval);
+    if (ival || fval);
+
+    PS_OUTPUT psout;
+    psout.Color = 1.0;
+    return psout;
+}
+
+
diff --git a/Test/hlsl.logical.binary.vec.frag b/Test/hlsl.logical.binary.vec.frag
new file mode 100644
index 0000000..e94c8f5
--- /dev/null
+++ b/Test/hlsl.logical.binary.vec.frag
@@ -0,0 +1,24 @@
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform bool4 b4a, b4b;
+uniform bool  b1a, b1b;
+
+PS_OUTPUT main()
+{
+    bool4 r00 = !b4a;
+    bool4 r01 = b4a && b4b;  // vec, vec
+    bool4 r02 = b4a || b4b;  // vec, vec
+
+    bool4 r10 = b1a && b4b;  // scalar, vec
+    bool4 r11 = b1a || b4b;  // scalar, vec
+
+    bool4 r20 = b4a && b1b;  // vec, scalar
+    bool4 r21 = b4a || b1b;  // vec, scalar
+
+    PS_OUTPUT psout;
+    psout.Color = r00 || r01 || r02 || r10 || r11 || r20 || r21;
+    return psout;
+}
diff --git a/Test/hlsl.logical.unary.frag b/Test/hlsl.logical.unary.frag
new file mode 100644
index 0000000..cbcb3bf
--- /dev/null
+++ b/Test/hlsl.logical.unary.frag
@@ -0,0 +1,29 @@
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform int    ival;
+uniform int4   ival4;
+uniform float  fval;
+uniform float4 fval4;
+
+PS_OUTPUT main()
+{
+    !ival;  // scalar int
+    !ival4; // vector int
+
+    !fval;  // scalar float
+    !fval4; // vector float
+    
+    if (ival);
+    if (fval);
+    if (!ival);
+    if (!fval);
+
+    PS_OUTPUT psout;
+    psout.Color = 1.0;
+    return psout;
+}
+
+
diff --git a/Test/hlsl.matNx1.frag b/Test/hlsl.matNx1.frag
new file mode 100644
index 0000000..515bd47
--- /dev/null
+++ b/Test/hlsl.matNx1.frag
@@ -0,0 +1,31 @@
+
+void TestMatNx1()
+{
+    float1x1 f1x1;
+    float2x1 f2x1;
+    float3x1 f3x1;
+    float4x1 f4x1;
+
+    float1x2 f1x2;
+    float1x3 f1x3;
+    float1x4 f1x4;
+
+    float1x1 r00 = transpose(f1x1);
+    float1x2 r01 = transpose(f2x1);
+    float1x3 r02 = transpose(f3x1);
+    float1x4 r03 = transpose(f4x1);
+
+    float1x1 r10 = transpose(f1x1);
+    float2x1 r11 = transpose(f1x2);
+    float3x1 r12 = transpose(f1x3);
+    float4x1 r13 = transpose(f1x4);
+}
+
+struct PS_OUTPUT { float4 color : SV_Target0; };
+
+PS_OUTPUT main()
+{
+    PS_OUTPUT ps_output;
+    ps_output.color = 1.0;
+    return ps_output;
+};
diff --git a/Test/hlsl.matType.bool.frag b/Test/hlsl.matType.bool.frag
new file mode 100644
index 0000000..e4a62e3
--- /dev/null
+++ b/Test/hlsl.matType.bool.frag
@@ -0,0 +1,53 @@
+
+void TestBoolMatTypes()
+{
+    bool1x1 b1x1;
+    bool2x1 b2x1;
+    bool3x1 b3x1;
+    bool4x1 b4x1;
+    
+    bool1x2 b1x2;
+    bool2x2 b2x2;
+    bool3x2 b3x2;
+    bool4x2 b4x2;
+    
+    bool1x3 b1x3;
+    bool2x3 b2x3;
+    bool3x3 b3x3;
+    bool4x3 b4x3;
+    
+    bool1x4 b1x4;
+    bool2x4 b2x4;
+    bool3x4 b3x4;
+    bool4x4 b4x4;
+    
+    // TODO: Currently SPIR-V disallows Nx1 or 1xN mats.
+    bool1x1 r00 = transpose(b1x1);
+    bool1x2 r01 = transpose(b2x1);
+    bool1x3 r02 = transpose(b3x1);
+    bool1x4 r03 = transpose(b4x1);
+    
+    bool2x1 r10 = transpose(b1x2);
+    bool2x2 r11 = transpose(b2x2);
+    bool2x3 r12 = transpose(b3x2);
+    bool2x4 r13 = transpose(b4x2);
+    
+    bool3x1 r20 = transpose(b1x3);
+    bool3x2 r21 = transpose(b2x3);
+    bool3x3 r22 = transpose(b3x3);
+    bool3x4 r23 = transpose(b4x3);
+    
+    bool4x1 r30 = transpose(b1x4);
+    bool4x2 r31 = transpose(b2x4);
+    bool4x3 r32 = transpose(b3x4);
+    bool4x4 r33 = transpose(b4x4);
+}
+
+struct PS_OUTPUT { float4 color : SV_Target0; };
+
+PS_OUTPUT main()
+{
+    PS_OUTPUT ps_output;
+    ps_output.color = float4(0,0,0,0);
+    return ps_output;
+};
diff --git a/Test/hlsl.matType.int.frag b/Test/hlsl.matType.int.frag
new file mode 100644
index 0000000..09e9f2a
--- /dev/null
+++ b/Test/hlsl.matType.int.frag
@@ -0,0 +1,97 @@
+
+void TestIntMatTypes()
+{
+    int1x1 i1x1;
+    int2x1 i2x1;
+    int3x1 i3x1;
+    int4x1 i4x1;
+
+    int1x2 i1x2;
+    int2x2 i2x2;
+    int3x2 i3x2;
+    int4x2 i4x2;
+
+    int1x3 i1x3;
+    int2x3 i2x3;
+    int3x3 i3x3;
+    int4x3 i4x3;
+
+    int1x4 i1x4;
+    int2x4 i2x4;
+    int3x4 i3x4;
+    int4x4 i4x4;
+
+    // TODO: Currently SPIR-V disallows Nx1 or 1xN mats.
+    int1x1 r00 = transpose(i1x1);
+    int1x2 r01 = transpose(i2x1);
+    int1x3 r02 = transpose(i3x1);
+    int1x4 r03 = transpose(i4x1);
+
+    int2x1 r10 = transpose(i1x2);
+    int2x2 r11 = transpose(i2x2);
+    int2x3 r12 = transpose(i3x2);
+    int2x4 r13 = transpose(i4x2);
+
+    int3x1 r20 = transpose(i1x3);
+    int3x2 r21 = transpose(i2x3);
+    int3x3 r22 = transpose(i3x3);
+    int3x4 r23 = transpose(i4x3);
+
+    int4x1 r30 = transpose(i1x4);
+    int4x2 r31 = transpose(i2x4);
+    int4x3 r32 = transpose(i3x4);
+    int4x4 r33 = transpose(i4x4);
+}
+
+void TestUintMatTypes()
+{
+    uint1x1 u1x1;
+    uint2x1 u2x1;
+    uint3x1 u3x1;
+    uint4x1 u4x1;
+    
+    uint1x2 u1x2;
+    uint2x2 u2x2;
+    uint3x2 u3x2;
+    uint4x2 u4x2;
+    
+    uint1x3 u1x3;
+    uint2x3 u2x3;
+    uint3x3 u3x3;
+    uint4x3 u4x3;
+    
+    uint1x4 u1x4;
+    uint2x4 u2x4;
+    uint3x4 u3x4;
+    uint4x4 u4x4;
+    
+    // TODO: Currently SPIR-V disallows Nx1 or 1xN mats.
+    uint1x1 r00 = transpose(u1x1);
+    uint1x2 r01 = transpose(u2x1);
+    uint1x3 r02 = transpose(u3x1);
+    uint1x4 r03 = transpose(u4x1);
+    
+    uint2x1 r10 = transpose(u1x2);
+    uint2x2 r11 = transpose(u2x2);
+    uint2x3 r12 = transpose(u3x2);
+    uint2x4 r13 = transpose(u4x2);
+    
+    uint3x1 r20 = transpose(u1x3);
+    uint3x2 r21 = transpose(u2x3);
+    uint3x3 r22 = transpose(u3x3);
+    uint3x4 r23 = transpose(u4x3);
+    
+    uint4x1 r30 = transpose(u1x4);
+    uint4x2 r31 = transpose(u2x4);
+    uint4x3 r32 = transpose(u3x4);
+    uint4x4 r33 = transpose(u4x4);
+}
+
+struct PS_OUTPUT { float4 color : SV_Target0; };
+
+PS_OUTPUT main()
+{
+    PS_OUTPUT ps_output;
+    ps_output.color = float4(0,0,0,0);
+    return ps_output;
+};
diff --git a/Test/hlsl.mintypes.frag b/Test/hlsl.mintypes.frag
new file mode 100644
index 0000000..ad47e68
--- /dev/null
+++ b/Test/hlsl.mintypes.frag
@@ -0,0 +1,49 @@
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform min16float  b1a, b1b;
+
+PS_OUTPUT main()
+{
+    min16float  mf16;
+    min16float1 mf16_1;
+    min16float2 mf16_2;
+    min16float3 mf16_3;
+    min16float4 mf16_4;
+
+    min10float  mf10;
+    min10float1 mf10_1;
+    min10float2 mf10_2;
+    min10float3 mf10_3;
+    min10float4 mf12_4;
+
+    min16int  mi16;
+    min16int1 mi16_1;
+    min16int2 mi16_2;
+    min16int3 mi16_3;
+    min16int4 mi16_4;
+
+    min12int  mi12;
+    min12int1 mi12_1;
+    min12int2 mi12_2;
+    min12int3 mi12_3;
+    min12int4 mi12_4;
+
+    min16uint  mu16;
+    min16uint1 mu16_1;
+    min16uint2 mu16_2;
+    min16uint3 mu16_3;
+    min16uint4 mu16_4;
+
+    mf16_2 + mf16;
+    mf10_2 + mf10;
+    mi16_2 + mi16;
+    mi12_2 + mi12;
+    mu16_2 + mu16;
+
+    PS_OUTPUT psout;
+    psout.Color = 0;
+    return psout;
+}
diff --git a/Test/hlsl.numthreads.comp b/Test/hlsl.numthreads.comp
new file mode 100644
index 0000000..fcc97f3
--- /dev/null
+++ b/Test/hlsl.numthreads.comp
@@ -0,0 +1,14 @@
+
+[numthreads(8,8,1)]
+void main(uint3 tid : SV_DispatchThreadID )
+{
+}
+
+[numTHreaDs(4,4,2)]  // case insensitive
+void main_aux1(uint3 tid : SV_DispatchThreadID )
+{
+}
+
+[numthreads(1,4,8)]
+void main_aux2(uint3 tid : SV_DispatchThreadID );
+
diff --git a/Test/hlsl.partialInit.frag b/Test/hlsl.partialInit.frag
new file mode 100755
index 0000000..59e8a52
--- /dev/null
+++ b/Test/hlsl.partialInit.frag
@@ -0,0 +1,29 @@
+struct outs {
+    int a;
+    float b;
+    bool c;
+    float4 v;
+};
+
+static float4 gv = {0,0,1};
+static float gfa[3] = {0,0};
+
+struct Nest {
+    float4x3 m;
+    outs os;
+    bool b;
+};
+
+outs PixelShaderFunction(float4 input) : COLOR0
+{
+    outs o2 = { 3 };
+    outs o4;
+    o4.v = gv * gfa[2];
+    outs o1 = { };
+    outs o3 = (outs)0;
+    o4 = (outs)0;
+    o4.c = o1.c;
+    Nest nest = (Nest)0;
+
+    return o4;
+}
\ No newline at end of file
diff --git a/Test/hlsl.promote.binary.frag b/Test/hlsl.promote.binary.frag
new file mode 100644
index 0000000..0203bed
--- /dev/null
+++ b/Test/hlsl.promote.binary.frag
@@ -0,0 +1,28 @@
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform bool   bval;
+uniform bool4  bval4;
+uniform int    ival;
+uniform int4   ival4;
+uniform float  fval;
+uniform float4 fval4;
+
+PS_OUTPUT main()
+{
+    ival  % fval;
+    ival4 % fval4;
+
+    bval  % fval;
+    bval4 % fval4;
+
+    int l_int = 1;
+    l_int %= fval;
+
+    PS_OUTPUT psout;
+    psout.Color = 0;
+    return psout;
+}
+
diff --git a/Test/hlsl.promote.vec1.frag b/Test/hlsl.promote.vec1.frag
new file mode 100644
index 0000000..a674ccb
--- /dev/null
+++ b/Test/hlsl.promote.vec1.frag
@@ -0,0 +1,16 @@
+
+float4 main() : SV_Target
+{
+    float f1a;
+    float1 f1b;
+
+    f1a = f1b;  // convert float1 to float
+    f1b = f1a;  // convert float to float1
+
+    float3 f3;
+    step(0.0, f3);
+
+    sin(f1b); // test 1-vectors in intrinsics
+
+    return float4(0,0,0,0);
+}
diff --git a/Test/hlsl.rw.atomics.frag b/Test/hlsl.rw.atomics.frag
new file mode 100644
index 0000000..930d650
--- /dev/null
+++ b/Test/hlsl.rw.atomics.frag
@@ -0,0 +1,244 @@
+SamplerState       g_sSamp;
+
+RWTexture1D <float> g_tTex1df1;
+RWTexture1D <int>   g_tTex1di1;
+RWTexture1D <uint>  g_tTex1du1;
+
+RWTexture2D <float> g_tTex2df1;
+RWTexture2D <int>   g_tTex2di1;
+RWTexture2D <uint>  g_tTex2du1;
+
+RWTexture3D <float> g_tTex3df1;
+RWTexture3D <int>   g_tTex3di1;
+RWTexture3D <uint>  g_tTex3du1;
+
+RWTexture1DArray <float> g_tTex1df1a;
+RWTexture1DArray <int>   g_tTex1di1a;
+RWTexture1DArray <uint>  g_tTex1du1a;
+
+RWTexture2DArray <float> g_tTex2df1a;
+RWTexture2DArray <int>   g_tTex2di1a;
+RWTexture2DArray <uint>  g_tTex2du1a;
+
+RWBuffer <float> g_tBuffF;
+RWBuffer <int>   g_tBuffI;
+RWBuffer <uint>  g_tBuffU;
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+uniform uint  u1;
+uniform uint2 u2;
+uniform uint3 u3;
+uniform uint  u1b;
+uniform uint  u1c;
+
+uniform int   i1;
+uniform int2  i2;
+uniform int3  i3;
+uniform int   i1b;
+uniform int   i1c;
+
+PS_OUTPUT main()
+{
+    uint out_u1;
+    int out_i1;
+
+    // 1D int
+    InterlockedAdd(g_tTex1di1[i1], i1b);
+    InterlockedAdd(g_tTex1di1[i1], i1, out_i1);
+    InterlockedAnd(g_tTex1di1[i1], i1b);
+    InterlockedAnd(g_tTex1di1[i1], i1, out_i1);
+    InterlockedCompareExchange(g_tTex1di1[i1], i1b, i1c, out_i1);
+    InterlockedExchange(g_tTex1di1[i1], i1, out_i1);
+    InterlockedMax(g_tTex1di1[i1], i1b);
+    InterlockedMax(g_tTex1di1[i1], i1, out_i1);
+    InterlockedMin(g_tTex1di1[i1], i1b);
+    InterlockedMin(g_tTex1di1[i1], i1, out_i1);
+    InterlockedOr(g_tTex1di1[i1], i1b);
+    InterlockedOr(g_tTex1di1[i1], i1, out_i1);
+    InterlockedXor(g_tTex1di1[i1], i1b);
+    InterlockedXor(g_tTex1di1[i1], i1, out_i1);
+
+    // 1D uint
+    InterlockedAdd(g_tTex1du1[u1], u1);
+    InterlockedAdd(g_tTex1du1[u1], u1, out_u1);
+    InterlockedAnd(g_tTex1du1[u1], u1);
+    InterlockedAnd(g_tTex1du1[u1], u1, out_u1);
+    InterlockedCompareExchange(g_tTex1du1[u1], u1b, u1c, out_u1);
+    InterlockedExchange(g_tTex1du1[u1], u1, out_u1);
+    InterlockedMax(g_tTex1du1[u1], u1);
+    InterlockedMax(g_tTex1du1[u1], u1, out_u1);
+    InterlockedMin(g_tTex1du1[u1], u1);
+    InterlockedMin(g_tTex1du1[u1], u1, out_u1);
+    InterlockedOr(g_tTex1du1[u1], u1);
+    InterlockedOr(g_tTex1du1[u1], u1, out_u1);
+    InterlockedXor(g_tTex1du1[u1], u1);
+    InterlockedXor(g_tTex1du1[u1], u1, out_u1);
+
+    // 2D int
+    InterlockedAdd(g_tTex2di1[i2], i1b);
+    InterlockedAdd(g_tTex2di1[i2], i1, out_i1);
+    InterlockedAnd(g_tTex2di1[i2], i1b);
+    InterlockedAnd(g_tTex2di1[i2], i1, out_i1);
+    InterlockedCompareExchange(g_tTex2di1[i2], i1b, i1c, out_i1);
+    InterlockedExchange(g_tTex2di1[i2], i1, out_i1);
+    InterlockedMax(g_tTex2di1[i2], i1b);
+    InterlockedMax(g_tTex2di1[i2], i1, out_i1);
+    InterlockedMin(g_tTex2di1[i2], i1b);
+    InterlockedMin(g_tTex2di1[i2], i1, out_i1);
+    InterlockedOr(g_tTex2di1[i2], i1b);
+    InterlockedOr(g_tTex2di1[i2], i1, out_i1);
+    InterlockedXor(g_tTex2di1[i2], i1b);
+    InterlockedXor(g_tTex2di1[i2], i1, out_i1);
+
+    // 2D uint
+    InterlockedAdd(g_tTex2du1[u2], u1);
+    InterlockedAdd(g_tTex2du1[u2], u1, out_u1);
+    InterlockedAnd(g_tTex2du1[u2], u1);
+    InterlockedAnd(g_tTex2du1[u2], u1, out_u1);
+    InterlockedCompareExchange(g_tTex2du1[u2], u1b, u1c, out_u1);
+    InterlockedExchange(g_tTex2du1[u2], u1, out_u1);
+    InterlockedMax(g_tTex2du1[u2], u1);
+    InterlockedMax(g_tTex2du1[u2], u1, out_u1);
+    InterlockedMin(g_tTex2du1[u2], u1);
+    InterlockedMin(g_tTex2du1[u2], u1, out_u1);
+    InterlockedOr(g_tTex2du1[u2], u1);
+    InterlockedOr(g_tTex2du1[u2], u1, out_u1);
+    InterlockedXor(g_tTex2du1[u2], u1);
+    InterlockedXor(g_tTex2du1[u2], u1, out_u1);
+
+    // 3D int
+    InterlockedAdd(g_tTex3di1[i3], i1b);
+    InterlockedAdd(g_tTex3di1[i3], i1, out_i1);
+    InterlockedAnd(g_tTex3di1[i3], i1b);
+    InterlockedAnd(g_tTex3di1[i3], i1, out_i1);
+    InterlockedCompareExchange(g_tTex3di1[i3], i1b, i1c, out_i1);
+    InterlockedExchange(g_tTex3di1[i3], i1, out_i1);
+    InterlockedMax(g_tTex3di1[i3], i1b);
+    InterlockedMax(g_tTex3di1[i3], i1, out_i1);
+    InterlockedMin(g_tTex3di1[i3], i1b);
+    InterlockedMin(g_tTex3di1[i3], i1, out_i1);
+    InterlockedOr(g_tTex3di1[i3], i1b);
+    InterlockedOr(g_tTex3di1[i3], i1, out_i1);
+    InterlockedXor(g_tTex3di1[i3], i1b);
+    InterlockedXor(g_tTex3di1[i3], i1, out_i1);
+
+    // 3D uint
+    InterlockedAdd(g_tTex3du1[u3], u1);
+    InterlockedAdd(g_tTex3du1[u3], u1, out_u1);
+    InterlockedAnd(g_tTex3du1[u3], u1);
+    InterlockedAnd(g_tTex3du1[u3], u1, out_u1);
+    InterlockedCompareExchange(g_tTex3du1[u3], u1b, u1c, out_u1);
+    InterlockedExchange(g_tTex3du1[u3], u1, out_u1);
+    InterlockedMax(g_tTex3du1[u3], u1);
+    InterlockedMax(g_tTex3du1[u3], u1, out_u1);
+    InterlockedMin(g_tTex3du1[u3], u1);
+    InterlockedMin(g_tTex3du1[u3], u1, out_u1);
+    InterlockedOr(g_tTex3du1[u3], u1);
+    InterlockedOr(g_tTex3du1[u3], u1, out_u1);
+    InterlockedXor(g_tTex3du1[u3], u1);
+    InterlockedXor(g_tTex3du1[u3], u1, out_u1);
+
+    // 1D array int
+    InterlockedAdd(g_tTex1di1a[i2], i1b);
+    InterlockedAdd(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedAnd(g_tTex1di1a[i2], i1b);
+    InterlockedAnd(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedCompareExchange(g_tTex1di1a[i2], i1b, i1c, out_i1);
+    InterlockedExchange(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedMax(g_tTex1di1a[i2], i1b);
+    InterlockedMax(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedMin(g_tTex1di1a[i2], i1b);
+    InterlockedMin(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedOr(g_tTex1di1a[i2], i1b);
+    InterlockedOr(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedXor(g_tTex1di1a[i2], i1b);
+    InterlockedXor(g_tTex1di1a[i2], i1, out_i1);
+
+    // 1D array uint
+    InterlockedAdd(g_tTex1du1a[u2], u1);
+    InterlockedAdd(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedAnd(g_tTex1du1a[u2], u1);
+    InterlockedAnd(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedCompareExchange(g_tTex1du1a[u2], u1b, u1c, out_u1);
+    InterlockedExchange(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedMax(g_tTex1du1a[u2], u1);
+    InterlockedMax(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedMin(g_tTex1du1a[u2], u1);
+    InterlockedMin(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedOr(g_tTex1du1a[u2], u1);
+    InterlockedOr(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedXor(g_tTex1du1a[u2], u1);
+    InterlockedXor(g_tTex1du1a[u2], u1, out_u1);
+
+    // 2D array int
+    InterlockedAdd(g_tTex1di1a[i2], i1b);
+    InterlockedAdd(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedAnd(g_tTex1di1a[i2], i1b);
+    InterlockedAnd(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedCompareExchange(g_tTex1di1a[i2], i1b, i1c, out_i1);
+    InterlockedExchange(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedMax(g_tTex1di1a[i2], i1b);
+    InterlockedMax(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedMin(g_tTex1di1a[i2], i1b);
+    InterlockedMin(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedOr(g_tTex1di1a[i2], i1b);
+    InterlockedOr(g_tTex1di1a[i2], i1, out_i1);
+    InterlockedXor(g_tTex1di1a[i2], i1b);
+    InterlockedXor(g_tTex1di1a[i2], i1, out_i1);
+
+    // 2D array uint
+    InterlockedAdd(g_tTex1du1a[u2], u1);
+    InterlockedAdd(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedAnd(g_tTex1du1a[u2], u1);
+    InterlockedAnd(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedCompareExchange(g_tTex1du1a[u2], u1b, u1c, out_u1);
+    InterlockedExchange(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedMax(g_tTex1du1a[u2], u1);
+    InterlockedMax(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedMin(g_tTex1du1a[u2], u1);
+    InterlockedMin(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedOr(g_tTex1du1a[u2], u1);
+    InterlockedOr(g_tTex1du1a[u2], u1, out_u1);
+    InterlockedXor(g_tTex1du1a[u2], u1);
+    InterlockedXor(g_tTex1du1a[u2], u1, out_u1);
+
+    // buffer int
+    InterlockedAdd(g_tBuffI[i1], i1b);
+    InterlockedAdd(g_tBuffI[i1], i1, out_i1);
+    InterlockedAnd(g_tBuffI[i1], i1b);
+    InterlockedAnd(g_tBuffI[i1], i1, out_i1);
+    InterlockedCompareExchange(g_tBuffI[i1], i1b, i1c, out_i1);
+    InterlockedExchange(g_tBuffI[i1], i1, out_i1);
+    InterlockedMax(g_tBuffI[i1], i1b);
+    InterlockedMax(g_tBuffI[i1], i1, out_i1);
+    InterlockedMin(g_tBuffI[i1], i1b);
+    InterlockedMin(g_tBuffI[i1], i1, out_i1);
+    InterlockedOr(g_tBuffI[i1], i1b);
+    InterlockedOr(g_tBuffI[i1], i1, out_i1);
+    InterlockedXor(g_tBuffI[i1], i1b);
+    InterlockedXor(g_tBuffI[i1], i1, out_i1);
+
+    // buffer uint
+    InterlockedAdd(g_tBuffU[u1], u1);
+    InterlockedAdd(g_tBuffU[u1], u1, out_u1);
+    InterlockedAnd(g_tBuffU[u1], u1);
+    InterlockedAnd(g_tBuffU[u1], u1, out_u1);
+    InterlockedCompareExchange(g_tBuffU[u1], u1b, u1c, out_u1);
+    InterlockedExchange(g_tBuffU[u1], u1, out_u1);
+    InterlockedMax(g_tBuffU[u1], u1);
+    InterlockedMax(g_tBuffU[u1], u1, out_u1);
+    InterlockedMin(g_tBuffU[u1], u1);
+    InterlockedMin(g_tBuffU[u1], u1, out_u1);
+    InterlockedOr(g_tBuffU[u1], u1);
+    InterlockedOr(g_tBuffU[u1], u1, out_u1);
+    InterlockedXor(g_tBuffU[u1], u1);
+    InterlockedXor(g_tBuffU[u1], u1, out_u1);
+
+    PS_OUTPUT psout;
+    psout.Color = 1.0;
+    return psout;
+}
diff --git a/Test/hlsl.rw.register.frag b/Test/hlsl.rw.register.frag
new file mode 100644
index 0000000..e82e419
--- /dev/null
+++ b/Test/hlsl.rw.register.frag
@@ -0,0 +1,18 @@
+
+RWTexture1D <float> g_tTex1df1 : register(u2);
+RWBuffer <uint>     g_tBuf1du1 : register(U3);
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+PS_OUTPUT main()
+{
+   float r00 = g_tTex1df1[0];
+   uint  r01 = g_tBuf1du1[0];
+
+   PS_OUTPUT psout;
+   psout.Color = 1.0;
+   return psout;
+}
diff --git a/Test/hlsl.shapeConv.frag b/Test/hlsl.shapeConv.frag
index 0485b4a..adb170e 100644
--- a/Test/hlsl.shapeConv.frag
+++ b/Test/hlsl.shapeConv.frag
@@ -18,8 +18,8 @@
     6.0 < foo;
     7.0 <= foo;
 
-    v.x == v;
-    f != v;
+    all(v.x == v);
+    any(f != v);
 
     float1 f1;
 
diff --git a/Test/hlsl.whileLoop.frag b/Test/hlsl.whileLoop.frag
index f282375..e4084ae 100644
--- a/Test/hlsl.whileLoop.frag
+++ b/Test/hlsl.whileLoop.frag
@@ -1,6 +1,6 @@
 float4 PixelShaderFunction(float4 input) : COLOR0
 {
-    while (input != input) { return input; }
+    while (any(input != input)) { return input; }
     while (false) ;
     [unroll] while (false) { }
     while ((false)) { }
diff --git a/Test/spv.noWorkgroup.comp b/Test/spv.noWorkgroup.comp
new file mode 100644
index 0000000..0c77f27
--- /dev/null
+++ b/Test/spv.noWorkgroup.comp
@@ -0,0 +1,7 @@
+#version 450
+
+layout(local_size_x_id = 18, local_size_y_id=10,local_size_z_id = 19) in;
+
+void main()
+{
+}
diff --git a/Test/spv.rw.autoassign.frag b/Test/spv.rw.autoassign.frag
new file mode 100644
index 0000000..5c7d0d3
--- /dev/null
+++ b/Test/spv.rw.autoassign.frag
@@ -0,0 +1,18 @@
+
+RWTexture1D <float> g_tTex1df1;
+RWBuffer <uint>     g_tBuf1du1;
+
+struct PS_OUTPUT
+{
+    float4 Color : SV_Target0;
+};
+
+PS_OUTPUT main()
+{
+    float r00 = g_tTex1df1[0];
+    uint  r01 = g_tBuf1du1[0];
+
+    PS_OUTPUT psout;
+    psout.Color = 0;
+    return psout;
+}
diff --git a/glslang/Include/ConstantUnion.h b/glslang/Include/ConstantUnion.h
index 8ee2c84..ec6aff1 100644
--- a/glslang/Include/ConstantUnion.h
+++ b/glslang/Include/ConstantUnion.h
@@ -538,7 +538,7 @@
 };
 
 // Encapsulate having a pointer to an array of TConstUnion,
-// which only needs to be allocated if it's size is going to be
+// which only needs to be allocated if its size is going to be
 // bigger than 0.
 //
 // One convenience is being able to use [] to go inside the array, instead
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
index 6c8cb82..8745c7a 100644
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -1271,6 +1271,7 @@
     virtual       TArraySizes& getArraySizes()       { assert(arraySizes != nullptr); return *arraySizes; }
 
     virtual bool isScalar() const { return ! isVector() && ! isMatrix() && ! isStruct() && ! isArray(); }
+    virtual bool isScalarOrVec1() const { return isScalar() || vector1; }
     virtual bool isVector() const { return vectorSize > 1 || vector1; }
     virtual bool isMatrix() const { return matrixCols ? true : false; }
     virtual bool isArray()  const { return arraySizes != nullptr; }
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index 27c798d..8f7ffcc 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -46,12 +46,19 @@
 #ifndef __INTERMEDIATE_H
 #define __INTERMEDIATE_H
 
+#if _MSC_VER >= 1900
+    #pragma warning(disable : 4464) // relative include path contains '..'
+    #pragma warning(disable : 5026) // 'glslang::TIntermUnary': move constructor was implicitly defined as deleted
+#endif
+
 #include "../Include/Common.h"
 #include "../Include/Types.h"
 #include "../Include/ConstantUnion.h"
 
 namespace glslang {
 
+class TIntermediate;
+
 //
 // Operators used by the high-level (parse tree) representation.
 //
@@ -614,6 +621,10 @@
     EOpMethodGatherCmpGreen,             // ...
     EOpMethodGatherCmpBlue,              // ...
     EOpMethodGatherCmpAlpha,             // ...
+
+    // geometry methods
+    EOpMethodAppend,                     // Geometry shader methods
+    EOpMethodRestartStrip,               // ...
 };
 
 class TIntermTraverser;
@@ -845,7 +856,7 @@
     virtual       TIntermOperator* getAsOperator()       { return this; }
     virtual const TIntermOperator* getAsOperator() const { return this; }
     TOperator getOp() const { return op; }
-    virtual bool promote() { return true; }
+    void setOp(TOperator newOp) { op = newOp; }
     bool modifiesState() const;
     bool isConstructor() const;
     bool isTexture()  const { return op > EOpTextureGuardBegin  && op < EOpTextureGuardEnd; }
@@ -1024,7 +1035,6 @@
     virtual TIntermTyped* getRight() const { return right; }
     virtual       TIntermBinary* getAsBinaryNode()       { return this; }
     virtual const TIntermBinary* getAsBinaryNode() const { return this; }
-    virtual bool promote();
     virtual void updatePrecision();
 protected:
     TIntermTyped* left;
@@ -1044,7 +1054,6 @@
     virtual const TIntermTyped* getOperand() const { return operand; }
     virtual       TIntermUnary* getAsUnaryNode()       { return this; }
     virtual const TIntermUnary* getAsUnaryNode() const { return this; }
-    virtual bool promote();
     virtual void updatePrecision();
 protected:
     TIntermTyped* operand;
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index c8b1b10..5445009 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -2,5 +2,5 @@
 // For the version, it uses the latest git tag followed by the number of commits.
 // For the date, it uses the current date (when then script is run).
 
-#define GLSLANG_REVISION "Overload400-PrecQual.1603"
-#define GLSLANG_DATE "16-Oct-2016"
+#define GLSLANG_REVISION "Overload400-PrecQual.1667"
+#define GLSLANG_DATE "27-Nov-2016"
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 8e80bbd..71b4b71 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -114,7 +114,7 @@
 {
     // No operations work on blocks
     if (left->getType().getBasicType() == EbtBlock || right->getType().getBasicType() == EbtBlock)
-        return 0;
+        return nullptr;
 
     // Try converting the children's base types to compatible types.
     TIntermTyped* child = addConversion(op, left->getType(), right);
@@ -125,7 +125,7 @@
         if (child)
             left = child;
         else
-            return 0;
+            return nullptr;
     }
 
     // Convert the children's type shape to be compatible.
@@ -137,8 +137,8 @@
     // one and promote it to the right type.
     //
     TIntermBinary* node = addBinaryNode(op, left, right, loc);
-    if (! node->promote())
-        return 0;
+    if (! promote(node))
+        return nullptr;
 
     node->updatePrecision();
 
@@ -246,7 +246,7 @@
     // build the node
     TIntermBinary* node = addBinaryNode(op, left, right, loc);
 
-    if (! node->promote())
+    if (! promote(node))
         return nullptr;
 
     node->updatePrecision();
@@ -275,15 +275,19 @@
 TIntermTyped* TIntermediate::addUnaryMath(TOperator op, TIntermTyped* child, TSourceLoc loc)
 {
     if (child == 0)
-        return 0;
+        return nullptr;
 
     if (child->getType().getBasicType() == EbtBlock)
-        return 0;
+        return nullptr;
 
     switch (op) {
     case EOpLogicalNot:
+        if (source == EShSourceHlsl) {
+            break; // HLSL can promote logical not
+        }
+ 
         if (child->getType().getBasicType() != EbtBool || child->getType().isMatrix() || child->getType().isArray() || child->getType().isVector()) {
-            return 0;
+            return nullptr;
         }
         break;
 
@@ -293,7 +297,7 @@
     case EOpPreDecrement:
     case EOpNegative:
         if (child->getType().getBasicType() == EbtStruct || child->getType().isArray())
-            return 0;
+            return nullptr;
     default: break; // some compilers want this
     }
 
@@ -321,8 +325,8 @@
                                                                child->getMatrixRows(),
                                                                child->isVector()),
                               child);
-        if (child == 0)
-            return 0;
+        if (child == nullptr)
+            return nullptr;
     }
 
     //
@@ -349,8 +353,8 @@
     //
     TIntermUnary* node = addUnaryNode(op, child, loc);
 
-    if (! node->promote())
-        return 0;
+    if (! promote(node))
+        return nullptr;
 
     node->updatePrecision();
 
@@ -375,8 +379,8 @@
         // including constness (which would differ from the prototype).
         //
         TIntermTyped* child = childNode->getAsTyped();
-        if (child == 0)
-            return 0;
+        if (child == nullptr)
+            return nullptr;
 
         if (child->getAsConstantUnion()) {
             TIntermTyped* folded = child->getAsConstantUnion()->fold(op, returnType);
@@ -412,7 +416,7 @@
     //
     if (node) {
         aggNode = node->getAsAggregate();
-        if (aggNode == 0 || aggNode->getOp() != EOpNull) {
+        if (aggNode == nullptr || aggNode->getOp() != EOpNull) {
             //
             // Make an aggregate containing this node.
             //
@@ -447,7 +451,7 @@
 // Generally, this is focused on basic type conversion, not shape conversion.
 // See addShapeConversion().
 //
-// Return 0 if a conversion can't be done.
+// Return nullptr if a conversion can't be done.
 //
 TIntermTyped* TIntermediate::addConversion(TOperator op, const TType& type, TIntermTyped* node) const
 {
@@ -456,7 +460,7 @@
     //
     switch (node->getBasicType()) {
     case EbtVoid:
-        return 0;
+        return nullptr;
     case EbtAtomicUint:
     case EbtSampler:
         // opaque types can be passed to functions
@@ -474,7 +478,7 @@
             break;
 
         // otherwise, opaque types can't even be operated on, let alone converted
-        return 0;
+        return nullptr;
     default:
         break;
     }
@@ -485,11 +489,11 @@
 
     // If one's a structure, then no conversions.
     if (type.isStruct() || node->isStruct())
-        return 0;
+        return nullptr;
 
     // If one's an array, then no conversions.
     if (type.isArray() || node->getType().isArray())
-        return 0;
+        return nullptr;
 
     // Note: callers are responsible for other aspects of shape,
     // like vector and matrix sizes.
@@ -555,6 +559,10 @@
     case EOpAndAssign:
     case EOpInclusiveOrAssign:
     case EOpExclusiveOrAssign:
+    case EOpLogicalNot:
+    case EOpLogicalAnd:
+    case EOpLogicalOr:
+    case EOpLogicalXor:
 
     case EOpFunctionCall:
     case EOpReturn:
@@ -576,7 +584,7 @@
         if (canImplicitlyPromote(node->getType().getBasicType(), type.getBasicType(), op))
             promoteTo = type.getBasicType();
         else
-            return 0;
+            return nullptr;
 
         break;
 
@@ -598,7 +606,7 @@
 
             return node;
         else
-            return 0;
+            return nullptr;
 
     default:
         // default is to require a match; all exceptions should have case statements above
@@ -606,7 +614,7 @@
         if (type.getBasicType() == node->getType().getBasicType())
             return node;
         else
-            return 0;
+            return nullptr;
     }
 
     if (node->getAsConstantUnion())
@@ -615,7 +623,7 @@
     //
     // Add a new newNode for the conversion.
     //
-    TIntermUnary* newNode = 0;
+    TIntermUnary* newNode = nullptr;
 
     TOperator newOp = EOpNull;
 
@@ -634,7 +642,7 @@
         case EbtInt64: newOp = EOpConvInt64ToDouble; break;
         case EbtUint64: newOp = EOpConvUint64ToDouble; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
     case EbtFloat:
@@ -649,7 +657,7 @@
         case EbtInt64:  newOp = EOpConvInt64ToFloat;  break;
         case EbtUint64: newOp = EOpConvUint64ToFloat; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
 #ifdef AMD_EXTENSIONS
@@ -663,7 +671,7 @@
         case EbtInt64:  newOp = EOpConvInt64ToFloat16;  break;
         case EbtUint64: newOp = EOpConvUint64ToFloat16; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
 #endif
@@ -679,7 +687,7 @@
         case EbtInt64:  newOp = EOpConvInt64ToBool;  break;
         case EbtUint64: newOp = EOpConvUint64ToBool; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
     case EbtInt:
@@ -694,7 +702,7 @@
         case EbtInt64:  newOp = EOpConvInt64ToInt;  break;
         case EbtUint64: newOp = EOpConvUint64ToInt; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
     case EbtUint:
@@ -709,7 +717,7 @@
         case EbtInt64:  newOp = EOpConvInt64ToUint;  break;
         case EbtUint64: newOp = EOpConvUint64ToUint; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
     case EbtInt64:
@@ -724,7 +732,7 @@
 #endif
         case EbtUint64: newOp = EOpConvUint64ToInt64; break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
     case EbtUint64:
@@ -739,11 +747,11 @@
 #endif
         case EbtInt64:  newOp = EOpConvInt64ToUint64;  break;
         default:
-            return 0;
+            return nullptr;
         }
         break;
     default:
-        return 0;
+        return nullptr;
     }
 
     TType newType(promoteTo, EvqTemporary, node->getVectorSize(), node->getMatrixCols(), node->getMatrixRows());
@@ -789,6 +797,9 @@
     case EOpNotEqual:
     case EOpFunctionCall:
     case EOpReturn:
+    case EOpLogicalAnd:
+    case EOpLogicalOr:
+    case EOpLogicalXor:
         break;
     default:
         return node;
@@ -803,8 +814,10 @@
     TOperator constructorOp = mapTypeToConstructorOp(type);
 
     // scalar -> smeared -> vector, or
+    // vec1 -> scalar, or
     // bigger vector -> smaller vector or scalar
     if ((type.isVector() && node->getType().isScalar()) ||
+        (node->getType().isVector() && node->getVectorSize() == 1 && type.isScalar()) ||
         (node->getVectorSize() > type.getVectorSize() && type.isVector()))
         return setAggregateOperator(makeAggregate(node), constructorOp, type, node->getLoc());
 
@@ -841,6 +854,11 @@
             case EOpModAssign:               // ... 
             case EOpReturn:                  // function returns can also perform arbitrary conversions
             case EOpFunctionCall:            // conversion of a calling parameter
+            case EOpLogicalNot:
+            case EOpLogicalAnd:
+            case EOpLogicalOr:
+            case EOpLogicalXor:
+            case EOpConstructStruct:
                 return true;
             default:
                 break;
@@ -873,6 +891,8 @@
         case EbtFloat16:
 #endif
             return true;
+        case EbtBool:
+            return (source == EShSourceHlsl);
         default:
             return false;
         }
@@ -1104,15 +1124,15 @@
 // Safe way to combine two nodes into an aggregate.  Works with null pointers,
 // a node that's not a aggregate yet, etc.
 //
-// Returns the resulting aggregate, unless 0 was passed in for
+// Returns the resulting aggregate, unless nullptr was passed in for
 // both existing nodes.
 //
 TIntermAggregate* TIntermediate::growAggregate(TIntermNode* left, TIntermNode* right)
 {
-    if (left == 0 && right == 0)
-        return 0;
+    if (left == nullptr && right == nullptr)
+        return nullptr;
 
-    TIntermAggregate* aggNode = 0;
+    TIntermAggregate* aggNode = nullptr;
     if (left)
         aggNode = left->getAsAggregate();
     if (! aggNode || aggNode->getOp() != EOpNull) {
@@ -1139,12 +1159,12 @@
 //
 // Turn an existing node into an aggregate.
 //
-// Returns an aggregate, unless 0 was passed in for the existing node.
+// Returns an aggregate, unless nullptr was passed in for the existing node.
 //
 TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node)
 {
-    if (node == 0)
-        return 0;
+    if (node == nullptr)
+        return nullptr;
 
     TIntermAggregate* aggNode = new TIntermAggregate;
     aggNode->getSequence().push_back(node);
@@ -1155,8 +1175,8 @@
 
 TIntermAggregate* TIntermediate::makeAggregate(TIntermNode* node, const TSourceLoc& loc)
 {
-    if (node == 0)
-        return 0;
+    if (node == nullptr)
+        return nullptr;
 
     TIntermAggregate* aggNode = new TIntermAggregate;
     aggNode->getSequence().push_back(node);
@@ -1166,6 +1186,17 @@
 }
 
 //
+// Make an aggregate with an empty sequence.
+//
+TIntermAggregate* TIntermediate::makeAggregate(const TSourceLoc& loc)
+{
+    TIntermAggregate* aggNode = new TIntermAggregate;
+    aggNode->setLoc(loc);
+
+    return aggNode;
+}
+
+//
 // For "if" test nodes.  There are three children; a condition,
 // a true path, and a false path.  The two paths are in the
 // nodePair.
@@ -1218,7 +1249,7 @@
 // a true path, and a false path.  The two paths are specified
 // as separate parameters.
 //
-// Returns the selection node created, or 0 if one could not be.
+// Returns the selection node created, or nullptr if one could not be.
 //
 TIntermTyped* TIntermediate::addSelection(TIntermTyped* cond, TIntermTyped* trueBlock, TIntermTyped* falseBlock, const TSourceLoc& loc)
 {
@@ -1233,12 +1264,12 @@
         if (child)
             trueBlock = child;
         else
-            return 0;
+            return nullptr;
     }
 
     // After conversion, types have to match.
     if (falseBlock->getType() != trueBlock->getType())
-        return 0;
+        return nullptr;
 
     //
     // See if all the operands are constant, then fold it otherwise not.
@@ -1412,7 +1443,7 @@
 //
 TIntermBranch* TIntermediate::addBranch(TOperator branchOp, const TSourceLoc& loc)
 {
-    return addBranch(branchOp, 0, loc);
+    return addBranch(branchOp, nullptr, loc);
 }
 
 TIntermBranch* TIntermediate::addBranch(TOperator branchOp, TIntermTyped* expression, const TSourceLoc& loc)
@@ -1429,7 +1460,7 @@
 //
 bool TIntermediate::postProcess(TIntermNode* root, EShLanguage /*language*/)
 {
-    if (root == 0)
+    if (root == nullptr)
         return true;
 
     // Finish off the top-level sequence
@@ -1711,18 +1742,46 @@
 }
 
 //
-// Make sure the type of a unary operator is appropriate for its
-// combination of operation and operand type.
+// Make sure the type of an operator is appropriate for its
+// combination of operation and operand type.  This will invoke
+// promoteUnary, promoteBinary, etc as needed.
 //
-// Returns false in nothing makes sense.
+// Returns false if nothing makes sense.
 //
-bool TIntermUnary::promote()
+bool TIntermediate::promote(TIntermOperator* node)
 {
+    if (node == nullptr)
+        return false;
+
+    if (node->getAsUnaryNode())
+        return promoteUnary(*node->getAsUnaryNode());
+
+    if (node->getAsBinaryNode())
+        return promoteBinary(*node->getAsBinaryNode());
+
+    return false;
+}
+
+//
+// See TIntermediate::promote
+//
+bool TIntermediate::promoteUnary(TIntermUnary& node)
+{
+    const TOperator op    = node.getOp();
+    TIntermTyped* operand = node.getOperand();
+
     switch (op) {
     case EOpLogicalNot:
-        if (operand->getBasicType() != EbtBool)
+        // Convert operand to a boolean type
+        if (operand->getBasicType() != EbtBool) {
+            // Add constructor to boolean type. If that fails, we can't do it, so return false.
+            TIntermTyped* converted = convertToBasicType(op, EbtBool, operand);
+            if (converted == nullptr)
+                return false;
 
-            return false;
+            // Use the result of converting the node to a bool.
+            node.setOperand(operand = converted); // also updates stack variable
+        }
         break;
     case EOpBitwiseNot:
         if (operand->getBasicType() != EbtInt &&
@@ -1756,8 +1815,8 @@
             return false;
     }
 
-    setType(operand->getType());
-    getWritableType().getQualifier().makeTemporary();
+    node.setType(operand->getType());
+    node.getWritableType().getQualifier().makeTemporary();
 
     return true;
 }
@@ -1774,14 +1833,33 @@
     }
 }
 
-//
-// Establishes the type of the resultant operation, as well as
-// makes the operator the correct one for the operands.
-//
-// Returns false if operator can't work on operands.
-//
-bool TIntermBinary::promote()
+// If it is not already, convert this node to the given basic type.
+TIntermTyped* TIntermediate::convertToBasicType(TOperator op, TBasicType basicType, TIntermTyped* node) const
 {
+    if (node == nullptr)
+        return nullptr;
+
+    // It's already this basic type: nothing needs to be done, so use the node directly.
+    if (node->getBasicType() == basicType)
+        return node;
+
+    const TType& type = node->getType();
+    const TType newType(basicType, type.getQualifier().storage,
+                        type.getVectorSize(), type.getMatrixCols(), type.getMatrixRows(), type.isVector());
+
+    // Add constructor to the right vectorness of the right type. If that fails, we can't do it, so return nullptr.
+    return addConversion(op, newType, node);
+}
+
+//
+// See TIntermediate::promote
+//
+bool TIntermediate::promoteBinary(TIntermBinary& node)
+{
+    TOperator     op    = node.getOp();
+    TIntermTyped* left  = node.getLeft();
+    TIntermTyped* right = node.getRight();
+
     // Arrays and structures have to be exact matches.
     if ((left->isArray() || right->isArray() || left->getBasicType() == EbtStruct || right->getBasicType() == EbtStruct)
         && left->getType() != right->getType())
@@ -1789,8 +1867,8 @@
 
     // Base assumption:  just make the type the same as the left
     // operand.  Only deviations from this will be coded.
-    setType(left->getType());
-    type.getQualifier().clear();
+    node.setType(left->getType());
+    node.getWritableType().getQualifier().clear();
 
     // Composite and opaque types don't having pending operator changes, e.g.,
     // array, structure, and samplers.  Just establish final type and correctness.
@@ -1803,7 +1881,7 @@
                 return false;
             } else {
                 // Promote to conditional
-                setType(TType(EbtBool));
+                node.setType(TType(EbtBool));
             }
 
             return true;
@@ -1831,23 +1909,46 @@
         // Relational comparisons need numeric types and will promote to scalar Boolean.
         if (left->getBasicType() == EbtBool)
             return false;
-        setType(TType(EbtBool));
+
+        node.setType(TType(EbtBool, EvqTemporary, left->getVectorSize()));
         break;
 
     case EOpEqual:
     case EOpNotEqual:
-        // All the above comparisons result in a bool (but not the vector compares)
-        setType(TType(EbtBool));
+        if (getSource() == EShSourceHlsl) {
+            const int resultWidth = std::max(left->getVectorSize(), right->getVectorSize());
+
+            // In HLSL, == or != on vectors means component-wise comparison.
+            if (resultWidth > 1) {
+                op = (op == EOpEqual) ? EOpVectorEqual : EOpVectorNotEqual;
+                node.setOp(op);
+            }
+
+            node.setType(TType(EbtBool, EvqTemporary, resultWidth));
+        } else {
+            // All the above comparisons result in a bool (but not the vector compares)
+            node.setType(TType(EbtBool));
+        }
         break;
 
     case EOpLogicalAnd:
     case EOpLogicalOr:
     case EOpLogicalXor:
-        // logical ops operate only on scalar Booleans and will promote to scalar Boolean.
-        if (left->getBasicType() != EbtBool || left->isVector() || left->isMatrix())
-            return false;
+        if (getSource() == EShSourceHlsl) {
+            TIntermTyped* convertedL = convertToBasicType(op, EbtBool, left);
+            TIntermTyped* convertedR = convertToBasicType(op, EbtBool, right);
+            if (convertedL == nullptr || convertedR == nullptr)
+                return false;
+            node.setLeft(left = convertedL);   // also updates stack variable
+            node.setRight(right = convertedR); // also updates stack variable
+        } else {
+            // logical ops operate only on scalar Booleans and will promote to scalar Boolean.
+            if (left->getBasicType() != EbtBool || left->isVector() || left->isMatrix())
+                return false;
+        }
 
-        setType(TType(EbtBool));
+        node.setType(TType(EbtBool, EvqTemporary, left->getVectorSize()));
+
         break;
 
     case EOpRightShift:
@@ -1864,6 +1965,9 @@
     case EOpAndAssign:
     case EOpInclusiveOrAssign:
     case EOpExclusiveOrAssign:
+        if (getSource() == EShSourceHlsl)
+            break;
+
         // Check for integer-only operands.
         if ((left->getBasicType() != EbtInt &&  left->getBasicType() != EbtUint &&
              left->getBasicType() != EbtInt64 &&  left->getBasicType() != EbtUint64) ||
@@ -1900,6 +2004,8 @@
 
     case EOpEqual:
     case EOpNotEqual:
+    case EOpVectorEqual:
+    case EOpVectorNotEqual:
 
     case EOpLogicalAnd:
     case EOpLogicalOr:
@@ -1960,33 +2066,33 @@
             if (left->isVector()) {
                 if (left->getVectorSize() != right->getMatrixRows())
                     return false;
-                op = EOpVectorTimesMatrix;
-                setType(TType(basicType, EvqTemporary, right->getMatrixCols()));
+                node.setOp(op = EOpVectorTimesMatrix);
+                node.setType(TType(basicType, EvqTemporary, right->getMatrixCols()));
             } else {
-                op = EOpMatrixTimesScalar;
-                setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), right->getMatrixRows()));
+                node.setOp(op = EOpMatrixTimesScalar);
+                node.setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), right->getMatrixRows()));
             }
         } else if (left->isMatrix() && !right->isMatrix()) {
             if (right->isVector()) {
                 if (left->getMatrixCols() != right->getVectorSize())
                     return false;
-                op = EOpMatrixTimesVector;
-                setType(TType(basicType, EvqTemporary, left->getMatrixRows()));
+                node.setOp(op = EOpMatrixTimesVector);
+                node.setType(TType(basicType, EvqTemporary, left->getMatrixRows()));
             } else {
-                op = EOpMatrixTimesScalar;
+                node.setOp(op = EOpMatrixTimesScalar);
             }
         } else if (left->isMatrix() && right->isMatrix()) {
             if (left->getMatrixCols() != right->getMatrixRows())
                 return false;
-            op = EOpMatrixTimesMatrix;
-            setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), left->getMatrixRows()));
+            node.setOp(op = EOpMatrixTimesMatrix);
+            node.setType(TType(basicType, EvqTemporary, 0, right->getMatrixCols(), left->getMatrixRows()));
         } else if (! left->isMatrix() && ! right->isMatrix()) {
             if (left->isVector() && right->isVector()) {
                 ; // leave as component product
             } else if (left->isVector() || right->isVector()) {
-                op = EOpVectorTimesScalar;
+                node.setOp(op = EOpVectorTimesScalar);
                 if (right->isVector())
-                    setType(TType(basicType, EvqTemporary, right->getVectorSize()));
+                    node.setType(TType(basicType, EvqTemporary, right->getVectorSize()));
             }
         } else {
             return false;
@@ -1997,7 +2103,7 @@
             if (left->isVector()) {
                 if (left->getVectorSize() != right->getMatrixRows() || left->getVectorSize() != right->getMatrixCols())
                     return false;
-                op = EOpVectorTimesMatrixAssign;
+                node.setOp(op = EOpVectorTimesMatrixAssign);
             } else {
                 return false;
             }
@@ -2005,19 +2111,19 @@
             if (right->isVector()) {
                 return false;
             } else {
-                op = EOpMatrixTimesScalarAssign;
+                node.setOp(op = EOpMatrixTimesScalarAssign);
             }
         } else if (left->isMatrix() && right->isMatrix()) {
             if (left->getMatrixCols() != left->getMatrixRows() || left->getMatrixCols() != right->getMatrixCols() || left->getMatrixCols() != right->getMatrixRows())
                 return false;
-            op = EOpMatrixTimesMatrixAssign;
+            node.setOp(op = EOpMatrixTimesMatrixAssign);
         } else if (!left->isMatrix() && !right->isMatrix()) {
             if (left->isVector() && right->isVector()) {
                 // leave as component product
             } else if (left->isVector() || right->isVector()) {
                 if (! left->isVector())
                     return false;
-                op = EOpVectorTimesScalarAssign;
+                node.setOp(op = EOpVectorTimesScalarAssign);
             }
         } else {
             return false;
@@ -2051,6 +2157,7 @@
     case EOpAndAssign:
     case EOpInclusiveOrAssign:
     case EOpExclusiveOrAssign:
+
         if ((left->isMatrix() && right->isVector()) ||
             (left->isVector() && right->isMatrix()) ||
             left->getBasicType() != right->getBasicType())
@@ -2060,8 +2167,8 @@
         if (left->isVector() && right->isVector() && left->getVectorSize() != right->getVectorSize())
             return false;
         if (right->isVector() || right->isMatrix()) {
-            type.shallowCopy(right->getType());
-            type.getQualifier().makeTemporary();
+            node.getWritableType().shallowCopy(right->getType());
+            node.getWritableType().getQualifier().makeTemporary();
         }
         break;
 
@@ -2085,7 +2192,7 @@
     case EOpExclusiveOrAssign:
     case EOpLeftShiftAssign:
     case EOpRightShiftAssign:
-        if (getType() != left->getType())
+        if (node.getType() != left->getType())
             return false;
         break;
     default:
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 5949cd8..dc8c61d 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -221,16 +221,37 @@
         error(loc, "can't read from writeonly object: ", op, symNode->getName().c_str());
 }
 
+// Add a linkage symbol node for 'symbol', which
+// must have its type fully edited, as this will snapshot the type.
+// It is okay if symbol becomes invalid before finish().
+void TParseContextBase::trackLinkage(TSymbol& symbol)
+{
+    if (!parsingBuiltins)
+        intermediate.addSymbolLinkageNode(linkage, symbol);
+}
+
+// Add 'symbol' to the list of deferred linkage symbols, which
+// are later processed in finish(), at which point the symbol
+// must still be valid.
+// It is okay if the symbol's type will be subsequently edited.
+void TParseContextBase::trackLinkageDeferred(TSymbol& symbol)
+{
+    if (!parsingBuiltins)
+        linkageSymbols.push_back(&symbol);
+}
+
 // Make a shared symbol have a non-shared version that can be edited by the current 
 // compile, such that editing its type will not change the shared version and will
-// effect all nodes sharing it.
+// effect all nodes already sharing it (non-shallow type),
+// or adopting its full type after being edited (shallow type).
 void TParseContextBase::makeEditable(TSymbol*& symbol)
 {
     // copyUp() does a deep copy of the type.
     symbol = symbolTable.copyUp(symbol);
 
-    // Save it in the AST for linker use.
-    intermediate.addSymbolLinkageNode(linkage, *symbol);
+    // Save it (deferred, so it can be edited first) in the AST for linker use.
+    if (symbol)
+        trackLinkageDeferred(*symbol);
 }
 
 // Return a writable version of the variable 'name'.
@@ -242,7 +263,7 @@
 {
     bool builtIn;
     TSymbol* symbol = symbolTable.find(name, &builtIn);
-    
+
     assert(symbol != nullptr);
     if (symbol == nullptr)
         return nullptr;
@@ -434,7 +455,7 @@
         // This is the first request; we need a normal symbol table insert
         inserted = symbolTable.insert(*globalUniformBlock);
         if (inserted)
-            intermediate.addSymbolLinkageNode(linkage, *globalUniformBlock);
+            trackLinkageDeferred(*globalUniformBlock);
     } else if (firstNewMember <= numMembers) {
         // This is a follow-on request; we need to amend the first insert
         inserted = symbolTable.amend(*globalUniformBlock, firstNewMember);
@@ -448,4 +469,14 @@
     return inserted;
 }
 
+void TParseContextBase::finish()
+{
+    if (!parsingBuiltins) {
+        // Transfer te linkage symbols to AST nodes
+        for (auto i = linkageSymbols.begin(); i != linkageSymbols.end(); ++i)
+            intermediate.addSymbolLinkageNode(linkage, **i);
+        intermediate.addSymbolLinkageNodes(linkage, getLanguage(), symbolTable);
+    }
+}
+
 } // end namespace glslang
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index 71ee4f3..831e3ac 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -50,15 +50,12 @@
 TParseContext::TParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins,
                              int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
                              TInfoSink& infoSink, bool forwardCompatible, EShMessages messages) :
-            TParseContextBase(symbolTable, interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), 
+            TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages), 
             contextPragma(true, false), loopNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0), statementNestingLevel(0),
             inMain(false), postMainReturn(false), currentFunctionType(nullptr), blockName(nullptr),
-            limits(resources.limits), parsingBuiltins(parsingBuiltins),
+            limits(resources.limits),
             atomicUintOffsets(nullptr), anyIndexLimits(false)
 {
-    // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms
-    linkage = new TIntermAggregate;
-
     // decide whether precision qualifiers should be ignored or respected
     if (profile == EEsProfile || spvVersion.vulkan > 0) {
         precisionManager.respectPrecisionQualifiers();
@@ -184,8 +181,8 @@
     currentScanner = &input;
     ppContext.setInput(input, versionWillBeError);
     yyparse(this);
-    if (! parsingBuiltins)
-        finalErrorCheck();
+
+    finish();
 
     return numErrors == 0;
 }
@@ -1216,7 +1213,7 @@
                                         function.getType().getQualifier().precision;
     } else if (TIntermAggregate* agg = node.getAsAggregate()) {
         TIntermSequence& sequence = agg->getSequence();
-        int numArgs = (int)sequence.size();
+        unsigned int numArgs = (unsigned int)sequence.size();
         switch (agg->getOp()) {
         case EOpBitfieldExtract:
             numArgs = 1;
@@ -1233,7 +1230,7 @@
             break;
         }
         // find the maximum precision from the arguments and parameters
-        for (unsigned int arg = 0; arg < sequence.size(); ++arg) {
+        for (unsigned int arg = 0; arg < numArgs; ++arg) {
             operationPrecision = std::max(operationPrecision, sequence[arg]->getAsTyped()->getQualifier().precision);
             operationPrecision = std::max(operationPrecision, function[arg].type->getQualifier().precision);
         }
@@ -2316,7 +2313,7 @@
 
             // At least the dimensionalities have to match.
             if (! function[0].type->isArray() || arraySizes.getNumDims() != function[0].type->getArraySizes().getNumDims() + 1) {
-                error(loc, "array constructor argument not correct type to construct array element", "constructior", "");
+                error(loc, "array constructor argument not correct type to construct array element", "constructor", "");
                 return true;
             }
 
@@ -3093,7 +3090,7 @@
 // Do all the semantic checking for declaring or redeclaring an array, with and
 // without a size, and make the right changes to the symbol table.
 //
-void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool& newDeclaration)
+void TParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol)
 {
     if (symbol == nullptr) {
         bool currentScope;
@@ -3111,7 +3108,8 @@
             //
             symbol = new TVariable(&identifier, type);
             symbolTable.insert(*symbol);
-            newDeclaration = true;
+            if (symbolTable.atGlobalLevel())
+                trackLinkageDeferred(*symbol);
 
             if (! symbolTable.atBuiltInLevel()) {
                 if (isIoResizeArray(type)) {
@@ -3271,7 +3269,8 @@
 //
 // Returns a redeclared and type-modified variable if a redeclarated occurred.
 //
-TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier, const TQualifier& qualifier, const TShaderQualifiers& publicType, bool& newDeclaration)
+TSymbol* TParseContext::redeclareBuiltinVariable(const TSourceLoc& loc, const TString& identifier,
+                                                 const TQualifier& qualifier, const TShaderQualifiers& publicType)
 {
     if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel())
         return nullptr;
@@ -3318,11 +3317,8 @@
         // If it wasn't at a built-in level, then it's already been redeclared;
         // that is, this is a redeclaration of a redeclaration; reuse that initial
         // redeclaration.  Otherwise, make the new one.
-        if (builtIn) {
-            // Copy the symbol up to make a writable version
+        if (builtIn)
             makeEditable(symbol);
-            newDeclaration = true;
-        }
 
         // Now, modify the type of the copy, as per the type of the current redeclaration.
 
@@ -3540,7 +3536,7 @@
         fixIoArraySize(loc, block->getWritableType());
 
     // Save it in the AST for linker use.
-    intermediate.addSymbolLinkageNode(linkage, *block);
+    trackLinkageDeferred(*block);
 }
 
 void TParseContext::paramCheckFix(const TSourceLoc& loc, const TStorageQualifier& qualifier, TType& type)
@@ -3794,8 +3790,13 @@
 //
 // Do any additional error checking, etc., once we know the parsing is done.
 //
-void TParseContext::finalErrorCheck()
+void TParseContext::finish()
 {
+    TParseContextBase::finish();
+
+    if (parsingBuiltins)
+        return;
+
     // Check on array indexes for ES 2.0 (version 100) limitations.
     for (size_t i = 0; i < needsIndexLimitationChecking.size(); ++i)
         constantIndexExpressionCheck(needsIndexLimitationChecking[i]);
@@ -4971,8 +4972,7 @@
         error(loc, "can only apply depth layout to gl_FragDepth", "layout qualifier", "");
 
     // Check for redeclaration of built-ins and/or attempting to declare a reserved name
-    bool newDeclaration = false;    // true if a new entry gets added to the symbol table
-    TSymbol* symbol = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers, newDeclaration);
+    TSymbol* symbol = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), publicType.shaderQualifiers);
     if (symbol == nullptr)
         reservedErrorCheck(loc, identifier);
 
@@ -4990,7 +4990,7 @@
         arrayUnsizedCheck(loc, type.getQualifier(), &type.getArraySizes(), initializer != nullptr, false);
 
         if (! arrayQualifierError(loc, type.getQualifier()) && ! arrayError(loc, type))
-            declareArray(loc, identifier, type, symbol, newDeclaration);
+            declareArray(loc, identifier, type, symbol);
 
         if (initializer) {
             profileRequires(loc, ENoProfile, 120, E_GL_3DL_array_objects, "initializer");
@@ -4999,7 +4999,7 @@
     } else {
         // non-array case
         if (symbol == nullptr)
-            symbol = declareNonArray(loc, identifier, type, newDeclaration);
+            symbol = declareNonArray(loc, identifier, type);
         else if (type != symbol->getType())
             error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str());
     }
@@ -5022,10 +5022,6 @@
     layoutObjectCheck(loc, *symbol);
     fixOffset(loc, *symbol);
 
-    // see if it's a linker-level object to track
-    if (newDeclaration && symbolTable.atGlobalLevel())
-        intermediate.addSymbolLinkageNode(linkage, *symbol);
-
     return initNode;
 }
 
@@ -5061,20 +5057,22 @@
 //
 // Return the successfully declared variable.
 //
-TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type, bool& newDeclaration)
+TVariable* TParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type)
 {
     // make a new variable
     TVariable* variable = new TVariable(&identifier, type);
 
     ioArrayCheck(loc, type, identifier);
+
     // add variable to symbol table
-    if (! symbolTable.insert(*variable)) {
-        error(loc, "redefinition", variable->getName().c_str(), "");
-        return nullptr;
-    } else {
-        newDeclaration = true;
+    if (symbolTable.insert(*variable)) {
+        if (symbolTable.atGlobalLevel())
+            trackLinkageDeferred(*variable);
         return variable;
     }
+
+    error(loc, "redefinition", variable->getName().c_str(), "");
+    return nullptr;
 }
 
 //
@@ -5731,7 +5729,7 @@
         fixIoArraySize(loc, variable.getWritableType());
 
     // Save it in the AST for linker use.
-    intermediate.addSymbolLinkageNode(linkage, variable);
+    trackLinkageDeferred(variable);
 }
 
 // Do all block-declaration checking regarding the combination of in/out/uniform/buffer
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index 0f60ff7..165601d 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -73,13 +73,16 @@
 //
 class TParseContextBase : public TParseVersions {
 public:
-    TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, int version,
+    TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version,
                       EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
                       TInfoSink& infoSink, bool forwardCompatible, EShMessages messages)
           : TParseVersions(interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
             symbolTable(symbolTable),
-            linkage(nullptr), scanContext(nullptr), ppContext(nullptr),
-            globalUniformBlock(nullptr) { }
+            parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr),
+            globalUniformBlock(nullptr)
+    {
+        linkage = new TIntermAggregate;
+    }
     virtual ~TParseContextBase() { }
 
     virtual void C_DECL   error(const TSourceLoc&, const char* szReason, const char* szToken,
@@ -94,7 +97,6 @@
     virtual void setLimits(const TBuiltInResource&) = 0;
 
     EShLanguage getLanguage() const { return language; }
-    TIntermAggregate*& getLinkage() { return linkage; }
     void setScanContext(TScanContext* c) { scanContext = c; }
     TScanContext* getScanContext() const { return scanContext; }
     void setPpContext(TPpContext* c) { ppContext = c; }
@@ -150,7 +152,8 @@
     TParseContextBase(TParseContextBase&);
     TParseContextBase& operator=(TParseContextBase&);
 
-    TIntermAggregate* linkage;   // aggregate node of objects the linker may need, if not referenced by the rest of the AST
+    const bool parsingBuiltins;       // true if parsing built-in symbols/functions
+    TVector<TSymbol*> linkageSymbols; // these need to be transferred to 'linkage', after all editing is done
     TScanContext* scanContext;
     TPpContext* ppContext;
 
@@ -177,8 +180,14 @@
     virtual void outputMessage(const TSourceLoc&, const char* szReason, const char* szToken,
                                const char* szExtraInfoFormat, TPrefixType prefix,
                                va_list args);
+    virtual void trackLinkage(TSymbol& symbol);
+    virtual void trackLinkageDeferred(TSymbol& symbol);
     virtual void makeEditable(TSymbol*&);
     virtual TVariable* getEditableVariable(const char* name);
+    virtual void finish();
+
+private:
+    TIntermAggregate* linkage;
 };
 
 //
@@ -314,7 +323,7 @@
     void precisionQualifierCheck(const TSourceLoc&, TBasicType, TQualifier&);
     void parameterTypeCheck(const TSourceLoc&, TStorageQualifier qualifier, const TType& type);
     bool containsFieldWithBasicType(const TType& type ,TBasicType basicType);
-    TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration);
+    TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&);
     void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
     void paramCheckFix(const TSourceLoc&, const TStorageQualifier&, TType& type);
     void paramCheckFix(const TSourceLoc&, const TQualifier&, TType& type);
@@ -368,11 +377,11 @@
     void nonInitConstCheck(const TSourceLoc&, TString& identifier, TType& type);
     void inheritGlobalDefaults(TQualifier& dst) const;
     TVariable* makeInternalVariable(const char* name, const TType&) const;
-    TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&, bool& newDeclaration);
-    void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration);
+    TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&);
+    void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&);
     TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable);
     TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer);
-    void finalErrorCheck();
+    void finish() override;
 
 public:
     //
@@ -401,7 +410,6 @@
     TParseContext(TParseContext&);
     TParseContext& operator=(TParseContext&);
 
-    const bool parsingBuiltins;        // true if parsing built-in symbols/functions
     static const int maxSamplerIndex = EsdNumDims * (EbtNumTypes * (2 * 2 * 2 * 2 * 2)); // see computeSamplerTypeIndex()
     TPrecisionQualifier defaultSamplerPrecision[maxSamplerIndex];
     TPrecisionManager precisionManager;
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index 6d04445..cc21b2e 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -81,6 +81,28 @@
     }
 }
 
+// Create a language specific version of a parse context.
+TParseContextBase* CreateParseContext(TSymbolTable& symbolTable, TIntermediate& intermediate,
+                                      int version, EProfile profile, EShSource source,
+                                      EShLanguage language, TInfoSink& infoSink,
+                                      SpvVersion spvVersion, bool forwardCompatible, EShMessages messages,
+                                      bool parsingBuiltIns)
+{
+    switch (source) {
+    case EShSourceGlsl:
+        intermediate.setEntryPointName("main");
+        return new TParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion,
+                                 language, infoSink, forwardCompatible, messages);
+
+    case EShSourceHlsl:
+        return new HlslParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion,
+                                    language, infoSink, forwardCompatible, messages);
+    default:
+        infoSink.info.message(EPrefixInternalError, "Unable to determine source language");
+        return nullptr;
+    }
+}
+
 // Local mapping functions for making arrays of symbol tables....
 
 const int VersionCount = 15;  // index range in MapVersionToIndex
@@ -188,17 +210,22 @@
 //
 // Parse and add to the given symbol table the content of the given shader string.
 //
-bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink, 
-                           TSymbolTable& symbolTable)
+bool InitializeSymbolTable(const TString& builtIns, int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
+                           EShSource source, TInfoSink& infoSink, TSymbolTable& symbolTable)
 {
     TIntermediate intermediate(language, version, profile);
     
-    TParseContext parseContext(symbolTable, intermediate, true, version, profile, spvVersion, language, infoSink);
+    intermediate.setSource(source);
+
+    std::unique_ptr<TParseContextBase> parseContext(CreateParseContext(symbolTable, intermediate, version, profile, source, 
+                                                                       language, infoSink, spvVersion, true, EShMsgDefault,
+                                                                       true));
+
     TShader::ForbidInclude includer;
-    TPpContext ppContext(parseContext, "", includer);
-    TScanContext scanContext(parseContext);
-    parseContext.setScanContext(&scanContext);
-    parseContext.setPpContext(&ppContext);
+    TPpContext ppContext(*parseContext, "", includer);
+    TScanContext scanContext(*parseContext);
+    parseContext->setScanContext(&scanContext);
+    parseContext->setPpContext(&ppContext);
     
     //
     // Push the symbol table to give it an initial scope.  This
@@ -217,7 +244,7 @@
         return true;
     
     TInputScanner input(1, builtInShaders, builtInLengths);
-    if (! parseContext.parseShaderStrings(ppContext, input) != 0) {
+    if (! parseContext->parseShaderStrings(ppContext, input) != 0) {
         infoSink.info.message(EPrefixInternalError, "Unable to parse built-ins");
         printf("Unable to parse built-ins\n%s\n", infoSink.info.c_str());
         printf("%s\n", builtInShaders[0]);
@@ -237,10 +264,12 @@
 // To initialize per-stage shared tables, with the common table already complete.
 //
 void InitializeStageSymbolTable(TBuiltInParseables& builtInParseables, int version, EProfile profile, const SpvVersion& spvVersion,
-                                EShLanguage language, TInfoSink& infoSink, TSymbolTable** commonTable, TSymbolTable** symbolTables)
+                                EShLanguage language, EShSource source, TInfoSink& infoSink, TSymbolTable** commonTable,
+                                TSymbolTable** symbolTables)
 {
     (*symbolTables[language]).adoptLevels(*commonTable[CommonIndex(profile, language)]);
-    InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, infoSink, *symbolTables[language]);
+    InitializeSymbolTable(builtInParseables.getStageString(language), version, profile, spvVersion, language, source,
+                          infoSink, *symbolTables[language]);
     builtInParseables.identifyBuiltIns(version, profile, spvVersion, language, *symbolTables[language]);
     if (profile == EEsProfile && version >= 300)
         (*symbolTables[language]).setNoBuiltInRedeclarations();
@@ -259,32 +288,40 @@
     builtInParseables->initialize(version, profile, spvVersion);
 
     // do the common tables
-    InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, infoSink, *commonTable[EPcGeneral]);
+    InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangVertex, source,
+                          infoSink, *commonTable[EPcGeneral]);
     if (profile == EEsProfile)
-        InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, infoSink, *commonTable[EPcFragment]);
+        InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, EShLangFragment, source,
+                              infoSink, *commonTable[EPcFragment]);
 
     // do the per-stage tables
 
     // always have vertex and fragment
-    InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, infoSink, commonTable, symbolTables);
-    InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, infoSink, commonTable, symbolTables);
+    InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangVertex, source,
+                               infoSink, commonTable, symbolTables);
+    InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangFragment, source,
+                               infoSink, commonTable, symbolTables);
 
     // check for tessellation
     if ((profile != EEsProfile && version >= 150) ||
         (profile == EEsProfile && version >= 310)) {
-        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, infoSink, commonTable, symbolTables);
-        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessControl, source,
+                                   infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTessEvaluation, source,
+                                   infoSink, commonTable, symbolTables);
     }
 
     // check for geometry
     if ((profile != EEsProfile && version >= 150) ||
         (profile == EEsProfile && version >= 310))
-        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangGeometry, source,
+                                   infoSink, commonTable, symbolTables);
 
     // check for compute
     if ((profile != EEsProfile && version >= 420) ||
         (profile == EEsProfile && version >= 310))
-        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source,
+                                   infoSink, commonTable, symbolTables);
 
     return true;
 }
@@ -295,7 +332,7 @@
     std::unique_ptr<TBuiltInParseables> builtInParseables(CreateBuiltInParseables(infoSink, source));
     
     builtInParseables->initialize(*resources, version, profile, spvVersion, language);
-    InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, infoSink, symbolTable);
+    InitializeSymbolTable(builtInParseables->getCommonString(), version, profile, spvVersion, language, source, infoSink, symbolTable);
     builtInParseables->identifyBuiltIns(version, profile, spvVersion, language, symbolTable, *resources);
 
     return true;
@@ -694,15 +731,10 @@
     // Now we can process the full shader under proper symbols and rules.
     //
 
-    TParseContextBase* parseContext;
-    if (source == EShSourceHlsl) {
-        parseContext = new HlslParseContext(symbolTable, intermediate, false, version, profile, spvVersion,
-                                            compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages);
-    } else {
-        intermediate.setEntryPointName("main");
-        parseContext = new TParseContext(symbolTable, intermediate, false, version, profile, spvVersion,
-                                         compiler->getLanguage(), compiler->infoSink, forwardCompatible, messages);
-    }
+    TParseContextBase* parseContext = CreateParseContext(symbolTable, intermediate, version, profile, source,
+                                                         compiler->getLanguage(), compiler->infoSink,
+                                                         spvVersion, forwardCompatible, messages, false);
+
     TPpContext ppContext(*parseContext, names[numPre]? names[numPre]: "", includer);
 
     // only GLSL (bison triggered, really) needs an externally set scan context
@@ -940,14 +972,13 @@
 struct DoFullParse{
   bool operator()(TParseContextBase& parseContext, TPpContext& ppContext,
                   TInputScanner& fullInput, bool versionWillBeError,
-                  TSymbolTable& symbolTable, TIntermediate& intermediate,
+                  TSymbolTable&, TIntermediate& intermediate,
                   EShOptimizationLevel optLevel, EShMessages messages) 
     {
         bool success = true;
         // Parse the full shader.
         if (! parseContext.parseShaderStrings(ppContext, fullInput, versionWillBeError))
             success = false;
-        intermediate.addSymbolLinkageNodes(parseContext.getLinkage(), parseContext.getLanguage(), symbolTable);
 
         if (success && intermediate.getTreeRoot()) {
             if (optLevel == EShOptNoGeneration)
@@ -1494,6 +1525,7 @@
 
 void TShader::setShiftSamplerBinding(unsigned int base) { intermediate->setShiftSamplerBinding(base); }
 void TShader::setShiftTextureBinding(unsigned int base) { intermediate->setShiftTextureBinding(base); }
+void TShader::setShiftImageBinding(unsigned int base)   { intermediate->setShiftImageBinding(base); }
 void TShader::setShiftUboBinding(unsigned int base)     { intermediate->setShiftUboBinding(base); }
 void TShader::setAutoMapBindings(bool map)              { intermediate->setAutoMapBindings(map); }
 void TShader::setFlattenUniformArrays(bool flatten)     { intermediate->setFlattenUniformArrays(flatten); }
@@ -1708,6 +1740,7 @@
 int TProgram::getNumLiveAttributes() const                   { return reflection->getNumAttributes(); }
 const char* TProgram::getAttributeName(int index) const      { return reflection->getAttribute(index).name.c_str(); }
 int TProgram::getAttributeType(int index) const              { return reflection->getAttribute(index).glDefineType; }
+const TType* TProgram::getAttributeTType(int index) const    { return reflection->getAttribute(index).getType(); }
 const TType* TProgram::getUniformTType(int index) const      { return reflection->getUniform(index).getType(); }
 const TType* TProgram::getUniformBlockTType(int index) const { return reflection->getUniformBlock(index).getType(); }
 
@@ -1716,7 +1749,7 @@
 //
 // I/O mapping implementation.
 //
-bool TProgram::mapIO()
+bool TProgram::mapIO(TIoMapResolver* resolver)
 {
     if (! linked || ioMapper)
         return false;
@@ -1725,7 +1758,7 @@
 
     for (int s = 0; s < EShLangCount; ++s) {
         if (intermediate[s]) {
-            if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink))
+            if (! ioMapper->addStage((EShLanguage)s, *intermediate[s], *infoSink, resolver))
                 return false;
         }
     }
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index bd64f19..f8c963b 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -163,6 +163,8 @@
     case EOpGreaterThan:      out.debug << "Compare Greater Than";          break;
     case EOpLessThanEqual:    out.debug << "Compare Less Than or Equal";    break;
     case EOpGreaterThanEqual: out.debug << "Compare Greater Than or Equal"; break;
+    case EOpVectorEqual:      out.debug << "Equal";                         break;
+    case EOpVectorNotEqual:   out.debug << "NotEqual";                      break;
 
     case EOpVectorTimesScalar: out.debug << "vector-scale";          break;
     case EOpVectorTimesMatrix: out.debug << "vector-times-matrix";   break;
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index 15847dd..269d654 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -61,177 +61,295 @@
 //    c. implicit dead bindings are left un-bound.
 //
 
-   
+
 namespace glslang {
 
-// Map of IDs to bindings
-typedef std::unordered_map<unsigned int, int> TBindingMap;
-typedef std::unordered_set<int> TUsedBindings;
+struct TVarEntryInfo
+{
+    int             id;
+    TIntermSymbol*  symbol;
+    bool            live;
+    int             newBinding;
+    int             newSet;
 
-
-// This traverses the AST to determine which bindings are used, and which are implicit
-// (for subsequent auto-numbering)
-class TBindingTraverser : public TLiveTraverser {
-public:
-    TBindingTraverser(const TIntermediate& i, TBindingMap& bindingMap, TUsedBindings& usedBindings,
-                      bool traverseDeadCode = false) :
-        TLiveTraverser(i, traverseDeadCode, true, true, false),
-        bindingMap(bindingMap),
-        usedBindings(usedBindings)
-    { }
-
-protected:
-    virtual void visitSymbol(TIntermSymbol* base) {
-        if (base->getQualifier().storage == EvqUniform)
-            addUniform(*base);
-    }
-
-    // Return the right binding base given the variable type.
-    int getBindingBase(const TType& type) {
-        if (type.getBasicType() == EbtSampler) {
-            const TSampler& sampler = type.getSampler();
-            if (sampler.isPureSampler())
-                return intermediate.getShiftSamplerBinding();
-            if (sampler.isTexture())
-                return intermediate.getShiftTextureBinding();
-        }
-
-        if (type.getQualifier().isUniformOrBuffer())
-            return intermediate.getShiftUboBinding();
-
-        return -1;  // not a type with a binding
-    }
-
-    // Mark a given base symbol ID as being bound to 'binding'
-    void markBinding(const TIntermSymbol& base, int binding) {
-        bindingMap[base.getId()] = binding;
-
-        if (binding >= 0) {
-            // const TType& type = base.getType();
-            const unsigned int size = 1; // type.isArray() ? type.getCumulativeArraySize() : 1;
-
-            for (unsigned int offset=0; offset<size; ++offset)
-                usedBindings.insert(binding + offset);
-        }
-    }
-
-    // Mark the bindings that are given explicitly, and set ones that need
-    // implicit bindings to -1 for a subsequent pass.  (Can't happen in this
-    // pass because explicit bindings in dead code reserve the location).
-    virtual void addUniform(TIntermSymbol& base)
+    struct TOrderById
     {
-        // Skip ones we've already seen.
-        if (bindingMap.find(base.getId()) != bindingMap.end())
-            return;
+      inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r)
+      {
+        return l.id < r.id;
+      }
+    };
 
-        const TType& type = base.getType();
-        const int bindingBase = getBindingBase(type);
+    struct TOrderByPriority
+    {
+        // ordering:
+        // 1) has both binding and set
+        // 2) has binding but no set
+        // 3) has no binding but set
+        // 4) has no binding and no set
+        inline bool operator()(const TVarEntryInfo& l, const TVarEntryInfo& r)
+        {
+            const TQualifier& lq = l.symbol->getQualifier();
+            const TQualifier& rq = r.symbol->getQualifier();
 
-        // Return if it's not a type we bind
-        if (bindingBase == -1)
-            return;
+            // simple rules:
+            // has binding gives 2 points
+            // has set gives 1 point
+            // who has the most points is more important.
+            int lPoints = (lq.hasBinding() ? 2 : 0) + (lq.hasSet() ? 1 : 0);
+            int rPoints = (rq.hasBinding() ? 2 : 0) + (rq.hasSet() ? 1 : 0);
 
-        if (type.getQualifier().hasBinding()) {
-            // It has a binding: keep that one.
-            markBinding(base, type.getQualifier().layoutBinding + bindingBase);
-        } else if (!traverseAll) {
-            // Mark it as something we need to dynamically create a binding for,
-            // only if we're walking just the live code.  We don't auto-number
-            // in dead code.
-            markBinding(base, -1);
+            if (lPoints == rPoints)
+              return l.id < r.id;
+            return lPoints > rPoints;
         }
-    }
-
-    TBindingMap&         bindingMap;
-    TUsedBindings&       usedBindings;
+    };
 };
 
 
-// This traverses the AST and applies binding maps it's given.
-class TIoMappingTraverser : public TBindingTraverser {
+
+typedef std::vector<TVarEntryInfo> TVarLiveMap;
+
+class TVarGatherTraverser : public TLiveTraverser
+{
 public:
-    TIoMappingTraverser(TIntermediate& i, TBindingMap& bindingMap, TUsedBindings& usedBindings,
-                        TInfoSink& infoSink, bool traverseDeadCode) :
-        TBindingTraverser(i, bindingMap, usedBindings, traverseDeadCode),
-        infoSink(infoSink),
-        assignError(false)
-    { }
-
-    bool success() const { return !assignError; }
-
-protected:
-    unsigned checkBindingRange(const TIntermSymbol& base, unsigned binding)
+    TVarGatherTraverser(const TIntermediate& i, TVarLiveMap& vars, bool traverseDeadCode)
+      : TLiveTraverser(i, traverseDeadCode, true, true, false)
+      , varLiveList(vars)
     {
-        if (binding >= TQualifier::layoutBindingEnd) {
-            TString err = "mapped binding out of range: ";
-            err += base.getName();
-
-            infoSink.info.message(EPrefixInternalError, err.c_str());
-            assignError = true;
-            
-            return 0;
-        }
-
-        return binding;
     }
 
-    void addUniform(TIntermSymbol& base) override
+
+    virtual void visitSymbol(TIntermSymbol* base)
     {
-        // Skip things we don't intend to bind.
-        if (bindingMap.find(base.getId()) == bindingMap.end())
-            return;
-
-        const int existingBinding = bindingMap[base.getId()];
-
-        // Apply existing binding, if we were given one or already made one up.
-        if (existingBinding != -1) {
-            base.getWritableType().getQualifier().layoutBinding = checkBindingRange(base, existingBinding);
-            return;
+        if (base->getQualifier().storage == EvqUniform) {
+            TVarEntryInfo ent = { base->getId(), base, !traverseAll };
+            TVarLiveMap::iterator at = std::lower_bound(varLiveList.begin(), varLiveList.end(), ent, TVarEntryInfo::TOrderById());
+            if (at != varLiveList.end() && at->id == ent.id)
+              at->live = at->live || !traverseAll; // update live state
+            else
+              varLiveList.insert(at, ent);
         }
-
-        if (intermediate.getAutoMapBindings()) {
-            // Otherwise, find a free spot for it.
-            const int freeBinding = getFreeBinding(base.getType(), getBindingBase(base.getType()));
-
-            markBinding(base, freeBinding);
-            base.getWritableType().getQualifier().layoutBinding = checkBindingRange(base, freeBinding);
-        }
-    }
-
-    // Search for N free consecutive binding slots in [base, base+required).
-    // E.g, if we want to reserve consecutive bindings for flattened arrays.
-    bool hasNFreeSlots(int base, int required) {
-        for (int binding = base; binding < (base + required); ++binding)
-            if (usedBindings.find(binding) != usedBindings.end())
-                return false;
-        
-        return true;
-    }
-
-    // Find a free binding spot 
-    int getFreeBinding(const TType&, int nextBinding) {
-        while (!hasNFreeSlots(nextBinding, 1))
-            ++nextBinding;
-
-        return nextBinding;
     }
 
 private:
-    bool assignError;  // true if there was an error assigning the bindings
-    TInfoSink& infoSink;
+    TVarLiveMap&    varLiveList;
+};
+
+class TVarSetTraverser : public TLiveTraverser
+{
+public:
+    TVarSetTraverser(const TIntermediate& i, const TVarLiveMap& vars)
+      : TLiveTraverser(i, true, true, true, false)
+      , varLiveList(vars)
+    {
+    }
+
+
+    virtual void visitSymbol(TIntermSymbol* base)
+    {
+        TVarEntryInfo ent = { base->getId() };
+        TVarLiveMap::const_iterator at = std::lower_bound(varLiveList.begin(), varLiveList.end(), ent, TVarEntryInfo::TOrderById());
+        if (at == varLiveList.end())
+            return;
+        if (!(at->id == ent.id))
+            return;
+
+        if (at->newBinding != -1)
+            base->getWritableType().getQualifier().layoutBinding = at->newBinding;
+        if (at->newSet != -1)
+            base->getWritableType().getQualifier().layoutSet = at->newSet;
+    }
+
+  private:
+    const TVarLiveMap&    varLiveList;
+};
+
+struct TResolverAdaptor
+{
+    TResolverAdaptor(EShLanguage s, TIoMapResolver& r, TInfoSink& i, bool& e)
+      : resolver(r)
+      , stage(s)
+      , infoSink(i)
+      , error(e)
+    {
+    }
+
+    inline void operator()(TVarEntryInfo& ent)
+    {
+        const bool isValid = resolver.validateBinding(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live);
+        if (isValid) {
+            ent.newBinding = resolver.resolveBinding(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live);
+            ent.newSet = resolver.resolveSet(stage, ent.symbol->getName().c_str(), ent.symbol->getType(), ent.live);
+
+            if (ent.newBinding != -1) {
+                if (ent.newBinding >= int(TQualifier::layoutBindingEnd)) {
+                    TString err = "mapped binding out of range: " + ent.symbol->getName();
+
+                    infoSink.info.message(EPrefixInternalError, err.c_str());
+                    error = true;
+                }
+            }
+            if (ent.newSet != -1) {
+                if (ent.newSet >= int(TQualifier::layoutSetEnd)) {
+                    TString err = "mapped set out of range: " + ent.symbol->getName();
+
+                    infoSink.info.message(EPrefixInternalError, err.c_str());
+                    error = true;
+                }
+            }
+        } else {
+            TString errorMsg = "Invalid binding: " + ent.symbol->getName();
+            infoSink.info.message(EPrefixInternalError, errorMsg.c_str());
+            error = true;
+        }
+    }
+
+    EShLanguage     stage;
+    TIoMapResolver& resolver;
+    TInfoSink&      infoSink;
+    bool&           error;
+};
+
+/*
+ * Basic implementation of glslang::TIoMapResolver that replaces the
+ * previous offset behaviour.
+ * It does the same, uses the offsets for th corresponding uniform
+ * types. Also respects the EOptionAutoMapBindings flag and binds
+ * them if needed.
+ */
+struct TDefaultIoResolver : public glslang::TIoMapResolver
+{
+    int baseSamplerBinding;
+    int baseTextureBinding;
+    int baseImageBinding;
+    int baseUboBinding;
+    bool doAutoMapping;
+    typedef std::vector<int> TSlotSet;
+    typedef std::unordered_map<int, TSlotSet> TSlotSetMap;
+    TSlotSetMap slots;
+
+    TSlotSet::iterator findSlot(int set, int slot)
+    {
+        return std::lower_bound(slots[set].begin(), slots[set].end(), slot);
+    }
+
+    bool checkEmpty(int set, int slot)
+    {
+        TSlotSet::iterator at = findSlot(set, slot);
+        return !(at != slots[set].end() && *at == slot);
+    }
+
+    int reserveSlot(int set, int slot)
+    {
+        TSlotSet::iterator at = findSlot(set, slot);
+        slots[set].insert(at, slot);
+        return slot;
+    }
+
+    int getFreeSlot(int set, int base)
+    {
+        TSlotSet::iterator at = findSlot(set, base);
+        if (at == slots[set].end())
+            return reserveSlot(set, base);
+
+        // look in locksteps, if they not match, then there is a free slot
+        for (; at != slots[set].end(); ++at, ++base)
+            if (*at != base)
+                break;
+        return reserveSlot(set, base);
+    }
+
+    bool validateBinding(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool /*is_live*/) override
+    {
+        if (type.getQualifier().hasBinding()) {
+            int set;
+            if (type.getQualifier().hasSet())
+                set = type.getQualifier().layoutSet;
+            else
+                set = 0;
+
+            if (type.getBasicType() == glslang::EbtSampler) {
+                const glslang::TSampler& sampler = type.getSampler();
+                if (sampler.isPureSampler())
+                    return checkEmpty(set, baseSamplerBinding + type.getQualifier().layoutBinding);
+
+                if (sampler.isTexture())
+                    return checkEmpty(set, baseTextureBinding + type.getQualifier().layoutBinding);
+            }
+
+            if (type.getQualifier().isUniformOrBuffer())
+                return checkEmpty(set, baseUboBinding + type.getQualifier().layoutBinding);
+        }
+        return true;
+    }
+
+    int resolveBinding(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool is_live) override
+    {
+        int set;
+        if (type.getQualifier().hasSet())
+            set = type.getQualifier().layoutSet;
+        else
+            set = 0;
+
+        if (type.getQualifier().hasBinding()) {
+            if (type.getBasicType() == glslang::EbtSampler) {
+                const glslang::TSampler& sampler = type.getSampler();
+                if (sampler.isImage())
+                    return reserveSlot(set, baseImageBinding + type.getQualifier().layoutBinding);
+
+                if (sampler.isPureSampler())
+                    return reserveSlot(set, baseSamplerBinding + type.getQualifier().layoutBinding);
+
+                if (sampler.isTexture())
+                    return reserveSlot(set, baseTextureBinding + type.getQualifier().layoutBinding);
+            }
+
+            if (type.getQualifier().isUniformOrBuffer())
+                return reserveSlot(set, baseUboBinding + type.getQualifier().layoutBinding);
+        } else if (is_live && doAutoMapping) {
+            // find free slot, the caller did make sure it passes all vars with binding
+            // first and now all are passed that do not have a binding and needs one
+            if (type.getBasicType() == glslang::EbtSampler) {
+                const glslang::TSampler& sampler = type.getSampler();
+                if (sampler.isImage())
+                    return getFreeSlot(set, baseImageBinding);
+
+                if (sampler.isPureSampler())
+                    return getFreeSlot(set, baseSamplerBinding);
+
+                if (sampler.isTexture())
+                    return getFreeSlot(set, baseTextureBinding);
+            }
+
+            if (type.getQualifier().isUniformOrBuffer())
+                return getFreeSlot(set, baseUboBinding);
+        }
+
+        return -1;
+    }
+
+    int resolveSet(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool /*is_live*/) override
+    {
+        if (type.getQualifier().hasSet())
+            return type.getQualifier().layoutSet;
+        return 0;
+    }
 };
 
 // Map I/O variables to provided offsets, and make bindings for
 // unbound but live variables.
 //
 // Returns false if the input is too malformed to do this.
-bool TIoMapper::addStage(EShLanguage, TIntermediate& intermediate, TInfoSink& infoSink)
+bool TIoMapper::addStage(EShLanguage stage, TIntermediate &intermediate, TInfoSink &infoSink, TIoMapResolver *resolver)
 {
     // Trivial return if there is nothing to do.
     if (intermediate.getShiftSamplerBinding() == 0 &&
         intermediate.getShiftTextureBinding() == 0 &&
+        intermediate.getShiftImageBinding() == 0 &&
         intermediate.getShiftUboBinding() == 0 &&
-        intermediate.getAutoMapBindings() == false)
+        intermediate.getAutoMapBindings() == false &&
+        resolver == nullptr)
         return true;
 
     if (intermediate.getNumEntryPoints() != 1 || intermediate.isRecursive())
@@ -241,30 +359,46 @@
     if (root == nullptr)
         return false;
 
-    // The lifetime of this data spans several passes.
-    TBindingMap   bindingMap;
-    TUsedBindings usedBindings;
+    // if no resolver is provided, use the default resolver with the given shifts and auto map settings
+    TDefaultIoResolver defaultResolver;
+    if (resolver == nullptr) {
+        defaultResolver.baseSamplerBinding = intermediate.getShiftSamplerBinding();
+        defaultResolver.baseTextureBinding = intermediate.getShiftTextureBinding();
+        defaultResolver.baseImageBinding = intermediate.getShiftImageBinding();
+        defaultResolver.baseUboBinding = intermediate.getShiftUboBinding();
+        defaultResolver.doAutoMapping = intermediate.getAutoMapBindings();
 
-    TBindingTraverser it_binding_all(intermediate, bindingMap, usedBindings, true);
-    TBindingTraverser it_binding_live(intermediate, bindingMap, usedBindings, false);
-    TIoMappingTraverser it_iomap(intermediate, bindingMap, usedBindings, infoSink, true);
-
-    // Traverse all (live+dead) code to find explicit bindings, so we can avoid those.
-    root->traverse(&it_binding_all);
-
-    // Traverse just live code to find things that need implicit bindings.
-    it_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str());
-
-    while (! it_binding_live.functions.empty()) {
-        TIntermNode* function = it_binding_live.functions.back();
-        it_binding_live.functions.pop_back();
-        function->traverse(&it_binding_live);
+        resolver = &defaultResolver;
     }
 
-    // Bind everything that needs a binding and doesn't have one.
-    root->traverse(&it_iomap);
+    TVarLiveMap varMap;
+    TVarGatherTraverser iter_binding_all(intermediate, varMap, true);
+    TVarGatherTraverser iter_binding_live(intermediate, varMap, false);
 
-    return it_iomap.success();
+    root->traverse(&iter_binding_all);
+    iter_binding_live.pushFunction(intermediate.getEntryPointMangledName().c_str());
+
+    while (!iter_binding_live.functions.empty()) {
+        TIntermNode* function = iter_binding_live.functions.back();
+        iter_binding_live.functions.pop_back();
+        function->traverse(&iter_binding_live);
+    }
+
+    // sort entries by priority. see TVarEntryInfo::TOrderByPriority for info.
+    std::sort(varMap.begin(), varMap.end(), TVarEntryInfo::TOrderByPriority());
+
+    bool hadError = false;
+    TResolverAdaptor doResolve(stage, *resolver, infoSink, hadError);
+    std::for_each(varMap.begin(), varMap.end(), doResolve);
+
+    if (!hadError) {
+        // sort by id again, so we can use lower bound to find entries
+        std::sort(varMap.begin(), varMap.end(), TVarEntryInfo::TOrderById());
+        TVarSetTraverser iter_iomap(intermediate, varMap);
+        root->traverse(&iter_iomap);
+    }
+
+    return !hadError;
 }
 
 } // end namespace glslang
diff --git a/glslang/MachineIndependent/iomapper.h b/glslang/MachineIndependent/iomapper.h
index 68dec77..ff47543 100644
--- a/glslang/MachineIndependent/iomapper.h
+++ b/glslang/MachineIndependent/iomapper.h
@@ -55,7 +55,7 @@
     virtual ~TIoMapper() {}
 
     // grow the reflection stage by stage
-    bool addStage(EShLanguage, TIntermediate&, TInfoSink&);
+    bool addStage(EShLanguage, TIntermediate&, TInfoSink&, TIoMapResolver*);
 };
 
 } // end namespace glslang
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index 2e10134..050fdae 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -60,6 +60,13 @@
     ++numErrors;
 }
 
+// Link-time warning.
+void TIntermediate::warn(TInfoSink& infoSink, const char* message)
+{
+    infoSink.info.prefix(EPrefixWarning);
+    infoSink.info << "Linking " << StageName(language) << " stage: " << message << "\n";
+}
+
 // TODO: 4.4 offset/align:  "Two blocks linked together in the same program with the same block 
 // name must have the exact same set of members qualified with offset and their integral-constant 
 // expression values must be the same, or a link-time error results."
@@ -370,8 +377,15 @@
 //
 void TIntermediate::finalCheck(TInfoSink& infoSink)
 {
-    if (source == EShSourceGlsl && numEntryPoints < 1)
-        error(infoSink, "Missing entry point: Each stage requires one entry point");
+    if (getTreeRoot() == nullptr)
+        return;
+
+    if (numEntryPoints < 1) {
+        if (source == EShSourceGlsl)
+            error(infoSink, "Missing entry point: Each stage requires one entry point");
+        else
+            warn(infoSink, "Entry point not found");
+    }
 
     if (numPushConstants > 1)
         error(infoSink, "Only one push_constant block is allowed per stage");
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index aae22ec..9ad50c7 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -144,6 +144,7 @@
         multiStream(false), xfbMode(false),
         shiftSamplerBinding(0),
         shiftTextureBinding(0),
+        shiftImageBinding(0),
         shiftUboBinding(0),
         autoMapBindings(false),
         flattenUniformArrays(false),
@@ -174,6 +175,8 @@
     unsigned int getShiftSamplerBinding() const { return shiftSamplerBinding; }
     void setShiftTextureBinding(unsigned int shift) { shiftTextureBinding = shift; }
     unsigned int getShiftTextureBinding() const { return shiftTextureBinding; }
+    void setShiftImageBinding(unsigned int shift) { shiftImageBinding = shift; }
+    unsigned int getShiftImageBinding() const { return shiftImageBinding; }
     void setShiftUboBinding(unsigned int shift)     { shiftUboBinding = shift; }
     unsigned int getShiftUboBinding()     const { return shiftUboBinding; }
     void setAutoMapBindings(bool map)               { autoMapBindings = map; }
@@ -218,6 +221,7 @@
     TIntermAggregate* growAggregate(TIntermNode* left, TIntermNode* right, const TSourceLoc&);
     TIntermAggregate* makeAggregate(TIntermNode* node);
     TIntermAggregate* makeAggregate(TIntermNode* node, const TSourceLoc&);
+    TIntermAggregate* makeAggregate(const TSourceLoc&);
     TIntermTyped* setAggregateOperator(TIntermNode*, TOperator, const TType& type, TSourceLoc);
     bool areAllChildConst(TIntermAggregate* aggrNode);
     TIntermNode*  addSelection(TIntermTyped* cond, TIntermNodePair code, const TSourceLoc&);
@@ -246,6 +250,9 @@
     TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc) const;
     TIntermUnary* addUnaryNode(TOperator op, TIntermTyped* child, TSourceLoc, const TType&) const;
 
+    // Add conversion from node's type to given basic type.
+    TIntermTyped* convertToBasicType(TOperator op, TBasicType basicType, TIntermTyped* node) const;
+
     // Constant folding (in Constant.cpp)
     TIntermTyped* fold(TIntermAggregate* aggrNode);
     TIntermTyped* foldConstructor(TIntermAggregate* aggrNode);
@@ -257,7 +264,6 @@
 
     // Linkage related
     void addSymbolLinkageNodes(TIntermAggregate*& linkage, EShLanguage, TSymbolTable&);
-    void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&);
     void addSymbolLinkageNode(TIntermAggregate*& linkage, const TSymbol&);
 
     bool setInvocations(int i) 
@@ -380,6 +386,7 @@
 protected:
     TIntermSymbol* addSymbol(int Id, const TString&, const TType&, const TConstUnionArray&, TIntermTyped* subtree, const TSourceLoc&);
     void error(TInfoSink& infoSink, const char*);
+    void warn(TInfoSink& infoSink, const char*);
     void mergeBodies(TInfoSink&, TIntermSequence& globals, const TIntermSequence& unitGlobals);
     void mergeLinkerObjects(TInfoSink&, TIntermSequence& linkerObjects, const TIntermSequence& unitLinkerObjects);
     void mergeImplicitArraySizes(TType&, const TType&);
@@ -390,13 +397,18 @@
     bool userOutputUsed() const;
     static int getBaseAlignmentScalar(const TType&, int& size);
     bool isSpecializationOperation(const TIntermOperator&) const;
-
+    bool promote(TIntermOperator*);
+    bool promoteUnary(TIntermUnary&);
+    bool promoteBinary(TIntermBinary&);
+    void addSymbolLinkageNode(TIntermAggregate*& linkage, TSymbolTable&, const TString&);
+    
     const EShLanguage language;  // stage, known at construction time
     EShSource source;            // source language, known a bit later
     std::string entryPointName;
     std::string entryPointMangledName;
     unsigned int shiftSamplerBinding;
     unsigned int shiftTextureBinding;
+    unsigned int shiftImageBinding;
     unsigned int shiftUboBinding;
     bool autoMapBindings;
     bool flattenUniformArrays;
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index e5e8b4d..6793cdd 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -306,6 +306,7 @@
     void setEntryPoint(const char* entryPoint);
     void setShiftSamplerBinding(unsigned int base);
     void setShiftTextureBinding(unsigned int base);
+    void setShiftImageBinding(unsigned int base);
     void setShiftUboBinding(unsigned int base);
     void setAutoMapBindings(bool map);
     void setFlattenUniformArrays(bool flatten);
@@ -445,7 +446,36 @@
 class TReflection;
 class TIoMapper;
 
-// Make one TProgram per set of shaders that will get linked together.  Add all 
+// Allows to customize the binding layout after linking.
+// All used uniform variables will invoke at least validateBinding.
+// If validateBinding returned true then the other resolveBinding
+// and resolveSet are invoked to resolve the binding and descriptor
+// set index respectively.
+// Invocations happen in a particular order:
+// 1) var with binding and set already defined
+// 2) var with binding but no set defined
+// 3) var with set but no binding defined
+// 4) var with no binding and no set defined
+//
+// NOTE: that still limit checks are applied to bindings and sets
+// and may result in an error.
+class TIoMapResolver
+{
+public:
+  virtual ~TIoMapResolver() {}
+
+  // Should return true if the resulting/current binding would be ok.
+  // Basic idea is to do aliasing binding checks with this.
+  virtual bool validateBinding(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0;
+  // Should return a value >= 0 if the current binding should be overridden.
+  // Return -1 if the current binding (including no binding) should be kept.
+  virtual int resolveBinding(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0;
+  // Should return a value >= 0 if the current set should be overriden.
+  // Return -1 if the current set (including no set) should be kept.
+  virtual int resolveSet(EShLanguage stage, const char* name, const TType& type, bool is_live) = 0;
+};
+
+// Make one TProgram per set of shaders that will get linked together.  Add all
 // the shaders that are to be linked together.  After calling shader.parse()
 // for all shaders, call link().
 //
@@ -481,11 +511,14 @@
     int getAttributeType(int index) const;                 // can be used for glGetActiveAttrib()
     const TType* getUniformTType(int index) const;         // returns a TType*
     const TType* getUniformBlockTType(int index) const;    // returns a TType*    
+    const TType* getAttributeTType(int index) const;       // returns a TType*
 
     void dumpReflection();
 
     // I/O mapping: apply base offsets and map live unbound variables
-    bool mapIO();
+    // If resolver is not provided it uses the previous approach
+    // and respects auto assignment and offsets.
+    bool mapIO(TIoMapResolver* resolver = NULL);
 
 protected:
     bool linkStage(EShLanguage, EShMessages);
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index b50816a..429f445 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -86,11 +86,14 @@
         {"hlsl.array.multidim.frag", "main"},
         {"hlsl.assoc.frag", "PixelShaderFunction"},
         {"hlsl.attribute.frag", "PixelShaderFunction"},
+        {"hlsl.attribute.expression.comp", "main"},
         {"hlsl.basic.comp", "main"},
+        {"hlsl.basic.geom", "main"},
         {"hlsl.buffer.frag", "PixelShaderFunction"},
         {"hlsl.calculatelod.dx10.frag", "main"},
         {"hlsl.calculatelodunclamped.dx10.frag", "main"},
         {"hlsl.cast.frag", "PixelShaderFunction"},
+        {"hlsl.comparison.vec.frag", "main"},
         {"hlsl.conditional.frag", "PixelShaderFunction"},
         {"hlsl.constructexpr.frag", "main"},
         {"hlsl.depthGreater.frag", "PixelShaderFunction"},
@@ -116,6 +119,7 @@
         {"hlsl.getdimensions.rw.dx10.frag", "main"},
         {"hlsl.getdimensions.dx10.vert", "main"},
         {"hlsl.getsampleposition.dx10.frag", "main"},
+        {"hlsl.identifier.sample.frag", "main"},
         {"hlsl.if.frag", "PixelShaderFunction"},
         {"hlsl.inoutquals.frag", "main"},
         {"hlsl.init.frag", "ShaderFunction"},
@@ -142,15 +146,26 @@
         {"hlsl.load.rwtexture.array.dx10.frag", "main"},
         {"hlsl.load.offset.dx10.frag", "main"},
         {"hlsl.load.offsetarray.dx10.frag", "main"},
+        {"hlsl.logical.unary.frag", "main"},
+        {"hlsl.logical.binary.frag", "main"},
+        {"hlsl.logical.binary.vec.frag", "main"},
+        {"hlsl.matNx1.frag", "main"},
+        {"hlsl.mintypes.frag", "main"},
         {"hlsl.multiEntry.vert", "RealEntrypoint"},
         {"hlsl.multiReturn.frag", "main"},
         {"hlsl.matrixindex.frag", "main"},
         {"hlsl.numericsuffixes.frag", "main"},
+        {"hlsl.numthreads.comp", "main_aux1"},
         {"hlsl.overload.frag", "PixelShaderFunction"},
+        {"hlsl.partialInit.frag", "PixelShaderFunction"},
         {"hlsl.pp.line.frag", "main"},
         {"hlsl.precise.frag", "main"},
+        {"hlsl.promote.binary.frag", "main"},
+        {"hlsl.promote.vec1.frag", "main"},
         {"hlsl.promotions.frag", "main"},
+        {"hlsl.rw.atomics.frag", "main"},
         {"hlsl.rw.bracket.frag", "main"},
+        {"hlsl.rw.register.frag", "main"},
         {"hlsl.rw.scalar.bracket.frag", "main"},
         {"hlsl.rw.vec2.bracket.frag", "main"},
         {"hlsl.sample.array.dx10.frag", "main"},
@@ -179,7 +194,7 @@
         {"hlsl.samplelevel.basic.dx10.vert", "main"},
         {"hlsl.samplelevel.offset.dx10.frag", "main"},
         {"hlsl.samplelevel.offsetarray.dx10.frag", "main"},
-        { "hlsl.sample.sub-vec4.dx10.frag", "main"},
+        {"hlsl.sample.sub-vec4.dx10.frag", "main"},
         {"hlsl.semicolons.frag", "main"},
         {"hlsl.shapeConv.frag", "main"},
         {"hlsl.shapeConvRet.frag", "main"},
@@ -188,6 +203,8 @@
         {"hlsl.structin.vert", "main"},
         {"hlsl.intrinsics.vert", "VertexShaderFunction"},
         {"hlsl.matType.frag", "PixelShaderFunction"},
+        {"hlsl.matType.bool.frag", "main"},
+        {"hlsl.matType.int.frag", "main"},
         {"hlsl.max.frag", "PixelShaderFunction"},
         {"hlsl.precedence.frag", "PixelShaderFunction"},
         {"hlsl.precedence2.frag", "PixelShaderFunction"},
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index a55af51..414fa7b 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -46,6 +46,7 @@
     const char* entryPoint;
     int baseSamplerBinding;
     int baseTextureBinding;
+    int baseImageBinding;
     int baseUboBinding;
     bool autoMapBindings;
     bool flattenUniforms;
@@ -123,6 +124,7 @@
                                  Target::Spv, GetParam().entryPoint,
                                  GetParam().baseSamplerBinding,
                                  GetParam().baseTextureBinding,
+                                 GetParam().baseImageBinding,
                                  GetParam().baseUboBinding,
                                  GetParam().autoMapBindings,
                                  GetParam().flattenUniforms);
@@ -136,6 +138,7 @@
                                  Target::Spv, GetParam().entryPoint,
                                  GetParam().baseSamplerBinding,
                                  GetParam().baseTextureBinding,
+                                 GetParam().baseImageBinding,
                                  GetParam().baseUboBinding,
                                  GetParam().autoMapBindings,
                                  GetParam().flattenUniforms);
@@ -233,6 +236,7 @@
         "spv.offsets.frag",
         "spv.Operations.frag",
         "spv.intOps.vert",
+        "spv.noWorkgroup.comp",
         "spv.precision.frag",
         "spv.prepost.frag",
         "spv.qualifiers.vert",
@@ -283,10 +287,11 @@
 INSTANTIATE_TEST_CASE_P(
     Hlsl, HlslIoMap,
     ::testing::ValuesIn(std::vector<IoMapData>{
-        { "spv.register.autoassign.frag", "main_ep", 5, 10, 20, true, false },
-        { "spv.register.noautoassign.frag", "main_ep", 5, 10, 15, false, false },
-        { "spv.register.autoassign-2.frag", "main", 5, 10, 15, true, true },
-        { "spv.buffer.autoassign.frag", "main", 5, 10, 15, true, true },
+        { "spv.register.autoassign.frag", "main_ep", 5, 10, 0, 20, true, false },
+        { "spv.register.noautoassign.frag", "main_ep", 5, 10, 0, 15, false, false },
+        { "spv.register.autoassign-2.frag", "main", 5, 10, 0, 15, true, true },
+        { "spv.buffer.autoassign.frag", "main", 5, 10, 0, 15, true, true },
+        { "spv.rw.autoassign.frag", "main", 5, 10, 20, 15, true, true },
         { "spv.register.autoassign.rangetest.frag", "main", 
                 glslang::TQualifier::layoutBindingEnd-2,
                 glslang::TQualifier::layoutBindingEnd+5,
@@ -299,8 +304,8 @@
 INSTANTIATE_TEST_CASE_P(
     Hlsl, GlslIoMap,
     ::testing::ValuesIn(std::vector<IoMapData>{
-        { "spv.glsl.register.autoassign.frag", "main", 5, 10, 20, true, false },
-        { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 15, false, false },
+        { "spv.glsl.register.autoassign.frag", "main", 5, 10, 0, 20, true, false },
+        { "spv.glsl.register.noautoassign.frag", "main", 5, 10, 0, 15, false, false },
     }),
     FileNameAsCustomTestSuffixIoMap
 );
diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h
index c08c6cc..e795e8d 100644
--- a/gtests/TestFixture.h
+++ b/gtests/TestFixture.h
@@ -239,6 +239,7 @@
             const std::string& entryPointName, EShMessages controls,
             int baseSamplerBinding,
             int baseTextureBinding,
+            int baseImageBinding,
             int baseUboBinding,
             bool autoMapBindings,
             bool flattenUniformArrays)
@@ -248,6 +249,7 @@
         glslang::TShader shader(kind);
         shader.setShiftSamplerBinding(baseSamplerBinding);
         shader.setShiftTextureBinding(baseTextureBinding);
+        shader.setShiftImageBinding(baseImageBinding);
         shader.setShiftUboBinding(baseUboBinding);
         shader.setAutoMapBindings(autoMapBindings);
         shader.setFlattenUniformArrays(flattenUniformArrays);
@@ -426,6 +428,7 @@
                                       const std::string& entryPointName,
                                       int baseSamplerBinding,
                                       int baseTextureBinding,
+                                      int baseImageBinding,
                                       int baseUboBinding,
                                       bool autoMapBindings,
                                       bool flattenUniformArrays)
@@ -440,7 +443,7 @@
 
         const EShMessages controls = DeriveOptions(source, semantics, target);
         GlslangResult result = compileLinkIoMap(testName, input, entryPointName, controls,
-                                                baseSamplerBinding, baseTextureBinding, baseUboBinding,
+                                                baseSamplerBinding, baseTextureBinding, baseImageBinding, baseUboBinding,
                                                 autoMapBindings,
                                                 flattenUniformArrays);
 
diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt
index c7537e2..ec5f1a5 100755
--- a/hlsl/CMakeLists.txt
+++ b/hlsl/CMakeLists.txt
@@ -1,4 +1,5 @@
 set(SOURCES
+    hlslAttributes.cpp
     hlslParseHelper.cpp
     hlslScanContext.cpp
     hlslOpMap.cpp
@@ -6,7 +7,8 @@
     hlslGrammar.cpp
     hlslParseables.cpp)
 
-set(HEADERS
+  set(HEADERS
+    hlslAttributes.h
     hlslParseHelper.h
     hlslTokens.h
     hlslScanContext.h
diff --git a/hlsl/hlslAttributes.cpp b/hlsl/hlslAttributes.cpp
new file mode 100644
index 0000000..966ff35
--- /dev/null
+++ b/hlsl/hlslAttributes.cpp
@@ -0,0 +1,110 @@
+//
+//Copyright (C) 2016 LunarG, Inc.
+//
+//All rights reserved.
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//    Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//    Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//    Neither the name of Google, Inc., nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+//FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+//COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+//INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+//BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+//CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+//LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+//ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+//POSSIBILITY OF SUCH DAMAGE.
+//
+
+#include "hlslAttributes.h"
+#include <cstdlib>
+#include <cctype>
+
+namespace glslang {
+    // Map the given string to an attribute enum from TAttributeType,
+    // or EatNone if invalid.
+    TAttributeType TAttributeMap::attributeFromName(const TString& name)
+    {
+        // These are case insensitive.
+        TString lowername(name);
+        std::transform(lowername.begin(), lowername.end(), lowername.begin(), ::tolower);
+
+        if (lowername == "allow_uav_condition")
+            return EatAllow_uav_condition;
+        else if (lowername == "branch")
+            return EatBranch;
+        else if (lowername == "call")
+            return EatCall;
+        else if (lowername == "domain")
+            return EatDomain;
+        else if (lowername == "earlydepthstencil")
+            return EatEarlyDepthStencil;
+        else if (lowername == "fastopt")
+            return EatFastOpt;
+        else if (lowername == "flatten")
+            return EatFlatten;
+        else if (lowername == "forcecase")
+            return EatForceCase;
+        else if (lowername == "instance")
+            return EatInstance;
+        else if (lowername == "maxtessfactor")
+            return EatMaxTessFactor;
+        else if (lowername == "maxvertexcount")
+            return EatMaxVertexCount;
+        else if (lowername == "numthreads")
+            return EatNumThreads;
+        else if (lowername == "outputcontrolpoints")
+            return EatOutputControlPoints;
+        else if (lowername == "outputtopology")
+            return EatOutputTopology;
+        else if (lowername == "partitioning")
+            return EatPartitioning;
+        else if (lowername == "patchconstantfunc")
+            return EatPatchConstantFunc;
+        else if (lowername == "unroll")
+            return EatUnroll;
+        else
+            return EatNone;
+    }
+
+    // Look up entry, inserting if it's not there, and if name is a valid attribute name
+    // as known by attributeFromName.
+    TAttributeType TAttributeMap::setAttribute(const TString* name, TIntermAggregate* value)
+    {
+        if (name == nullptr)
+            return EatNone;
+
+        const TAttributeType attr = attributeFromName(*name);
+
+        if (attr != EatNone)
+            attributes[attr] = value;
+ 
+        return attr;
+    }
+
+    // Look up entry (const version), and return aggregate node.  This cannot change the map.
+    const TIntermAggregate* TAttributeMap::operator[](TAttributeType attr) const
+    {
+        const auto entry = attributes.find(attr);
+
+        return (entry == attributes.end()) ? nullptr : entry->second;
+    }
+    
+} // end namespace glslang
diff --git a/hlsl/hlslAttributes.h b/hlsl/hlslAttributes.h
new file mode 100644
index 0000000..312a456
--- /dev/null
+++ b/hlsl/hlslAttributes.h
@@ -0,0 +1,97 @@
+//
+//Copyright (C) 2016 LunarG, Inc.
+//
+//All rights reserved.
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//    Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//    Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//    Neither the name of Google, Inc., nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+//FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+//COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+//INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+//BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+//LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+//CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+//LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+//ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+//POSSIBILITY OF SUCH DAMAGE.
+//
+
+#ifndef HLSLATTRIBUTES_H_
+#define HLSLATTRIBUTES_H_
+
+#include <unordered_map>
+#include <functional>
+#include "hlslScanContext.h"
+#include "../glslang/Include/Common.h"
+
+namespace glslang {
+    enum TAttributeType {
+        EatNone,
+        EatAllow_uav_condition,
+        EatBranch,
+        EatCall,
+        EatDomain,
+        EatEarlyDepthStencil,
+        EatFastOpt,
+        EatFlatten,
+        EatForceCase,
+        EatInstance,
+        EatMaxTessFactor,
+        EatNumThreads,
+        EatMaxVertexCount,
+        EatOutputControlPoints,
+        EatOutputTopology,
+        EatPartitioning,
+        EatPatchConstantFunc,
+        EatUnroll,
+    };
+}
+
+namespace std {
+    // Allow use of TAttributeType enum in hash_map without calling code having to cast.
+    template <> struct hash<glslang::TAttributeType> {
+        std::size_t operator()(glslang::TAttributeType attr) const {
+            return std::hash<int>()(int(attr));
+        }
+    };
+} // end namespace std
+
+namespace glslang {
+    class TIntermAggregate;
+
+    class TAttributeMap {
+    public:
+        // Search for and potentially add the attribute into the map.  Return the
+        // attribute type enum for it, if found, else EatNone.
+        TAttributeType setAttribute(const TString* name, TIntermAggregate* value);
+
+        // Const lookup: search for (but do not modify) the attribute in the map.
+        const TIntermAggregate* operator[](TAttributeType) const;
+
+    protected:
+        // Find an attribute enum given its name.
+        static TAttributeType attributeFromName(const TString&);
+
+        std::unordered_map<TAttributeType, TIntermAggregate*> attributes;
+    };
+} // end namespace glslang
+
+
+#endif // HLSLATTRIBUTES_H_
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 7766f85..10dfcc8 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -53,6 +53,7 @@
 
 #include "hlslTokens.h"
 #include "hlslGrammar.h"
+#include "hlslAttributes.h"
 
 namespace glslang {
 
@@ -84,6 +85,19 @@
         return true;
     }
 
+    // Even though "sample" is a keyword (for interpolation modifiers), it IS still accepted as
+    // an identifier.  This appears to be a solitary exception: other interp modifier keywords such
+    // as "linear" or "centroid" NOT valid identifiers.  This code special cases "sample",
+    // so e.g, "int sample;" is accepted.
+    if (peekTokenClass(EHTokSample)) {
+        idToken.string     = NewPoolTString("sample");
+        idToken.tokenClass = EHTokIdentifier;
+        idToken.symbol     = nullptr;
+        idToken.loc        = token.loc;
+        advanceToken();
+        return true;
+    }
+
     return false;
 }
 
@@ -268,6 +282,10 @@
     node = nullptr;
     bool list = false;
 
+    // attributes
+    TAttributeMap attributes;
+    acceptAttributes(attributes);
+
     // typedef
     bool typedefDecl = acceptTokenClass(EHTokTypedef);
 
@@ -302,7 +320,7 @@
                     parseContext.error(idToken.loc, "function body can't be in a declarator list", "{", "");
                 if (typedefDecl)
                     parseContext.error(idToken.loc, "function body can't be in a typedef", "{", "");
-                return acceptFunctionDefinition(function, node);
+                return acceptFunctionDefinition(function, node, attributes);
             } else {
                 if (typedefDecl)
                     parseContext.error(idToken.loc, "function typedefs not implemented", "{", "");
@@ -464,9 +482,14 @@
         // Some qualifiers are set when parsing the type.  Merge those with
         // whatever comes from acceptQualifier.
         assert(qualifier.layoutFormat == ElfNone);
-        qualifier.layoutFormat = type.getQualifier().layoutFormat;
 
-        type.getQualifier() = qualifier;
+        qualifier.layoutFormat = type.getQualifier().layoutFormat;
+        qualifier.precision    = type.getQualifier().precision;
+
+        if (type.getQualifier().storage == EvqVaryingOut)
+            qualifier.storage      = type.getQualifier().storage;
+
+        type.getQualifier()    = qualifier;
     }
 
     return true;
@@ -539,6 +562,35 @@
             if (! acceptLayoutQualifierList(qualifier))
                 return false;
             continue;
+
+        // GS geometries: these are specified on stage input variables, and are an error (not verified here)
+        // for output variables.
+        case EHTokPoint:
+            qualifier.storage = EvqIn;
+            if (!parseContext.handleInputGeometry(token.loc, ElgPoints))
+                return false;
+            break;
+        case EHTokLine:
+            qualifier.storage = EvqIn;
+            if (!parseContext.handleInputGeometry(token.loc, ElgLines))
+                return false;
+            break;
+        case EHTokTriangle:
+            qualifier.storage = EvqIn;
+            if (!parseContext.handleInputGeometry(token.loc, ElgTriangles))
+                return false;
+            break;
+        case EHTokLineAdj:
+            qualifier.storage = EvqIn;
+            if (!parseContext.handleInputGeometry(token.loc, ElgLinesAdjacency))
+                return false;
+            break; 
+        case EHTokTriangleAdj:
+            qualifier.storage = EvqIn;
+            if (!parseContext.handleInputGeometry(token.loc, ElgTrianglesAdjacency))
+                return false;
+            break; 
+            
         default:
             return true;
         }
@@ -603,7 +655,7 @@
 //      | UINT
 //      | BOOL
 //
-bool HlslGrammar::acceptTemplateType(TBasicType& basicType)
+bool HlslGrammar::acceptTemplateVecMatBasicType(TBasicType& basicType)
 {
     switch (peek()) {
     case EHTokFloat:
@@ -647,7 +699,7 @@
     }
 
     TBasicType basicType;
-    if (! acceptTemplateType(basicType)) {
+    if (! acceptTemplateVecMatBasicType(basicType)) {
         expected("scalar type");
         return false;
     }
@@ -699,7 +751,7 @@
     }
 
     TBasicType basicType;
-    if (! acceptTemplateType(basicType)) {
+    if (! acceptTemplateVecMatBasicType(basicType)) {
         expected("scalar type");
         return false;
     }
@@ -748,6 +800,56 @@
     return true;
 }
 
+// layout_geometry
+//      : LINESTREAM
+//      | POINTSTREAM
+//      | TRIANGLESTREAM
+//
+bool HlslGrammar::acceptOutputPrimitiveGeometry(TLayoutGeometry& geometry)
+{
+    // read geometry type
+    const EHlslTokenClass geometryType = peek();
+
+    switch (geometryType) {
+    case EHTokPointStream:    geometry = ElgPoints;        break;
+    case EHTokLineStream:     geometry = ElgLineStrip;     break;
+    case EHTokTriangleStream: geometry = ElgTriangleStrip; break;
+    default:
+        return false;  // not a layout geometry
+    }
+
+    advanceToken();  // consume the layout keyword
+    return true;
+}
+
+// stream_out_template_type
+//      : output_primitive_geometry_type LEFT_ANGLE type RIGHT_ANGLE
+//
+bool HlslGrammar::acceptStreamOutTemplateType(TType& type, TLayoutGeometry& geometry)
+{
+    geometry = ElgNone;
+
+    if (! acceptOutputPrimitiveGeometry(geometry))
+        return false;
+
+    if (! acceptTokenClass(EHTokLeftAngle))
+        return false;
+    
+    if (! acceptType(type)) {
+        expected("stream output type");
+        return false;
+    }
+
+    type.getQualifier().storage = EvqVaryingOut;
+
+    if (! acceptTokenClass(EHTokRightAngle)) {
+        expected("right angle bracket");
+        return false;
+    }
+
+    return true;
+}
+    
 // annotations
 //      : LEFT_ANGLE declaration SEMI_COLON ... declaration SEMICOLON RIGHT_ANGLE
 //
@@ -967,6 +1069,14 @@
 // Otherwise, return false, and don't advance
 bool HlslGrammar::acceptType(TType& type)
 {
+    // Basic types for min* types, broken out here in case of future
+    // changes, e.g, to use native halfs.
+    static const TBasicType min16float_bt = EbtFloat;
+    static const TBasicType min10float_bt = EbtFloat;
+    static const TBasicType min16int_bt   = EbtInt;
+    static const TBasicType min12int_bt   = EbtInt;
+    static const TBasicType min16uint_bt  = EbtUint;
+
     switch (peek()) {
     case EHTokVector:
         return acceptVectorTemplateType(type);
@@ -976,6 +1086,20 @@
         return acceptMatrixTemplateType(type);
         break;
 
+    case EHTokPointStream:            // fall through
+    case EHTokLineStream:             // ...
+    case EHTokTriangleStream:         // ...
+        {
+            TLayoutGeometry geometry;
+            if (! acceptStreamOutTemplateType(type, geometry))
+                return false;
+
+            if (! parseContext.handleOutputGeometry(token.loc, geometry))
+                return false;
+            
+            return true;
+        }
+
     case EHTokSampler:                // fall through
     case EHTokSampler1d:              // ...
     case EHTokSampler2d:              // ...
@@ -1118,6 +1242,91 @@
         new(&type) TType(EbtBool, EvqTemporary, 4);
         break;
 
+    case EHTokMin16float:
+        new(&type) TType(min16float_bt, EvqTemporary, EpqMedium);
+        break;
+    case EHTokMin16float1:
+        new(&type) TType(min16float_bt, EvqTemporary, EpqMedium);
+        type.makeVector();
+        break;
+    case EHTokMin16float2:
+        new(&type) TType(min16float_bt, EvqTemporary, EpqMedium, 2);
+        break;
+    case EHTokMin16float3:
+        new(&type) TType(min16float_bt, EvqTemporary, EpqMedium, 3);
+        break;
+    case EHTokMin16float4:
+        new(&type) TType(min16float_bt, EvqTemporary, EpqMedium, 4);
+        break;
+        
+    case EHTokMin10float:
+        new(&type) TType(min10float_bt, EvqTemporary, EpqMedium);
+        break;
+    case EHTokMin10float1:
+        new(&type) TType(min10float_bt, EvqTemporary, EpqMedium);
+        type.makeVector();
+        break;
+    case EHTokMin10float2:
+        new(&type) TType(min10float_bt, EvqTemporary, EpqMedium, 2);
+        break;
+    case EHTokMin10float3:
+        new(&type) TType(min10float_bt, EvqTemporary, EpqMedium, 3);
+        break;
+    case EHTokMin10float4:
+        new(&type) TType(min10float_bt, EvqTemporary, EpqMedium, 4);
+        break;
+        
+    case EHTokMin16int:
+        new(&type) TType(min16int_bt, EvqTemporary, EpqMedium);
+        break;
+    case EHTokMin16int1:
+        new(&type) TType(min16int_bt, EvqTemporary, EpqMedium);
+        type.makeVector();
+        break;
+    case EHTokMin16int2:
+        new(&type) TType(min16int_bt, EvqTemporary, EpqMedium, 2);
+        break;
+    case EHTokMin16int3:
+        new(&type) TType(min16int_bt, EvqTemporary, EpqMedium, 3);
+        break;
+    case EHTokMin16int4:
+        new(&type) TType(min16int_bt, EvqTemporary, EpqMedium, 4);
+        break;
+        
+    case EHTokMin12int:
+        new(&type) TType(min12int_bt, EvqTemporary, EpqMedium);
+        break;
+    case EHTokMin12int1:
+        new(&type) TType(min12int_bt, EvqTemporary, EpqMedium);
+        type.makeVector();
+        break;
+    case EHTokMin12int2:
+        new(&type) TType(min12int_bt, EvqTemporary, EpqMedium, 2);
+        break;
+    case EHTokMin12int3:
+        new(&type) TType(min12int_bt, EvqTemporary, EpqMedium, 3);
+        break;
+    case EHTokMin12int4:
+        new(&type) TType(min12int_bt, EvqTemporary, EpqMedium, 4);
+        break;
+        
+    case EHTokMin16uint:
+        new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium);
+        break;
+    case EHTokMin16uint1:
+        new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium);
+        type.makeVector();
+        break;
+    case EHTokMin16uint2:
+        new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium, 2);
+        break;
+    case EHTokMin16uint3:
+        new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium, 3);
+        break;
+    case EHTokMin16uint4:
+        new(&type) TType(min16uint_bt, EvqTemporary, EpqMedium, 4);
+        break;
+
     case EHTokInt1x1:
         new(&type) TType(EbtInt, EvqTemporary, 0, 1, 1);
         break;
@@ -1594,13 +1803,13 @@
 
 // Do the work to create the function definition in addition to
 // parsing the body (compound_statement).
-bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node)
+bool HlslGrammar::acceptFunctionDefinition(TFunction& function, TIntermNode*& node, const TAttributeMap& attributes)
 {
     TFunction& functionDeclarator = parseContext.handleFunctionDeclarator(token.loc, function, false /* not prototype */);
     TSourceLoc loc = token.loc;
 
     // This does a pushScope()
-    node = parseContext.handleFunctionDefinition(loc, functionDeclarator);
+    node = parseContext.handleFunctionDefinition(loc, functionDeclarator, attributes);
 
     // compound_statement
     TIntermNode* functionBody = nullptr;
@@ -1687,7 +1896,8 @@
 }
 
 // initializer
-//      : LEFT_BRACE initializer_list RIGHT_BRACE
+//      : LEFT_BRACE RIGHT_BRACE
+//      | LEFT_BRACE initializer_list RIGHT_BRACE
 //
 // initializer_list
 //      : assignment_expression COMMA assignment_expression COMMA ...
@@ -1698,8 +1908,15 @@
     if (! acceptTokenClass(EHTokLeftBrace))
         return false;
 
-    // initializer_list
+    // RIGHT_BRACE
     TSourceLoc loc = token.loc;
+    if (acceptTokenClass(EHTokRightBrace)) {
+        // a zero-length initializer list
+        node = intermediate.makeAggregate(loc);
+        return true;
+    }
+
+    // initializer_list
     node = nullptr;
     do {
         // assignment_expression
@@ -1935,7 +2152,10 @@
         return true;
 
     node = intermediate.addUnaryMath(unaryOp, node, loc);
-    node = parseContext.handleLvalue(loc, "unary operator", node);
+
+    // These unary ops require lvalues
+    if (unaryOp == EOpPreIncrement || unaryOp == EOpPreDecrement)
+        node = parseContext.handleLvalue(loc, "unary operator", node);
 
     return node != nullptr;
 }
@@ -2248,7 +2468,8 @@
     statement = nullptr;
 
     // attributes
-    acceptAttributes();
+    TAttributeMap attributes;
+    acceptAttributes(attributes);
 
     // attributed_statement
     switch (peek()) {
@@ -2321,42 +2542,70 @@
 //      | FLATTEN
 //      | FORCECASE
 //      | CALL
+//      | DOMAIN
+//      | EARLYDEPTHSTENCIL
+//      | INSTANCE
+//      | MAXTESSFACTOR
+//      | OUTPUTCONTROLPOINTS
+//      | OUTPUTTOPOLOGY
+//      | PARTITIONING
+//      | PATCHCONSTANTFUNC
+//      | NUMTHREADS LEFT_PAREN x_size, y_size,z z_size RIGHT_PAREN
 //
-void HlslGrammar::acceptAttributes()
+void HlslGrammar::acceptAttributes(TAttributeMap& attributes)
 {
-    // For now, accept the [ XXX(X) ] syntax, but drop.
+    // For now, accept the [ XXX(X) ] syntax, but drop all but
+    // numthreads, which is used to set the CS local size.
     // TODO: subset to correct set?  Pass on?
     do {
+        HlslToken idToken;
+
         // LEFT_BRACKET?
         if (! acceptTokenClass(EHTokLeftBracket))
             return;
 
         // attribute
-        if (peekTokenClass(EHTokIdentifier)) {
-            // 'token.string' is the attribute
-            advanceToken();
+        if (acceptIdentifier(idToken)) {
+            // 'idToken.string' is the attribute
         } else if (! peekTokenClass(EHTokRightBracket)) {
             expected("identifier");
             advanceToken();
         }
 
-        // (x)
+        TIntermAggregate* expressions = nullptr;
+
+        // (x, ...)
         if (acceptTokenClass(EHTokLeftParen)) {
+            expressions = new TIntermAggregate;
+
             TIntermTyped* node;
-            if (! acceptLiteral(node))
-                expected("literal");
-            // 'node' has the literal in it
+            bool expectingExpression = false;
+            
+            while (acceptAssignmentExpression(node)) {
+                expectingExpression = false;
+                expressions->getSequence().push_back(node);
+                if (acceptTokenClass(EHTokComma))
+                    expectingExpression = true;
+            }
+
+            // 'expressions' is an aggregate with the expressions in it
             if (! acceptTokenClass(EHTokRightParen))
                 expected(")");
+
+            // Error for partial or missing expression
+            if (expectingExpression || expressions->getSequence().empty())
+                expected("expression");
         }
 
         // RIGHT_BRACKET
-        if (acceptTokenClass(EHTokRightBracket))
-            continue;
+        if (!acceptTokenClass(EHTokRightBracket)) {
+            expected("]");
+            return;
+        }
 
-        expected("]");
-        return;
-
+        // Add any values we found into the attribute map.  This accepts
+        // (and ignores) values not mapping to a known TAttributeType;
+        attributes.setAttribute(idToken.string, expressions);
     } while (true);
 }
 
diff --git a/hlsl/hlslGrammar.h b/hlsl/hlslGrammar.h
index 992eb5e..8804b21 100755
--- a/hlsl/hlslGrammar.h
+++ b/hlsl/hlslGrammar.h
@@ -43,6 +43,8 @@
 
 namespace glslang {
 
+    class TAttributeMap; // forward declare
+    
     // Should just be the grammar aspect of HLSL.
     // Described in more detail in hlslGrammar.cpp.
 
@@ -70,9 +72,11 @@
         bool acceptQualifier(TQualifier&);
         bool acceptLayoutQualifierList(TQualifier&);
         bool acceptType(TType&);
-        bool acceptTemplateType(TBasicType&);
+        bool acceptTemplateVecMatBasicType(TBasicType&);
         bool acceptVectorTemplateType(TType&);
         bool acceptMatrixTemplateType(TType&);
+        bool acceptStreamOutTemplateType(TType&, TLayoutGeometry&);
+        bool acceptOutputPrimitiveGeometry(TLayoutGeometry&);
         bool acceptAnnotations(TQualifier&);
         bool acceptSamplerType(TType&);
         bool acceptTextureType(TType&);
@@ -80,7 +84,7 @@
         bool acceptStructDeclarationList(TTypeList*&);
         bool acceptFunctionParameters(TFunction&);
         bool acceptParameterDeclaration(TFunction&);
-        bool acceptFunctionDefinition(TFunction&, TIntermNode*&);
+        bool acceptFunctionDefinition(TFunction&, TIntermNode*&, const TAttributeMap&);
         bool acceptParenExpression(TIntermTyped*&);
         bool acceptExpression(TIntermTyped*&);
         bool acceptInitializer(TIntermTyped*&);
@@ -98,7 +102,7 @@
         bool acceptScopedStatement(TIntermNode*&);
         bool acceptScopedCompoundStatement(TIntermNode*&);
         bool acceptNestedStatement(TIntermNode*&);
-        void acceptAttributes();
+        void acceptAttributes(TAttributeMap&);
         bool acceptSelectionStatement(TIntermNode*&);
         bool acceptSwitchStatement(TIntermNode*&);
         bool acceptIterationStatement(TIntermNode*&);
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index b4c417d..8685dcd 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -37,6 +37,7 @@
 #include "hlslParseHelper.h"
 #include "hlslScanContext.h"
 #include "hlslGrammar.h"
+#include "hlslAttributes.h"
 
 #include "../glslang/MachineIndependent/Scan.h"
 #include "../glslang/MachineIndependent/preprocessor/PpContext.h"
@@ -44,23 +45,21 @@
 #include "../glslang/OSDependent/osinclude.h"
 
 #include <algorithm>
+#include <cctype>
 
 namespace glslang {
 
-HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool /*parsingBuiltins*/,
+HlslParseContext::HlslParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins,
                                    int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language, TInfoSink& infoSink,
                                    bool forwardCompatible, EShMessages messages) :
-    TParseContextBase(symbolTable, interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
+    TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
     contextPragma(true, false),
     loopNestingLevel(0), annotationNestingLevel(0), structNestingLevel(0), controlFlowNestingLevel(0),
-    postMainReturn(false),
+    postEntryPointReturn(false),
     limits(resources.limits),
     entryPointOutput(nullptr),
     nextInLocation(0), nextOutLocation(0)
 {
-    // ensure we always have a linkage node, even if empty, to simplify tree topology algorithms
-    linkage = new TIntermAggregate;
-
     globalUniformDefaults.clear();
     globalUniformDefaults.layoutMatrix = ElmRowMajor;
     globalUniformDefaults.layoutPacking = ElpStd140;
@@ -127,6 +126,8 @@
         return false;
     }
 
+    finish();
+
     return numErrors == 0;
 }
 
@@ -154,7 +155,7 @@
 {
     const int components = txType.getVectorSize();
 
-    const auto selectFormat = [this,&components](TLayoutFormat v1, TLayoutFormat v2, TLayoutFormat v4) {
+    const auto selectFormat = [this,&components](TLayoutFormat v1, TLayoutFormat v2, TLayoutFormat v4) -> TLayoutFormat {
         if (intermediate.getNoStorageFormat())
             return ElfNone;
 
@@ -260,7 +261,7 @@
     };
 
     // Helper to complete sequence by adding trailing variable, so we evaluate to the right value.
-    const auto finishSequence = [&](TIntermSymbol* rhsTmp, const TType& derefType) {
+    const auto finishSequence = [&](TIntermSymbol* rhsTmp, const TType& derefType) -> TIntermAggregate* {
         // Add a trailing use of the temp, so the sequence returns the proper value.
         sequence = intermediate.growAggregate(sequence, intermediate.addSymbol(*rhsTmp));
         sequence->setOperator(EOpSequence);
@@ -279,7 +280,7 @@
     };
 
     // helper to create a temporary variable
-    const auto addTmpVar = [&](const char* name, const TType& derefType) {
+    const auto addTmpVar = [&](const char* name, const TType& derefType) -> TIntermSymbol* {
         TVariable* tmpVar = makeInternalVariable(name, derefType);
         tmpVar->getWritableType().getQualifier().makeTemporary();
         return intermediate.addSymbol(*tmpVar, loc);
@@ -757,6 +758,13 @@
                 return intermediate.addMethod(base, TType(sampler.type, EvqTemporary, vecSize), &field, loc);
             }
         }
+    } else if (field == "Append" ||
+               field == "RestartStrip") {
+        // These methods only valid on stage in variables
+        // TODO: ... which are stream out types, if there's any way to test that here.
+        if (base->getType().getQualifier().storage == EvqVaryingOut) {
+            return intermediate.addMethod(base, TType(EbtVoid), &field, loc);
+        }
     }
 
     // It's not .length() if we get to here.
@@ -949,9 +957,9 @@
             ++binding;
 
         memberVariables.push_back(memberVariable);
-        intermediate.addSymbolLinkageNode(linkage, *memberVariable);
+        trackLinkageDeferred(*memberVariable);
     }
-    
+
     flattenMap[variable.getUniqueId()] = memberVariables;
 }
 
@@ -988,7 +996,7 @@
                     nextOutLocation += intermediate.computeTypeLocationSize(variable.getType());
                 }
             }
-            intermediate.addSymbolLinkageNode(linkage, variable);
+            trackLinkage(variable);
         }
     };
 
@@ -1045,7 +1053,8 @@
 // Handle seeing the function prototype in front of a function definition in the grammar.  
 // The body is handled after this function returns.
 //
-TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function)
+TIntermAggregate* HlslParseContext::handleFunctionDefinition(const TSourceLoc& loc, TFunction& function, 
+                                                             const TAttributeMap& attributes)
 {
     currentCaller = function.getMangledName();
     TSymbol* symbol = symbolTable.find(function.getMangledName());
@@ -1132,7 +1141,23 @@
     intermediate.setAggregateOperator(paramNodes, EOpParameters, TType(EbtVoid), loc);
     loopNestingLevel = 0;
     controlFlowNestingLevel = 0;
-    postMainReturn = false;
+    postEntryPointReturn = false;
+
+    // Handle function attributes
+    if (inEntryPoint) {
+        const TIntermAggregate* numThreads = attributes[EatNumThreads];
+        if (numThreads != nullptr) {
+            const TIntermSequence& sequence = numThreads->getSequence();
+ 
+            for (int lid = 0; lid < int(sequence.size()); ++lid)
+                intermediate.setLocalSize(lid, sequence[lid]->getAsConstantUnion()->getConstArray()[0].getIConst());
+        }
+
+        const TIntermAggregate* maxVertexCount = attributes[EatMaxVertexCount];
+        if (maxVertexCount != nullptr) {
+            intermediate.setVertices(maxVertexCount->getSequence()[0]->getAsConstantUnion()->getConstArray()[0].getIConst());
+        }
+    }
 
     return paramNodes;
 }
@@ -1397,13 +1422,13 @@
 TOperator HlslParseContext::mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage)
 {
     switch (op) {
-    case EOpInterlockedAdd:             return isImage ? EOpImageAtomicAdd : EOpAtomicAdd;
-    case EOpInterlockedAnd:             return isImage ? EOpImageAtomicAnd : EOpAtomicAnd;
+    case EOpInterlockedAdd:             return isImage ? EOpImageAtomicAdd      : EOpAtomicAdd;
+    case EOpInterlockedAnd:             return isImage ? EOpImageAtomicAnd      : EOpAtomicAnd;
     case EOpInterlockedCompareExchange: return isImage ? EOpImageAtomicCompSwap : EOpAtomicCompSwap;
-    case EOpInterlockedMax:             return isImage ? EOpImageAtomicMax : EOpAtomicMax;
-    case EOpInterlockedMin:             return isImage ? EOpImageAtomicMin : EOpAtomicMin;
-    case EOpInterlockedOr:              return isImage ? EOpImageAtomicOr : EOpAtomicOr;
-    case EOpInterlockedXor:             return isImage ? EOpImageAtomicXor : EOpAtomicXor;
+    case EOpInterlockedMax:             return isImage ? EOpImageAtomicMax      : EOpAtomicMax;
+    case EOpInterlockedMin:             return isImage ? EOpImageAtomicMin      : EOpAtomicMin;
+    case EOpInterlockedOr:              return isImage ? EOpImageAtomicOr       : EOpAtomicOr;
+    case EOpInterlockedXor:             return isImage ? EOpImageAtomicXor      : EOpAtomicXor;
     case EOpInterlockedExchange:        return isImage ? EOpImageAtomicExchange : EOpAtomicExchange;
     case EOpInterlockedCompareStore:  // TODO: ... 
     default:
@@ -1440,7 +1465,7 @@
     if (!node || !node->getAsOperator())
         return;
 
-    const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) {
+    const auto clampReturn = [&loc, &node, this](TIntermTyped* result, const TSampler& sampler) -> TIntermTyped* {
         // Sampler return must always be a vec4, but we can construct a shorter vector
         result->setType(TType(node->getType().getBasicType(), EvqTemporary, node->getVectorSize()));
 
@@ -1496,6 +1521,10 @@
             constructCoord->getSequence().push_back(arg1);
             constructCoord->setLoc(loc);
 
+            // The input vector should never be less than 2, since there's always a bias.
+            // The max is for safety, and should be a no-op.
+            constructCoord->setType(TType(arg1->getBasicType(), EvqTemporary, std::max(arg1->getVectorSize() - 1, 0)));
+
             TIntermAggregate* tex = new TIntermAggregate(EOpTexture);
             tex->getSequence().push_back(arg0);           // sampler
             tex->getSequence().push_back(constructCoord); // coordinate
@@ -1725,6 +1754,7 @@
             if (coordDimWithCmpVal != 5) // cube array shadow is special.
                 coordWithCmp->getSequence().push_back(argCmpVal);
             coordWithCmp->setLoc(loc);
+            coordWithCmp->setType(TType(argCoord->getBasicType(), EvqTemporary, std::min(coordDimWithCmpVal, 4)));
 
             TOperator textureOp = (op == EOpMethodSampleCmpLevelZero ? EOpTextureLod : EOpTexture);
             if (argOffset != nullptr)
@@ -2048,10 +2078,80 @@
 }
 
 //
+// Decompose geometry shader methods
+//
+void HlslParseContext::decomposeGeometryMethods(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
+{
+    if (!node || !node->getAsOperator())
+        return;
+
+    const TOperator op  = node->getAsOperator()->getOp();
+    const TIntermAggregate* argAggregate = arguments ? arguments->getAsAggregate() : nullptr;
+
+    switch (op) {
+    case EOpMethodAppend:
+        if (argAggregate) {
+            TIntermAggregate* sequence = nullptr;
+            TIntermAggregate* emit = new TIntermAggregate(EOpEmitVertex);
+
+            emit->setLoc(loc);
+            emit->setType(TType(EbtVoid));
+
+            sequence = intermediate.growAggregate(sequence,
+                                                  intermediate.addAssign(EOpAssign, 
+                                                                         argAggregate->getSequence()[0]->getAsTyped(),
+                                                                         argAggregate->getSequence()[1]->getAsTyped(), loc),
+                                                  loc);
+
+            sequence = intermediate.growAggregate(sequence, emit);
+
+            sequence->setOperator(EOpSequence);
+            sequence->setLoc(loc);
+            sequence->setType(TType(EbtVoid));
+            node = sequence;
+        }
+        break;
+
+    case EOpMethodRestartStrip:
+        {
+            TIntermAggregate* cut = new TIntermAggregate(EOpEndPrimitive);
+            cut->setLoc(loc);
+            cut->setType(TType(EbtVoid));
+            node = cut;
+        }
+        break;
+
+    default:
+        break; // most pass through unchanged
+    }
+}
+
+//
 // Optionally decompose intrinsics to AST opcodes.
 //
 void HlslParseContext::decomposeIntrinsic(const TSourceLoc& loc, TIntermTyped*& node, TIntermNode* arguments)
 {
+    // Helper to find image data for image atomics:
+    // OpImageLoad(image[idx])
+    // We take the image load apart and add its params to the atomic op aggregate node
+    const auto imageAtomicParams = [this, &loc, &node](TIntermAggregate* atomic, TIntermTyped* load) {
+        TIntermAggregate* loadOp = load->getAsAggregate();
+        if (loadOp == nullptr) {
+            error(loc, "unknown image type in atomic operation", "", "");
+            node = nullptr;
+            return;
+        }
+
+        atomic->getSequence().push_back(loadOp->getSequence()[0]);
+        atomic->getSequence().push_back(loadOp->getSequence()[1]);
+    };
+
+    // Return true if this is an imageLoad, which we will change to an image atomic.
+    const auto isImageParam = [](TIntermTyped* image) -> bool {
+        TIntermAggregate* imageAggregate = image->getAsAggregate();
+        return imageAggregate != nullptr && imageAggregate->getOp() == EOpImageLoad;
+    };
+
     // HLSL intrinsics can be pass through to native AST opcodes, or decomposed here to existing AST
     // opcodes for compatibility with existing software stacks.
     static const bool decomposeHlslIntrinsics = true;
@@ -2232,27 +2332,43 @@
     case EOpInterlockedXor: // ...
     case EOpInterlockedExchange: // always has output arg
         {
-            TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped();
-            TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped();
+            TIntermTyped* arg0 = argAggregate->getSequence()[0]->getAsTyped();  // dest
+            TIntermTyped* arg1 = argAggregate->getSequence()[1]->getAsTyped();  // value
+            TIntermTyped* arg2 = nullptr;
 
-            const bool isImage = arg0->getType().isImage();
+            if (argAggregate->getSequence().size() > 2)
+                arg2 = argAggregate->getSequence()[2]->getAsTyped();
+
+            const bool isImage = isImageParam(arg0);
             const TOperator atomicOp = mapAtomicOp(loc, op, isImage);
-
-            if (argAggregate->getSequence().size() > 2) {
-                // optional output param is present.  return value goes to arg2.
-                TIntermTyped* arg2 = argAggregate->getSequence()[2]->getAsTyped();
-
-                TIntermAggregate* atomic = new TIntermAggregate(atomicOp);
-                atomic->getSequence().push_back(arg0);
+            TIntermAggregate* atomic = new TIntermAggregate(atomicOp);
+            atomic->setType(arg0->getType());
+            atomic->getWritableType().getQualifier().makeTemporary();
+            atomic->setLoc(loc);
+ 
+            if (isImage) {
+                // orig_value = imageAtomicOp(image, loc, data)
+                imageAtomicParams(atomic, arg0);
                 atomic->getSequence().push_back(arg1);
-                atomic->setLoc(loc);
-                atomic->setType(arg0->getType());
-                atomic->getWritableType().getQualifier().makeTemporary();
 
-                node = intermediate.addAssign(EOpAssign, arg2, atomic, loc);
+                if (argAggregate->getSequence().size() > 2) {
+                    node = intermediate.addAssign(EOpAssign, arg2, atomic, loc);
+                } else {
+                    node = atomic; // no assignment needed, as there was no out var.
+                }
             } else {
-                // Set the matching operator.  Since output is absent, this is all we need to do.
-                node->getAsAggregate()->setOperator(atomicOp);
+                // Normal memory variable:
+                // arg0 = mem, arg1 = data, arg2(optional,out) = orig_value
+                if (argAggregate->getSequence().size() > 2) {
+                    // optional output param is present.  return value goes to arg2.
+                    atomic->getSequence().push_back(arg0);
+                    atomic->getSequence().push_back(arg1);
+
+                    node = intermediate.addAssign(EOpAssign, arg2, atomic, loc);
+                } else {
+                    // Set the matching operator.  Since output is absent, this is all we need to do.
+                    node->getAsAggregate()->setOperator(atomicOp);
+                }
             }
 
             break;
@@ -2265,15 +2381,20 @@
             TIntermTyped* arg2 = argAggregate->getSequence()[2]->getAsTyped();  // value
             TIntermTyped* arg3 = argAggregate->getSequence()[3]->getAsTyped();  // orig
 
-            const bool isImage = arg0->getType().isImage();
+            const bool isImage = isImageParam(arg0);
             TIntermAggregate* atomic = new TIntermAggregate(mapAtomicOp(loc, op, isImage));
-            atomic->getSequence().push_back(arg0);
-            atomic->getSequence().push_back(arg1);
-            atomic->getSequence().push_back(arg2);
             atomic->setLoc(loc);
             atomic->setType(arg2->getType());
             atomic->getWritableType().getQualifier().makeTemporary();
 
+            if (isImage) {
+                imageAtomicParams(atomic, arg0);
+            } else {
+                atomic->getSequence().push_back(arg0);
+            }
+
+            atomic->getSequence().push_back(arg1);
+            atomic->getSequence().push_back(arg2);
             node = intermediate.addAssign(EOpAssign, arg3, atomic, loc);
             
             break;
@@ -2488,8 +2609,9 @@
                 result = addOutputArgumentConversions(*fnCandidate, *result->getAsAggregate());
             }
 
-            decomposeIntrinsic(loc, result, arguments);      // HLSL->AST intrinsic decompositions
-            decomposeSampleMethods(loc, result, arguments);  // HLSL->AST sample method decompositions
+            decomposeIntrinsic(loc, result, arguments);       // HLSL->AST intrinsic decompositions
+            decomposeSampleMethods(loc, result, arguments);   // HLSL->AST sample method decompositions
+            decomposeGeometryMethods(loc, result, arguments); // HLSL->AST geometry method decompositions
         }
     }
 
@@ -3027,11 +3149,12 @@
     }
 
     // TODO: learn what all these really mean and how they interact with regNumber and subComponent
-    switch (desc[0]) {
+    switch (std::tolower(desc[0])) {
     case 'b':
     case 't':
     case 'c':
     case 's':
+    case 'u':
         qualifier.layoutBinding = regNumber + subComponent;
         break;
     default:
@@ -3162,7 +3285,7 @@
 //
 // Returns true if there was an error in construction.
 //
-bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* /*node*/, TFunction& function,
+bool HlslParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, TFunction& function,
                                         TOperator op, TType& type)
 {
     type.shallowCopy(function.getType());
@@ -3258,7 +3381,7 @@
 
             // At least the dimensionalities have to match.
             if (! function[0].type->isArray() || arraySizes.getNumDims() != function[0].type->getArraySizes().getNumDims() + 1) {
-                error(loc, "array constructor argument not correct type to construct array element", "constructior", "");
+                error(loc, "array constructor argument not correct type to construct array element", "constructor", "");
                 return true;
             }
 
@@ -3288,6 +3411,9 @@
         return true;
     }
 
+    if (op == EOpConstructStruct && ! type.isArray() && isZeroConstructor(node))
+        return false;
+
     if (op == EOpConstructStruct && ! type.isArray() && (int)type.getStruct()->size() != function.getParamCount()) {
         error(loc, "Number of constructor parameters does not match the number of structure fields", "constructor", "");
         return true;
@@ -3299,11 +3425,15 @@
         return true;
     }
 
-    // TIntermTyped* typed = node->getAsTyped();
-
     return false;
 }
 
+bool HlslParseContext::isZeroConstructor(const TIntermNode* node)
+{
+    return node->getAsTyped()->isScalar() && node->getAsConstantUnion() &&
+           node->getAsConstantUnion()->getConstArray()[0].getIConst() == 0;
+}
+
 // Verify all the correct semantics for constructing a combined texture/sampler.
 // Return true if the semantics are incorrect.
 bool HlslParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const TFunction& function)
@@ -3530,7 +3660,7 @@
 // Do all the semantic checking for declaring or redeclaring an array, with and
 // without a size, and make the right changes to the symbol table.
 //
-void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool& newDeclaration)
+void HlslParseContext::declareArray(const TSourceLoc& loc, TString& identifier, const TType& type, TSymbol*& symbol, bool track)
 {
     if (! symbol) {
         bool currentScope;
@@ -3547,7 +3677,8 @@
             //
             symbol = new TVariable(&identifier, type);
             symbolTable.insert(*symbol);
-            newDeclaration = true;
+            if (track && symbolTable.atGlobalLevel())
+                trackLinkageDeferred(*symbol);
 
             return;
         }
@@ -3570,7 +3701,6 @@
     // redeclareBuiltinVariable() should have already done the copyUp()
     TType& existingType = symbol->getWritableType();
 
-
     if (existingType.isExplicitlySizedArray()) {
         // be more lenient for input arrays to geometry shaders and tessellation control outputs, where the redeclaration is the same size
         return;
@@ -3637,7 +3767,7 @@
 //
 TSymbol* HlslParseContext::redeclareBuiltinVariable(const TSourceLoc& /*loc*/, const TString& identifier,
                                                     const TQualifier& /*qualifier*/,
-                                                    const TShaderQualifiers& /*publicType*/, bool& /*newDeclaration*/)
+                                                    const TShaderQualifiers& /*publicType*/)
 {
     if (! builtInName(identifier) || symbolTable.atBuiltInLevel() || ! symbolTable.atGlobalLevel())
         return nullptr;
@@ -3762,7 +3892,7 @@
     symbolTable.insert(*block);
 
     // Save it in the AST for linker use.
-    intermediate.addSymbolLinkageNode(linkage, *block);
+    trackLinkageDeferred(*block);
 }
 
 void HlslParseContext::paramFix(TType& type)
@@ -4236,6 +4366,14 @@
     TVector<const TFunction*> candidateList;
     symbolTable.findFunctionNameList(call.getMangledName(), candidateList, builtIn);
     
+    // These builtin ops can accept any type, so we bypass the argument selection
+    if (candidateList.size() == 1 && builtIn &&
+        (candidateList[0]->getBuiltInOp() == EOpMethodAppend ||
+         candidateList[0]->getBuiltInOp() == EOpMethodRestartStrip)) {
+
+        return candidateList[0];
+    }
+
     // can 'from' convert to 'to'?
     const auto convertible = [this](const TType& from, const TType& to) -> bool {
         if (from == to)
@@ -4251,8 +4389,8 @@
             return false;
 
         // shapes have to be convertible
-        if ((from.isScalar() && to.isScalar()) ||
-            (from.isScalar() && to.isVector()) ||
+        if ((from.isScalarOrVec1() && to.isScalarOrVec1()) ||
+            (from.isScalarOrVec1() && to.isVector())    ||
             (from.isVector() && to.isVector() && from.getVectorSize() >= to.getVectorSize()))
             return true;
 
@@ -4355,8 +4493,7 @@
         return nullptr;
 
     // Check for redeclaration of built-ins and/or attempting to declare a reserved name
-    bool newDeclaration = false;    // true if a new entry gets added to the symbol table
-    TSymbol* symbol = nullptr; // = redeclareBuiltinVariable(loc, identifier, type.getQualifier(), parseType.shaderQualifiers, newDeclaration);
+    TSymbol* symbol = nullptr;
 
     inheritGlobalDefaults(type.getQualifier());
 
@@ -4365,14 +4502,14 @@
     // Declare the variable
     if (type.isArray()) {
         // array case
-        declareArray(loc, identifier, type, symbol, newDeclaration);
         flattenVar = shouldFlatten(type);
+        declareArray(loc, identifier, type, symbol, !flattenVar);
         if (flattenVar)
             flatten(loc, *symbol->getAsVariable());
     } else {
         // non-array case
         if (! symbol)
-            symbol = declareNonArray(loc, identifier, type, newDeclaration);
+            symbol = declareNonArray(loc, identifier, type);
         else if (type != symbol->getType())
             error(loc, "cannot change the type of", "redeclaration", symbol->getName().c_str());
     }
@@ -4394,13 +4531,6 @@
         initNode = executeInitializer(loc, initializer, variable);
     }
 
-    // see if it's a linker-level object to track.  if it's flattened above,
-    // that process added linkage objects for the flattened symbols, we don't
-    // add the aggregate here.
-    if (!flattenVar)
-        if (newDeclaration && symbolTable.atGlobalLevel())
-            intermediate.addSymbolLinkageNode(linkage, *symbol);
-
     return initNode;
 }
 
@@ -4436,19 +4566,20 @@
 //
 // Return the successfully declared variable.
 //
-TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type, bool& newDeclaration)
+TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, TString& identifier, TType& type)
 {
     // make a new variable
     TVariable* variable = new TVariable(&identifier, type);
 
     // add variable to symbol table
-    if (! symbolTable.insert(*variable)) {
-        error(loc, "redefinition", variable->getName().c_str(), "");
-        return nullptr;
-    } else {
-        newDeclaration = true;
+    if (symbolTable.insert(*variable)) {
+        if (symbolTable.atGlobalLevel())
+            trackLinkageDeferred(*variable);
         return variable;
     }
+
+    error(loc, "redefinition", variable->getName().c_str(), "");
+    return nullptr;
 }
 
 //
@@ -4470,7 +4601,8 @@
     // constructor-style subtree, allowing the rest of the code to operate
     // identically for both kinds of initializers.
     //
-    initializer = convertInitializerList(loc, variable->getType(), initializer);
+    if (initializer->getAsAggregate() && initializer->getAsAggregate()->getOp() == EOpNull)
+        initializer = convertInitializerList(loc, variable->getType(), initializer);
     if (! initializer) {
         // error recovery; don't leave const without constant values
         if (qualifier == EvqConst)
@@ -4547,6 +4679,11 @@
 // creating a constructor-style initializer, ensuring we get the
 // same form.
 //
+// Returns a node representing an expression for the initializer list expressed
+// as the correct type.
+//
+// Returns nullptr if there is an error.
+//
 TIntermTyped* HlslParseContext::convertInitializerList(const TSourceLoc& loc, const TType& type, TIntermTyped* initializer)
 {
     // Will operate recursively.  Once a subtree is found that is constructor style,
@@ -4555,8 +4692,15 @@
 
     // see if we have bottomed out in the tree within the initializer-list part
     TIntermAggregate* initList = initializer->getAsAggregate();
-    if (! initList || initList->getOp() != EOpNull)
-        return initializer;
+    if (! initList || initList->getOp() != EOpNull) {
+        // We don't have a list, but if it's a scalar and the 'type' is a
+        // composite, we need to lengthen below to make it useful.
+        // Otherwise, this is an already formed object to initialize with.
+        if (type.isScalar() || !initializer->getType().isScalar())
+            return initializer;
+        else
+            initList = intermediate.makeAggregate(initializer);
+    }
 
     // Of the initializer-list set of nodes, need to process bottom up,
     // so recurse deep, then process on the way up.
@@ -4570,7 +4714,8 @@
         arrayType.newArraySizes(*type.getArraySizes());  // but get a fresh copy of the array information, to edit below
 
         // edit array sizes to fill in unsized dimensions
-        arrayType.changeOuterArraySize((int)initList->getSequence().size());
+        if (type.isImplicitlySizedArray())
+            arrayType.changeOuterArraySize((int)initList->getSequence().size());
         TIntermTyped* firstInit = initList->getSequence()[0]->getAsTyped();
         if (arrayType.isArrayOfArrays() && firstInit->getType().isArray() &&
             arrayType.getArraySizes().getNumDims() == firstInit->getType().getArraySizes()->getNumDims() + 1) {
@@ -4580,8 +4725,12 @@
             }
         }
 
+        // lengthen list to be long enough
+        lengthenList(loc, initList->getSequence(), arrayType.getOuterArraySize());
+
+        // recursively process each element
         TType elementType(arrayType, 0); // dereferenced type
-        for (size_t i = 0; i < initList->getSequence().size(); ++i) {
+        for (int i = 0; i < arrayType.getOuterArraySize(); ++i) {
             initList->getSequence()[i] = convertInitializerList(loc, elementType, initList->getSequence()[i]->getAsTyped());
             if (initList->getSequence()[i] == nullptr)
                 return nullptr;
@@ -4589,6 +4738,9 @@
 
         return addConstructor(loc, initList, arrayType);
     } else if (type.isStruct()) {
+        // lengthen list to be long enough
+        lengthenList(loc, initList->getSequence(), type.getStruct()->size());
+
         if (type.getStruct()->size() != initList->getSequence().size()) {
             error(loc, "wrong number of structure members", "initializer list", "");
             return nullptr;
@@ -4604,6 +4756,9 @@
             // a series of rows and columns.  We can just use the list directly as
             // a constructor; no further processing needed.
         } else {
+            // lengthen list to be long enough
+            lengthenList(loc, initList->getSequence(), type.getMatrixCols());
+
             if (type.getMatrixCols() != (int)initList->getSequence().size()) {
                 error(loc, "wrong number of matrix columns:", "initializer list", type.getCompleteString().c_str());
                 return nullptr;
@@ -4616,6 +4771,10 @@
             }
         }
     } else if (type.isVector()) {
+        // lengthen list to be long enough
+        lengthenList(loc, initList->getSequence(), type.getVectorSize());
+
+        // error check; we're at bottom, so work is finished below
         if (type.getVectorSize() != (int)initList->getSequence().size()) {
             error(loc, "wrong vector size (or rows in a matrix column):", "initializer list", type.getCompleteString().c_str());
             return nullptr;
@@ -4625,7 +4784,7 @@
             error(loc, "scalar expected one element:", "initializer list", type.getCompleteString().c_str());
             return nullptr;
         }
-   } else {
+    } else {
         error(loc, "unexpected initializer-list type:", "initializer list", type.getCompleteString().c_str());
         return nullptr;
     }
@@ -4637,9 +4796,19 @@
         emulatedConstructorArguments = initList->getSequence()[0];
     else
         emulatedConstructorArguments = initList;
+
     return addConstructor(loc, emulatedConstructorArguments, type);
 }
 
+// Lengthen list to be long enough to cover any gap from the current list size
+// to 'size'. If the list is longer, do nothing.
+// The value to lengthen with is the default for short lists.
+void HlslParseContext::lengthenList(const TSourceLoc& loc, TIntermSequence& list, int size)
+{
+    for (int c = (int)list.size(); c < size; ++c)
+        list.push_back(intermediate.addConstantUnion(0, loc));
+}
+
 //
 // Test for the correctness of the parameters passed to various constructor functions
 // and also convert them to the right data type, if allowed and required.
@@ -4651,6 +4820,10 @@
     if (node == nullptr || node->getAsTyped() == nullptr)
         return nullptr;
 
+    // Handle the idiom "(struct type)0"
+    if (type.isStruct() && isZeroConstructor(node))
+        return convertInitializerList(loc, type, intermediate.makeAggregate(loc));
+
     TIntermAggregate* aggrNode = node->getAsAggregate();
     TOperator op = intermediate.mapTypeToConstructorOp(type);
 
@@ -4961,7 +5134,7 @@
     }
 
     // Save it in the AST for linker use.
-    intermediate.addSymbolLinkageNode(linkage, variable);
+    trackLinkageDeferred(variable);
 }
 
 void HlslParseContext::finalizeGlobalUniformBlockLayout(TVariable& block)
@@ -5151,6 +5324,53 @@
 }
 
 //
+// Update the intermediate for the given input geometry
+//
+bool HlslParseContext::handleInputGeometry(const TSourceLoc& loc, const TLayoutGeometry& geometry)
+{
+    switch (geometry) {
+    case ElgPoints:             // fall through
+    case ElgLines:              // ...
+    case ElgTriangles:          // ...
+    case ElgLinesAdjacency:     // ...
+    case ElgTrianglesAdjacency: // ...
+        if (! intermediate.setInputPrimitive(geometry)) {
+            error(loc, "input primitive geometry redefinition", TQualifier::getGeometryString(geometry), "");
+            return false;
+        }
+        break;
+
+    default:
+        error(loc, "cannot apply to 'in'", TQualifier::getGeometryString(geometry), "");
+        return false;
+    }
+
+    return true;
+}
+
+//
+// Update the intermediate for the given output geometry
+//
+bool HlslParseContext::handleOutputGeometry(const TSourceLoc& loc, const TLayoutGeometry& geometry)
+{
+    switch (geometry) {
+    case ElgPoints:
+    case ElgLineStrip:
+    case ElgTriangleStrip:
+        if (! intermediate.setOutputPrimitive(geometry)) {
+            error(loc, "output primitive geometry redefinition", TQualifier::getGeometryString(geometry), "");
+            return false;
+        }
+        break;
+    default:
+        error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(geometry), "");
+        return false;
+    }
+
+    return true;
+}
+
+//
 // Updating default qualifier for the case of a declaration with just a qualifier,
 // no type, block, or identifier.
 //
@@ -5179,16 +5399,7 @@
                 error(loc, "cannot apply to input", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), "");
             }
         } else if (publicType.qualifier.storage == EvqVaryingOut) {
-            switch (publicType.shaderQualifiers.geometry) {
-            case ElgPoints:
-            case ElgLineStrip:
-            case ElgTriangleStrip:
-                if (! intermediate.setOutputPrimitive(publicType.shaderQualifiers.geometry))
-                    error(loc, "cannot change previously set output primitive", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), "");
-                break;
-            default:
-                error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), "");
-            }
+            handleOutputGeometry(loc, publicType.shaderQualifiers.geometry);
         } else
             error(loc, "cannot apply to:", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), GetStorageQualifierString(publicType.qualifier.storage));
     }
diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h
index 2eeba5a..246c7c4 100755
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -41,6 +41,8 @@
 
 namespace glslang {
 
+class TAttributeMap; // forward declare
+
 class HlslParseContext : public TParseContextBase {
 public:
     HlslParseContext(TSymbolTable&, TIntermediate&, bool parsingBuiltins,
@@ -69,7 +71,7 @@
     TIntermTyped* handleDotDereference(const TSourceLoc&, TIntermTyped* base, const TString& field);
     void assignLocations(TVariable& variable);
     TFunction& handleFunctionDeclarator(const TSourceLoc&, TFunction& function, bool prototype);
-    TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&);
+    TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&);
     void handleFunctionBody(const TSourceLoc&, TFunction&, TIntermNode* functionBody, TIntermNode*& node);
     void remapEntryPointIO(TFunction& function);
     void remapNonEntryPointIO(TFunction& function);
@@ -79,6 +81,7 @@
     TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermNode*);
     void decomposeIntrinsic(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
     void decomposeSampleMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
+    void decomposeGeometryMethods(const TSourceLoc&, TIntermTyped*& node, TIntermNode* arguments);
     TIntermTyped* handleLengthMethod(const TSourceLoc&, TFunction*, TIntermNode*);
     void addInputArgumentConversions(const TFunction&, TIntermNode*&) const;
     TIntermTyped* addOutputArgumentConversions(const TFunction&, TIntermAggregate&);
@@ -112,7 +115,7 @@
     bool structQualifierErrorCheck(const TSourceLoc&, const TPublicType& pType);
     void mergeQualifiers(TQualifier& dst, const TQualifier& src);
     int computeSamplerTypeIndex(TSampler&);
-    TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&, bool& newDeclaration);
+    TSymbol* redeclareBuiltinVariable(const TSourceLoc&, const TString&, const TQualifier&, const TShaderQualifiers&);
     void redeclareBuiltinBlock(const TSourceLoc&, TTypeList& typeList, const TString& blockName, const TString* instanceName, TArraySizes* arraySizes);
     void paramFix(TType& type);
     void specializationCheck(const TSourceLoc&, const TType&, const char* op);
@@ -125,6 +128,7 @@
     const TFunction* findFunction(const TSourceLoc& loc, const TFunction& call, bool& builtIn);
     void declareTypedef(const TSourceLoc&, TString& identifier, const TType&, TArraySizes* typeArray = 0);
     TIntermNode* declareVariable(const TSourceLoc&, TString& identifier, TType&, TIntermTyped* initializer = 0);
+    void lengthenList(const TSourceLoc&, TIntermSequence& list, int size);
     TIntermTyped* addConstructor(const TSourceLoc&, TIntermNode*, const TType&);
     TIntermTyped* constructAggregate(TIntermNode*, const TType&, int, const TSourceLoc&);
     TIntermTyped* constructBuiltIn(const TType&, TOperator, TIntermTyped*, const TSourceLoc&, bool subset);
@@ -158,13 +162,17 @@
 
     TLayoutFormat getLayoutFromTxType(const TSourceLoc&, const TType&);
 
+    bool handleOutputGeometry(const TSourceLoc&, const TLayoutGeometry& geometry);
+    bool handleInputGeometry(const TSourceLoc&, const TLayoutGeometry& geometry);
+
 protected:
     void inheritGlobalDefaults(TQualifier& dst) const;
     TVariable* makeInternalVariable(const char* name, const TType&) const;
-    TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&, bool& newDeclaration);
-    void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool& newDeclaration);
+    TVariable* declareNonArray(const TSourceLoc&, TString& identifier, TType&);
+    void declareArray(const TSourceLoc&, TString& identifier, const TType&, TSymbol*&, bool track);
     TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable);
     TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer);
+    bool isZeroConstructor(const TIntermNode*);
     TOperator mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage);
 
     // Return true if this node requires L-value conversion (e.g, to an imageStore).
@@ -187,7 +195,7 @@
     int controlFlowNestingLevel; // 0 if outside all flow control
     TList<TIntermSequence*> switchSequenceStack;  // case, node, case, case, node, ...; ensure only one node between cases;   stack of them for nesting
     bool inEntryPoint;           // if inside a function, true if the function is the entry point
-    bool postMainReturn;         // if inside a function, true if the function is the entry point and this is after a return statement
+    bool postEntryPointReturn;         // if inside a function, true if the function is the entry point and this is after a return statement
     const TType* currentFunctionType;  // the return type of the function that's currently being parsed
     bool functionReturnsValue;   // true if a non-void function has a return
     TBuiltInResource resources;
diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp
index d33cfb8..05dc7cf 100755
--- a/hlsl/hlslParseables.cpp
+++ b/hlsl/hlslParseables.cpp
@@ -55,7 +55,7 @@
 
 namespace {  // anonymous namespace functions
 
-const bool UseHlslTypes = false;
+const bool UseHlslTypes = true;
 
 const char* BaseTypeName(const char argOrder, const char* scalarName, const char* vecName, const char* matName)
 {
@@ -245,26 +245,25 @@
     char order = *argOrder;
 
     if (UseHlslTypes) {
-        // TODO: handle sub-vec4 returns
         switch (type) {
-        case '-': s += "void";                                            break;
-        case 'F': s += "float";                                           break;
-        case 'D': s += "double";                                          break;
-        case 'I': s += "int";                                             break;
-        case 'U': s += "uint";                                            break;
-        case 'B': s += "bool";                                            break;
-        case 'S': s += "sampler";                                         break;
-        case 's': s += "SamplerComparisonState";                          break;
+        case '-': s += "void";                                break;
+        case 'F': s += "float";                               break;
+        case 'D': s += "double";                              break;
+        case 'I': s += "int";                                 break;
+        case 'U': s += "uint";                                break;
+        case 'B': s += "bool";                                break;
+        case 'S': s += "sampler";                             break;
+        case 's': s += "SamplerComparisonState";              break;
         case 'T': s += ((isBuffer && isImage) ? "RWBuffer" :
                         isBuffer ? "Buffer" : 
-                        isImage  ? "RWTexture" : "Texture");              break;
-        case 'i': s += ((isBuffer && isImage) ? "RWBuffer <int4>" :
-                        isBuffer ? "Buffer <int4>" : 
-                        isImage ? "RWTexture <int4>" : "Texture <int4>"); break;
-        case 'u': s += ((isBuffer && isImage) ? "RWBuffer <uint4>" :
-                        isBuffer ? "Buffer <uint4>" :
-                        isImage ? "RWTexture <uint4>" : "Texture <uint4>");break;
-        default:  s += "UNKNOWN_TYPE";                                    break;
+                        isImage  ? "RWTexture" : "Texture");  break;
+        case 'i': s += ((isBuffer && isImage) ? "RWBuffer" :
+                        isBuffer ? "Buffer" : 
+                        isImage ? "RWTexture" : "Texture");   break;
+        case 'u': s += ((isBuffer && isImage) ? "RWBuffer" :
+                        isBuffer ? "Buffer" :
+                        isImage ? "RWTexture" : "Texture");   break;
+        default:  s += "UNKNOWN_TYPE";                        break;
         }
     } else {
         switch (type) {
@@ -337,36 +336,55 @@
     if (isArrayed)
         s += "Array";
 
+    // For HLSL, append return type for texture types
+    if (UseHlslTypes) {
+        switch (type) {
+        case 'i': s += "<int4>";   break;
+        case 'u': s += "<uint4>";  break;
+        case 'T': s += "<float4>"; break;
+        default: break;
+        }
+    }
+
     return s;
 }
 
-// TODO: the GLSL parser is currently used to parse HLSL prototypes.  However, many valid HLSL prototypes
+// The GLSL parser can be used to parse a subset of HLSL prototypes.  However, many valid HLSL prototypes
 // are not valid GLSL prototypes.  This rejects the invalid ones.  Thus, there is a single switch below
 // to enable creation of the entire HLSL space.
-inline bool IsValidGlsl(const char* cname, char retOrder, char retType, char argOrder, char argType,
-                        int dim0, int dim1, int dim0Max, int dim1Max)
+inline bool IsValid(const char* cname, char retOrder, char retType, char argOrder, char argType, int dim0, int dim1)
 {
-    const bool isVec = dim0Max > 1 || argType == 'V';
-    const bool isMat = dim1Max > 1 || argType == 'M';
+    const bool isVec = (argOrder == 'V');
+    const bool isMat = (argOrder == 'M');
 
-    if (!IsTextureType(argOrder) &&
-        ((isVec && dim0 == 1)            ||  // avoid vec1
-         (isMat && dim0 == 1 && dim1 == 1)))  // avoid mat1x1
+    const std::string name(cname);
+
+    // these do not have vec1 versions
+    if (dim0 == 1 && (name == "length" || name == "normalize" || name == "reflect" || name == "refract"))
         return false;
 
-    const std::string name(cname);  // for ease of comparison. slow, but temporary, until HLSL parser is online.
-
-    if (isMat && dim1 == 1)  // TODO: avoid mat Nx1 until we find the right GLSL profile
+    if (!IsTextureType(argOrder) && (isVec && dim0 == 1)) // avoid vec1
         return false;
 
-    if ((isMat && (argType == 'I' || argType == 'U' || argType == 'B')) ||
-        (retOrder == 'M' && (retType == 'I' || retType == 'U' || retType == 'B')))
-        return false;
+    if (UseHlslTypes) {
+        // NO further restrictions for HLSL
+    } else {
+        // GLSL parser restrictions
+        if ((isMat && (argType == 'I' || argType == 'U' || argType == 'B')) ||
+            (retOrder == 'M' && (retType == 'I' || retType == 'U' || retType == 'B')))
+            return false;
 
-    if (name == "GetRenderTargetSamplePosition" ||
-        name == "tex1D" ||
-        name == "tex1Dgrad")
-        return false;
+        if (isMat && dim0 == 1 && dim1 == 1)  // avoid mat1x1
+            return false;
+
+        if (isMat && dim1 == 1)  // TODO: avoid mat Nx1 until we find the right GLSL profile
+            return false;
+
+        if (name == "GetRenderTargetSamplePosition" ||
+            name == "tex1D" ||
+            name == "tex1Dgrad")
+            return false;
+    }
 
     return true;
 }
@@ -503,6 +521,7 @@
     static const EShLanguageMask EShLangCS     = EShLangAll;
     static const EShLanguageMask EShLangPS     = EShLangAll;
     static const EShLanguageMask EShLangHS     = EShLangAll;
+    static const EShLanguageMask EShLangGS     = EShLangAll;
 
     // This structure encodes the prototype information for each HLSL intrinsic.
     // Because explicit enumeration would be cumbersome, it's procedurally generated.
@@ -535,10 +554,10 @@
         { "abort",                            nullptr, nullptr,   "-",              "-",             EShLangAll },
         { "abs",                              nullptr, nullptr,   "SVM",            "DFUI",          EShLangAll },
         { "acos",                             nullptr, nullptr,   "SVM",            "F",             EShLangAll },
-        { "all",                              "S",    "B",        "SVM",            "BFI",           EShLangAll },
+        { "all",                              "S",    "B",        "SVM",            "BFIU",          EShLangAll },
         { "AllMemoryBarrier",                 nullptr, nullptr,   "-",              "-",             EShLangCS },
         { "AllMemoryBarrierWithGroupSync",    nullptr, nullptr,   "-",              "-",             EShLangCS },
-        { "any",                              "S",     "B",       "SVM",            "BFI",           EShLangAll },
+        { "any",                              "S",     "B",       "SVM",            "BFIU",          EShLangAll },
         { "asdouble",                         "S",     "D",       "S,",             "U,",            EShLangAll },
         { "asdouble",                         "V2",    "D",       "V2,",            "U,",            EShLangAll },
         { "asfloat",                          nullptr, "F",       "SVM",            "BFIU",          EShLangAll },
@@ -683,7 +702,7 @@
         { "texCUBEgrad",                      "V4",    "F",       "V4,V3,,",        "S,F,,",         EShLangPS },
         { "texCUBElod",                       "V4",    "F",       "V4,",            "S,F",           EShLangPS },
         { "texCUBEproj",                      "V4",    "F",       "V4,",            "S,F",           EShLangPS },
-        { "transpose",                        "^M",    nullptr,   "M",              "F",             EShLangAll },
+        { "transpose",                        "^M",    nullptr,   "M",              "FUIB",          EShLangAll },
         { "trunc",                            nullptr, nullptr,   "SVM",            "F",             EShLangAll },
 
         // Texture object methods.  Return type can be overridden by shader declaration.
@@ -832,16 +851,14 @@
         { "GatherCmpAlpha",  /* O-4 */        "V4",    nullptr,   "%@,S,V,S,V,,,",  "FIU,s,F,,I,,,",  EShLangAll },
         { "GatherCmpAlpha",  /* O-4, status */"V4",    nullptr,   "%@,S,V,S,V,,,,S","FIU,s,F,,I,,,,U",EShLangAll },
 
-        // TODO: Cmp forms
+        // geometry methods
+        { "Append",                           "-",     "-",       "-",              "-",              EShLangGS  },
+        { "RestartStrip",                     "-",     "-",       "-",              "-",              EShLangGS  },
 
         // Mark end of list, since we want to avoid a range-based for, as some compilers don't handle it yet.
         { nullptr,                            nullptr, nullptr,   nullptr,      nullptr,  0 },
     };
 
-    // Set this to true to avoid generating prototypes that will be invalid for the GLSL parser.
-    // TODO: turn it off (and remove the code) when the HLSL parser can be used to parse builtins.
-    static const bool skipInvalidGlsl = true;
-    
     // Create prototypes for the intrinsics.  TODO: Avoid ranged based for until all compilers can handle it.
     for (int icount = 0; hlslIntrinsics[icount].name; ++icount) {
         const auto& intrinsic = hlslIntrinsics[icount];
@@ -877,8 +894,7 @@
                             const char* retOrder = intrinsic.retOrder ? intrinsic.retOrder : argOrder;
                             const char* retType  = intrinsic.retType  ? intrinsic.retType  : argType;
 
-                            if (skipInvalidGlsl && !IsValidGlsl(intrinsic.name, *retOrder, *retType, *argOrder, *argType,
-                                                                dim0, dim1, dim0Max, dim1Max))
+                            if (!IsValid(intrinsic.name, *retOrder, *retType, *argOrder, *argType, dim0, dim1))
                                 continue;
 
                             // Reject some forms of sample methods that don't exist.
@@ -1143,6 +1159,10 @@
     symbolTable.relateToOperator("GatherCmpGreen",              EOpMethodGatherCmpGreen);
     symbolTable.relateToOperator("GatherCmpBlue",               EOpMethodGatherCmpBlue);
     symbolTable.relateToOperator("GatherCmpAlpha",              EOpMethodGatherCmpAlpha);
+
+    // GS methods
+    symbolTable.relateToOperator("Append",                      EOpMethodAppend);
+    symbolTable.relateToOperator("RestartStrip",                EOpMethodRestartStrip);
 }
 
 //
diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp
index f25bdd8..4e355ba 100755
--- a/hlsl/hlslScanContext.cpp
+++ b/hlsl/hlslScanContext.cpp
@@ -119,6 +119,16 @@
     (*KeywordMap)["inout"] =                   EHTokInOut;
     (*KeywordMap)["layout"] =                  EHTokLayout;
 
+    (*KeywordMap)["point"] =                   EHTokPoint;
+    (*KeywordMap)["line"] =                    EHTokLine;
+    (*KeywordMap)["triangle"] =                EHTokTriangle;
+    (*KeywordMap)["lineadj"] =                 EHTokLineAdj;
+    (*KeywordMap)["triangleadj"] =             EHTokTriangleAdj;
+
+    (*KeywordMap)["PointStream"] =             EHTokPointStream;
+    (*KeywordMap)["LineStream"] =              EHTokLineStream;
+    (*KeywordMap)["TriangleStream"] =          EHTokTriangleStream;
+
     (*KeywordMap)["Buffer"] =                  EHTokBuffer;
     (*KeywordMap)["vector"] =                  EHTokVector;
     (*KeywordMap)["matrix"] =                  EHTokMatrix;
@@ -136,7 +146,7 @@
     (*KeywordMap)["min10float"] =              EHTokMin10float;
     (*KeywordMap)["min16int"] =                EHTokMin16int;
     (*KeywordMap)["min12int"] =                EHTokMin12int;
-    (*KeywordMap)["min16uint"] =               EHTokMin16int;
+    (*KeywordMap)["min16uint"] =               EHTokMin16uint;
 
     (*KeywordMap)["bool1"] =                   EHTokBool1;
     (*KeywordMap)["bool2"] =                   EHTokBool2;
@@ -159,6 +169,43 @@
     (*KeywordMap)["uint3"] =                   EHTokUint3;
     (*KeywordMap)["uint4"] =                   EHTokUint4;
 
+    (*KeywordMap)["min16float1"] =             EHTokMin16float1;
+    (*KeywordMap)["min16float2"] =             EHTokMin16float2;
+    (*KeywordMap)["min16float3"] =             EHTokMin16float3;
+    (*KeywordMap)["min16float4"] =             EHTokMin16float4;
+    (*KeywordMap)["min10float1"] =             EHTokMin10float1;
+    (*KeywordMap)["min10float2"] =             EHTokMin10float2;
+    (*KeywordMap)["min10float3"] =             EHTokMin10float3;
+    (*KeywordMap)["min10float4"] =             EHTokMin10float4;
+    (*KeywordMap)["min16int1"] =               EHTokMin16int1;
+    (*KeywordMap)["min16int2"] =               EHTokMin16int2;
+    (*KeywordMap)["min16int3"] =               EHTokMin16int3;
+    (*KeywordMap)["min16int4"] =               EHTokMin16int4;
+    (*KeywordMap)["min12int1"] =               EHTokMin12int1;
+    (*KeywordMap)["min12int2"] =               EHTokMin12int2;
+    (*KeywordMap)["min12int3"] =               EHTokMin12int3;
+    (*KeywordMap)["min12int4"] =               EHTokMin12int4;
+    (*KeywordMap)["min16uint1"] =              EHTokMin16uint1;
+    (*KeywordMap)["min16uint2"] =              EHTokMin16uint2;
+    (*KeywordMap)["min16uint3"] =              EHTokMin16uint3;
+    (*KeywordMap)["min16uint4"] =              EHTokMin16uint4;
+
+    (*KeywordMap)["bool1x1"] =                 EHTokBool1x1;
+    (*KeywordMap)["bool1x2"] =                 EHTokBool1x2;
+    (*KeywordMap)["bool1x3"] =                 EHTokBool1x3;
+    (*KeywordMap)["bool1x4"] =                 EHTokBool1x4;
+    (*KeywordMap)["bool2x1"] =                 EHTokBool2x1;
+    (*KeywordMap)["bool2x2"] =                 EHTokBool2x2;
+    (*KeywordMap)["bool2x3"] =                 EHTokBool2x3;
+    (*KeywordMap)["bool2x4"] =                 EHTokBool2x4;
+    (*KeywordMap)["bool3x1"] =                 EHTokBool3x1;
+    (*KeywordMap)["bool3x2"] =                 EHTokBool3x2;
+    (*KeywordMap)["bool3x3"] =                 EHTokBool3x3;
+    (*KeywordMap)["bool3x4"] =                 EHTokBool3x4;
+    (*KeywordMap)["bool4x1"] =                 EHTokBool4x1;
+    (*KeywordMap)["bool4x2"] =                 EHTokBool4x2;
+    (*KeywordMap)["bool4x3"] =                 EHTokBool4x3;
+    (*KeywordMap)["bool4x4"] =                 EHTokBool4x4;
     (*KeywordMap)["int1x1"] =                  EHTokInt1x1;
     (*KeywordMap)["int1x2"] =                  EHTokInt1x2;
     (*KeywordMap)["int1x3"] =                  EHTokInt1x3;
@@ -475,7 +522,20 @@
     case EHTokLayout:
         return keyword;
 
-    // template types
+    // primitive types
+    case EHTokPoint:
+    case EHTokLine:
+    case EHTokTriangle:
+    case EHTokLineAdj:
+    case EHTokTriangleAdj:
+        return keyword;
+
+    // stream out types
+    case EHTokPointStream:
+    case EHTokLineStream:
+    case EHTokTriangleStream:
+        return keyword;
+
     case EHTokBuffer:
     case EHTokVector:
     case EHTokMatrix:
@@ -518,8 +578,44 @@
     case EHTokUint2:
     case EHTokUint3:
     case EHTokUint4:
+    case EHTokMin16float1:
+    case EHTokMin16float2:
+    case EHTokMin16float3:
+    case EHTokMin16float4:
+    case EHTokMin10float1:
+    case EHTokMin10float2:
+    case EHTokMin10float3:
+    case EHTokMin10float4:
+    case EHTokMin16int1:
+    case EHTokMin16int2:
+    case EHTokMin16int3:
+    case EHTokMin16int4:
+    case EHTokMin12int1:
+    case EHTokMin12int2:
+    case EHTokMin12int3:
+    case EHTokMin12int4:
+    case EHTokMin16uint1:
+    case EHTokMin16uint2:
+    case EHTokMin16uint3:
+    case EHTokMin16uint4:
 
     // matrix types
+    case EHTokBool1x1:
+    case EHTokBool1x2:
+    case EHTokBool1x3:
+    case EHTokBool1x4:
+    case EHTokBool2x1:
+    case EHTokBool2x2:
+    case EHTokBool2x3:
+    case EHTokBool2x4:
+    case EHTokBool3x1:
+    case EHTokBool3x2:
+    case EHTokBool3x3:
+    case EHTokBool3x4:
+    case EHTokBool4x1:
+    case EHTokBool4x2:
+    case EHTokBool4x3:
+    case EHTokBool4x4:
     case EHTokInt1x1:
     case EHTokInt1x2:
     case EHTokInt1x3:
@@ -536,6 +632,22 @@
     case EHTokInt4x2:
     case EHTokInt4x3:
     case EHTokInt4x4:
+    case EHTokUint1x1:
+    case EHTokUint1x2:
+    case EHTokUint1x3:
+    case EHTokUint1x4:
+    case EHTokUint2x1:
+    case EHTokUint2x2:
+    case EHTokUint2x3:
+    case EHTokUint2x4:
+    case EHTokUint3x1:
+    case EHTokUint3x2:
+    case EHTokUint3x3:
+    case EHTokUint3x4:
+    case EHTokUint4x1:
+    case EHTokUint4x2:
+    case EHTokUint4x3:
+    case EHTokUint4x4:
     case EHTokFloat1x1:
     case EHTokFloat1x2:
     case EHTokFloat1x3:
diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h
index 2994001..6902070 100755
--- a/hlsl/hlslTokens.h
+++ b/hlsl/hlslTokens.h
@@ -66,6 +66,18 @@
     EHTokInOut,
     EHTokLayout,
 
+    // primitive types
+    EHTokPoint,
+    EHTokLine,
+    EHTokTriangle,
+    EHTokLineAdj,
+    EHTokTriangleAdj,
+
+    // stream out types
+    EHTokPointStream,
+    EHTokLineStream,
+    EHTokTriangleStream,
+
     // template types
     EHTokBuffer,
     EHTokVector,
@@ -108,6 +120,26 @@
     EHTokUint2,
     EHTokUint3,
     EHTokUint4,
+    EHTokMin16float1,
+    EHTokMin16float2,
+    EHTokMin16float3,
+    EHTokMin16float4,
+    EHTokMin10float1,
+    EHTokMin10float2,
+    EHTokMin10float3,
+    EHTokMin10float4,
+    EHTokMin16int1,
+    EHTokMin16int2,
+    EHTokMin16int3,
+    EHTokMin16int4,
+    EHTokMin12int1,
+    EHTokMin12int2,
+    EHTokMin12int3,
+    EHTokMin12int4,
+    EHTokMin16uint1,
+    EHTokMin16uint2,
+    EHTokMin16uint3,
+    EHTokMin16uint4,
 
     // matrix types
     EHTokInt1x1,
