diff --git a/.appveyor.yml b/.appveyor.yml
index 64e7ae6..d5c7225 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -25,6 +25,7 @@
 # scripts that run after cloning repository
 install:
   - git clone https://github.com/google/googletest.git External/googletest
+  - C:/Python27/python.exe update_glslang_sources.py
 
 build:
   parallel: true  # enable MSBuild parallel builds
diff --git a/.gitignore b/.gitignore
index 3e6cc14..a1fe394 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
 build/
 Test/localResults/
 External/googletest
+External/spirv-tools
diff --git a/.travis.yml b/.travis.yml
index 40e3fc7..0237d25 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -39,11 +39,8 @@
   apt:
     packages:
       - clang-3.6
-      - ninja-build
 
 install:
-  # Install ninja on Mac OS X.
-  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update && brew install ninja; fi
   # Make sure that clang-3.6 is selected on Linux.
   - if [[ "$TRAVIS_OS_NAME" == "linux" && "$CC" == "clang" ]]; then
       export CC=clang-3.6 CXX=clang++-3.6;
@@ -57,7 +54,8 @@
     fi
 
 before_script:
-  - git clone https://github.com/google/googletest.git External/googletest
+  - git clone --depth=1 https://github.com/google/googletest.git External/googletest
+  - ./update_glslang_sources.py
 
 script:
   - mkdir build && cd build
@@ -68,14 +66,12 @@
             -DANDROID_NATIVE_API_LEVEL=android-12
             -DCMAKE_BUILD_TYPE=Release
             -DANDROID_ABI="armeabi-v7a with NEON"
-            -DBUILD_TESTING=OFF
-            -GNinja ..;
-      ninja;
+            -DBUILD_TESTING=OFF ..;
+      make -j4;
     else
       cmake -DCMAKE_BUILD_TYPE=${GLSLANG_BUILD_TYPE}
-            -DCMAKE_INSTALL_PREFIX=`pwd`/install
-            -GNinja ..;
-      ninja install;
+            -DCMAKE_INSTALL_PREFIX=`pwd`/install ..;
+      make -j4 install;
       ctest --output-on-failure &&
       cd ../Test && ./runtests;
     fi
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9bc94b0..0d453cc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,9 @@
 # increase to 3.1 once all major distributions
 # include a version of CMake >= 3.1
 cmake_minimum_required(VERSION 2.8.12)
+if (POLICY CMP0048)
+  cmake_policy(SET CMP0048 NEW)
+endif()
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
 
 # Adhere to GNU filesystem layout conventions
@@ -18,6 +21,8 @@
 
 option(ENABLE_HLSL "Enables HLSL input support" ON)
 
+option(ENABLE_OPT "Enables spirv-opt capability if present" ON)
+
 if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32)
     set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "..." FORCE)
 endif()
@@ -52,7 +57,7 @@
 
 if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
     add_compile_options(-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
-                        -Wunused-parameter -Wunused-value  -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable)
+                        -Wunused-parameter -Wunused-value  -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable -fno-exceptions)
     add_compile_options(-Wno-reorder)  # disable this from -Wall, since it happens all over.
 elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
     add_compile_options(-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
@@ -83,6 +88,17 @@
 # We depend on these for later projects, so they should come first.
 add_subdirectory(External)
 
+if(NOT TARGET SPIRV-Tools-opt)
+    set(ENABLE_OPT OFF)
+endif()
+
+if(ENABLE_OPT)
+    message(STATUS "optimizer enabled")
+    add_definitions(-DENABLE_OPT)
+elseif(ENABLE_HLSL)
+    message(STATUS "spirv-tools not linked - illegal SPIRV may be generated for HLSL")
+endif()
+
 add_subdirectory(glslang)
 add_subdirectory(OGLCompilersDLL)
 if(ENABLE_GLSLANG_BINARIES)
diff --git a/External/CMakeLists.txt b/External/CMakeLists.txt
index 4f694ee..4d96901 100644
--- a/External/CMakeLists.txt
+++ b/External/CMakeLists.txt
@@ -33,3 +33,11 @@
             "Google Mock was not found - tests based on that will not build")
     endif()
 endif()
+
+if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt)
+    if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools)
+        set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests")
+        add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools)
+    endif()
+endif()
+
diff --git a/README.md b/README.md
index 193e38d..9d5efb5 100644
--- a/README.md
+++ b/README.md
@@ -52,6 +52,7 @@
 ### Dependencies
 
 * [CMake][cmake]: for generating compilation targets.
+* [Python 2.7][python]: for executing SPIRV-Tools scripts. (Optional if not using SPIRV-Tools.)
 * [bison][bison]: _optional_, but needed when changing the grammar (glslang.y).
 * [googletest][googletest]: _optional_, but should use if making any changes to glslang.
 
@@ -74,6 +75,18 @@
 git clone https://github.com/google/googletest.git External/googletest
 ```
 
+If you wish to assure that SPIR-V generated from HLSL is legal for Vulkan,
+or wish to invoke -Os to reduce SPIR-V size from HLSL or GLSL, install
+spirv-tools with this:
+
+```bash
+./update_glslang_sources.py
+```
+
+For running the CMake GUI or Visual Studio with python dependencies, you will,
+in addition to python within the cygwin environment, need a Windows [python][python]
+installation, including selecting the `PATH` update.
+
 #### 3) Configure
 
 Assume the source directory is `$SOURCE_DIR` and
@@ -301,6 +314,7 @@
 
 
 [cmake]: https://cmake.org/
+[python]: https://www.python.org/
 [bison]: https://www.gnu.org/software/bison/
 [googletest]: https://github.com/google/googletest
 [bison-gnu-win32]: http://gnuwin32.sourceforge.net/packages/bison.htm
diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
index 3c5ebab..b1c0277 100755
--- a/SPIRV/CMakeLists.txt
+++ b/SPIRV/CMakeLists.txt
@@ -42,12 +42,21 @@
 add_library(SPIRV STATIC ${SOURCES} ${HEADERS})
 set_property(TARGET SPIRV PROPERTY FOLDER glslang)
 set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
-target_link_libraries(SPIRV glslang)
 
 add_library(SPVRemapper STATIC ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
 set_property(TARGET SPVRemapper PROPERTY FOLDER glslang)
 set_property(TARGET SPVRemapper PROPERTY POSITION_INDEPENDENT_CODE ON)
 
+if(ENABLE_OPT)
+    target_include_directories(SPIRV
+        PRIVATE ${spirv-tools_SOURCE_DIR}/include
+        PRIVATE ${spirv-tools_SOURCE_DIR}/source
+    )
+    target_link_libraries(SPIRV glslang SPIRV-Tools-opt SPVRemapper)
+else()
+    target_link_libraries(SPIRV glslang)
+endif(ENABLE_OPT)
+
 if(WIN32)
     source_group("Source" FILES ${SOURCES} ${HEADERS})
     source_group("Source" FILES ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
diff --git a/SPIRV/GLSL.ext.AMD.h b/SPIRV/GLSL.ext.AMD.h
index 5121ed9..7e97be3 100644
--- a/SPIRV/GLSL.ext.AMD.h
+++ b/SPIRV/GLSL.ext.AMD.h
@@ -33,7 +33,7 @@
 enum Op;
 
 static const int GLSLextAMDVersion = 100;
-static const int GLSLextAMDRevision = 5;
+static const int GLSLextAMDRevision = 6;
 
 // SPV_AMD_shader_ballot
 static const char* const E_SPV_AMD_shader_ballot = "SPV_AMD_shader_ballot";
@@ -106,4 +106,12 @@
 
 static const Capability CapabilityImageReadWriteLodAMD = static_cast<Capability>(5015);
 
+// SPV_AMD_shader_fragment_mask
+static const char* const E_SPV_AMD_shader_fragment_mask = "SPV_AMD_shader_fragment_mask";
+
+static const Capability CapabilityFragmentMaskAMD = static_cast<Capability>(5010);
+
+static const Op OpFragmentMaskFetchAMD = static_cast<Op>(5011);
+static const Op OpFragmentFetchAMD     = static_cast<Op>(5012);
+
 #endif  // #ifndef GLSLextAMD_H
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index b6c9705..b0e51df 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -52,6 +52,16 @@
 #endif
 }
 
+#ifdef ENABLE_OPT
+    #include "spirv-tools/optimizer.hpp"
+    #include "message.h"
+    #include "SPVRemapper.h"
+#endif
+
+#ifdef ENABLE_OPT
+using namespace spvtools;
+#endif
+
 // Glslang includes
 #include "../glslang/MachineIndependent/localintermediate.h"
 #include "../glslang/MachineIndependent/SymbolTable.h"
@@ -71,7 +81,7 @@
 // For low-order part of the generator's magic number. Bump up
 // when there is a change in the style (e.g., if SSA form changes,
 // or a different instruction sequence to do something gets used).
-const int GeneratorVersion = 1;
+const int GeneratorVersion = 2;
 
 namespace {
 class SpecConstantOpModeGuard {
@@ -148,6 +158,8 @@
     void declareUseOfStructMember(const glslang::TTypeList& members, int glslangMember);
 
     bool isShaderEntryPoint(const glslang::TIntermAggregate* node);
+    bool writableParam(glslang::TStorageQualifier);
+    bool originalParam(glslang::TStorageQualifier, const glslang::TType&, bool implicitThisParam);
     void makeFunctions(const glslang::TIntermSequence&);
     void makeGlobalInitializers(const glslang::TIntermSequence&);
     void visitFunctions(const glslang::TIntermSequence&);
@@ -453,15 +465,13 @@
         return spv::BuiltInCullDistance;
 
     case glslang::EbvViewportIndex:
-        if (!memberDeclaration) {
-            builder.addCapability(spv::CapabilityMultiViewport);
-            if (glslangIntermediate->getStage() == EShLangVertex ||
-                glslangIntermediate->getStage() == EShLangTessControl ||
-                glslangIntermediate->getStage() == EShLangTessEvaluation) {
+        builder.addCapability(spv::CapabilityMultiViewport);
+        if (glslangIntermediate->getStage() == EShLangVertex ||
+            glslangIntermediate->getStage() == EShLangTessControl ||
+            glslangIntermediate->getStage() == EShLangTessEvaluation) {
 
-                builder.addExtension(spv::E_SPV_EXT_shader_viewport_index_layer);
-                builder.addCapability(spv::CapabilityShaderViewportIndexLayerEXT);
-            }
+            builder.addExtension(spv::E_SPV_EXT_shader_viewport_index_layer);
+            builder.addCapability(spv::CapabilityShaderViewportIndexLayerEXT);
         }
         return spv::BuiltInViewportIndex;
 
@@ -478,17 +488,14 @@
         return spv::BuiltInSampleMask;
 
     case glslang::EbvLayer:
-        if (!memberDeclaration) {
-            builder.addCapability(spv::CapabilityGeometry);
-            if (glslangIntermediate->getStage() == EShLangVertex ||
-                glslangIntermediate->getStage() == EShLangTessControl ||
-                glslangIntermediate->getStage() == EShLangTessEvaluation) {
+        builder.addCapability(spv::CapabilityGeometry);
+        if (glslangIntermediate->getStage() == EShLangVertex ||
+            glslangIntermediate->getStage() == EShLangTessControl ||
+            glslangIntermediate->getStage() == EShLangTessEvaluation) {
 
-                builder.addExtension(spv::E_SPV_EXT_shader_viewport_index_layer);
-                builder.addCapability(spv::CapabilityShaderViewportIndexLayerEXT);
-            }
+            builder.addExtension(spv::E_SPV_EXT_shader_viewport_index_layer);
+            builder.addCapability(spv::CapabilityShaderViewportIndexLayerEXT);
         }
-
         return spv::BuiltInLayer;
 
     case glslang::EbvPosition:             return spv::BuiltInPosition;
@@ -766,33 +773,41 @@
 {
     if (type.getQualifier().isPipeInput())
         return spv::StorageClassInput;
-    else if (type.getQualifier().isPipeOutput())
+    if (type.getQualifier().isPipeOutput())
         return spv::StorageClassOutput;
-    else if (type.getBasicType() == glslang::EbtAtomicUint)
-        return spv::StorageClassAtomicCounter;
-    else if (type.containsOpaque())
-        return spv::StorageClassUniformConstant;
-    else if (glslangIntermediate->usingStorageBuffer() && type.getQualifier().storage == glslang::EvqBuffer) {
+
+    if (glslangIntermediate->getSource() != glslang::EShSourceHlsl ||
+        type.getQualifier().storage == glslang::EvqUniform) {
+        if (type.getBasicType() == glslang::EbtAtomicUint)
+            return spv::StorageClassAtomicCounter;
+        if (type.containsOpaque())
+            return spv::StorageClassUniformConstant;
+    }
+
+    if (glslangIntermediate->usingStorageBuffer() && type.getQualifier().storage == glslang::EvqBuffer) {
         builder.addExtension(spv::E_SPV_KHR_storage_buffer_storage_class);
         return spv::StorageClassStorageBuffer;
-    } else if (type.getQualifier().isUniformOrBuffer()) {
+    }
+
+    if (type.getQualifier().isUniformOrBuffer()) {
         if (type.getQualifier().layoutPushConstant)
             return spv::StorageClassPushConstant;
         if (type.getBasicType() == glslang::EbtBlock)
             return spv::StorageClassUniform;
-        else
-            return spv::StorageClassUniformConstant;
-    } else {
-        switch (type.getQualifier().storage) {
-        case glslang::EvqShared:        return spv::StorageClassWorkgroup;  break;
-        case glslang::EvqGlobal:        return spv::StorageClassPrivate;
-        case glslang::EvqConstReadOnly: return spv::StorageClassFunction;
-        case glslang::EvqTemporary:     return spv::StorageClassFunction;
-        default:
-            assert(0);
-            return spv::StorageClassFunction;
-        }
+        return spv::StorageClassUniformConstant;
     }
+
+    switch (type.getQualifier().storage) {
+    case glslang::EvqShared:        return spv::StorageClassWorkgroup;
+    case glslang::EvqGlobal:        return spv::StorageClassPrivate;
+    case glslang::EvqConstReadOnly: return spv::StorageClassFunction;
+    case glslang::EvqTemporary:     return spv::StorageClassFunction;
+    default:
+        assert(0);
+        break;
+    }
+
+    return spv::StorageClassFunction;
 }
 
 // Return whether or not the given type is something that should be tied to a
@@ -1086,8 +1101,10 @@
     // Include all "static use" and "linkage only" interface variables on the OpEntryPoint instruction
     if (builder.isPointer(id)) {
         spv::StorageClass sc = builder.getStorageClass(id);
-        if (sc == spv::StorageClassInput || sc == spv::StorageClassOutput)
-            iOSet.insert(id);
+        if (sc == spv::StorageClassInput || sc == spv::StorageClassOutput) {
+            if (!symbol->getType().isStruct() || symbol->getType().getStruct()->size() > 0)
+                iOSet.insert(id);
+        }
     }
 
     // Only process non-linkage-only nodes for generating actual static uses
@@ -2485,10 +2502,6 @@
     if (member.getFieldName() == "gl_ViewportMaskPerViewNV" &&
         extensions.find("GL_NVX_multiview_per_view_attributes") == extensions.end())
         return true;
-    if ((member.getFieldName() == "gl_ViewportIndex" || member.getFieldName() == "gl_Layer") &&
-        extensions.find(glslang::E_GL_ARB_shader_viewport_layer_array) == extensions.end() &&
-        extensions.find("GL_NV_viewport_array2") == extensions.end())
-        return true;
 
     return false;
 };
@@ -2936,8 +2949,6 @@
     case glslang::EbvCullDistance:
     case glslang::EbvPointSize:
 #ifdef NV_EXTENSIONS
-    case glslang::EbvLayer:
-    case glslang::EbvViewportIndex:
     case glslang::EbvViewportMaskNV:
     case glslang::EbvSecondaryPositionNV:
     case glslang::EbvSecondaryViewportMaskNV:
@@ -2960,6 +2971,24 @@
     return node->getName().compare(glslangIntermediate->getEntryPointMangledName().c_str()) == 0;
 }
 
+// Does parameter need a place to keep writes, separate from the original?
+bool TGlslangToSpvTraverser::writableParam(glslang::TStorageQualifier qualifier)
+{
+    return qualifier != glslang::EvqConstReadOnly;
+}
+
+// Is parameter pass-by-original?
+bool TGlslangToSpvTraverser::originalParam(glslang::TStorageQualifier qualifier, const glslang::TType& paramType,
+                                           bool implicitThisParam)
+{
+    if (implicitThisParam)                                                                     // implicit this
+        return true;
+    if (glslangIntermediate->getSource() == glslang::EShSourceHlsl)
+        return false;
+    return paramType.containsOpaque() ||                                                       // sampler, etc.
+           (paramType.getBasicType() == glslang::EbtBlock && qualifier == glslang::EvqBuffer); // SSBO
+}
+
 // Make all the functions, skeletally, without actually visiting their bodies.
 void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslFunctions)
 {
@@ -3000,13 +3029,9 @@
         for (int p = 0; p < (int)parameters.size(); ++p) {
             const glslang::TType& paramType = parameters[p]->getAsTyped()->getType();
             spv::Id typeId = convertGlslangToSpvType(paramType);
-            // can we pass by reference?
-            if (paramType.containsOpaque() ||                                // sampler, etc.
-                (paramType.getBasicType() == glslang::EbtBlock &&
-                 paramType.getQualifier().storage == glslang::EvqBuffer) ||  // SSBO
-                (p == 0 && implicitThis))                                    // implicit 'this'
+            if (originalParam(paramType.getQualifier().storage, paramType, implicitThis && p == 0))
                 typeId = builder.makePointer(TranslateStorageClass(paramType), typeId);
-            else if (paramType.getQualifier().storage != glslang::EvqConstReadOnly)
+            else if (writableParam(paramType.getQualifier().storage))
                 typeId = builder.makePointer(spv::StorageClassFunction, typeId);
             else
                 rValueParameters.insert(parameters[p]->getAsSymbolNode()->getId());
@@ -3204,9 +3229,7 @@
     glslang::TCrackedTextureOp cracked;
     node->crackTexture(sampler, cracked);
 
-    const bool isUnsignedResult =
-        node->getType().getBasicType() == glslang::EbtUint64 ||
-        node->getType().getBasicType() == glslang::EbtUint;
+    const bool isUnsignedResult = node->getType().getBasicType() == glslang::EbtUint;
 
     // Check for queries
     if (cracked.query) {
@@ -3258,7 +3281,9 @@
                 operands.push_back(spv::ImageOperandsSampleMask);
                 operands.push_back(*(opIt++));
             }
-            return builder.createOp(spv::OpImageRead, resultType(), operands);
+            spv::Id result = builder.createOp(spv::OpImageRead, resultType(), operands);
+            builder.setPrecision(result, precision);
+            return result;
         }
 
         operands.push_back(*(opIt++));
@@ -3281,7 +3306,10 @@
             }
             if (builder.getImageTypeFormat(builder.getImageType(operands.front())) == spv::ImageFormatUnknown)
                 builder.addCapability(spv::CapabilityStorageImageReadWithoutFormat);
-            return builder.createOp(spv::OpImageRead, resultType(), operands);
+
+            spv::Id result = builder.createOp(spv::OpImageRead, resultType(), operands);
+            builder.setPrecision(result, precision);
+            return result;
 #ifdef AMD_EXTENSIONS
         } else if (node->getOp() == glslang::EOpImageStore || node->getOp() == glslang::EOpImageStoreLod) {
 #else
@@ -3358,6 +3386,45 @@
         }
     }
 
+#ifdef AMD_EXTENSIONS
+    // Check for fragment mask functions other than queries
+    if (cracked.fragMask) {
+        assert(sampler.ms);
+
+        auto opIt = arguments.begin();
+        std::vector<spv::Id> operands;
+
+        // Extract the image if necessary
+        if (builder.isSampledImage(params.sampler))
+            params.sampler = builder.createUnaryOp(spv::OpImage, builder.getImageType(params.sampler), params.sampler);
+
+        operands.push_back(params.sampler);
+        ++opIt;
+
+        if (sampler.isSubpass()) {
+            // add on the (0,0) coordinate
+            spv::Id zero = builder.makeIntConstant(0);
+            std::vector<spv::Id> comps;
+            comps.push_back(zero);
+            comps.push_back(zero);
+            operands.push_back(builder.makeCompositeConstant(builder.makeVectorType(builder.makeIntType(32), 2), comps));
+        }
+
+        for (; opIt != arguments.end(); ++opIt)
+            operands.push_back(*opIt);
+
+        spv::Op fragMaskOp = spv::OpNop;
+        if (node->getOp() == glslang::EOpFragmentMaskFetch)
+            fragMaskOp = spv::OpFragmentMaskFetchAMD;
+        else if (node->getOp() == glslang::EOpFragmentFetch)
+            fragMaskOp = spv::OpFragmentFetchAMD;
+
+        builder.addExtension(spv::E_SPV_AMD_shader_fragment_mask);
+        builder.addCapability(spv::CapabilityFragmentMaskAMD);
+        return builder.createOp(fragMaskOp, resultType(), operands);
+    }
+#endif
+
     // Check for texture functions other than queries
     bool sparse = node->isSparseTexture();
     bool cubeCompare = sampler.dim == glslang::EsdCube && sampler.arrayed && sampler.shadow;
@@ -3547,8 +3614,9 @@
         builder.clearAccessChain();
         glslangArgs[a]->traverse(this);
         argTypes.push_back(&paramType);
-        // keep outputs and opaque objects as l-values, evaluate input-only as r-values
-        if (qualifiers[a] != glslang::EvqConstReadOnly || paramType.containsOpaque()) {
+        // keep outputs and pass-by-originals as l-values, evaluate others as r-values
+        if (writableParam(qualifiers[a]) ||
+            originalParam(qualifiers[a], paramType, function->hasImplicitThis() && a == 0)) {
             // save l-value
             lValues.push_back(builder.getAccessChain());
         } else {
@@ -3567,13 +3635,11 @@
     for (int a = 0; a < (int)glslangArgs.size(); ++a) {
         const glslang::TType& paramType = glslangArgs[a]->getAsTyped()->getType();
         spv::Id arg;
-        if (paramType.containsOpaque() ||
-            (paramType.getBasicType() == glslang::EbtBlock && qualifiers[a] == glslang::EvqBuffer) ||
-            (a == 0 && function->hasImplicitThis())) {
+        if (originalParam(qualifiers[a], paramType, function->hasImplicitThis() && a == 0)) {
             builder.setAccessChain(lValues[lValueCount]);
             arg = builder.accessChainGetLValue();
             ++lValueCount;
-        } else if (qualifiers[a] != glslang::EvqConstReadOnly) {
+        } else if (writableParam(qualifiers[a])) {
             // need space to hold the copy
             arg = builder.createVariable(spv::StorageClassFunction, convertGlslangToSpvType(paramType), "param");
             if (qualifiers[a] == glslang::EvqIn || qualifiers[a] == glslang::EvqInOut) {
@@ -3600,7 +3666,9 @@
     lValueCount = 0;
     for (int a = 0; a < (int)glslangArgs.size(); ++a) {
         const glslang::TType& paramType = glslangArgs[a]->getAsTyped()->getType();
-        if (qualifiers[a] != glslang::EvqConstReadOnly) {
+        if (originalParam(qualifiers[a], paramType, function->hasImplicitThis() && a == 0))
+            ++lValueCount;
+        else if (writableParam(qualifiers[a])) {
             if (qualifiers[a] == glslang::EvqOut || qualifiers[a] == glslang::EvqInOut) {
                 spv::Id copy = builder.createLoad(spvArgs[a]);
                 builder.setAccessChain(lValues[lValueCount]);
@@ -4716,12 +4784,12 @@
     case glslang::EOpAtomicMin:
     case glslang::EOpImageAtomicMin:
     case glslang::EOpAtomicCounterMin:
-        opCode = typeProxy == glslang::EbtUint ? spv::OpAtomicUMin : spv::OpAtomicSMin;
+        opCode = (typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64) ? spv::OpAtomicUMin : spv::OpAtomicSMin;
         break;
     case glslang::EOpAtomicMax:
     case glslang::EOpImageAtomicMax:
     case glslang::EOpAtomicCounterMax:
-        opCode = typeProxy == glslang::EbtUint ? spv::OpAtomicUMax : spv::OpAtomicSMax;
+        opCode = (typeProxy == glslang::EbtUint || typeProxy == glslang::EbtUint64) ? spv::OpAtomicUMax : spv::OpAtomicSMax;
         break;
     case glslang::EOpAtomicAnd:
     case glslang::EOpImageAtomicAnd:
@@ -4762,11 +4830,15 @@
         break;
     }
 
+    if (typeProxy == glslang::EbtInt64 || typeProxy == glslang::EbtUint64)
+        builder.addCapability(spv::CapabilityInt64Atomics);
+
     // Sort out the operands
     //  - mapping from glslang -> SPV
     //  - there are extra SPV operands with no glslang source
     //  - compare-exchange swaps the value and comparator
     //  - compare-exchange has an extra memory semantics
+    //  - EOpAtomicCounterDecrement needs a post decrement
     std::vector<spv::Id> spvAtomicOperands;  // hold the spv operands
     auto opIt = operands.begin();            // walk the glslang operands
     spvAtomicOperands.push_back(*(opIt++));
@@ -4785,7 +4857,14 @@
     for (; opIt != operands.end(); ++opIt)
         spvAtomicOperands.push_back(*opIt);
 
-    return builder.createOp(opCode, typeId, spvAtomicOperands);
+    spv::Id resultId = builder.createOp(opCode, typeId, spvAtomicOperands);
+
+    // GLSL and HLSL atomic-counter decrement return post-decrement value,
+    // while SPIR-V returns pre-decrement value. Translate between these semantics.
+    if (op == glslang::EOpAtomicCounterDecrement)
+        resultId = builder.createBinOp(spv::OpISub, typeId, resultId, builder.makeIntConstant(1));
+
+    return resultId;
 }
 
 // Create group invocation operations.
@@ -5924,6 +6003,12 @@
     out.close();
 }
 
+#ifdef ENABLE_OPT
+void errHandler(const std::string& str) {
+    std::cerr << str << std::endl;
+}
+#endif
+
 //
 // Set up the glslang traversal
 //
@@ -5952,6 +6037,50 @@
     it.finishSpv();
     it.dumpSpv(spirv);
 
+#ifdef ENABLE_OPT
+    // If from HLSL, run spirv-opt to "legalize" the SPIR-V for Vulkan
+    // eg. forward and remove memory writes of opaque types.
+    if ((intermediate.getSource() == EShSourceHlsl ||
+                options->optimizeSize) &&
+            !options->disableOptimizer) {
+        spv_target_env target_env = SPV_ENV_UNIVERSAL_1_2;
+
+        spvtools::Optimizer optimizer(target_env);
+        optimizer.SetMessageConsumer([](spv_message_level_t level,
+                                         const char* source,
+                                         const spv_position_t& position,
+                                         const char* message) {
+            std::cerr << StringifyMessage(level, source, position, message)
+                      << std::endl;
+        });
+
+        optimizer.RegisterPass(CreateInlineExhaustivePass());
+        optimizer.RegisterPass(CreateLocalAccessChainConvertPass());
+        optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass());
+        optimizer.RegisterPass(CreateLocalSingleStoreElimPass());
+        optimizer.RegisterPass(CreateInsertExtractElimPass());
+        optimizer.RegisterPass(CreateAggressiveDCEPass());
+        optimizer.RegisterPass(CreateDeadBranchElimPass());
+        optimizer.RegisterPass(CreateCFGCleanupPass());
+        optimizer.RegisterPass(CreateBlockMergePass());
+        optimizer.RegisterPass(CreateLocalMultiStoreElimPass());
+        optimizer.RegisterPass(CreateInsertExtractElimPass());
+        optimizer.RegisterPass(CreateAggressiveDCEPass());
+        // TODO(greg-lunarg): Add this when AMD driver issues are resolved
+        // if (options->optimizeSize)
+        //     optimizer.RegisterPass(CreateCommonUniformElimPass());
+
+        if (!optimizer.Run(spirv.data(), spirv.size(), &spirv))
+            return;
+
+        // Remove dead module-level objects: functions, types, vars
+        // TODO(greg-lunarg): Switch to spirv-opt versions when available
+        spv::spirvbin_t Remapper(0);
+        Remapper.registerErrorHandler(errHandler);
+        Remapper.remap(spirv, spv::spirvbin_t::DCE_ALL);
+    }
+#endif
+
     glslang::GetThreadPoolAllocator().pop();
 }
 
diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h
index 0dad4d2..0398501 100644
--- a/SPIRV/GlslangToSpv.h
+++ b/SPIRV/GlslangToSpv.h
@@ -48,8 +48,11 @@
 namespace glslang {
 
 struct SpvOptions {
-    SpvOptions() : generateDebugInfo(false) { }
+    SpvOptions() : generateDebugInfo(false), disableOptimizer(true),
+        optimizeSize(false) { }
     bool generateDebugInfo;
+    bool disableOptimizer;
+    bool optimizeSize;
 };
 
 void GetSpirvVersion(std::string&);
diff --git a/SPIRV/SPVRemapper.cpp b/SPIRV/SPVRemapper.cpp
index e8031d0..4d96df6 100755
--- a/SPIRV/SPVRemapper.cpp
+++ b/SPIRV/SPVRemapper.cpp
@@ -135,6 +135,9 @@
         const unsigned typeStart = idPos(id);
         const spv::Op  opCode    = asOpCode(typeStart);
 
+        if (errorLatch)
+            return 0;
+
         switch (opCode) {
         case spv::OpTypeInt:   // fall through...
         case spv::OpTypeFloat: return (spv[typeStart+2]+31)/32;
@@ -148,8 +151,10 @@
     unsigned spirvbin_t::idTypeSizeInWords(spv::Id id) const
     {
         const auto tid_it = idTypeSizeMap.find(id);
-        if (tid_it == idTypeSizeMap.end())
+        if (tid_it == idTypeSizeMap.end()) {
             error("type size for ID not found");
+            return 0;
+        }
 
         return tid_it->second;
     }
@@ -215,14 +220,19 @@
     bool spirvbin_t::isConstOp(spv::Op opCode) const
     {
         switch (opCode) {
-        case spv::OpConstantNull:       error("unimplemented constant type");
-        case spv::OpConstantSampler:    error("unimplemented constant type");
+        case spv::OpConstantNull:
+        case spv::OpConstantSampler:
+            error("unimplemented constant type");
+            return true;
 
         case spv::OpConstantTrue:
         case spv::OpConstantFalse:
         case spv::OpConstantComposite:
-        case spv::OpConstant:         return true;
-        default:                      return false;
+        case spv::OpConstant:
+            return true;
+
+        default:
+            return false;
         }
     }
 
@@ -248,19 +258,31 @@
     {
         assert(id != spv::NoResult && newId != spv::NoResult);
 
+        if (id > bound()) {
+            error(std::string("ID out of range: ") + std::to_string(id));
+            return spirvbin_t::unused;
+        }
+
         if (id >= idMapL.size())
             idMapL.resize(id+1, unused);
 
         if (newId != unmapped && newId != unused) {
-            if (isOldIdUnused(id))
+            if (isOldIdUnused(id)) {
                 error(std::string("ID unused in module: ") + std::to_string(id));
+                return spirvbin_t::unused;
+            }
 
-            if (!isOldIdUnmapped(id))
+            if (!isOldIdUnmapped(id)) {
                 error(std::string("ID already mapped: ") + std::to_string(id) + " -> "
-                + std::to_string(localId(id)));
+                        + std::to_string(localId(id)));
 
-            if (isNewIdMapped(newId))
+                return spirvbin_t::unused;
+            }
+
+            if (isNewIdMapped(newId)) {
                 error(std::string("ID already used in module: ") + std::to_string(newId));
+                return spirvbin_t::unused;
+            }
 
             msg(4, 4, std::string("map: ") + std::to_string(id) + " -> " + std::to_string(newId));
             setMapped(newId);
@@ -294,6 +316,10 @@
         process(inst_fn_nop, // ignore instructions
             [this](spv::Id& id) {
                 id = localId(id);
+
+                if (errorLatch)
+                    return;
+
                 assert(id != unused && id != unmapped);
             }
         );
@@ -312,14 +338,22 @@
                 continue;
 
             // Find a new mapping for any used but unmapped IDs
-            if (isOldIdUnmapped(id))
+            if (isOldIdUnmapped(id)) {
                 localId(id, unusedId = nextUnusedId(unusedId));
+                if (errorLatch)
+                    return;
+            }
 
-            if (isOldIdUnmapped(id))
+            if (isOldIdUnmapped(id)) {
                 error(std::string("old ID not mapped: ") + std::to_string(id));
+                return;
+            }
 
             // Track max bound
             maxBound = std::max(maxBound, localId(id) + 1);
+
+            if (errorLatch)
+                return;
         }
 
         bound(maxBound); // reset header ID bound to as big as it now needs to be
@@ -401,6 +435,9 @@
                     if (typeId != spv::NoResult) {
                         const unsigned idTypeSize = typeSizeInWords(typeId);
 
+                        if (errorLatch)
+                            return false;
+
                         if (idTypeSize != 0)
                             idTypeSizeMap[resultId] = idTypeSize;
                     }
@@ -416,17 +453,26 @@
                 } else if (opCode == spv::Op::OpEntryPoint) {
                     entryPoint = asId(start + 2);
                 } else if (opCode == spv::Op::OpFunction) {
-                    if (fnStart != 0)
+                    if (fnStart != 0) {
                         error("nested function found");
+                        return false;
+                    }
+
                     fnStart = start;
                     fnRes   = asId(start + 2);
                 } else if (opCode == spv::Op::OpFunctionEnd) {
                     assert(fnRes != spv::NoResult);
-                    if (fnStart == 0)
+                    if (fnStart == 0) {
                         error("function end without function start");
+                        return false;
+                    }
+
                     fnPos[fnRes] = range_t(fnStart, start + asWordCount(start));
                     fnStart = 0;
                 } else if (isConstOp(opCode)) {
+                    if (errorLatch)
+                        return false;
+
                     assert(asId(start + 2) != spv::NoResult);
                     typeConstPos.insert(start);
                 } else if (isTypeOp(opCode)) {
@@ -446,18 +492,24 @@
     {
         msg(2, 2, std::string("validating: "));
 
-        if (spv.size() < header_size)
+        if (spv.size() < header_size) {
             error("file too short: ");
+            return;
+        }
 
-        if (magic() != spv::MagicNumber)
+        if (magic() != spv::MagicNumber) {
             error("bad magic number");
+            return;
+        }
 
         // field 1 = version
         // field 2 = generator magic
         // field 3 = result <id> bound
 
-        if (schemaNum() != 0)
+        if (schemaNum() != 0) {
             error("bad schema, must be 0");
+            return;
+        }
     }
 
     int spirvbin_t::processInstruction(unsigned word, instfn_t instFn, idfn_t idFn)
@@ -467,8 +519,10 @@
         const int      nextInst  = word++ + wordCount;
         spv::Op  opCode    = asOpCode(instructionStart);
 
-        if (nextInst > int(spv.size()))
+        if (nextInst > int(spv.size())) {
             error("spir instruction terminated too early");
+            return -1;
+        }
 
         // Base for computing number of operands; will be updated as more is learned
         unsigned numOperands = wordCount - 1;
@@ -550,6 +604,9 @@
                     const unsigned literalSize = idTypeSizeInWords(idBuffer[literalSizePos]);
                     const unsigned numLiteralIdPairs = (nextInst-word) / (1+literalSize);
 
+                    if (errorLatch)
+                        return -1;
+
                     for (unsigned arg=0; arg<numLiteralIdPairs; ++arg) {
                         word += literalSize;  // literal
                         idFn(asId(word++));   // label
@@ -626,9 +683,13 @@
         // basic parsing and InstructionDesc table borrowed from SpvDisassemble.cpp...
         unsigned nextInst = unsigned(spv.size());
 
-        for (unsigned word = begin; word < end; word = nextInst)
+        for (unsigned word = begin; word < end; word = nextInst) {
             nextInst = processInstruction(word, instFn, idFn);
 
+            if (errorLatch)
+                return *this;
+        }
+
         return *this;
     }
 
@@ -643,8 +704,11 @@
             for (const char c : name.first)
                 hashval = hashval * 1009 + c;
 
-            if (isOldIdUnmapped(name.second))
+            if (isOldIdUnmapped(name.second)) {
                 localId(name.second, nextUnusedId(hashval % softTypeIdLimit + firstMappedID));
+                if (errorLatch)
+                    return;
+            }
         }
     }
 
@@ -666,6 +730,9 @@
             [&](spv::Op, unsigned start) { instPos.push_back(start); return true; },
             op_fn_nop);
 
+        if (errorLatch)
+            return;
+
         // Window size for context-sensitive canonicalization values
         // Empirical best size from a single data set.  TODO: Would be a good tunable.
         // We essentially perform a little convolution around each instruction,
@@ -701,8 +768,12 @@
                         hashval = hashval * 30103 + asOpCodeHash(instPos[i]); // 30103 = semiarbitrary prime
                     }
 
-                    if (isOldIdUnmapped(resId))
+                    if (isOldIdUnmapped(resId)) {
                         localId(resId, nextUnusedId(hashval % softTypeIdLimit + firstMappedID));
+                        if (errorLatch)
+                            return;
+                    }
+
                 }
             }
         }
@@ -795,6 +866,9 @@
             [&](spv::Id& id) { if (idMap.find(id) != idMap.end()) id = idMap[id]; }
         );
 
+        if (errorLatch)
+            return;
+
         // EXPERIMENTAL: Implicit output stores
         fnLocalVars.clear();
         idMap.clear();
@@ -815,11 +889,17 @@
             },
             op_fn_nop);
 
+        if (errorLatch)
+            return;
+
         process(
             inst_fn_nop,
             [&](spv::Id& id) { if (idMap.find(id) != idMap.end()) id = idMap[id]; }
         );
 
+        if (errorLatch)
+            return;
+
         strip();          // strip out data we decided to eliminate
     }
 
@@ -919,6 +999,9 @@
             }
         );
 
+        if (errorLatch)
+            return;
+
         process(
             [&](spv::Op opCode, unsigned start) {
                 if (opCode == spv::OpLoad && fnLocalVars.count(asId(start+3)) > 0)
@@ -927,6 +1010,9 @@
             },
             op_fn_nop);
 
+        if (errorLatch)
+            return;
+
         // Chase replacements to their origins, in case there is a chain such as:
         //   2 = store 1
         //   3 = load 2
@@ -960,6 +1046,9 @@
             }
         );
 
+        if (errorLatch)
+            return;
+
         strip();          // strip out data we decided to eliminate
     }
 
@@ -1003,6 +1092,9 @@
                         fn->second.first,
                         fn->second.second);
 
+                    if (errorLatch)
+                        return;
+
                     fn = fnPos.erase(fn);
                 } else ++fn;
             }
@@ -1035,6 +1127,9 @@
             [&](spv::Id& id) { if (varUseCount[id]) ++varUseCount[id]; }
         );
 
+        if (errorLatch)
+            return;
+
         // Remove single-use function variables + associated decorations and names
         process(
             [&](spv::Op opCode, unsigned start) {
@@ -1076,6 +1171,9 @@
                     [&](spv::Id& id) { if (isType[id]) ++typeUseCount[id]; }
                     );
 
+            if (errorLatch)
+                return;
+
             // Remove single reference types
             for (const auto typeStart : typeConstPos) {
                 const spv::Id typeId = asTypeConstId(typeStart);
@@ -1085,6 +1183,9 @@
                     stripInst(typeStart);
                 }
             }
+
+            if (errorLatch)
+                return;
         }
     }
 
@@ -1163,8 +1264,10 @@
     unsigned spirvbin_t::idPos(spv::Id id) const
     {
         const auto tid_it = idPosR.find(id);
-        if (tid_it == idPosR.end())
+        if (tid_it == idPosR.end()) {
             error("ID not found");
+            return 0;
+        }
 
         return tid_it->second;
     }
@@ -1263,8 +1366,14 @@
             const spv::Id       resId     = asTypeConstId(typeStart);
             const std::uint32_t hashval   = hashType(typeStart);
 
-            if (isOldIdUnmapped(resId))
+            if (errorLatch)
+                return;
+
+            if (isOldIdUnmapped(resId)) {
                 localId(resId, nextUnusedId(hashval % softTypeIdLimit + firstMappedID));
+                if (errorLatch)
+                    return;
+            }
         }
     }
 
@@ -1310,24 +1419,49 @@
         msg(3, 4, std::string("ID bound: ") + std::to_string(bound()));
 
         if (options & STRIP)         stripDebug();
+        if (errorLatch) return;
+
         strip();        // strip out data we decided to eliminate
+        if (errorLatch) return;
+
         if (options & OPT_LOADSTORE) optLoadStore();
+        if (errorLatch) return;
+
         if (options & OPT_FWD_LS)    forwardLoadStores();
+        if (errorLatch) return;
+
         if (options & DCE_FUNCS)     dceFuncs();
+        if (errorLatch) return;
+
         if (options & DCE_VARS)      dceVars();
+        if (errorLatch) return;
+
         if (options & DCE_TYPES)     dceTypes();
+        if (errorLatch) return;
 
         strip();         // strip out data we decided to eliminate
+        if (errorLatch) return;
+
         stripDeadRefs(); // remove references to things we DCEed
+        if (errorLatch) return;
+
         // after the last strip, we must clean any debug info referring to now-deleted data
 
         if (options & MAP_TYPES)     mapTypeConst();
+        if (errorLatch) return;
+
         if (options & MAP_NAMES)     mapNames();
+        if (errorLatch) return;
+
         if (options & MAP_FUNCS)     mapFnBodies();
+        if (errorLatch) return;
 
         if (options & MAP_ALL) {
             mapRemainder(); // map any unmapped IDs
+            if (errorLatch) return;
+
             applyMap();     // Now remap each shader to the new IDs we've come up with
+            if (errorLatch) return;
         }
     }
 
diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h
index f9f369a..97e3f31 100755
--- a/SPIRV/SPVRemapper.h
+++ b/SPIRV/SPVRemapper.h
@@ -39,6 +39,7 @@
 #include <string>
 #include <vector>
 #include <cstdlib>
+#include <exception>
 
 namespace spv {
 
@@ -111,7 +112,9 @@
 class spirvbin_t : public spirvbin_base_t
 {
 public:
-   spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose) { }
+   spirvbin_t(int verbose = 0) : entryPoint(spv::NoResult), largestNewId(0), verbose(verbose), errorLatch(false)
+   { }
+
    virtual ~spirvbin_t() { }
 
    // remap on an existing binary in memory
@@ -165,7 +168,7 @@
    typedef std::unordered_map<spv::Id, unsigned> typesize_map_t;
 
    // handle error
-   void error(const std::string& txt) const { errorHandler(txt); }
+   void error(const std::string& txt) const { errorLatch = true; errorHandler(txt); }
 
    bool     isConstOp(spv::Op opCode)      const;
    bool     isTypeOp(spv::Op opCode)       const;
@@ -286,6 +289,11 @@
    std::uint32_t options;
    int           verbose;     // verbosity level
 
+   // Error latch: this is set if the error handler is ever executed.  It would be better to
+   // use a try/catch block and throw, but that's not desired for certain environments, so
+   // this is the alternative.
+   mutable bool errorLatch;
+
    static errorfn_t errorHandler;
    static logfn_t   logHandler;
 };
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
index 289d59a..c795ca8 100644
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -469,7 +469,10 @@
 
     if (ms) {
         if (sampled == 2) {
-            addCapability(CapabilityStorageImageMultisample);
+            // Images used with subpass data are not storage
+            // images, so don't require the capability for them.
+            if (dim != Dim::DimSubpassData)
+                addCapability(CapabilityStorageImageMultisample);
             if (arrayed)
                 addCapability(CapabilityImageMSArray);
         }
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
index 2fe5d9c..f9d5254 100755
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -847,6 +847,7 @@
 
 #ifdef AMD_EXTENSIONS
     case 5009: return "ImageGatherBiasLodAMD";
+    case 5010: return "FragmentMaskAMD";
     case 5015: return "ImageReadWriteLodAMD";
 #endif
 
@@ -1207,6 +1208,9 @@
     case 5005: return "OpGroupFMaxNonUniformAMD";
     case 5006: return "OpGroupUMaxNonUniformAMD";
     case 5007: return "OpGroupSMaxNonUniformAMD";
+
+    case 5011: return "OpFragmentMaskFetchAMD";
+    case 5012: return "OpFragmentFetchAMD";
 #endif
 
     case OpcodeCeiling:
@@ -2869,6 +2873,15 @@
     InstructionDesc[OpGroupFMaxNonUniformAMD].operands.push(OperandScope, "'Execution'");
     InstructionDesc[OpGroupFMaxNonUniformAMD].operands.push(OperandGroupOperation, "'Operation'");
     InstructionDesc[OpGroupFMaxNonUniformAMD].operands.push(OperandId, "X");
+
+    InstructionDesc[OpFragmentMaskFetchAMD].capabilities.push_back(CapabilityFragmentMaskAMD);
+    InstructionDesc[OpFragmentMaskFetchAMD].operands.push(OperandId, "'Image'");
+    InstructionDesc[OpFragmentMaskFetchAMD].operands.push(OperandId, "'Coordinate'");
+
+    InstructionDesc[OpFragmentFetchAMD].capabilities.push_back(CapabilityFragmentMaskAMD);
+    InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Image'");
+    InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Coordinate'");
+    InstructionDesc[OpFragmentFetchAMD].operands.push(OperandId, "'Fragment Index'");
 #endif
 }
 
diff --git a/StandAlone/DirStackFileIncluder.h b/StandAlone/DirStackFileIncluder.h
index 8d6543a..1873413 100644
--- a/StandAlone/DirStackFileIncluder.h
+++ b/StandAlone/DirStackFileIncluder.h
@@ -54,7 +54,7 @@
                                         const char* includerName,
                                         size_t inclusionDepth) override
     {
-        return readLocalPath(headerName, includerName, inclusionDepth);
+        return readLocalPath(headerName, includerName, (int)inclusionDepth);
     }
 
     virtual IncludeResult* includeSystem(const char* headerName,
@@ -73,7 +73,7 @@
     virtual void pushExternalLocalDirectory(const std::string& dir)
     {
         directoryStack.push_back(dir);
-        externalLocalDirectoryCount = directoryStack.size();
+        externalLocalDirectoryCount = (int)directoryStack.size();
     }
 
     virtual void releaseInclude(IncludeResult* result) override
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
index 53a33b8..19302cb 100644
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -55,6 +55,7 @@
 #include <cctype>
 #include <cmath>
 #include <array>
+#include <map>
 #include <memory>
 #include <thread>
 
@@ -94,6 +95,9 @@
     EOptionHlslIoMapping        = (1 << 24),
     EOptionAutoMapLocations     = (1 << 25),
     EOptionDebug                = (1 << 26),
+    EOptionStdin                = (1 << 27),
+    EOptionOptimizeDisable      = (1 << 28),
+    EOptionOptimizeSize         = (1 << 29),
 };
 
 //
@@ -154,12 +158,11 @@
 unsigned int TargetVersion = 0x00001000; // maps to, say, SPIR-V 1.0
 std::vector<std::string> Processes;      // what should be recorded by OpModuleProcessed, or equivalent
 
-std::array<unsigned int, EShLangCount> baseSamplerBinding;
-std::array<unsigned int, EShLangCount> baseTextureBinding;
-std::array<unsigned int, EShLangCount> baseImageBinding;
-std::array<unsigned int, EShLangCount> baseUboBinding;
-std::array<unsigned int, EShLangCount> baseSsboBinding;
-std::array<unsigned int, EShLangCount> baseUavBinding;
+// Per descriptor-set binding base data
+typedef std::map<unsigned int, unsigned int> TPerSetBaseBinding;
+
+std::array<std::array<unsigned int, EShLangCount>, glslang::EResCount> baseBinding;
+std::array<std::array<TPerSetBaseBinding, EShLangCount>, glslang::EResCount> baseBindingForSet;
 std::array<std::vector<std::string>, EShLangCount> baseResourceSetBinding;
 
 // Add things like "#define ..." to a preamble to use in the beginning of the shader.
@@ -263,31 +266,54 @@
 }
 
 //
-// Process an optional binding base of the form:
-//   --argname [stage] base
+// Process an optional binding base of one the forms:
+//   --argname [stage] base            // base for stage (if given) or all stages (if not)
+//   --argname [stage] [set base]...   // set/base pairs: set the base for given binding set.
+
 // Where stage is one of the forms accepted by FindLanguage, and base is an integer
 //
-void ProcessBindingBase(int& argc, char**& argv, std::array<unsigned int, EShLangCount>& base)
+void ProcessBindingBase(int& argc, char**& argv, glslang::TResourceType res)
 {
     if (argc < 2)
         usage();
 
-    if (!isdigit(argv[1][0])) {
+    EShLanguage lang = EShLangCount;
+    int singleBase = 0;
+    TPerSetBaseBinding perSetBase;
+    int arg = 1;
+
+    // Parse stage, if given
+    if (!isdigit(argv[arg][0])) {
         if (argc < 3) // this form needs one more argument
             usage();
 
-        // Parse form: --argname stage base
-        const EShLanguage lang = FindLanguage(argv[1], false);
-        base[lang] = atoi(argv[2]);
-        argc-= 2;
-        argv+= 2;
-    } else {
-        // Parse form: --argname base
-        for (int lang=0; lang<EShLangCount; ++lang)
-            base[lang] = atoi(argv[1]);
+        lang = FindLanguage(argv[arg++], false);
+    }
 
-        argc--;
-        argv++;
+    if ((argc - arg) > 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) {
+        // Parse a per-set binding base
+        while ((argc - arg) > 2 && isdigit(argv[arg+0][0]) && isdigit(argv[arg+1][0])) {
+            const int setNum = atoi(argv[arg++]);
+            const int baseNum = atoi(argv[arg++]);
+            perSetBase[setNum] = baseNum;
+        }
+    } else {
+        // Parse single binding base
+        singleBase = atoi(argv[arg++]);
+    }
+
+    argc -= (arg-1);
+    argv += (arg-1);
+
+    // Set one or all languages
+    const int langMin = (lang < EShLangCount) ? lang+0 : 0;
+    const int langMax = (lang < EShLangCount) ? lang+1 : EShLangCount;
+
+    for (int lang = langMin; lang < langMax; ++lang) {
+        if (!perSetBase.empty())
+            baseBindingForSet[res][lang] = perSetBase;
+        else
+            baseBinding[res][lang] = singleBase;
     }
 }
 
@@ -336,12 +362,8 @@
 //
 void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItems, int argc, char* argv[])
 {
-    baseSamplerBinding.fill(0);
-    baseTextureBinding.fill(0);
-    baseImageBinding.fill(0);
-    baseUboBinding.fill(0);
-    baseSsboBinding.fill(0);
-    baseUavBinding.fill(0);
+    for (int res = 0; res < glslang::EResCount; ++res)
+        baseBinding[res].fill(0);
 
     ExecutableName = argv[0];
     workItems.reserve(argc);
@@ -438,30 +460,30 @@
                     } else if (lowerword == "shift-image-bindings" ||  // synonyms
                                lowerword == "shift-image-binding"  ||
                                lowerword == "sib") {
-                        ProcessBindingBase(argc, argv, baseImageBinding);
+                        ProcessBindingBase(argc, argv, glslang::EResImage);
                     } else if (lowerword == "shift-sampler-bindings" || // synonyms
                         lowerword == "shift-sampler-binding"  ||
                         lowerword == "ssb") {
-                        ProcessBindingBase(argc, argv, baseSamplerBinding);
+                        ProcessBindingBase(argc, argv, glslang::EResSampler);
                     } else if (lowerword == "shift-uav-bindings" ||  // synonyms
                                lowerword == "shift-uav-binding"  ||
                                lowerword == "suavb") {
-                        ProcessBindingBase(argc, argv, baseUavBinding);
+                        ProcessBindingBase(argc, argv, glslang::EResUav);
                     } else if (lowerword == "shift-texture-bindings" ||  // synonyms
                                lowerword == "shift-texture-binding"  ||
                                lowerword == "stb") {
-                        ProcessBindingBase(argc, argv, baseTextureBinding);
+                        ProcessBindingBase(argc, argv, glslang::EResTexture);
                     } else if (lowerword == "shift-ubo-bindings" ||  // synonyms
                                lowerword == "shift-ubo-binding"  ||
                                lowerword == "shift-cbuffer-bindings" ||
                                lowerword == "shift-cbuffer-binding"  ||
                                lowerword == "sub" ||
                                lowerword == "scb") {
-                        ProcessBindingBase(argc, argv, baseUboBinding);
+                        ProcessBindingBase(argc, argv, glslang::EResUbo);
                     } else if (lowerword == "shift-ssbo-bindings" ||  // synonyms
                                lowerword == "shift-ssbo-binding"  ||
                                lowerword == "sbb") {
-                        ProcessBindingBase(argc, argv, baseSsboBinding);
+                        ProcessBindingBase(argc, argv, glslang::EResSsbo);
                     } else if (lowerword == "source-entrypoint" || // synonyms
                                lowerword == "sep") {
                         if (argc <= 1)
@@ -469,6 +491,9 @@
                         sourceEntryPointName = argv[1];
                         bumpArg();
                         break;
+                    } else if (lowerword == "stdin") {
+                        Options |= EOptionStdin;
+                        shaderStageName = argv[1];
                     } else if (lowerword == "suppress-warnings") {
                         Options |= EOptionSuppressWarnings;
                     } else if (lowerword == "target-env") {
@@ -524,6 +549,18 @@
             case 'I':
                 IncludeDirectoryList.push_back(getStringOperand("-I<dir> include path"));
                 break;
+            case 'O':
+                if (argv[0][2] == 'd')
+                    Options |= EOptionOptimizeDisable;
+                else if (argv[0][2] == 's')
+#ifdef ENABLE_OPT
+                    Options |= EOptionOptimizeSize;
+#else
+                    Error("-Os not available; optimizer not linked");
+#endif
+                else
+                    Error("unknown -O option");
+                break;
             case 'S':
                 if (argc <= 1)
                     Error("no <stage> specified for -S");
@@ -549,7 +586,7 @@
                 // This is okay for one compilation unit with one entry point.
                 entryPointName = argv[1];
                 if (argc <= 1)
-                    Error("no <entry-point> provided for -e");
+                    Error("no <name> provided for -e");
                 bumpArg();
                 break;
             case 'g':
@@ -606,6 +643,10 @@
         }
     }
 
+    // Make sure that -S is always specified if --stdin is specified
+    if ((Options & EOptionStdin) && shaderStageName == nullptr)
+        Error("must provide -S when --stdin is given");
+
     // Make sure that -E is not specified alongside linking (which includes SPV generation)
     if ((Options & EOptionOutputPreprocessed) && (Options & EOptionLinkProgram))
         Error("can't use -E when linking is selected");
@@ -654,17 +695,31 @@
 void CompileShaders(glslang::TWorklist& worklist)
 {
     glslang::TWorkItem* workItem;
-    while (worklist.remove(workItem)) {
-        ShHandle compiler = ShConstructCompiler(FindLanguage(workItem->name), Options);
+    if (Options & EOptionStdin) {
+        worklist.remove(workItem);
+        ShHandle compiler = ShConstructCompiler(FindLanguage("stdin"), Options);
         if (compiler == 0)
             return;
 
-        CompileFile(workItem->name.c_str(), compiler);
+        CompileFile("stdin", compiler);
 
-        if (! (Options & EOptionSuppressInfolog))
-            workItem->results = ShGetInfoLog(compiler);
+            if (! (Options & EOptionSuppressInfolog))
+                workItem->results = ShGetInfoLog(compiler);
 
         ShDestruct(compiler);
+    } else {
+        while (worklist.remove(workItem)) {
+            ShHandle compiler = ShConstructCompiler(FindLanguage(workItem->name), Options);
+            if (compiler == 0)
+                return;
+
+            CompileFile(workItem->name.c_str(), compiler);
+
+            if (! (Options & EOptionSuppressInfolog))
+                workItem->results = ShGetInfoLog(compiler);
+
+            ShDestruct(compiler);
+        }
     }
 }
 
@@ -745,18 +800,30 @@
         shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, compUnit.count);
         if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
             shader->setEntryPoint(entryPointName);
-        if (sourceEntryPointName)
+        if (sourceEntryPointName) {
+            if (entryPointName == nullptr)
+                printf("Warning: Changing source entry point name without setting an entry-point name.\n"
+                       "Use '-e <name>'.\n");
             shader->setSourceEntryPoint(sourceEntryPointName);
+        }
         if (UserPreamble.isSet())
             shader->setPreamble(UserPreamble.get());
         shader->addProcesses(Processes);
 
-        shader->setShiftSamplerBinding(baseSamplerBinding[compUnit.stage]);
-        shader->setShiftTextureBinding(baseTextureBinding[compUnit.stage]);
-        shader->setShiftImageBinding(baseImageBinding[compUnit.stage]);
-        shader->setShiftUboBinding(baseUboBinding[compUnit.stage]);
-        shader->setShiftSsboBinding(baseSsboBinding[compUnit.stage]);
-        shader->setShiftUavBinding(baseUavBinding[compUnit.stage]);
+        // Set IO mapper binding shift values
+        for (int r = 0; r < glslang::EResCount; ++r) {
+            const glslang::TResourceType res = glslang::TResourceType(r);
+
+            // Set base bindings
+            shader->setShiftBinding(res, baseBinding[res][compUnit.stage]);
+            
+            // Set bindings for particular resource sets
+            // TODO: use a range based for loop here, when available in all environments.
+            for (auto i = baseBindingForSet[res][compUnit.stage].begin();
+                 i != baseBindingForSet[res][compUnit.stage].end(); ++i)
+                shader->setShiftBindingForSet(res, i->first, i->second);
+        }
+
         shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
         shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
         shader->setResourceSetBinding(baseResourceSetBinding[compUnit.stage]);
@@ -860,6 +927,8 @@
                     glslang::SpvOptions spvOptions;
                     if (Options & EOptionDebug)
                         spvOptions.generateDebugInfo = true;
+                    spvOptions.disableOptimizer = (Options & EOptionOptimizeDisable) != 0;
+                    spvOptions.optimizeSize = (Options & EOptionOptimizeSize) != 0;
                     glslang::GlslangToSpv(*program.getIntermediate((EShLanguage)stage), spirv, &logger, &spvOptions);
 
                     // Dump the spv to a file or stdout, etc., but only if not doing
@@ -908,19 +977,32 @@
 {
     std::vector<ShaderCompUnit> compUnits;
 
-    // Transfer all the work items from to a simple list of
-    // of compilation units.  (We don't care about the thread
-    // work-item distribution properties in this path, which
-    // is okay due to the limited number of shaders, know since
-    // they are all getting linked together.)
-    glslang::TWorkItem* workItem;
-    while (Worklist.remove(workItem)) {
-        ShaderCompUnit compUnit(FindLanguage(workItem->name));
-        char* fileText = ReadFileData(workItem->name.c_str());
-        if (fileText == nullptr)
-            usage();
-        compUnit.addString(workItem->name, fileText);
+    // If this is using stdin, we can't really detect multiple different file
+    // units by input type. We need to assume that we're just being given one
+    // file of a certain type.
+    if ((Options & EOptionStdin) != 0) {
+        ShaderCompUnit compUnit(FindLanguage("stdin"));
+        std::istreambuf_iterator<char> begin(std::cin), end;
+        std::string tempString(begin, end);
+        char* fileText = strdup(tempString.c_str());
+        std::string fileName = "stdin";
+        compUnit.addString(fileName, fileText);
         compUnits.push_back(compUnit);
+    } else {
+        // Transfer all the work items from to a simple list of
+        // of compilation units.  (We don't care about the thread
+        // work-item distribution properties in this path, which
+        // is okay due to the limited number of shaders, know since
+        // they are all getting linked together.)
+        glslang::TWorkItem* workItem;
+        while (Worklist.remove(workItem)) {
+            ShaderCompUnit compUnit(FindLanguage(workItem->name));
+            char* fileText = ReadFileData(workItem->name.c_str());
+            if (fileText == nullptr)
+                usage();
+            compUnit.addString(workItem->name, fileText);
+            compUnits.push_back(compUnit);
+        }
     }
 
     // Actual call to programmatic processing of compile and link,
@@ -973,10 +1055,15 @@
             return ESuccess;
     }
 
-    if (workList.empty()) {
+    if (workList.empty() && ((Options & EOptionStdin) == 0)) {
         usage();
     }
 
+    if (Options & EOptionStdin) {
+        workItems.push_back(std::unique_ptr<glslang::TWorkItem>{new glslang::TWorkItem("stdin")});
+        workList.add(workItems.back().get());
+    }
+
     ProcessConfigFile();
 
     //
@@ -1087,7 +1174,14 @@
 void CompileFile(const char* fileName, ShHandle compiler)
 {
     int ret = 0;
-    char* shaderString = ReadFileData(fileName);
+    char* shaderString;
+    if ((Options & EOptionStdin) != 0) {
+        std::istreambuf_iterator<char> begin(std::cin), end;
+        std::string tempString(begin, end);
+        shaderString = strdup(tempString.c_str());
+    } else {
+        shaderString = ReadFileData(fileName);
+    }
 
     // move to length-based strings, rather than null-terminated strings
     int* lengths = new int[1];
@@ -1154,6 +1248,8 @@
            "  -H          print human readable form of SPIR-V; turns on -V\n"
            "  -I<dir>     add dir to the include search path; includer's directory\n"
            "              is searched first, followed by left-to-right order of -I\n"
+           "  -Od         disables optimization. May cause illegal SPIR-V for HLSL.\n"
+           "  -Os         optimizes SPIR-V to minimize size.\n"
            "  -S <stage>  uses specified stage rather than parsing the file extension\n"
            "              choices for <stage> are vert, tesc, tese, geom, frag, or comp\n"
            "  -U<macro>   undefine a pre-processor macro\n"
@@ -1167,13 +1263,13 @@
            "              creates the default configuration file (redirect to a .conf file)\n"
            "  -d          default to desktop (#version 110) when there is no shader #version\n"
            "              (default is ES version 100)\n"
-           "  -e          specify entry-point name\n"
+           "  -e <name>   specify <name> as the entry-point name\n"
            "  -g          generate debug information\n"
            "  -h          print this usage message\n"
            "  -i          intermediate tree (glslang AST) is printed out\n"
            "  -l          link all input files together to form a single module\n"
            "  -m          memory leak mode\n"
-           "  -o  <file>  save binary to <file>, requires a binary option (e.g., -V)\n"
+           "  -o <file>   save binary to <file>, requires a binary option (e.g., -V)\n"
            "  -q          dump reflection query database\n"
            "  -r          synonym for --relaxed-errors\n"
            "  -s          silent mode\n"
@@ -1205,21 +1301,31 @@
            "              Set descriptor set for all resources\n"
            "  --rsb [stage] type set binding       synonym for --resource-set-binding\n"
            "  --shift-image-binding [stage] num    base binding number for images (uav)\n"
+           "  --shift-image-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --sib [stage] num                    synonym for --shift-image-binding\n"
            "  --shift-sampler-binding [stage] num  base binding number for samplers\n"
+           "  --shift-sampler-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --ssb [stage] num                    synonym for --shift-sampler-binding\n"
            "  --shift-ssbo-binding [stage] num     base binding number for SSBOs\n"
+           "  --shift-ssbo-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --sbb [stage] num                    synonym for --shift-ssbo-binding\n"
            "  --shift-texture-binding [stage] num  base binding number for textures\n"
+           "  --shift-texture-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --stb [stage] num                    synonym for --shift-texture-binding\n"
            "  --shift-uav-binding [stage] num      base binding number for UAVs\n"
+           "  --shift-uav-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --suavb [stage] num                  synonym for --shift-uav-binding\n"
            "  --shift-UBO-binding [stage] num      base binding number for UBOs\n"
+           "  --shift-UBO-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --shift-cbuffer-binding [stage] num  synonym for --shift-UBO-binding\n"
+           "  --shift-cbuffer-binding [stage] [set num]... per-descriptor-set shift values\n"
            "  --sub [stage] num                    synonym for --shift-UBO-binding\n"
-           "  --source-entrypoint name             the given shader source function is\n"
-           "                                       renamed to be the entry point given in -e\n"
+           "  --source-entrypoint <name>           the given shader source function is\n"
+           "                                       renamed to be the <name> given in -e\n"
            "  --sep                                synonym for --source-entrypoint\n"
+           "  --stdin                              Read from stdin instead of from a file.\n"
+           "                                       You'll have to provide the shader stage\n"
+           "                                       using -S.\n"
            "  --suppress-warnings                  suppress GLSL warnings\n"
            "                                       (except as required by #extension : warn)\n"
            "  --target-env {vulkan1.0|opengl}      set the execution environment code will\n"
diff --git a/Test/100samplerExternal.frag b/Test/100samplerExternal.frag
new file mode 100644
index 0000000..9f6f397
--- /dev/null
+++ b/Test/100samplerExternal.frag
@@ -0,0 +1,41 @@
+#version 100
+
+#extension GL_OES_EGL_image_external : enable
+
+uniform samplerExternalOES sExt;
+precision mediump samplerExternalOES;
+uniform samplerExternalOES mediumExt;
+uniform highp samplerExternalOES highExt;
+
+void main()
+{
+    texture2D(sExt, vec2(0.2));
+    texture2D(mediumExt, vec2(0.2));
+    texture2D(highExt, vec2(0.2));
+    texture2DProj(sExt, vec3(0.3));
+    texture2DProj(sExt, vec4(0.3));
+
+    int lod = 0;
+    highp float bias = 0.01;
+    textureSize(sExt, lod);  // ERROR
+    texture(sExt, vec2(0.2));  // ERROR
+    texture(sExt, vec2(0.2), bias);  // ERROR
+    textureProj(sExt, vec3(0.2));  // ERROR
+    textureProj(sExt, vec3(0.2), bias);  // ERROR
+    textureProj(sExt, vec4(0.2));  // ERROR
+    textureProj(sExt, vec4(0.2), bias);  // ERROR
+    texelFetch(sExt, ivec2(4), lod);  // ERROR
+
+    texture3D(sExt, vec3(0.3));  // ERROR
+    texture2DProjLod(sExt, vec3(0.3), 0.3);  // ERROR
+    texture(sExt, vec3(0.3));  // ERROR
+    textureProjLod(sExt, vec3(0.3), 0.3);  // ERROR
+}
+
+#extension GL_OES_EGL_image_external : disable
+
+#extension GL_OES_EGL_image_external_essl3 : enable
+uniform samplerExternalOES badExt;  // ERROR
+#extension GL_OES_EGL_image_external_essl3 : disable
+
+uniform samplerExternalOES badExt;  // ERROR
diff --git a/Test/300samplerExternal.frag b/Test/300samplerExternal.frag
new file mode 100644
index 0000000..3724f8e
--- /dev/null
+++ b/Test/300samplerExternal.frag
@@ -0,0 +1,41 @@
+#version 300 es
+
+#extension GL_OES_EGL_image_external_essl3 : enable
+
+uniform samplerExternalOES sExt;
+precision mediump samplerExternalOES;
+uniform samplerExternalOES mediumExt;
+uniform highp samplerExternalOES highExt;
+
+void main()
+{
+    texture2D(sExt, vec2(0.2));  // ERROR
+    texture2D(mediumExt, vec2(0.2));  // ERROR
+    texture2D(highExt, vec2(0.2));  // ERROR
+    texture2DProj(sExt, vec3(0.3));  // ERROR
+    texture2DProj(sExt, vec4(0.3));  // ERROR
+
+    int lod = 0;
+    highp float bias = 0.01;
+    textureSize(sExt, lod);
+    texture(sExt, vec2(0.2));
+    texture(sExt, vec2(0.2), bias);
+    textureProj(sExt, vec3(0.2));
+    textureProj(sExt, vec3(0.2), bias);
+    textureProj(sExt, vec4(0.2));
+    textureProj(sExt, vec4(0.2), bias);
+    texelFetch(sExt, ivec2(4), lod);
+
+    texture3D(sExt, vec3(0.3));  // ERROR
+    texture2DProjLod(sExt, vec3(0.3), 0.3);  // ERROR
+    texture(sExt, vec3(0.3));  // ERROR
+    textureProjLod(sExt, vec3(0.3), 0.3);  // ERROR
+}
+
+#extension GL_OES_EGL_image_external_essl3 : disable
+
+#extension GL_OES_EGL_image_external : enable
+uniform samplerExternalOES badExt;  // ERROR
+#extension GL_OES_EGL_image_external : disable
+
+uniform samplerExternalOES badExt;  // ERROR
diff --git a/Test/baseLegalResults/hlsl.aliasOpaque.frag.out b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
new file mode 100644
index 0000000..779d5e1
--- /dev/null
+++ b/Test/baseLegalResults/hlsl.aliasOpaque.frag.out
@@ -0,0 +1,50 @@
+hlsl.aliasOpaque.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 81
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 57
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 37  "gss2"
+                              Name 39  "gss"
+                              Name 43  "gtex"
+                              Name 57  "@entryPointOutput"
+                              Decorate 37(gss2) DescriptorSet 0
+                              Decorate 39(gss) DescriptorSet 0
+                              Decorate 43(gtex) DescriptorSet 0
+                              Decorate 57(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeSampler
+               8:             TypeFloat 32
+              10:             TypeImage 8(float) 2D sampled format:Unknown
+              12:             TypeVector 8(float) 4
+              25:             TypeSampledImage 10
+              27:             TypeVector 8(float) 2
+              28:    8(float) Constant 1045220557
+              29:    8(float) Constant 1050253722
+              30:   27(fvec2) ConstantComposite 28 29
+              36:             TypePointer UniformConstant 6
+        37(gss2):     36(ptr) Variable UniformConstant
+         39(gss):     36(ptr) Variable UniformConstant
+              42:             TypePointer UniformConstant 10
+        43(gtex):     42(ptr) Variable UniformConstant
+              46:    8(float) Constant 1077936128
+              56:             TypePointer Output 12(fvec4)
+57(@entryPointOutput):     56(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              68:           6 Load 39(gss)
+              69:          10 Load 43(gtex)
+              78:          25 SampledImage 69 68
+              79:   12(fvec4) ImageSampleImplicitLod 78 30
+              80:   12(fvec4) VectorTimesScalar 79 46
+                              Store 57(@entryPointOutput) 80
+                              Return
+                              FunctionEnd
diff --git a/Test/baseLegalResults/hlsl.flattenOpaque.frag.out b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
new file mode 100644
index 0000000..3c7d198
--- /dev/null
+++ b/Test/baseLegalResults/hlsl.flattenOpaque.frag.out
@@ -0,0 +1,65 @@
+hlsl.flattenOpaque.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 144
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 97
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 38  "tex"
+                              Name 70  "s.s2D"
+                              Name 79  "s2.s2D"
+                              Name 80  "s2.tex"
+                              Name 97  "@entryPointOutput"
+                              Decorate 38(tex) DescriptorSet 0
+                              Decorate 70(s.s2D) DescriptorSet 0
+                              Decorate 79(s2.s2D) DescriptorSet 0
+                              Decorate 80(s2.tex) DescriptorSet 0
+                              Decorate 97(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeSampler
+               8:             TypeFloat 32
+               9:             TypeVector 8(float) 4
+              14:             TypeVector 8(float) 2
+              21:             TypeImage 8(float) 2D sampled format:Unknown
+              37:             TypePointer UniformConstant 21
+         38(tex):     37(ptr) Variable UniformConstant
+              41:             TypeSampledImage 21
+              43:    8(float) Constant 1045220557
+              44:    8(float) Constant 1050253722
+              45:   14(fvec2) ConstantComposite 43 44
+              69:             TypePointer UniformConstant 6
+       70(s.s2D):     69(ptr) Variable UniformConstant
+      79(s2.s2D):     69(ptr) Variable UniformConstant
+      80(s2.tex):     37(ptr) Variable UniformConstant
+              96:             TypePointer Output 9(fvec4)
+97(@entryPointOutput):     96(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+             109:           6 Load 70(s.s2D)
+             123:          21 Load 38(tex)
+             125:          41 SampledImage 123 109
+             126:    9(fvec4) ImageSampleImplicitLod 125 45
+             111:           6 Load 70(s.s2D)
+             128:          21 Load 38(tex)
+             130:          41 SampledImage 128 111
+             132:    9(fvec4) ImageSampleImplicitLod 130 45
+             113:    9(fvec4) FAdd 126 132
+             114:           6 Load 79(s2.s2D)
+             115:          21 Load 80(s2.tex)
+             136:          41 SampledImage 115 114
+             137:    9(fvec4) ImageSampleImplicitLod 136 45
+             117:    9(fvec4) FAdd 113 137
+             118:           6 Load 79(s2.s2D)
+             119:          21 Load 80(s2.tex)
+             141:          41 SampledImage 119 118
+             143:    9(fvec4) ImageSampleImplicitLod 141 45
+             121:    9(fvec4) FAdd 117 143
+                              Store 97(@entryPointOutput) 121
+                              Return
+                              FunctionEnd
diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
new file mode 100644
index 0000000..4aef874
--- /dev/null
+++ b/Test/baseLegalResults/hlsl.flattenOpaqueInit.vert.out
@@ -0,0 +1,49 @@
+hlsl.flattenOpaqueInit.vert
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 125
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 82
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 17  "FxaaTex"
+                              MemberName 17(FxaaTex) 0  "smpl"
+                              MemberName 17(FxaaTex) 1  "tex"
+                              Name 38  "g_tInputTexture_sampler"
+                              Name 42  "g_tInputTexture"
+                              Name 82  "@entryPointOutput"
+                              Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 42(g_tInputTexture) DescriptorSet 0
+                              Decorate 82(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeSampler
+               8:             TypeFloat 32
+               9:             TypeImage 8(float) 2D sampled format:Unknown
+              11:             TypeVector 8(float) 4
+     17(FxaaTex):             TypeStruct 6 9
+              26:             TypeSampledImage 9
+              28:             TypeVector 8(float) 2
+              29:    8(float) Constant 1050253722
+              30:    8(float) Constant 1053609165
+              31:   28(fvec2) ConstantComposite 29 30
+              32:    8(float) Constant 0
+              37:             TypePointer UniformConstant 6
+38(g_tInputTexture_sampler):     37(ptr) Variable UniformConstant
+              41:             TypePointer UniformConstant 9
+42(g_tInputTexture):     41(ptr) Variable UniformConstant
+              81:             TypePointer Output 11(fvec4)
+82(@entryPointOutput):     81(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              96:           6 Load 38(g_tInputTexture_sampler)
+              97:           9 Load 42(g_tInputTexture)
+             123:          26 SampledImage 97 96
+             124:   11(fvec4) ImageSampleExplicitLod 123 31 Lod 32
+                              Store 82(@entryPointOutput) 124
+                              Return
+                              FunctionEnd
diff --git a/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
new file mode 100644
index 0000000..0b05615
--- /dev/null
+++ b/Test/baseLegalResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -0,0 +1,49 @@
+hlsl.flattenOpaqueInitMix.vert
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 100
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 68
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 34  "FxaaTex"
+                              MemberName 34(FxaaTex) 0  "smpl"
+                              MemberName 34(FxaaTex) 1  "tex"
+                              MemberName 34(FxaaTex) 2  "f"
+                              Name 38  "g_tInputTexture_sampler"
+                              Name 41  "g_tInputTexture"
+                              Name 68  "@entryPointOutput"
+                              Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 41(g_tInputTexture) DescriptorSet 0
+                              Decorate 68(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeSampler
+               8:             TypeFloat 32
+               9:             TypeImage 8(float) 2D sampled format:Unknown
+              12:             TypeVector 8(float) 4
+              24:             TypeSampledImage 9
+              28:             TypeVector 8(float) 2
+              30:    8(float) Constant 0
+     34(FxaaTex):             TypeStruct 6 9 8(float)
+              37:             TypePointer UniformConstant 6
+38(g_tInputTexture_sampler):     37(ptr) Variable UniformConstant
+              40:             TypePointer UniformConstant 9
+41(g_tInputTexture):     40(ptr) Variable UniformConstant
+              43:    8(float) Constant 1056964608
+              67:             TypePointer Output 12(fvec4)
+68(@entryPointOutput):     67(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              79:           6 Load 38(g_tInputTexture_sampler)
+              80:           9 Load 41(g_tInputTexture)
+              95:          24 SampledImage 80 79
+              98:   28(fvec2) CompositeConstruct 43 43
+              99:   12(fvec4) ImageSampleExplicitLod 95 98 Lod 30
+                              Store 68(@entryPointOutput) 99
+                              Return
+                              FunctionEnd
diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
new file mode 100755
index 0000000..20aedec
--- /dev/null
+++ b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
@@ -0,0 +1,48 @@
+hlsl.flattenSubset.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 85
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 54 57
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 17  "samp"
+                              Name 41  "tex"
+                              Name 54  "vpos"
+                              Name 57  "@entryPointOutput"
+                              Decorate 17(samp) DescriptorSet 0
+                              Decorate 41(tex) DescriptorSet 0
+                              Decorate 54(vpos) Location 0
+                              Decorate 57(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+              13:             TypeSampler
+              16:             TypePointer UniformConstant 13
+        17(samp):     16(ptr) Variable UniformConstant
+              39:             TypeImage 6(float) 2D sampled format:Unknown
+              40:             TypePointer UniformConstant 39
+         41(tex):     40(ptr) Variable UniformConstant
+              44:             TypeSampledImage 39
+              46:             TypeVector 6(float) 2
+              47:    6(float) Constant 1056964608
+              48:   46(fvec2) ConstantComposite 47 47
+              53:             TypePointer Input 7(fvec4)
+        54(vpos):     53(ptr) Variable Input
+              56:             TypePointer Output 7(fvec4)
+57(@entryPointOutput):     56(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              74:          13 Load 17(samp)
+              81:          39 Load 41(tex)
+              83:          44 SampledImage 81 74
+              84:    7(fvec4) ImageSampleImplicitLod 83 48
+                              Store 57(@entryPointOutput) 84
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/100samplerExternal.frag.out b/Test/baseResults/100samplerExternal.frag.out
new file mode 100644
index 0000000..8b689c7
--- /dev/null
+++ b/Test/baseResults/100samplerExternal.frag.out
@@ -0,0 +1,172 @@
+100samplerExternal.frag
+ERROR: 0:20: 'textureSize' : no matching overloaded function found 
+ERROR: 0:21: 'texture' : no matching overloaded function found 
+ERROR: 0:22: 'texture' : no matching overloaded function found 
+ERROR: 0:23: 'textureProj' : no matching overloaded function found 
+ERROR: 0:24: 'textureProj' : no matching overloaded function found 
+ERROR: 0:25: 'textureProj' : no matching overloaded function found 
+ERROR: 0:26: 'textureProj' : no matching overloaded function found 
+ERROR: 0:27: 'texelFetch' : no matching overloaded function found 
+ERROR: 0:29: 'texture3D' : no matching overloaded function found 
+ERROR: 0:30: 'texture2DProjLod' : no matching overloaded function found 
+ERROR: 0:31: 'texture' : no matching overloaded function found 
+ERROR: 0:32: 'textureProjLod' : no matching overloaded function found 
+ERROR: 0:38: 'samplerExternalOES' : required extension not requested: GL_OES_EGL_image_external
+ERROR: 0:41: '' :  syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON
+ERROR: 14 compilation errors.  No code generated.
+
+
+Shader version: 100
+Requested GL_OES_EGL_image_external
+Requested GL_OES_EGL_image_external_essl3
+ERROR: node is still EOpNull!
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      texture ( global lowp 4-component vector of float)
+0:12        'sExt' ( uniform lowp samplerExternalOES)
+0:12        Constant:
+0:12          0.200000
+0:12          0.200000
+0:13      texture ( global mediump 4-component vector of float)
+0:13        'mediumExt' ( uniform mediump samplerExternalOES)
+0:13        Constant:
+0:13          0.200000
+0:13          0.200000
+0:14      texture ( global highp 4-component vector of float)
+0:14        'highExt' ( uniform highp samplerExternalOES)
+0:14        Constant:
+0:14          0.200000
+0:14          0.200000
+0:15      textureProj ( global lowp 4-component vector of float)
+0:15        'sExt' ( uniform lowp samplerExternalOES)
+0:15        Constant:
+0:15          0.300000
+0:15          0.300000
+0:15          0.300000
+0:16      textureProj ( global lowp 4-component vector of float)
+0:16        'sExt' ( uniform lowp samplerExternalOES)
+0:16        Constant:
+0:16          0.300000
+0:16          0.300000
+0:16          0.300000
+0:16          0.300000
+0:18      Sequence
+0:18        move second child to first child ( temp mediump int)
+0:18          'lod' ( temp mediump int)
+0:18          Constant:
+0:18            0 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp float)
+0:19          'bias' ( temp highp float)
+0:19          Constant:
+0:19            0.010000
+0:20      Constant:
+0:20        0.000000
+0:21      Constant:
+0:21        0.000000
+0:22      Constant:
+0:22        0.000000
+0:23      Constant:
+0:23        0.000000
+0:24      Constant:
+0:24        0.000000
+0:25      Constant:
+0:25        0.000000
+0:26      Constant:
+0:26        0.000000
+0:27      Constant:
+0:27        0.000000
+0:29      Constant:
+0:29        0.000000
+0:30      Constant:
+0:30        0.000000
+0:31      Constant:
+0:31        0.000000
+0:32      Constant:
+0:32        0.000000
+0:?   Linker Objects
+0:?     'sExt' ( uniform lowp samplerExternalOES)
+0:?     'mediumExt' ( uniform mediump samplerExternalOES)
+0:?     'highExt' ( uniform highp samplerExternalOES)
+0:?     'badExt' ( uniform mediump samplerExternalOES)
+
+
+Linked fragment stage:
+
+
+Shader version: 100
+Requested GL_OES_EGL_image_external
+Requested GL_OES_EGL_image_external_essl3
+ERROR: node is still EOpNull!
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      texture ( global lowp 4-component vector of float)
+0:12        'sExt' ( uniform lowp samplerExternalOES)
+0:12        Constant:
+0:12          0.200000
+0:12          0.200000
+0:13      texture ( global mediump 4-component vector of float)
+0:13        'mediumExt' ( uniform mediump samplerExternalOES)
+0:13        Constant:
+0:13          0.200000
+0:13          0.200000
+0:14      texture ( global highp 4-component vector of float)
+0:14        'highExt' ( uniform highp samplerExternalOES)
+0:14        Constant:
+0:14          0.200000
+0:14          0.200000
+0:15      textureProj ( global lowp 4-component vector of float)
+0:15        'sExt' ( uniform lowp samplerExternalOES)
+0:15        Constant:
+0:15          0.300000
+0:15          0.300000
+0:15          0.300000
+0:16      textureProj ( global lowp 4-component vector of float)
+0:16        'sExt' ( uniform lowp samplerExternalOES)
+0:16        Constant:
+0:16          0.300000
+0:16          0.300000
+0:16          0.300000
+0:16          0.300000
+0:18      Sequence
+0:18        move second child to first child ( temp mediump int)
+0:18          'lod' ( temp mediump int)
+0:18          Constant:
+0:18            0 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp float)
+0:19          'bias' ( temp highp float)
+0:19          Constant:
+0:19            0.010000
+0:20      Constant:
+0:20        0.000000
+0:21      Constant:
+0:21        0.000000
+0:22      Constant:
+0:22        0.000000
+0:23      Constant:
+0:23        0.000000
+0:24      Constant:
+0:24        0.000000
+0:25      Constant:
+0:25        0.000000
+0:26      Constant:
+0:26        0.000000
+0:27      Constant:
+0:27        0.000000
+0:29      Constant:
+0:29        0.000000
+0:30      Constant:
+0:30        0.000000
+0:31      Constant:
+0:31        0.000000
+0:32      Constant:
+0:32        0.000000
+0:?   Linker Objects
+0:?     'sExt' ( uniform lowp samplerExternalOES)
+0:?     'mediumExt' ( uniform mediump samplerExternalOES)
+0:?     'highExt' ( uniform highp samplerExternalOES)
+0:?     'badExt' ( uniform mediump samplerExternalOES)
+
diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out
index 5cc9e80..25e44ed 100644
--- a/Test/baseResults/150.tesc.out
+++ b/Test/baseResults/150.tesc.out
@@ -754,7 +754,7 @@
 ERROR: 0:29: ' const 2-element array of 4-component vector of float' : cannot construct with these arguments 
 ERROR: 0:29: '=' :  cannot convert from ' const float' to ' global 2-element array of 4-component vector of float'
 ERROR: 0:30: 'initializer list' : wrong number of matrix columns:  temp 4X2 matrix of float
-ERROR: 0:40: 'constructor' :  cannot convert parameter 1 from ' temp float' to ' temp structure{ global float s,  global float t}'
+ERROR: 0:40: 'constructor' :  cannot convert parameter 1 from ' const structure{ global 4-component vector of float a,  global 4-component vector of float b}' to ' temp structure{ global float s,  global float t}'
 ERROR: 0:70: 'initializer list' : wrong number of structure members 
 ERROR: 13 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/300samplerExternal.frag.out b/Test/baseResults/300samplerExternal.frag.out
new file mode 100644
index 0000000..9074552
--- /dev/null
+++ b/Test/baseResults/300samplerExternal.frag.out
@@ -0,0 +1,197 @@
+300samplerExternal.frag
+ERROR: 0:12: 'texture2D' : no matching overloaded function found 
+ERROR: 0:13: 'texture2D' : no matching overloaded function found 
+ERROR: 0:14: 'texture2D' : no matching overloaded function found 
+ERROR: 0:15: 'texture2DProj' : no matching overloaded function found 
+ERROR: 0:16: 'texture2DProj' : no matching overloaded function found 
+ERROR: 0:29: 'texture3D' : no matching overloaded function found 
+ERROR: 0:30: 'texture2DProjLod' : no matching overloaded function found 
+ERROR: 0:31: 'texture' : no matching overloaded function found 
+ERROR: 0:32: 'textureProjLod' : no matching overloaded function found 
+ERROR: 0:38: 'samplerExternalOES' : required extension not requested: GL_OES_EGL_image_external_essl3
+ERROR: 0:41: '' :  syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON
+ERROR: 11 compilation errors.  No code generated.
+
+
+Shader version: 300
+Requested GL_OES_EGL_image_external
+Requested GL_OES_EGL_image_external_essl3
+ERROR: node is still EOpNull!
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      Constant:
+0:12        0.000000
+0:13      Constant:
+0:13        0.000000
+0:14      Constant:
+0:14        0.000000
+0:15      Constant:
+0:15        0.000000
+0:16      Constant:
+0:16        0.000000
+0:18      Sequence
+0:18        move second child to first child ( temp mediump int)
+0:18          'lod' ( temp mediump int)
+0:18          Constant:
+0:18            0 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp float)
+0:19          'bias' ( temp highp float)
+0:19          Constant:
+0:19            0.010000
+0:20      textureSize ( global highp 2-component vector of int, operation at mediump)
+0:20        'sExt' ( uniform lowp samplerExternalOES)
+0:20        'lod' ( temp mediump int)
+0:21      texture ( global lowp 4-component vector of float)
+0:21        'sExt' ( uniform lowp samplerExternalOES)
+0:21        Constant:
+0:21          0.200000
+0:21          0.200000
+0:22      texture ( global lowp 4-component vector of float, operation at highp)
+0:22        'sExt' ( uniform lowp samplerExternalOES)
+0:22        Constant:
+0:22          0.200000
+0:22          0.200000
+0:22        'bias' ( temp highp float)
+0:23      textureProj ( global lowp 4-component vector of float)
+0:23        'sExt' ( uniform lowp samplerExternalOES)
+0:23        Constant:
+0:23          0.200000
+0:23          0.200000
+0:23          0.200000
+0:24      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:24        'sExt' ( uniform lowp samplerExternalOES)
+0:24        Constant:
+0:24          0.200000
+0:24          0.200000
+0:24          0.200000
+0:24        'bias' ( temp highp float)
+0:25      textureProj ( global lowp 4-component vector of float)
+0:25        'sExt' ( uniform lowp samplerExternalOES)
+0:25        Constant:
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:26      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:26        'sExt' ( uniform lowp samplerExternalOES)
+0:26        Constant:
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26        'bias' ( temp highp float)
+0:27      textureFetch ( global lowp 4-component vector of float, operation at mediump)
+0:27        'sExt' ( uniform lowp samplerExternalOES)
+0:27        Constant:
+0:27          4 (const int)
+0:27          4 (const int)
+0:27        'lod' ( temp mediump int)
+0:29      Constant:
+0:29        0.000000
+0:30      Constant:
+0:30        0.000000
+0:31      Constant:
+0:31        0.000000
+0:32      Constant:
+0:32        0.000000
+0:?   Linker Objects
+0:?     'sExt' ( uniform lowp samplerExternalOES)
+0:?     'mediumExt' ( uniform mediump samplerExternalOES)
+0:?     'highExt' ( uniform highp samplerExternalOES)
+0:?     'badExt' ( uniform mediump samplerExternalOES)
+
+
+Linked fragment stage:
+
+
+Shader version: 300
+Requested GL_OES_EGL_image_external
+Requested GL_OES_EGL_image_external_essl3
+ERROR: node is still EOpNull!
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      Constant:
+0:12        0.000000
+0:13      Constant:
+0:13        0.000000
+0:14      Constant:
+0:14        0.000000
+0:15      Constant:
+0:15        0.000000
+0:16      Constant:
+0:16        0.000000
+0:18      Sequence
+0:18        move second child to first child ( temp mediump int)
+0:18          'lod' ( temp mediump int)
+0:18          Constant:
+0:18            0 (const int)
+0:19      Sequence
+0:19        move second child to first child ( temp highp float)
+0:19          'bias' ( temp highp float)
+0:19          Constant:
+0:19            0.010000
+0:20      textureSize ( global highp 2-component vector of int, operation at mediump)
+0:20        'sExt' ( uniform lowp samplerExternalOES)
+0:20        'lod' ( temp mediump int)
+0:21      texture ( global lowp 4-component vector of float)
+0:21        'sExt' ( uniform lowp samplerExternalOES)
+0:21        Constant:
+0:21          0.200000
+0:21          0.200000
+0:22      texture ( global lowp 4-component vector of float, operation at highp)
+0:22        'sExt' ( uniform lowp samplerExternalOES)
+0:22        Constant:
+0:22          0.200000
+0:22          0.200000
+0:22        'bias' ( temp highp float)
+0:23      textureProj ( global lowp 4-component vector of float)
+0:23        'sExt' ( uniform lowp samplerExternalOES)
+0:23        Constant:
+0:23          0.200000
+0:23          0.200000
+0:23          0.200000
+0:24      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:24        'sExt' ( uniform lowp samplerExternalOES)
+0:24        Constant:
+0:24          0.200000
+0:24          0.200000
+0:24          0.200000
+0:24        'bias' ( temp highp float)
+0:25      textureProj ( global lowp 4-component vector of float)
+0:25        'sExt' ( uniform lowp samplerExternalOES)
+0:25        Constant:
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:25          0.200000
+0:26      textureProj ( global lowp 4-component vector of float, operation at highp)
+0:26        'sExt' ( uniform lowp samplerExternalOES)
+0:26        Constant:
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26          0.200000
+0:26        'bias' ( temp highp float)
+0:27      textureFetch ( global lowp 4-component vector of float, operation at mediump)
+0:27        'sExt' ( uniform lowp samplerExternalOES)
+0:27        Constant:
+0:27          4 (const int)
+0:27          4 (const int)
+0:27        'lod' ( temp mediump int)
+0:29      Constant:
+0:29        0.000000
+0:30      Constant:
+0:30        0.000000
+0:31      Constant:
+0:31        0.000000
+0:32      Constant:
+0:32        0.000000
+0:?   Linker Objects
+0:?     'sExt' ( uniform lowp samplerExternalOES)
+0:?     'mediumExt' ( uniform mediump samplerExternalOES)
+0:?     'highExt' ( uniform highp samplerExternalOES)
+0:?     'badExt' ( uniform mediump samplerExternalOES)
+
diff --git a/Test/baseResults/420.tese.out b/Test/baseResults/420.tese.out
index 66d41e5..f14e1c0 100644
--- a/Test/baseResults/420.tese.out
+++ b/Test/baseResults/420.tese.out
@@ -10,7 +10,7 @@
 ERROR: 0:29: ' const 2-element array of 4-component vector of float' : cannot construct with these arguments 
 ERROR: 0:29: '=' :  cannot convert from ' const float' to ' global 2-element array of 4-component vector of float'
 ERROR: 0:30: 'initializer list' : wrong number of matrix columns:  temp 4X2 matrix of float
-ERROR: 0:40: 'constructor' :  cannot convert parameter 1 from ' temp float' to ' temp structure{ global float s,  global float t}'
+ERROR: 0:40: 'constructor' :  cannot convert parameter 1 from ' const structure{ global 4-component vector of float a,  global 4-component vector of float b}' to ' temp structure{ global float s,  global float t}'
 ERROR: 0:70: 'initializer list' : wrong number of structure members 
 ERROR: 13 compilation errors.  No code generated.
 
diff --git a/Test/baseResults/cppDeepNest.frag.out b/Test/baseResults/cppDeepNest.frag.out
new file mode 100755
index 0000000..969a256
--- /dev/null
+++ b/Test/baseResults/cppDeepNest.frag.out
@@ -0,0 +1,20 @@
+cppDeepNest.frag
+ERROR: 0:66: '#if/#ifdef/#ifndef' : maximum nesting depth exceeded 
+ERROR: 0:66: '' : missing #endif 
+ERROR: 0:66: '' :  syntax error, unexpected $end
+ERROR: 3 compilation errors.  No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
diff --git a/Test/baseResults/cppIntMinOverNegativeOne.frag.out b/Test/baseResults/cppIntMinOverNegativeOne.frag.out
new file mode 100644
index 0000000..5dce7c3
--- /dev/null
+++ b/Test/baseResults/cppIntMinOverNegativeOne.frag.out
@@ -0,0 +1,14 @@
+cppIntMinOverNegativeOne.frag
+Shader version: 100
+0:? Sequence
+0:?   Linker Objects
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 100
+0:? Sequence
+0:?   Linker Objects
+
diff --git a/Test/baseResults/glsl.entryPointRename.vert.bad.out b/Test/baseResults/glsl.entryPointRename.vert.bad.out
new file mode 100644
index 0000000..6f4c9ae
--- /dev/null
+++ b/Test/baseResults/glsl.entryPointRename.vert.bad.out
@@ -0,0 +1,45 @@
+glsl.entryPointRename.vert
+ERROR: Source entry point must be "main"
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 20
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "foo" 13
+                              Source GLSL 460
+                              Name 4  "foo"
+                              Name 11  "gl_PerVertex"
+                              MemberName 11(gl_PerVertex) 0  "gl_Position"
+                              MemberName 11(gl_PerVertex) 1  "gl_PointSize"
+                              MemberName 11(gl_PerVertex) 2  "gl_ClipDistance"
+                              MemberName 11(gl_PerVertex) 3  "gl_CullDistance"
+                              Name 13  ""
+                              MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+                              MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
+                              MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
+                              MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance
+                              Decorate 11(gl_PerVertex) Block
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeInt 32 0
+               9:      8(int) Constant 1
+              10:             TypeArray 6(float) 9
+11(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 10 10
+              12:             TypePointer Output 11(gl_PerVertex)
+              13:     12(ptr) Variable Output
+              14:             TypeInt 32 1
+              15:     14(int) Constant 0
+              16:    6(float) Constant 1065353216
+              17:    7(fvec4) ConstantComposite 16 16 16 16
+              18:             TypePointer Output 7(fvec4)
+          4(foo):           2 Function None 3
+               5:             Label
+              19:     18(ptr) AccessChain 13 15
+                              Store 19 17
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/glsl.entryPointRename.vert.out b/Test/baseResults/glsl.entryPointRename.vert.out
new file mode 100644
index 0000000..7cc825b
--- /dev/null
+++ b/Test/baseResults/glsl.entryPointRename.vert.out
@@ -0,0 +1,43 @@
+glsl.entryPointRename.vert
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 20
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "foo" 13
+                              Source GLSL 460
+                              Name 4  "foo"
+                              Name 11  "gl_PerVertex"
+                              MemberName 11(gl_PerVertex) 0  "gl_Position"
+                              MemberName 11(gl_PerVertex) 1  "gl_PointSize"
+                              MemberName 11(gl_PerVertex) 2  "gl_ClipDistance"
+                              MemberName 11(gl_PerVertex) 3  "gl_CullDistance"
+                              Name 13  ""
+                              MemberDecorate 11(gl_PerVertex) 0 BuiltIn Position
+                              MemberDecorate 11(gl_PerVertex) 1 BuiltIn PointSize
+                              MemberDecorate 11(gl_PerVertex) 2 BuiltIn ClipDistance
+                              MemberDecorate 11(gl_PerVertex) 3 BuiltIn CullDistance
+                              Decorate 11(gl_PerVertex) Block
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeInt 32 0
+               9:      8(int) Constant 1
+              10:             TypeArray 6(float) 9
+11(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 10 10
+              12:             TypePointer Output 11(gl_PerVertex)
+              13:     12(ptr) Variable Output
+              14:             TypeInt 32 1
+              15:     14(int) Constant 0
+              16:    6(float) Constant 1065353216
+              17:    7(fvec4) ConstantComposite 16 16 16 16
+              18:             TypePointer Output 7(fvec4)
+          4(foo):           2 Function None 3
+               5:             Label
+              19:     18(ptr) AccessChain 13 15
+                              Store 19 17
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/glsl.entryPointRename2.vert.out b/Test/baseResults/glsl.entryPointRename2.vert.out
new file mode 100644
index 0000000..aebd86b
--- /dev/null
+++ b/Test/baseResults/glsl.entryPointRename2.vert.out
@@ -0,0 +1,4 @@
+glsl.entryPointRename2.vert
+ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/glspv.version.frag.out b/Test/baseResults/glspv.version.frag.out
index 3e8e8c4..30eb445 100755
--- a/Test/baseResults/glspv.version.frag.out
+++ b/Test/baseResults/glspv.version.frag.out
@@ -2,7 +2,7 @@
 ERROR: #version: compilation for SPIR-V does not support the compatibility profile
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 6
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out
index 222322e..694d404 100755
--- a/Test/baseResults/hlsl.aliasOpaque.frag.out
+++ b/Test/baseResults/hlsl.aliasOpaque.frag.out
@@ -1,4 +1,5 @@
 hlsl.aliasOpaque.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
 Shader version: 500
 gl_FragCoord origin is upper left
 0:? Sequence
@@ -21,18 +22,24 @@
 0:17  Function Definition: @main( ( temp 4-component vector of float)
 0:17    Function Parameters: 
 0:?     Sequence
-0:19      'gss2' ( uniform sampler)
-0:20      'gss' ( uniform sampler)
-0:21      'gtex' ( uniform texture2D)
+0:19      move second child to first child ( temp sampler)
+0:?         'os.ss' ( temp sampler)
+0:19        'gss2' ( uniform sampler)
+0:20      move second child to first child ( temp sampler)
+0:?         'os.ss' ( temp sampler)
+0:20        'gss' ( uniform sampler)
+0:21      move second child to first child ( temp texture2D)
+0:?         'os.tex' ( temp texture2D)
+0:21        'gtex' ( uniform texture2D)
 0:22      move second child to first child ( temp float)
 0:?         'os.a' ( temp float)
 0:22        Constant:
 0:22          3.000000
 0:28      Branch: Return with expression
 0:28        Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
-0:?           'gss' ( uniform sampler)
+0:?           'os.ss' ( temp sampler)
 0:?           'os.a' ( temp float)
-0:?           'gtex' ( uniform texture2D)
+0:?           'os.tex' ( temp texture2D)
 0:17  Function Definition: main( ( temp void)
 0:17    Function Parameters: 
 0:?     Sequence
@@ -71,18 +78,24 @@
 0:17  Function Definition: @main( ( temp 4-component vector of float)
 0:17    Function Parameters: 
 0:?     Sequence
-0:19      'gss2' ( uniform sampler)
-0:20      'gss' ( uniform sampler)
-0:21      'gtex' ( uniform texture2D)
+0:19      move second child to first child ( temp sampler)
+0:?         'os.ss' ( temp sampler)
+0:19        'gss2' ( uniform sampler)
+0:20      move second child to first child ( temp sampler)
+0:?         'os.ss' ( temp sampler)
+0:20        'gss' ( uniform sampler)
+0:21      move second child to first child ( temp texture2D)
+0:?         'os.tex' ( temp texture2D)
+0:21        'gtex' ( uniform texture2D)
 0:22      move second child to first child ( temp float)
 0:?         'os.a' ( temp float)
 0:22        Constant:
 0:22          3.000000
 0:28      Branch: Return with expression
 0:28        Function Call: osCall(struct-OS-p1-f1-t211; ( temp 4-component vector of float)
-0:?           'gss' ( uniform sampler)
+0:?           'os.ss' ( temp sampler)
 0:?           'os.a' ( temp float)
-0:?           'gtex' ( uniform texture2D)
+0:?           'os.tex' ( temp texture2D)
 0:17  Function Definition: main( ( temp void)
 0:17    Function Parameters: 
 0:?     Sequence
@@ -96,13 +109,13 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 48
+// Generated by (magic number): 80002
+// Id's are bound by 59
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 46
+                              EntryPoint Fragment 4  "main" 57
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -111,24 +124,28 @@
                               Name 15  "s.a"
                               Name 16  "s.tex"
                               Name 20  "@main("
-                              Name 35  "gss2"
-                              Name 36  "gss"
-                              Name 37  "gtex"
-                              Name 38  "os.a"
-                              Name 40  "param"
-                              Name 46  "@entryPointOutput"
-                              Decorate 35(gss2) DescriptorSet 0
-                              Decorate 36(gss) DescriptorSet 0
-                              Decorate 37(gtex) DescriptorSet 0
-                              Decorate 46(@entryPointOutput) Location 0
+                              Name 35  "os.ss"
+                              Name 37  "gss2"
+                              Name 39  "gss"
+                              Name 41  "os.tex"
+                              Name 43  "gtex"
+                              Name 45  "os.a"
+                              Name 47  "param"
+                              Name 49  "param"
+                              Name 51  "param"
+                              Name 57  "@entryPointOutput"
+                              Decorate 37(gss2) DescriptorSet 0
+                              Decorate 39(gss) DescriptorSet 0
+                              Decorate 43(gtex) DescriptorSet 0
+                              Decorate 57(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeSampler
-               7:             TypePointer UniformConstant 6
+               7:             TypePointer Function 6
                8:             TypeFloat 32
                9:             TypePointer Function 8(float)
               10:             TypeImage 8(float) 2D sampled format:Unknown
-              11:             TypePointer UniformConstant 10
+              11:             TypePointer Function 10
               12:             TypeVector 8(float) 4
               13:             TypeFunction 12(fvec4) 7(ptr) 9(ptr) 11(ptr)
               19:             TypeFunction 12(fvec4)
@@ -137,16 +154,18 @@
               28:    8(float) Constant 1045220557
               29:    8(float) Constant 1050253722
               30:   27(fvec2) ConstantComposite 28 29
-        35(gss2):      7(ptr) Variable UniformConstant
-         36(gss):      7(ptr) Variable UniformConstant
-        37(gtex):     11(ptr) Variable UniformConstant
-              39:    8(float) Constant 1077936128
-              45:             TypePointer Output 12(fvec4)
-46(@entryPointOutput):     45(ptr) Variable Output
+              36:             TypePointer UniformConstant 6
+        37(gss2):     36(ptr) Variable UniformConstant
+         39(gss):     36(ptr) Variable UniformConstant
+              42:             TypePointer UniformConstant 10
+        43(gtex):     42(ptr) Variable UniformConstant
+              46:    8(float) Constant 1077936128
+              56:             TypePointer Output 12(fvec4)
+57(@entryPointOutput):     56(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-              47:   12(fvec4) FunctionCall 20(@main()
-                              Store 46(@entryPointOutput) 47
+              58:   12(fvec4) FunctionCall 20(@main()
+                              Store 57(@entryPointOutput) 58
                               Return
                               FunctionEnd
 17(osCall(struct-OS-p1-f1-t211;):   12(fvec4) Function None 13
@@ -164,11 +183,25 @@
                               FunctionEnd
       20(@main():   12(fvec4) Function None 19
               21:             Label
-        38(os.a):      9(ptr) Variable Function
-       40(param):      9(ptr) Variable Function
-                              Store 38(os.a) 39
-              41:    8(float) Load 38(os.a)
-                              Store 40(param) 41
-              42:   12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 36(gss) 40(param) 37(gtex)
-                              ReturnValue 42
+       35(os.ss):      7(ptr) Variable Function
+      41(os.tex):     11(ptr) Variable Function
+        45(os.a):      9(ptr) Variable Function
+       47(param):      7(ptr) Variable Function
+       49(param):      9(ptr) Variable Function
+       51(param):     11(ptr) Variable Function
+              38:           6 Load 37(gss2)
+                              Store 35(os.ss) 38
+              40:           6 Load 39(gss)
+                              Store 35(os.ss) 40
+              44:          10 Load 43(gtex)
+                              Store 41(os.tex) 44
+                              Store 45(os.a) 46
+              48:           6 Load 35(os.ss)
+                              Store 47(param) 48
+              50:    8(float) Load 45(os.a)
+                              Store 49(param) 50
+              52:          10 Load 41(os.tex)
+                              Store 51(param) 52
+              53:   12(fvec4) FunctionCall 17(osCall(struct-OS-p1-f1-t211;) 47(param) 49(param) 51(param)
+                              ReturnValue 53
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
index 388d346..9830385 100755
--- a/Test/baseResults/hlsl.amend.frag.out
+++ b/Test/baseResults/hlsl.amend.frag.out
@@ -160,7 +160,7 @@
 0:?     'm' ( global 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 57
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.array.flatten.frag.out b/Test/baseResults/hlsl.array.flatten.frag.out
index 0129ede..e32eb15 100644
--- a/Test/baseResults/hlsl.array.flatten.frag.out
+++ b/Test/baseResults/hlsl.array.flatten.frag.out
@@ -1,4 +1,5 @@
 hlsl.array.flatten.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
 Shader version: 500
 gl_FragCoord origin is upper left
 0:? Sequence
@@ -344,14 +345,14 @@
 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 137
+// Generated by (magic number): 80002
+// Id's are bound by 143
 
                               Capability Shader
                               Capability Sampled1D
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 128
+                              EntryPoint Fragment 4  "main" 134
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -366,60 +367,62 @@
                               Name 34  "not_flattened_a"
                               Name 42  "g_tex[1]"
                               Name 45  "g_samp[1]"
-                              Name 61  "local_sampler_array"
-                              Name 63  "g_samp[0]"
-                              Name 68  "g_samp[2]"
-                              Name 71  "local_texture_array"
-                              Name 72  "g_tex[0]"
-                              Name 77  "g_tex[2]"
-                              Name 83  "local_float_array"
-                              Name 89  "$Global"
-                              MemberName 89($Global) 0  "g_mats"
-                              MemberName 89($Global) 1  "g_mats_explicit"
-                              MemberName 89($Global) 2  "g_floats"
-                              Name 91  ""
-                              Name 105  "aggShadow"
-                              Name 112  "aggShadow"
-                              Name 123  "ps_output"
-                              Name 124  "param"
-                              Name 128  "ps_output.color"
-                              Name 131  "g_tex_explicit[0]"
-                              Name 132  "g_tex_explicit[1]"
-                              Name 133  "g_tex_explicit[2]"
-                              Name 134  "g_samp_explicit[0]"
-                              Name 135  "g_samp_explicit[1]"
-                              Name 136  "g_samp_explicit[2]"
+                              Name 63  "local_sampler_array"
+                              Name 65  "g_samp[0]"
+                              Name 70  "g_samp[2]"
+                              Name 73  "local_texture_array"
+                              Name 74  "g_tex[0]"
+                              Name 79  "g_tex[2]"
+                              Name 85  "local_float_array"
+                              Name 91  "$Global"
+                              MemberName 91($Global) 0  "g_mats"
+                              MemberName 91($Global) 1  "g_mats_explicit"
+                              MemberName 91($Global) 2  "g_floats"
+                              Name 93  ""
+                              Name 107  "aggShadow"
+                              Name 114  "aggShadow"
+                              Name 121  "param"
+                              Name 123  "param"
+                              Name 129  "ps_output"
+                              Name 130  "param"
+                              Name 134  "ps_output.color"
+                              Name 137  "g_tex_explicit[0]"
+                              Name 138  "g_tex_explicit[1]"
+                              Name 139  "g_tex_explicit[2]"
+                              Name 140  "g_samp_explicit[0]"
+                              Name 141  "g_samp_explicit[1]"
+                              Name 142  "g_samp_explicit[2]"
                               Decorate 42(g_tex[1]) DescriptorSet 0
                               Decorate 45(g_samp[1]) DescriptorSet 0
-                              Decorate 63(g_samp[0]) DescriptorSet 0
-                              Decorate 68(g_samp[2]) DescriptorSet 0
-                              Decorate 72(g_tex[0]) DescriptorSet 0
-                              Decorate 77(g_tex[2]) DescriptorSet 0
-                              Decorate 86 ArrayStride 48
-                              Decorate 87 ArrayStride 48
-                              Decorate 88 ArrayStride 16
-                              MemberDecorate 89($Global) 0 RowMajor
-                              MemberDecorate 89($Global) 0 Offset 0
-                              MemberDecorate 89($Global) 0 MatrixStride 16
-                              MemberDecorate 89($Global) 1 RowMajor
-                              MemberDecorate 89($Global) 1 Offset 192
-                              MemberDecorate 89($Global) 1 MatrixStride 16
-                              MemberDecorate 89($Global) 2 Offset 384
-                              Decorate 89($Global) Block
-                              Decorate 91 DescriptorSet 0
-                              Decorate 128(ps_output.color) Location 0
-                              Decorate 131(g_tex_explicit[0]) DescriptorSet 0
-                              Decorate 131(g_tex_explicit[0]) Binding 1
-                              Decorate 132(g_tex_explicit[1]) DescriptorSet 0
-                              Decorate 132(g_tex_explicit[1]) Binding 2
-                              Decorate 133(g_tex_explicit[2]) DescriptorSet 0
-                              Decorate 133(g_tex_explicit[2]) Binding 3
-                              Decorate 134(g_samp_explicit[0]) DescriptorSet 0
-                              Decorate 134(g_samp_explicit[0]) Binding 5
-                              Decorate 135(g_samp_explicit[1]) DescriptorSet 0
-                              Decorate 135(g_samp_explicit[1]) Binding 6
-                              Decorate 136(g_samp_explicit[2]) DescriptorSet 0
-                              Decorate 136(g_samp_explicit[2]) Binding 7
+                              Decorate 65(g_samp[0]) DescriptorSet 0
+                              Decorate 70(g_samp[2]) DescriptorSet 0
+                              Decorate 74(g_tex[0]) DescriptorSet 0
+                              Decorate 79(g_tex[2]) DescriptorSet 0
+                              Decorate 88 ArrayStride 48
+                              Decorate 89 ArrayStride 48
+                              Decorate 90 ArrayStride 16
+                              MemberDecorate 91($Global) 0 RowMajor
+                              MemberDecorate 91($Global) 0 Offset 0
+                              MemberDecorate 91($Global) 0 MatrixStride 16
+                              MemberDecorate 91($Global) 1 RowMajor
+                              MemberDecorate 91($Global) 1 Offset 192
+                              MemberDecorate 91($Global) 1 MatrixStride 16
+                              MemberDecorate 91($Global) 2 Offset 384
+                              Decorate 91($Global) Block
+                              Decorate 93 DescriptorSet 0
+                              Decorate 134(ps_output.color) Location 0
+                              Decorate 137(g_tex_explicit[0]) DescriptorSet 0
+                              Decorate 137(g_tex_explicit[0]) Binding 1
+                              Decorate 138(g_tex_explicit[1]) DescriptorSet 0
+                              Decorate 138(g_tex_explicit[1]) Binding 2
+                              Decorate 139(g_tex_explicit[2]) DescriptorSet 0
+                              Decorate 139(g_tex_explicit[2]) Binding 3
+                              Decorate 140(g_samp_explicit[0]) DescriptorSet 0
+                              Decorate 140(g_samp_explicit[0]) Binding 5
+                              Decorate 141(g_samp_explicit[1]) DescriptorSet 0
+                              Decorate 141(g_samp_explicit[1]) Binding 6
+                              Decorate 142(g_samp_explicit[2]) DescriptorSet 0
+                              Decorate 142(g_samp_explicit[2]) Binding 7
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -429,10 +432,10 @@
               12:             TypeInt 32 0
               13:     12(int) Constant 3
               14:             TypeArray 11 13
-              15:             TypePointer UniformConstant 14
+              15:             TypePointer Function 14
               16:             TypeSampler
               17:             TypeArray 16 13
-              18:             TypePointer UniformConstant 17
+              18:             TypePointer Function 17
               19:             TypeFunction 7(fvec4) 15(ptr) 18(ptr)
    24(PS_OUTPUT):             TypeStruct 7(fvec4)
               25:             TypePointer Function 24(PS_OUTPUT)
@@ -454,48 +457,46 @@
    45(g_samp[1]):     44(ptr) Variable UniformConstant
               47:             TypeSampledImage 11
               49:    6(float) Constant 1045220557
-61(local_sampler_array):     18(ptr) Variable UniformConstant
-              62:     30(int) Constant 0
-   63(g_samp[0]):     44(ptr) Variable UniformConstant
-   68(g_samp[2]):     44(ptr) Variable UniformConstant
-71(local_texture_array):     15(ptr) Variable UniformConstant
-    72(g_tex[0]):     41(ptr) Variable UniformConstant
-    77(g_tex[2]):     41(ptr) Variable UniformConstant
-              80:     12(int) Constant 4
-              81:             TypeArray 6(float) 80
-              82:             TypePointer Function 81
-              84:             TypeVector 6(float) 3
-              85:             TypeMatrix 84(fvec3) 3
-              86:             TypeArray 85 80
-              87:             TypeArray 85 80
-              88:             TypeArray 6(float) 80
-     89($Global):             TypeStruct 86 87 88
-              90:             TypePointer Uniform 89($Global)
-              91:     90(ptr) Variable Uniform
-              92:             TypePointer Uniform 88
-              96:             TypePointer Function 6(float)
-  105(aggShadow):     15(ptr) Variable UniformConstant
-  112(aggShadow):     18(ptr) Variable UniformConstant
-             121:             TypePointer Function 7(fvec4)
-             127:             TypePointer Output 7(fvec4)
-128(ps_output.color):    127(ptr) Variable Output
-131(g_tex_explicit[0]):     41(ptr) Variable UniformConstant
-132(g_tex_explicit[1]):     41(ptr) Variable UniformConstant
-133(g_tex_explicit[2]):     41(ptr) Variable UniformConstant
-134(g_samp_explicit[0]):     44(ptr) Variable UniformConstant
-135(g_samp_explicit[1]):     44(ptr) Variable UniformConstant
-136(g_samp_explicit[2]):     44(ptr) Variable UniformConstant
+              53:             TypePointer Function 11
+              56:             TypePointer Function 16
+              64:     30(int) Constant 0
+   65(g_samp[0]):     44(ptr) Variable UniformConstant
+   70(g_samp[2]):     44(ptr) Variable UniformConstant
+    74(g_tex[0]):     41(ptr) Variable UniformConstant
+    79(g_tex[2]):     41(ptr) Variable UniformConstant
+              82:     12(int) Constant 4
+              83:             TypeArray 6(float) 82
+              84:             TypePointer Function 83
+              86:             TypeVector 6(float) 3
+              87:             TypeMatrix 86(fvec3) 3
+              88:             TypeArray 87 82
+              89:             TypeArray 87 82
+              90:             TypeArray 6(float) 82
+     91($Global):             TypeStruct 88 89 90
+              92:             TypePointer Uniform 91($Global)
+              93:     92(ptr) Variable Uniform
+              94:             TypePointer Uniform 90
+              98:             TypePointer Function 6(float)
+             127:             TypePointer Function 7(fvec4)
+             133:             TypePointer Output 7(fvec4)
+134(ps_output.color):    133(ptr) Variable Output
+137(g_tex_explicit[0]):     41(ptr) Variable UniformConstant
+138(g_tex_explicit[1]):     41(ptr) Variable UniformConstant
+139(g_tex_explicit[2]):     41(ptr) Variable UniformConstant
+140(g_samp_explicit[0]):     44(ptr) Variable UniformConstant
+141(g_samp_explicit[1]):     44(ptr) Variable UniformConstant
+142(g_samp_explicit[2]):     44(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-  123(ps_output):     25(ptr) Variable Function
-      124(param):     25(ptr) Variable Function
+  129(ps_output):     25(ptr) Variable Function
+      130(param):     25(ptr) Variable Function
                               Store 34(not_flattened_a) 40
-             125:           2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param)
-             126:24(PS_OUTPUT) Load 124(param)
-                              Store 123(ps_output) 126
-             129:    121(ptr) AccessChain 123(ps_output) 62
-             130:    7(fvec4) Load 129
-                              Store 128(ps_output.color) 130
+             131:           2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 130(param)
+             132:24(PS_OUTPUT) Load 130(param)
+                              Store 129(ps_output) 132
+             135:    127(ptr) AccessChain 129(ps_output) 64
+             136:    7(fvec4) Load 135
+                              Store 134(ps_output.color) 136
                               Return
                               FunctionEnd
      9(TestFn1():    7(fvec4) Function None 8
@@ -510,72 +511,82 @@
        20(l_tex):     15(ptr) FunctionParameter
       21(l_samp):     18(ptr) FunctionParameter
               23:             Label
-              53:     41(ptr) AccessChain 20(l_tex) 36
-              54:          11 Load 53
-              55:     44(ptr) AccessChain 21(l_samp) 36
-              56:          16 Load 55
-              57:          47 SampledImage 54 56
-              58:    7(fvec4) ImageSampleImplicitLod 57 49
-                              ReturnValue 58
+              54:     53(ptr) AccessChain 20(l_tex) 36
+              55:          11 Load 54
+              57:     56(ptr) AccessChain 21(l_samp) 36
+              58:          16 Load 57
+              59:          47 SampledImage 55 58
+              60:    7(fvec4) ImageSampleImplicitLod 59 49
+                              ReturnValue 60
                               FunctionEnd
 28(@main(struct-PS_OUTPUT-vf41;):           2 Function None 26
    27(ps_output):     25(ptr) FunctionParameter
               29:             Label
-83(local_float_array):     82(ptr) Variable Function
-              64:          16 Load 63(g_samp[0])
-              65:     44(ptr) AccessChain 61(local_sampler_array) 62
-                              Store 65 64
-              66:          16 Load 45(g_samp[1])
-              67:     44(ptr) AccessChain 61(local_sampler_array) 35
+63(local_sampler_array):     18(ptr) Variable Function
+73(local_texture_array):     15(ptr) Variable Function
+85(local_float_array):     84(ptr) Variable Function
+  107(aggShadow):     15(ptr) Variable Function
+  114(aggShadow):     18(ptr) Variable Function
+      121(param):     15(ptr) Variable Function
+      123(param):     18(ptr) Variable Function
+              66:          16 Load 65(g_samp[0])
+              67:     56(ptr) AccessChain 63(local_sampler_array) 64
                               Store 67 66
-              69:          16 Load 68(g_samp[2])
-              70:     44(ptr) AccessChain 61(local_sampler_array) 36
-                              Store 70 69
-              73:          11 Load 72(g_tex[0])
-              74:     41(ptr) AccessChain 71(local_texture_array) 62
-                              Store 74 73
-              75:          11 Load 42(g_tex[1])
-              76:     41(ptr) AccessChain 71(local_texture_array) 35
+              68:          16 Load 45(g_samp[1])
+              69:     56(ptr) AccessChain 63(local_sampler_array) 35
+                              Store 69 68
+              71:          16 Load 70(g_samp[2])
+              72:     56(ptr) AccessChain 63(local_sampler_array) 36
+                              Store 72 71
+              75:          11 Load 74(g_tex[0])
+              76:     53(ptr) AccessChain 73(local_texture_array) 64
                               Store 76 75
-              78:          11 Load 77(g_tex[2])
-              79:     41(ptr) AccessChain 71(local_texture_array) 36
-                              Store 79 78
-              93:     92(ptr) AccessChain 91 36
-              94:          88 Load 93
-              95:    6(float) CompositeExtract 94 0
-              97:     96(ptr) AccessChain 83(local_float_array) 62
-                              Store 97 95
-              98:    6(float) CompositeExtract 94 1
-              99:     96(ptr) AccessChain 83(local_float_array) 35
-                              Store 99 98
-             100:    6(float) CompositeExtract 94 2
-             101:     96(ptr) AccessChain 83(local_float_array) 36
+              77:          11 Load 42(g_tex[1])
+              78:     53(ptr) AccessChain 73(local_texture_array) 35
+                              Store 78 77
+              80:          11 Load 79(g_tex[2])
+              81:     53(ptr) AccessChain 73(local_texture_array) 36
+                              Store 81 80
+              95:     94(ptr) AccessChain 93 36
+              96:          90 Load 95
+              97:    6(float) CompositeExtract 96 0
+              99:     98(ptr) AccessChain 85(local_float_array) 64
+                              Store 99 97
+             100:    6(float) CompositeExtract 96 1
+             101:     98(ptr) AccessChain 85(local_float_array) 35
                               Store 101 100
-             102:    6(float) CompositeExtract 94 3
-             103:     96(ptr) AccessChain 83(local_float_array) 37
+             102:    6(float) CompositeExtract 96 2
+             103:     98(ptr) AccessChain 85(local_float_array) 36
                               Store 103 102
-             104:    7(fvec4) FunctionCall 9(TestFn1()
-             106:          11 Load 72(g_tex[0])
-             107:     41(ptr) AccessChain 105(aggShadow) 62
-                              Store 107 106
-             108:          11 Load 42(g_tex[1])
-             109:     41(ptr) AccessChain 105(aggShadow) 35
+             104:    6(float) CompositeExtract 96 3
+             105:     98(ptr) AccessChain 85(local_float_array) 37
+                              Store 105 104
+             106:    7(fvec4) FunctionCall 9(TestFn1()
+             108:          11 Load 74(g_tex[0])
+             109:     53(ptr) AccessChain 107(aggShadow) 64
                               Store 109 108
-             110:          11 Load 77(g_tex[2])
-             111:     41(ptr) AccessChain 105(aggShadow) 36
+             110:          11 Load 42(g_tex[1])
+             111:     53(ptr) AccessChain 107(aggShadow) 35
                               Store 111 110
-             113:          16 Load 63(g_samp[0])
-             114:     44(ptr) AccessChain 112(aggShadow) 62
-                              Store 114 113
-             115:          16 Load 45(g_samp[1])
-             116:     44(ptr) AccessChain 112(aggShadow) 35
+             112:          11 Load 79(g_tex[2])
+             113:     53(ptr) AccessChain 107(aggShadow) 36
+                              Store 113 112
+             115:          16 Load 65(g_samp[0])
+             116:     56(ptr) AccessChain 114(aggShadow) 64
                               Store 116 115
-             117:          16 Load 68(g_samp[2])
-             118:     44(ptr) AccessChain 112(aggShadow) 36
+             117:          16 Load 45(g_samp[1])
+             118:     56(ptr) AccessChain 114(aggShadow) 35
                               Store 118 117
-             119:    7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow)
-             120:    7(fvec4) FAdd 104 119
-             122:    121(ptr) AccessChain 27(ps_output) 62
-                              Store 122 120
+             119:          16 Load 70(g_samp[2])
+             120:     56(ptr) AccessChain 114(aggShadow) 36
+                              Store 120 119
+             122:          14 Load 107(aggShadow)
+                              Store 121(param) 122
+             124:          17 Load 114(aggShadow)
+                              Store 123(param) 124
+             125:    7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 121(param) 123(param)
+             126:    7(fvec4) FAdd 106 125
+             128:    127(ptr) AccessChain 27(ps_output) 64
+                              Store 128 126
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
index 52008e3..dc48f6f 100755
--- a/Test/baseResults/hlsl.array.frag.out
+++ b/Test/baseResults/hlsl.array.frag.out
@@ -2,72 +2,142 @@
 Shader version: 500
 gl_FragCoord origin is upper left
 0:? Sequence
-0:8  Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
-0:8    Function Parameters: 
-0:8      'i' ( in int)
-0:8      'input' ( in 3-element array of 4-component vector of float)
+0:7  Sequence
+0:7    move second child to first child ( temp 4-component vector of float)
+0:7      'C' ( global 4-component vector of float)
+0:?       Constant:
+0:?         1.000000
+0:?         2.000000
+0:?         3.000000
+0:?         4.000000
+0:11  Sequence
+0:11    move second child to first child ( temp 2-element array of 4-component vector of float)
+0:11      'c2' ( global 2-element array of 4-component vector of float)
+0:11      Construct vec4 ( temp 2-element array of 4-component vector of float)
+0:11        'C' ( global 4-component vector of float)
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:?           4.000000
+0:14  Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
+0:14    Function Parameters: 
+0:14      'i' ( in int)
+0:14      'input' ( in 3-element array of 4-component vector of float)
 0:?     Sequence
-0:10      Branch: Return with expression
-0:10        add ( temp 4-component vector of float)
-0:10          add ( temp 4-component vector of float)
-0:10            add ( temp 4-component vector of float)
-0:10              add ( temp 4-component vector of float)
-0:10                add ( temp 4-component vector of float)
-0:10                  add ( temp 4-component vector of float)
-0:10                    direct index ( temp 4-component vector of float)
-0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
-0:10                        Constant:
-0:10                          0 (const uint)
-0:10                      Constant:
-0:10                        1 (const int)
-0:10                    indirect index ( temp 4-component vector of float)
-0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
-0:10                        Constant:
-0:10                          0 (const uint)
-0:10                      'i' ( in int)
-0:10                  direct index ( temp 4-component vector of float)
-0:10                    'input' ( in 3-element array of 4-component vector of float)
-0:10                    Constant:
-0:10                      2 (const int)
-0:10                indirect index ( temp 4-component vector of float)
-0:10                  'input' ( in 3-element array of 4-component vector of float)
-0:10                  'i' ( in int)
-0:10              direct index ( temp 4-component vector of float)
-0:10                'b' ( temp 10-element array of 4-component vector of float)
-0:10                Constant:
-0:10                  5 (const int)
-0:10            indirect index ( temp 4-component vector of float)
-0:10              'b' ( temp 10-element array of 4-component vector of float)
-0:10              'i' ( in int)
-0:10          indirect index ( temp 4-component vector of float)
-0:10            m: direct index for structure ( temp 7-element array of 4-component vector of float)
-0:10              indirect index ( temp structure{ temp 7-element array of 4-component vector of float m})
-0:10                s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
-0:10                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
-0:10                  Constant:
-0:10                    1 (const uint)
-0:10                'i' ( in int)
-0:10              Constant:
-0:10                0 (const int)
-0:10            'i' ( in int)
-0:8  Function Definition: PixelShaderFunction( ( temp void)
-0:8    Function Parameters: 
+0:15      Sequence
+0:15        move second child to first child ( temp 10-element array of 4-component vector of float)
+0:15          'b' ( temp 10-element array of 4-component vector of float)
+0:15          Construct vec4 ( temp 10-element array of 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:16      Sequence
+0:16        move second child to first child ( temp 4-component vector of float)
+0:16          'tmp' ( temp 4-component vector of float)
+0:16          add ( temp 4-component vector of float)
+0:16            add ( temp 4-component vector of float)
+0:16              add ( temp 4-component vector of float)
+0:16                add ( temp 4-component vector of float)
+0:16                  'C' ( global 4-component vector of float)
+0:16                  direct index ( temp 4-component vector of float)
+0:16                    a1: direct index for structure ( uniform 1-element array of 4-component vector of float)
+0:16                      'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:16                      Constant:
+0:16                        2 (const uint)
+0:16                    Constant:
+0:16                      0 (const int)
+0:16                Constant:
+0:16                  1.000000
+0:16                  2.000000
+0:16                  3.000000
+0:16                  4.000000
+0:16              indirect index ( temp 4-component vector of float)
+0:16                a2: direct index for structure ( uniform 2-element array of 4-component vector of float)
+0:16                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:16                  Constant:
+0:16                    3 (const uint)
+0:16                'i' ( in int)
+0:16            indirect index ( temp 4-component vector of float)
+0:16              'c2' ( global 2-element array of 4-component vector of float)
+0:16              'i' ( in int)
+0:17      Branch: Return with expression
+0:17        add ( temp 4-component vector of float)
+0:17          add ( temp 4-component vector of float)
+0:17            add ( temp 4-component vector of float)
+0:17              add ( temp 4-component vector of float)
+0:17                add ( temp 4-component vector of float)
+0:17                  add ( temp 4-component vector of float)
+0:17                    add ( temp 4-component vector of float)
+0:17                      direct index ( temp 4-component vector of float)
+0:17                        a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:17                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:17                          Constant:
+0:17                            0 (const uint)
+0:17                        Constant:
+0:17                          1 (const int)
+0:17                      indirect index ( temp 4-component vector of float)
+0:17                        a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:17                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:17                          Constant:
+0:17                            0 (const uint)
+0:17                        'i' ( in int)
+0:17                    direct index ( temp 4-component vector of float)
+0:17                      'input' ( in 3-element array of 4-component vector of float)
+0:17                      Constant:
+0:17                        2 (const int)
+0:17                  indirect index ( temp 4-component vector of float)
+0:17                    'input' ( in 3-element array of 4-component vector of float)
+0:17                    'i' ( in int)
+0:17                direct index ( temp 4-component vector of float)
+0:17                  'b' ( temp 10-element array of 4-component vector of float)
+0:17                  Constant:
+0:17                    5 (const int)
+0:17              indirect index ( temp 4-component vector of float)
+0:17                'b' ( temp 10-element array of 4-component vector of float)
+0:17                'i' ( in int)
+0:17            indirect index ( temp 4-component vector of float)
+0:17              m: direct index for structure ( temp 7-element array of 4-component vector of float)
+0:17                indirect index ( temp structure{ temp 7-element array of 4-component vector of float m})
+0:17                  s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
+0:17                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:17                    Constant:
+0:17                      1 (const uint)
+0:17                  'i' ( in int)
+0:17                Constant:
+0:17                  0 (const int)
+0:17              'i' ( in int)
+0:17          'tmp' ( temp 4-component vector of float)
+0:14  Function Definition: PixelShaderFunction( ( temp void)
+0:14    Function Parameters: 
 0:?     Sequence
-0:8      move second child to first child ( temp int)
+0:14      move second child to first child ( temp int)
 0:?         'i' ( temp int)
 0:?         'i' (layout( location=0) flat in int)
-0:8      move second child to first child ( temp 3-element array of 4-component vector of float)
+0:14      move second child to first child ( temp 3-element array of 4-component vector of float)
 0:?         'input' ( temp 3-element array of 4-component vector of float)
 0:?         'input' (layout( location=1) in 3-element array of 4-component vector of float)
-0:8      move second child to first child ( temp 4-component vector of float)
+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:8        Function Call: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
+0:14        Function Call: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
 0:?           'i' ( temp int)
 0:?           'input' ( temp 3-element array of 4-component vector of float)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:?     'C' ( global 4-component vector of float)
+0:?     'c1' ( const 1-element array of 4-component vector of float)
+0:?       1.000000
+0:?       2.000000
+0:?       3.000000
+0:?       4.000000
+0:?     'c2' ( global 2-element array of 4-component vector of float)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'i' (layout( location=0) flat in int)
 0:?     'input' (layout( location=1) in 3-element array of 4-component vector of float)
@@ -79,116 +149,195 @@
 Shader version: 500
 gl_FragCoord origin is upper left
 0:? Sequence
-0:8  Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
-0:8    Function Parameters: 
-0:8      'i' ( in int)
-0:8      'input' ( in 3-element array of 4-component vector of float)
+0:7  Sequence
+0:7    move second child to first child ( temp 4-component vector of float)
+0:7      'C' ( global 4-component vector of float)
+0:?       Constant:
+0:?         1.000000
+0:?         2.000000
+0:?         3.000000
+0:?         4.000000
+0:11  Sequence
+0:11    move second child to first child ( temp 2-element array of 4-component vector of float)
+0:11      'c2' ( global 2-element array of 4-component vector of float)
+0:11      Construct vec4 ( temp 2-element array of 4-component vector of float)
+0:11        'C' ( global 4-component vector of float)
+0:?         Constant:
+0:?           1.000000
+0:?           2.000000
+0:?           3.000000
+0:?           4.000000
+0:14  Function Definition: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
+0:14    Function Parameters: 
+0:14      'i' ( in int)
+0:14      'input' ( in 3-element array of 4-component vector of float)
 0:?     Sequence
-0:10      Branch: Return with expression
-0:10        add ( temp 4-component vector of float)
-0:10          add ( temp 4-component vector of float)
-0:10            add ( temp 4-component vector of float)
-0:10              add ( temp 4-component vector of float)
-0:10                add ( temp 4-component vector of float)
-0:10                  add ( temp 4-component vector of float)
-0:10                    direct index ( temp 4-component vector of float)
-0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
-0:10                        Constant:
-0:10                          0 (const uint)
-0:10                      Constant:
-0:10                        1 (const int)
-0:10                    indirect index ( temp 4-component vector of float)
-0:10                      a: direct index for structure ( uniform 4-element array of 4-component vector of float)
-0:10                        'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
-0:10                        Constant:
-0:10                          0 (const uint)
-0:10                      'i' ( in int)
-0:10                  direct index ( temp 4-component vector of float)
-0:10                    'input' ( in 3-element array of 4-component vector of float)
-0:10                    Constant:
-0:10                      2 (const int)
-0:10                indirect index ( temp 4-component vector of float)
-0:10                  'input' ( in 3-element array of 4-component vector of float)
-0:10                  'i' ( in int)
-0:10              direct index ( temp 4-component vector of float)
-0:10                'b' ( temp 10-element array of 4-component vector of float)
-0:10                Constant:
-0:10                  5 (const int)
-0:10            indirect index ( temp 4-component vector of float)
-0:10              'b' ( temp 10-element array of 4-component vector of float)
-0:10              'i' ( in int)
-0:10          indirect index ( temp 4-component vector of float)
-0:10            m: direct index for structure ( temp 7-element array of 4-component vector of float)
-0:10              indirect index ( temp structure{ temp 7-element array of 4-component vector of float m})
-0:10                s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
-0:10                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
-0:10                  Constant:
-0:10                    1 (const uint)
-0:10                'i' ( in int)
-0:10              Constant:
-0:10                0 (const int)
-0:10            'i' ( in int)
-0:8  Function Definition: PixelShaderFunction( ( temp void)
-0:8    Function Parameters: 
+0:15      Sequence
+0:15        move second child to first child ( temp 10-element array of 4-component vector of float)
+0:15          'b' ( temp 10-element array of 4-component vector of float)
+0:15          Construct vec4 ( temp 10-element array of 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:15            'C' ( global 4-component vector of float)
+0:16      Sequence
+0:16        move second child to first child ( temp 4-component vector of float)
+0:16          'tmp' ( temp 4-component vector of float)
+0:16          add ( temp 4-component vector of float)
+0:16            add ( temp 4-component vector of float)
+0:16              add ( temp 4-component vector of float)
+0:16                add ( temp 4-component vector of float)
+0:16                  'C' ( global 4-component vector of float)
+0:16                  direct index ( temp 4-component vector of float)
+0:16                    a1: direct index for structure ( uniform 1-element array of 4-component vector of float)
+0:16                      'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:16                      Constant:
+0:16                        2 (const uint)
+0:16                    Constant:
+0:16                      0 (const int)
+0:16                Constant:
+0:16                  1.000000
+0:16                  2.000000
+0:16                  3.000000
+0:16                  4.000000
+0:16              indirect index ( temp 4-component vector of float)
+0:16                a2: direct index for structure ( uniform 2-element array of 4-component vector of float)
+0:16                  'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:16                  Constant:
+0:16                    3 (const uint)
+0:16                'i' ( in int)
+0:16            indirect index ( temp 4-component vector of float)
+0:16              'c2' ( global 2-element array of 4-component vector of float)
+0:16              'i' ( in int)
+0:17      Branch: Return with expression
+0:17        add ( temp 4-component vector of float)
+0:17          add ( temp 4-component vector of float)
+0:17            add ( temp 4-component vector of float)
+0:17              add ( temp 4-component vector of float)
+0:17                add ( temp 4-component vector of float)
+0:17                  add ( temp 4-component vector of float)
+0:17                    add ( temp 4-component vector of float)
+0:17                      direct index ( temp 4-component vector of float)
+0:17                        a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:17                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:17                          Constant:
+0:17                            0 (const uint)
+0:17                        Constant:
+0:17                          1 (const int)
+0:17                      indirect index ( temp 4-component vector of float)
+0:17                        a: direct index for structure ( uniform 4-element array of 4-component vector of float)
+0:17                          'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:17                          Constant:
+0:17                            0 (const uint)
+0:17                        'i' ( in int)
+0:17                    direct index ( temp 4-component vector of float)
+0:17                      'input' ( in 3-element array of 4-component vector of float)
+0:17                      Constant:
+0:17                        2 (const int)
+0:17                  indirect index ( temp 4-component vector of float)
+0:17                    'input' ( in 3-element array of 4-component vector of float)
+0:17                    'i' ( in int)
+0:17                direct index ( temp 4-component vector of float)
+0:17                  'b' ( temp 10-element array of 4-component vector of float)
+0:17                  Constant:
+0:17                    5 (const int)
+0:17              indirect index ( temp 4-component vector of float)
+0:17                'b' ( temp 10-element array of 4-component vector of float)
+0:17                'i' ( in int)
+0:17            indirect index ( temp 4-component vector of float)
+0:17              m: direct index for structure ( temp 7-element array of 4-component vector of float)
+0:17                indirect index ( temp structure{ temp 7-element array of 4-component vector of float m})
+0:17                  s: direct index for structure ( uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m})
+0:17                    'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:17                    Constant:
+0:17                      1 (const uint)
+0:17                  'i' ( in int)
+0:17                Constant:
+0:17                  0 (const int)
+0:17              'i' ( in int)
+0:17          'tmp' ( temp 4-component vector of float)
+0:14  Function Definition: PixelShaderFunction( ( temp void)
+0:14    Function Parameters: 
 0:?     Sequence
-0:8      move second child to first child ( temp int)
+0:14      move second child to first child ( temp int)
 0:?         'i' ( temp int)
 0:?         'i' (layout( location=0) flat in int)
-0:8      move second child to first child ( temp 3-element array of 4-component vector of float)
+0:14      move second child to first child ( temp 3-element array of 4-component vector of float)
 0:?         'input' ( temp 3-element array of 4-component vector of float)
 0:?         'input' (layout( location=1) in 3-element array of 4-component vector of float)
-0:8      move second child to first child ( temp 4-component vector of float)
+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:8        Function Call: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
+0:14        Function Call: @PixelShaderFunction(i1;vf4[3]; ( temp 4-component vector of float)
 0:?           'i' ( temp int)
 0:?           'input' ( temp 3-element array of 4-component vector of float)
 0:?   Linker Objects
-0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s})
+0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 4-component vector of float a,  uniform 11-element array of structure{ temp 7-element array of 4-component vector of float m} s,  uniform 1-element array of 4-component vector of float a1,  uniform 2-element array of 4-component vector of float a2})
+0:?     'C' ( global 4-component vector of float)
+0:?     'c1' ( const 1-element array of 4-component vector of float)
+0:?       1.000000
+0:?       2.000000
+0:?       3.000000
+0:?       4.000000
+0:?     'c2' ( global 2-element array of 4-component vector of float)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'i' (layout( location=0) flat in int)
 0:?     'input' (layout( location=1) in 3-element array of 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 81
+// Generated by (magic number): 80002
+// Id's are bound by 126
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "PixelShaderFunction" 68 72 75
+                              EntryPoint Fragment 4  "PixelShaderFunction" 112 116 119
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "PixelShaderFunction"
                               Name 17  "@PixelShaderFunction(i1;vf4[3];"
                               Name 15  "i"
                               Name 16  "input"
-                              Name 23  ""
-                              MemberName 23 0  "m"
-                              Name 26  "$Global"
-                              MemberName 26($Global) 0  "a"
-                              MemberName 26($Global) 1  "s"
-                              Name 28  ""
-                              Name 50  "b"
-                              Name 66  "i"
-                              Name 68  "i"
-                              Name 70  "input"
-                              Name 72  "input"
-                              Name 75  "@entryPointOutput"
-                              Name 76  "param"
-                              Name 78  "param"
-                              Decorate 20 ArrayStride 16
-                              Decorate 22 ArrayStride 16
-                              MemberDecorate 23 0 Offset 0
-                              Decorate 25 ArrayStride 112
-                              MemberDecorate 26($Global) 0 Offset 0
-                              MemberDecorate 26($Global) 1 Offset 64
-                              Decorate 26($Global) Block
-                              Decorate 28 DescriptorSet 0
-                              Decorate 68(i) Flat
-                              Decorate 68(i) Location 0
-                              Decorate 72(input) Location 1
-                              Decorate 75(@entryPointOutput) Location 0
+                              Name 20  "C"
+                              Name 29  "c2"
+                              Name 35  "b"
+                              Name 48  "tmp"
+                              Name 54  ""
+                              MemberName 54 0  "m"
+                              Name 60  "$Global"
+                              MemberName 60($Global) 0  "a"
+                              MemberName 60($Global) 1  "s"
+                              MemberName 60($Global) 2  "a1"
+                              MemberName 60($Global) 3  "a2"
+                              Name 62  ""
+                              Name 110  "i"
+                              Name 112  "i"
+                              Name 114  "input"
+                              Name 116  "input"
+                              Name 119  "@entryPointOutput"
+                              Name 120  "param"
+                              Name 122  "param"
+                              Decorate 51 ArrayStride 16
+                              Decorate 53 ArrayStride 16
+                              MemberDecorate 54 0 Offset 0
+                              Decorate 56 ArrayStride 112
+                              Decorate 58 ArrayStride 16
+                              Decorate 59 ArrayStride 16
+                              MemberDecorate 60($Global) 0 Offset 0
+                              MemberDecorate 60($Global) 1 Offset 64
+                              MemberDecorate 60($Global) 2 Offset 1296
+                              MemberDecorate 60($Global) 3 Offset 1312
+                              Decorate 60($Global) Block
+                              Decorate 62 DescriptorSet 0
+                              Decorate 112(i) Flat
+                              Decorate 112(i) Location 0
+                              Decorate 116(input) Location 1
+                              Decorate 119(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
@@ -200,78 +349,127 @@
               12:             TypeArray 9(fvec4) 11
               13:             TypePointer Function 12
               14:             TypeFunction 9(fvec4) 7(ptr) 13(ptr)
-              19:     10(int) Constant 4
-              20:             TypeArray 9(fvec4) 19
-              21:     10(int) Constant 7
-              22:             TypeArray 9(fvec4) 21
-              23:             TypeStruct 22
-              24:     10(int) Constant 11
-              25:             TypeArray 23(struct) 24
-     26($Global):             TypeStruct 20 25
-              27:             TypePointer Uniform 26($Global)
-              28:     27(ptr) Variable Uniform
-              29:      6(int) Constant 0
-              30:      6(int) Constant 1
-              31:             TypePointer Uniform 9(fvec4)
-              38:      6(int) Constant 2
-              39:             TypePointer Function 9(fvec4)
-              47:     10(int) Constant 10
-              48:             TypeArray 9(fvec4) 47
-              49:             TypePointer Function 48
-              51:      6(int) Constant 5
-              67:             TypePointer Input 6(int)
-           68(i):     67(ptr) Variable Input
-              71:             TypePointer Input 12
-       72(input):     71(ptr) Variable Input
-              74:             TypePointer Output 9(fvec4)
-75(@entryPointOutput):     74(ptr) Variable Output
+              19:             TypePointer Private 9(fvec4)
+           20(C):     19(ptr) Variable Private
+              21:    8(float) Constant 1065353216
+              22:    8(float) Constant 1073741824
+              23:    8(float) Constant 1077936128
+              24:    8(float) Constant 1082130432
+              25:    9(fvec4) ConstantComposite 21 22 23 24
+              26:     10(int) Constant 2
+              27:             TypeArray 9(fvec4) 26
+              28:             TypePointer Private 27
+          29(c2):     28(ptr) Variable Private
+              32:     10(int) Constant 10
+              33:             TypeArray 9(fvec4) 32
+              34:             TypePointer Function 33
+              47:             TypePointer Function 9(fvec4)
+              50:     10(int) Constant 4
+              51:             TypeArray 9(fvec4) 50
+              52:     10(int) Constant 7
+              53:             TypeArray 9(fvec4) 52
+              54:             TypeStruct 53
+              55:     10(int) Constant 11
+              56:             TypeArray 54(struct) 55
+              57:     10(int) Constant 1
+              58:             TypeArray 9(fvec4) 57
+              59:             TypeArray 9(fvec4) 26
+     60($Global):             TypeStruct 51 56 58 59
+              61:             TypePointer Uniform 60($Global)
+              62:     61(ptr) Variable Uniform
+              63:      6(int) Constant 2
+              64:      6(int) Constant 0
+              65:             TypePointer Uniform 9(fvec4)
+              70:      6(int) Constant 3
+              79:      6(int) Constant 1
+              93:      6(int) Constant 5
+             111:             TypePointer Input 6(int)
+          112(i):    111(ptr) Variable Input
+             115:             TypePointer Input 12
+      116(input):    115(ptr) Variable Input
+             118:             TypePointer Output 9(fvec4)
+119(@entryPointOutput):    118(ptr) Variable Output
+             125:          58 ConstantComposite 25
 4(PixelShaderFunction):           2 Function None 3
                5:             Label
-           66(i):      7(ptr) Variable Function
-       70(input):     13(ptr) Variable Function
-       76(param):      7(ptr) Variable Function
-       78(param):     13(ptr) Variable Function
-              69:      6(int) Load 68(i)
-                              Store 66(i) 69
-              73:          12 Load 72(input)
-                              Store 70(input) 73
-              77:      6(int) Load 66(i)
-                              Store 76(param) 77
-              79:          12 Load 70(input)
-                              Store 78(param) 79
-              80:    9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 76(param) 78(param)
-                              Store 75(@entryPointOutput) 80
+          110(i):      7(ptr) Variable Function
+      114(input):     13(ptr) Variable Function
+      120(param):      7(ptr) Variable Function
+      122(param):     13(ptr) Variable Function
+                              Store 20(C) 25
+              30:    9(fvec4) Load 20(C)
+              31:          27 CompositeConstruct 30 25
+                              Store 29(c2) 31
+             113:      6(int) Load 112(i)
+                              Store 110(i) 113
+             117:          12 Load 116(input)
+                              Store 114(input) 117
+             121:      6(int) Load 110(i)
+                              Store 120(param) 121
+             123:          12 Load 114(input)
+                              Store 122(param) 123
+             124:    9(fvec4) FunctionCall 17(@PixelShaderFunction(i1;vf4[3];) 120(param) 122(param)
+                              Store 119(@entryPointOutput) 124
                               Return
                               FunctionEnd
 17(@PixelShaderFunction(i1;vf4[3];):    9(fvec4) Function None 14
            15(i):      7(ptr) FunctionParameter
        16(input):     13(ptr) FunctionParameter
               18:             Label
-           50(b):     49(ptr) Variable Function
-              32:     31(ptr) AccessChain 28 29 30
-              33:    9(fvec4) Load 32
-              34:      6(int) Load 15(i)
-              35:     31(ptr) AccessChain 28 29 34
-              36:    9(fvec4) Load 35
-              37:    9(fvec4) FAdd 33 36
-              40:     39(ptr) AccessChain 16(input) 38
-              41:    9(fvec4) Load 40
-              42:    9(fvec4) FAdd 37 41
-              43:      6(int) Load 15(i)
-              44:     39(ptr) AccessChain 16(input) 43
-              45:    9(fvec4) Load 44
-              46:    9(fvec4) FAdd 42 45
-              52:     39(ptr) AccessChain 50(b) 51
-              53:    9(fvec4) Load 52
-              54:    9(fvec4) FAdd 46 53
-              55:      6(int) Load 15(i)
-              56:     39(ptr) AccessChain 50(b) 55
-              57:    9(fvec4) Load 56
-              58:    9(fvec4) FAdd 54 57
-              59:      6(int) Load 15(i)
-              60:      6(int) Load 15(i)
-              61:     31(ptr) AccessChain 28 30 59 29 60
-              62:    9(fvec4) Load 61
-              63:    9(fvec4) FAdd 58 62
-                              ReturnValue 63
+           35(b):     34(ptr) Variable Function
+         48(tmp):     47(ptr) Variable Function
+              36:    9(fvec4) Load 20(C)
+              37:    9(fvec4) Load 20(C)
+              38:    9(fvec4) Load 20(C)
+              39:    9(fvec4) Load 20(C)
+              40:    9(fvec4) Load 20(C)
+              41:    9(fvec4) Load 20(C)
+              42:    9(fvec4) Load 20(C)
+              43:    9(fvec4) Load 20(C)
+              44:    9(fvec4) Load 20(C)
+              45:    9(fvec4) Load 20(C)
+              46:          33 CompositeConstruct 36 37 38 39 40 41 42 43 44 45
+                              Store 35(b) 46
+              49:    9(fvec4) Load 20(C)
+              66:     65(ptr) AccessChain 62 63 64
+              67:    9(fvec4) Load 66
+              68:    9(fvec4) FAdd 49 67
+              69:    9(fvec4) FAdd 68 25
+              71:      6(int) Load 15(i)
+              72:     65(ptr) AccessChain 62 70 71
+              73:    9(fvec4) Load 72
+              74:    9(fvec4) FAdd 69 73
+              75:      6(int) Load 15(i)
+              76:     19(ptr) AccessChain 29(c2) 75
+              77:    9(fvec4) Load 76
+              78:    9(fvec4) FAdd 74 77
+                              Store 48(tmp) 78
+              80:     65(ptr) AccessChain 62 64 79
+              81:    9(fvec4) Load 80
+              82:      6(int) Load 15(i)
+              83:     65(ptr) AccessChain 62 64 82
+              84:    9(fvec4) Load 83
+              85:    9(fvec4) FAdd 81 84
+              86:     47(ptr) AccessChain 16(input) 63
+              87:    9(fvec4) Load 86
+              88:    9(fvec4) FAdd 85 87
+              89:      6(int) Load 15(i)
+              90:     47(ptr) AccessChain 16(input) 89
+              91:    9(fvec4) Load 90
+              92:    9(fvec4) FAdd 88 91
+              94:     47(ptr) AccessChain 35(b) 93
+              95:    9(fvec4) Load 94
+              96:    9(fvec4) FAdd 92 95
+              97:      6(int) Load 15(i)
+              98:     47(ptr) AccessChain 35(b) 97
+              99:    9(fvec4) Load 98
+             100:    9(fvec4) FAdd 96 99
+             101:      6(int) Load 15(i)
+             102:      6(int) Load 15(i)
+             103:     65(ptr) AccessChain 62 79 101 64 102
+             104:    9(fvec4) Load 103
+             105:    9(fvec4) FAdd 100 104
+             106:    9(fvec4) Load 48(tmp)
+             107:    9(fvec4) FAdd 105 106
+                              ReturnValue 107
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.array.implicit-size.frag.out b/Test/baseResults/hlsl.array.implicit-size.frag.out
index e4854db..cfd6562 100644
--- a/Test/baseResults/hlsl.array.implicit-size.frag.out
+++ b/Test/baseResults/hlsl.array.implicit-size.frag.out
@@ -163,7 +163,7 @@
 0:?     'g_mystruct' ( global 2-element array of structure{ temp int i,  temp float f})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 72
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.array.multidim.frag.out b/Test/baseResults/hlsl.array.multidim.frag.out
index c62fd7d..133c71f 100644
--- a/Test/baseResults/hlsl.array.multidim.frag.out
+++ b/Test/baseResults/hlsl.array.multidim.frag.out
@@ -134,7 +134,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 57
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.assoc.frag.out b/Test/baseResults/hlsl.assoc.frag.out
index dcefa9c..7f071e4 100755
--- a/Test/baseResults/hlsl.assoc.frag.out
+++ b/Test/baseResults/hlsl.assoc.frag.out
@@ -132,7 +132,7 @@
 0:?     'a5' (layout( location=4) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 58
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.attribute.expression.comp.out b/Test/baseResults/hlsl.attribute.expression.comp.out
index 701511e..5fcf10d 100644
--- a/Test/baseResults/hlsl.attribute.expression.comp.out
+++ b/Test/baseResults/hlsl.attribute.expression.comp.out
@@ -82,7 +82,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.attribute.frag.out b/Test/baseResults/hlsl.attribute.frag.out
index 47fb677..99471c4 100755
--- a/Test/baseResults/hlsl.attribute.frag.out
+++ b/Test/baseResults/hlsl.attribute.frag.out
@@ -50,7 +50,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out
new file mode 100755
index 0000000..02b0ede
--- /dev/null
+++ b/Test/baseResults/hlsl.attributeC11.frag.out
@@ -0,0 +1,176 @@
+hlsl.attributeC11.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:16  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:16    Function Parameters: 
+0:16      'input' ( in 4-component vector of float)
+0:?     Sequence
+0:17      Branch: Return with expression
+0:17        add ( temp 4-component vector of float)
+0:17          'input' ( in 4-component vector of float)
+0:17          textureFetch ( temp 4-component vector of float)
+0:17            'attach' ( uniform texture2D)
+0:17            vector swizzle ( temp int)
+0:17              Constant:
+0:17                0 (const int)
+0:17                0 (const int)
+0:17              Sequence
+0:17                Constant:
+0:17                  0 (const int)
+0:17            direct index ( temp int)
+0:17              Constant:
+0:17                0 (const int)
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:16  Function Definition: main( ( temp void)
+0:16    Function Parameters: 
+0:?     Sequence
+0:16      move second child to first child ( temp 4-component vector of float)
+0:?         'input' ( temp 4-component vector of float)
+0:?         'input' (layout( location=8) in 4-component vector of float)
+0:16      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=7) out 4-component vector of float)
+0:16        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'input' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
+0:?     'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
+0:?     'attach' ( uniform texture2D)
+0:?     '@entryPointOutput' (layout( location=7) out 4-component vector of float)
+0:?     'input' (layout( location=8) in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:16  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:16    Function Parameters: 
+0:16      'input' ( in 4-component vector of float)
+0:?     Sequence
+0:17      Branch: Return with expression
+0:17        add ( temp 4-component vector of float)
+0:17          'input' ( in 4-component vector of float)
+0:17          textureFetch ( temp 4-component vector of float)
+0:17            'attach' ( uniform texture2D)
+0:17            vector swizzle ( temp int)
+0:17              Constant:
+0:17                0 (const int)
+0:17                0 (const int)
+0:17              Sequence
+0:17                Constant:
+0:17                  0 (const int)
+0:17            direct index ( temp int)
+0:17              Constant:
+0:17                0 (const int)
+0:17                0 (const int)
+0:17              Constant:
+0:17                1 (const int)
+0:16  Function Definition: main( ( temp void)
+0:16    Function Parameters: 
+0:?     Sequence
+0:16      move second child to first child ( temp 4-component vector of float)
+0:?         'input' ( temp 4-component vector of float)
+0:?         'input' (layout( location=8) in 4-component vector of float)
+0:16      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=7) out 4-component vector of float)
+0:16        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'input' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'buffer1' (layout( set=0 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
+0:?     'buffer3' (layout( set=2 binding=3 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of structure{ temp 2-component vector of float f} @data})
+0:?     'attach' ( uniform texture2D)
+0:?     '@entryPointOutput' (layout( location=7) out 4-component vector of float)
+0:?     'input' (layout( location=8) in 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 47
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 33 36
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 11  "@main(vf4;"
+                              Name 10  "input"
+                              Name 16  "attach"
+                              Name 31  "input"
+                              Name 33  "input"
+                              Name 36  "@entryPointOutput"
+                              Name 37  "param"
+                              Name 41  "S"
+                              MemberName 41(S) 0  "f"
+                              Name 43  "buffer1"
+                              MemberName 43(buffer1) 0  "@data"
+                              Name 45  "buffer1"
+                              Name 46  "buffer3"
+                              Decorate 16(attach) DescriptorSet 0
+                              Decorate 16(attach) InputAttachmentIndex 4
+                              Decorate 33(input) Location 8
+                              Decorate 36(@entryPointOutput) Location 7
+                              MemberDecorate 41(S) 0 Offset 0
+                              Decorate 42 ArrayStride 8
+                              MemberDecorate 43(buffer1) 0 NonWritable
+                              MemberDecorate 43(buffer1) 0 Offset 0
+                              Decorate 43(buffer1) BufferBlock
+                              Decorate 45(buffer1) DescriptorSet 0
+                              Decorate 45(buffer1) Binding 1
+                              Decorate 46(buffer3) DescriptorSet 2
+                              Decorate 46(buffer3) Binding 3
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 7(fvec4) 8(ptr)
+              14:             TypeImage 6(float) 2D sampled format:Unknown
+              15:             TypePointer UniformConstant 14
+      16(attach):     15(ptr) Variable UniformConstant
+              18:             TypeInt 32 1
+              19:             TypeVector 18(int) 2
+              20:     18(int) Constant 0
+              21:   19(ivec2) ConstantComposite 20 20
+              22:             TypeInt 32 0
+              23:     22(int) Constant 0
+              25:     22(int) Constant 1
+              32:             TypePointer Input 7(fvec4)
+       33(input):     32(ptr) Variable Input
+              35:             TypePointer Output 7(fvec4)
+36(@entryPointOutput):     35(ptr) Variable Output
+              40:             TypeVector 6(float) 2
+           41(S):             TypeStruct 40(fvec2)
+              42:             TypeRuntimeArray 41(S)
+     43(buffer1):             TypeStruct 42
+              44:             TypePointer Uniform 43(buffer1)
+     45(buffer1):     44(ptr) Variable Uniform
+     46(buffer3):     44(ptr) Variable Uniform
+         4(main):           2 Function None 3
+               5:             Label
+       31(input):      8(ptr) Variable Function
+       37(param):      8(ptr) Variable Function
+              34:    7(fvec4) Load 33(input)
+                              Store 31(input) 34
+              38:    7(fvec4) Load 31(input)
+                              Store 37(param) 38
+              39:    7(fvec4) FunctionCall 11(@main(vf4;) 37(param)
+                              Store 36(@entryPointOutput) 39
+                              Return
+                              FunctionEnd
+  11(@main(vf4;):    7(fvec4) Function None 9
+       10(input):      8(ptr) FunctionParameter
+              12:             Label
+              13:    7(fvec4) Load 10(input)
+              17:          14 Load 16(attach)
+              24:     18(int) CompositeExtract 21 0
+              26:     18(int) CompositeExtract 21 1
+              27:    7(fvec4) ImageFetch 17 24 Lod 26
+              28:    7(fvec4) FAdd 13 27
+                              ReturnValue 28
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
new file mode 100755
index 0000000..e00ae52
--- /dev/null
+++ b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
@@ -0,0 +1,109 @@
+hlsl.attributeGlobalBuffer.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:6  Function Definition: @main( ( temp 4-component vector of float)
+0:6    Function Parameters: 
+0:?     Sequence
+0:7      Branch: Return with expression
+0:7        add ( temp 4-component vector of float)
+0:7          u1: direct index for structure ( uniform 4-component vector of float)
+0:7            'anon@0' (layout( set=2 binding=5 row_major std140) uniform block{ uniform 4-component vector of float u1,  uniform 4-component vector of float u2})
+0:7            Constant:
+0:7              0 (const uint)
+0:7          u2: direct index for structure ( uniform 4-component vector of float)
+0:7            'anon@0' (layout( set=2 binding=5 row_major std140) uniform block{ uniform 4-component vector of float u1,  uniform 4-component vector of float u2})
+0:7            Constant:
+0:7              1 (const uint)
+0:6  Function Definition: main( ( temp void)
+0:6    Function Parameters: 
+0:?     Sequence
+0:6      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:6        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=2 binding=5 row_major std140) uniform block{ uniform 4-component vector of float u1,  uniform 4-component vector of float u2})
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:6  Function Definition: @main( ( temp 4-component vector of float)
+0:6    Function Parameters: 
+0:?     Sequence
+0:7      Branch: Return with expression
+0:7        add ( temp 4-component vector of float)
+0:7          u1: direct index for structure ( uniform 4-component vector of float)
+0:7            'anon@0' (layout( set=2 binding=5 row_major std140) uniform block{ uniform 4-component vector of float u1,  uniform 4-component vector of float u2})
+0:7            Constant:
+0:7              0 (const uint)
+0:7          u2: direct index for structure ( uniform 4-component vector of float)
+0:7            'anon@0' (layout( set=2 binding=5 row_major std140) uniform block{ uniform 4-component vector of float u1,  uniform 4-component vector of float u2})
+0:7            Constant:
+0:7              1 (const uint)
+0:6  Function Definition: main( ( temp void)
+0:6    Function Parameters: 
+0:?     Sequence
+0:6      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:6        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'anon@0' (layout( set=2 binding=5 row_major std140) uniform block{ uniform 4-component vector of float u1,  uniform 4-component vector of float u2})
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 28
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 26
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 9  "@main("
+                              Name 11  "$Global"
+                              MemberName 11($Global) 0  "u1"
+                              MemberName 11($Global) 1  "u2"
+                              Name 13  ""
+                              Name 26  "@entryPointOutput"
+                              MemberDecorate 11($Global) 0 Offset 0
+                              MemberDecorate 11($Global) 1 Offset 16
+                              Decorate 11($Global) Block
+                              Decorate 13 DescriptorSet 2
+                              Decorate 13 Binding 5
+                              Decorate 26(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeFunction 7(fvec4)
+     11($Global):             TypeStruct 7(fvec4) 7(fvec4)
+              12:             TypePointer Uniform 11($Global)
+              13:     12(ptr) Variable Uniform
+              14:             TypeInt 32 1
+              15:     14(int) Constant 0
+              16:             TypePointer Uniform 7(fvec4)
+              19:     14(int) Constant 1
+              25:             TypePointer Output 7(fvec4)
+26(@entryPointOutput):     25(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              27:    7(fvec4) FunctionCall 9(@main()
+                              Store 26(@entryPointOutput) 27
+                              Return
+                              FunctionEnd
+       9(@main():    7(fvec4) Function None 8
+              10:             Label
+              17:     16(ptr) AccessChain 13 15
+              18:    7(fvec4) Load 17
+              20:     16(ptr) AccessChain 13 19
+              21:    7(fvec4) Load 20
+              22:    7(fvec4) FAdd 18 21
+                              ReturnValue 22
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
index 9842506..b72c848 100755
--- a/Test/baseResults/hlsl.basic.comp.out
+++ b/Test/baseResults/hlsl.basic.comp.out
@@ -60,7 +60,7 @@
 0:?     'gti' ( in int LocalInvocationID)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 35
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.basic.geom.out b/Test/baseResults/hlsl.basic.geom.out
index 220180c..9d9aaa7 100644
--- a/Test/baseResults/hlsl.basic.geom.out
+++ b/Test/baseResults/hlsl.basic.geom.out
@@ -188,7 +188,7 @@
 0:?     'OutputStream.something' (layout( location=1) out int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 68
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.boolConv.vert.out b/Test/baseResults/hlsl.boolConv.vert.out
index 32c6eb2..5d94fe9 100755
--- a/Test/baseResults/hlsl.boolConv.vert.out
+++ b/Test/baseResults/hlsl.boolConv.vert.out
@@ -224,7 +224,7 @@
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 109
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out
index c0d251c..0b73f8d 100755
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -114,7 +114,7 @@
 0:?     'input' ( in 4-component vector of float FragCoord)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 61
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.calculatelod.dx10.frag.out b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
index 217edf0..bbdd216 100644
--- a/Test/baseResults/hlsl.calculatelod.dx10.frag.out
+++ b/Test/baseResults/hlsl.calculatelod.dx10.frag.out
@@ -356,7 +356,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 148
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.cast.frag.out b/Test/baseResults/hlsl.cast.frag.out
index 854c94e..5d7cd71 100755
--- a/Test/baseResults/hlsl.cast.frag.out
+++ b/Test/baseResults/hlsl.cast.frag.out
@@ -72,7 +72,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.charLit.vert.out b/Test/baseResults/hlsl.charLit.vert.out
index cc8388a..4555ba6 100755
--- a/Test/baseResults/hlsl.charLit.vert.out
+++ b/Test/baseResults/hlsl.charLit.vert.out
@@ -146,7 +146,7 @@
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 58
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clip.frag.out b/Test/baseResults/hlsl.clip.frag.out
index 9b2de87..e2e1a0a 100644
--- a/Test/baseResults/hlsl.clip.frag.out
+++ b/Test/baseResults/hlsl.clip.frag.out
@@ -74,7 +74,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 30
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-1.frag.out b/Test/baseResults/hlsl.clipdistance-1.frag.out
index b3cdb61..8327898 100644
--- a/Test/baseResults/hlsl.clipdistance-1.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-1.frag.out
@@ -98,7 +98,7 @@
 0:?     'cull' ( in 1-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 53
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-1.geom.out b/Test/baseResults/hlsl.clipdistance-1.geom.out
index bde7822..5fd9aec 100644
--- a/Test/baseResults/hlsl.clipdistance-1.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-1.geom.out
@@ -550,7 +550,7 @@
 0:?     'OutputStream.clip' ( out 2-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 118
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-1.vert.out b/Test/baseResults/hlsl.clipdistance-1.vert.out
index b11c1cf..94b1c7f 100644
--- a/Test/baseResults/hlsl.clipdistance-1.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-1.vert.out
@@ -108,7 +108,7 @@
 0:?     'cull' ( out 1-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 46
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-2.frag.out b/Test/baseResults/hlsl.clipdistance-2.frag.out
index f39295e..cbda87c 100644
--- a/Test/baseResults/hlsl.clipdistance-2.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-2.frag.out
@@ -290,7 +290,7 @@
 0:?     'cull' ( in 4-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 84
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-2.geom.out b/Test/baseResults/hlsl.clipdistance-2.geom.out
index 158cb2c..1b9f020 100644
--- a/Test/baseResults/hlsl.clipdistance-2.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-2.geom.out
@@ -724,7 +724,7 @@
 0:?     'OutputStream.clip' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 128
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-2.vert.out b/Test/baseResults/hlsl.clipdistance-2.vert.out
index bdab064..9afe2ed 100644
--- a/Test/baseResults/hlsl.clipdistance-2.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-2.vert.out
@@ -420,7 +420,7 @@
 0:?     'cull' ( out 4-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 89
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-3.frag.out b/Test/baseResults/hlsl.clipdistance-3.frag.out
index 8515cd7..1faa87e 100644
--- a/Test/baseResults/hlsl.clipdistance-3.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-3.frag.out
@@ -98,7 +98,7 @@
 0:?     'cull' ( in 2-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 53
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-3.geom.out b/Test/baseResults/hlsl.clipdistance-3.geom.out
index d48c73a..c99a957 100644
--- a/Test/baseResults/hlsl.clipdistance-3.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-3.geom.out
@@ -630,7 +630,7 @@
 0:?     'OutputStream.clip1' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 127
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-3.vert.out b/Test/baseResults/hlsl.clipdistance-3.vert.out
index a301b34..25ca231 100644
--- a/Test/baseResults/hlsl.clipdistance-3.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-3.vert.out
@@ -136,7 +136,7 @@
 0:?     'cull' ( out 2-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 51
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-4.frag.out b/Test/baseResults/hlsl.clipdistance-4.frag.out
index b5fa6c5..b52d917 100644
--- a/Test/baseResults/hlsl.clipdistance-4.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-4.frag.out
@@ -174,7 +174,7 @@
 0:?     'v.ClipRect' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 57
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-4.geom.out b/Test/baseResults/hlsl.clipdistance-4.geom.out
index 82d0c0a..9518823 100644
--- a/Test/baseResults/hlsl.clipdistance-4.geom.out
+++ b/Test/baseResults/hlsl.clipdistance-4.geom.out
@@ -612,7 +612,7 @@
 0:?     'OutputStream.clip1' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 130
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.clipdistance-4.vert.out b/Test/baseResults/hlsl.clipdistance-4.vert.out
index ac99334..575f7d1 100644
--- a/Test/baseResults/hlsl.clipdistance-4.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-4.vert.out
@@ -270,7 +270,7 @@
 0:?     '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 72
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-5.frag.out b/Test/baseResults/hlsl.clipdistance-5.frag.out
index 7c1bac5..7a7f985 100644
--- a/Test/baseResults/hlsl.clipdistance-5.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-5.frag.out
@@ -232,7 +232,7 @@
 0:?     'v.ClipRect' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 62
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-5.vert.out b/Test/baseResults/hlsl.clipdistance-5.vert.out
index 7a50973..5e40f88 100644
--- a/Test/baseResults/hlsl.clipdistance-5.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-5.vert.out
@@ -318,7 +318,7 @@
 0:?     '@entryPointOutput.ClipRect' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 73
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-6.frag.out b/Test/baseResults/hlsl.clipdistance-6.frag.out
index c249b0e..907122d 100644
--- a/Test/baseResults/hlsl.clipdistance-6.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-6.frag.out
@@ -282,7 +282,7 @@
 0:?     'v.clip1' ( in 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 79
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-6.vert.out b/Test/baseResults/hlsl.clipdistance-6.vert.out
index 6449482..15c987c 100644
--- a/Test/baseResults/hlsl.clipdistance-6.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-6.vert.out
@@ -428,7 +428,7 @@
 0:?     '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 86
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-7.frag.out b/Test/baseResults/hlsl.clipdistance-7.frag.out
index e6e5c00..03c329f 100644
--- a/Test/baseResults/hlsl.clipdistance-7.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-7.frag.out
@@ -270,7 +270,7 @@
 0:?     'v.clip1' ( in 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 78
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-7.vert.out b/Test/baseResults/hlsl.clipdistance-7.vert.out
index 5a93c2c..468ea66 100644
--- a/Test/baseResults/hlsl.clipdistance-7.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-7.vert.out
@@ -384,7 +384,7 @@
 0:?     '@entryPointOutput.clip1' ( out 8-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 81
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-8.frag.out b/Test/baseResults/hlsl.clipdistance-8.frag.out
index 6777efa..6abc4b1 100644
--- a/Test/baseResults/hlsl.clipdistance-8.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-8.frag.out
@@ -186,7 +186,7 @@
 0:?     'v.clip1' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 65
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-8.vert.out b/Test/baseResults/hlsl.clipdistance-8.vert.out
index 1705f2b..6188f6e 100644
--- a/Test/baseResults/hlsl.clipdistance-8.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-8.vert.out
@@ -240,7 +240,7 @@
 0:?     '@entryPointOutput.clip1' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 62
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-9.frag.out b/Test/baseResults/hlsl.clipdistance-9.frag.out
index b5c0926..57a722b 100644
--- a/Test/baseResults/hlsl.clipdistance-9.frag.out
+++ b/Test/baseResults/hlsl.clipdistance-9.frag.out
@@ -144,7 +144,7 @@
 0:?     'clip0' ( in 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 68
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.clipdistance-9.vert.out b/Test/baseResults/hlsl.clipdistance-9.vert.out
index f984be0..1dc8355 100644
--- a/Test/baseResults/hlsl.clipdistance-9.vert.out
+++ b/Test/baseResults/hlsl.clipdistance-9.vert.out
@@ -194,7 +194,7 @@
 0:?     'clip0' ( out 4-element array of float ClipDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 67
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.comparison.vec.frag.out b/Test/baseResults/hlsl.comparison.vec.frag.out
index 2e57170..e2d4637 100644
--- a/Test/baseResults/hlsl.comparison.vec.frag.out
+++ b/Test/baseResults/hlsl.comparison.vec.frag.out
@@ -262,7 +262,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 96
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out
index 7397c6f..bbcfd55 100755
--- a/Test/baseResults/hlsl.conditional.frag.out
+++ b/Test/baseResults/hlsl.conditional.frag.out
@@ -522,7 +522,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 220
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.constantbuffer.frag.out b/Test/baseResults/hlsl.constantbuffer.frag.out
index 2c7dafe..58e9ed8 100644
--- a/Test/baseResults/hlsl.constantbuffer.frag.out
+++ b/Test/baseResults/hlsl.constantbuffer.frag.out
@@ -45,7 +45,7 @@
 0:24                direct index (layout( row_major std140) temp 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
 0:24                  'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
 0:24                  Constant:
-0:24                    2 (const int)
+0:24                    1 (const int)
 0:24                Constant:
 0:24                  3 (const int)
 0:24              Constant:
@@ -113,7 +113,7 @@
 0:24                direct index (layout( row_major std140) temp 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
 0:24                  'cb3' (layout( row_major std140) uniform 2-element array of 4-element array of block{layout( row_major std140) uniform bool x, layout( row_major std140) uniform float y})
 0:24                  Constant:
-0:24                    2 (const int)
+0:24                    1 (const int)
 0:24                Constant:
 0:24                  3 (const int)
 0:24              Constant:
@@ -132,7 +132,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 66
 
                               Capability Shader
@@ -231,7 +231,7 @@
               54:    7(fvec4)   FAdd 45 53
                                 ReturnValue 54
               56:               Label
-              58:     41(ptr)   AccessChain 18(cb3) 21 57 20
+              58:     41(ptr)   AccessChain 18(cb3) 20 57 20
               59:    6(float)   Load 58
               60:    7(fvec4)   CompositeConstruct 59 59 59 59
                                 ReturnValue 60
diff --git a/Test/baseResults/hlsl.constructArray.vert.out b/Test/baseResults/hlsl.constructArray.vert.out
index dd2c243..7140bea 100755
--- a/Test/baseResults/hlsl.constructArray.vert.out
+++ b/Test/baseResults/hlsl.constructArray.vert.out
@@ -268,7 +268,7 @@
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 89
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.constructexpr.frag.out b/Test/baseResults/hlsl.constructexpr.frag.out
index ecaf95a..1321bfe 100644
--- a/Test/baseResults/hlsl.constructexpr.frag.out
+++ b/Test/baseResults/hlsl.constructexpr.frag.out
@@ -104,7 +104,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 40
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.constructimat.frag.out b/Test/baseResults/hlsl.constructimat.frag.out
index adabb80..f54945a 100644
--- a/Test/baseResults/hlsl.constructimat.frag.out
+++ b/Test/baseResults/hlsl.constructimat.frag.out
@@ -544,7 +544,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 98
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.dashI.vert.out b/Test/baseResults/hlsl.dashI.vert.out
index 27e9129..e8c1dc6 100644
--- a/Test/baseResults/hlsl.dashI.vert.out
+++ b/Test/baseResults/hlsl.dashI.vert.out
@@ -1,6 +1,6 @@
 hlsl.dashI.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 40
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out b/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
index 3d493f7..a54c98d 100644
--- a/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
+++ b/Test/baseResults/hlsl.deadFunctionMissingBody.vert.out
@@ -1,6 +1,6 @@
 hlsl.deadFunctionMissingBody.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 18
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.depthGreater.frag.out b/Test/baseResults/hlsl.depthGreater.frag.out
index f1bbb5b..44c414c 100755
--- a/Test/baseResults/hlsl.depthGreater.frag.out
+++ b/Test/baseResults/hlsl.depthGreater.frag.out
@@ -50,7 +50,7 @@
 0:?     'depth' ( out float FragDepth)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 20
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.depthLess.frag.out b/Test/baseResults/hlsl.depthLess.frag.out
index 7a3e926..f97f1be 100755
--- a/Test/baseResults/hlsl.depthLess.frag.out
+++ b/Test/baseResults/hlsl.depthLess.frag.out
@@ -42,7 +42,7 @@
 0:?     '@entryPointOutput' ( out float FragDepth)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 16
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.discard.frag.out b/Test/baseResults/hlsl.discard.frag.out
index 508ac5a..7a6ed45 100755
--- a/Test/baseResults/hlsl.discard.frag.out
+++ b/Test/baseResults/hlsl.discard.frag.out
@@ -108,7 +108,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out
index bdd9338..bee6c29 100755
--- a/Test/baseResults/hlsl.doLoop.frag.out
+++ b/Test/baseResults/hlsl.doLoop.frag.out
@@ -144,7 +144,7 @@
 0:?     'input' (layout( location=0) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 71
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.domain.1.tese.out b/Test/baseResults/hlsl.domain.1.tese.out
index e8a1955..e0fa528 100644
--- a/Test/baseResults/hlsl.domain.1.tese.out
+++ b/Test/baseResults/hlsl.domain.1.tese.out
@@ -286,7 +286,7 @@
 0:?     'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 103
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.domain.2.tese.out b/Test/baseResults/hlsl.domain.2.tese.out
index 0f42131..02c86ae 100644
--- a/Test/baseResults/hlsl.domain.2.tese.out
+++ b/Test/baseResults/hlsl.domain.2.tese.out
@@ -284,7 +284,7 @@
 0:?     'pcf_data.foo' (layout( location=2) patch in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 98
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.domain.3.tese.out b/Test/baseResults/hlsl.domain.3.tese.out
index 254afe6..6330d08 100644
--- a/Test/baseResults/hlsl.domain.3.tese.out
+++ b/Test/baseResults/hlsl.domain.3.tese.out
@@ -264,7 +264,7 @@
 0:?     'pcf_data.flInsideTessFactor' ( patch in 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 100
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.emptystruct.init.vert.out b/Test/baseResults/hlsl.emptystruct.init.vert.out
index 202e2c0..295fb04 100644
--- a/Test/baseResults/hlsl.emptystruct.init.vert.out
+++ b/Test/baseResults/hlsl.emptystruct.init.vert.out
@@ -60,7 +60,7 @@
 0:?     'vertexIndex' (layout( location=0) in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 29
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.emptystructreturn.frag.out b/Test/baseResults/hlsl.emptystructreturn.frag.out
index 5440045..ee20b7d 100644
--- a/Test/baseResults/hlsl.emptystructreturn.frag.out
+++ b/Test/baseResults/hlsl.emptystructreturn.frag.out
@@ -50,13 +50,13 @@
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 20 23
+                              EntryPoint Fragment 4  "main"
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
diff --git a/Test/baseResults/hlsl.emptystructreturn.vert.out b/Test/baseResults/hlsl.emptystructreturn.vert.out
index c8cea5d..7ff09dd 100644
--- a/Test/baseResults/hlsl.emptystructreturn.vert.out
+++ b/Test/baseResults/hlsl.emptystructreturn.vert.out
@@ -48,13 +48,13 @@
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "main" 20 23
+                              EntryPoint Vertex 4  "main"
                               Source HLSL 500
                               Name 4  "main"
                               Name 6  "vs_in"
diff --git a/Test/baseResults/hlsl.entry-in.frag.out b/Test/baseResults/hlsl.entry-in.frag.out
index f274793..10d8544 100755
--- a/Test/baseResults/hlsl.entry-in.frag.out
+++ b/Test/baseResults/hlsl.entry-in.frag.out
@@ -166,7 +166,7 @@
 0:?     'i.i2' (layout( location=1) flat in 2-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 74
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out
index 9ff7d33..40fc164 100755
--- a/Test/baseResults/hlsl.entry-out.frag.out
+++ b/Test/baseResults/hlsl.entry-out.frag.out
@@ -244,7 +244,7 @@
 0:?     'out3.i' (layout( location=5) out 2-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 89
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.entry.rename.frag.out b/Test/baseResults/hlsl.entry.rename.frag.out
index a85123d..9972ec0 100644
--- a/Test/baseResults/hlsl.entry.rename.frag.out
+++ b/Test/baseResults/hlsl.entry.rename.frag.out
@@ -72,7 +72,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 32
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
index 4ff69a4..6b05ef2 100644
--- a/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
+++ b/Test/baseResults/hlsl.explicitDescriptorSet-2.frag.out
@@ -1,6 +1,6 @@
 hlsl.explicitDescriptorSet.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
index e33f9d6..2f09280 100644
--- a/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
+++ b/Test/baseResults/hlsl.explicitDescriptorSet.frag.out
@@ -1,6 +1,6 @@
 hlsl.explicitDescriptorSet.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.flatten.return.frag.out b/Test/baseResults/hlsl.flatten.return.frag.out
index fd344c9..730a989 100644
--- a/Test/baseResults/hlsl.flatten.return.frag.out
+++ b/Test/baseResults/hlsl.flatten.return.frag.out
@@ -118,7 +118,7 @@
 0:?     '@entryPointOutput.other_struct_member3' (layout( location=3) out float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 49
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out
index aa72124..8eafba8 100755
--- a/Test/baseResults/hlsl.flattenOpaque.frag.out
+++ b/Test/baseResults/hlsl.flattenOpaque.frag.out
@@ -178,13 +178,13 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 85
+// Generated by (magic number): 80002
+// Id's are bound by 99
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 83
+                              EntryPoint Fragment 4  "main" 97
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -201,22 +201,28 @@
                               Name 30  "s.tex"
                               Name 31  "f2"
                               Name 35  "@main("
-                              Name 37  "tex"
-                              Name 68  "s.s2D"
-                              Name 70  "param"
-                              Name 73  "s2.s2D"
-                              Name 74  "s2.tex"
-                              Name 77  "param"
-                              Name 83  "@entryPointOutput"
-                              Decorate 37(tex) DescriptorSet 0
-                              Decorate 68(s.s2D) DescriptorSet 0
-                              Decorate 73(s2.s2D) DescriptorSet 0
-                              Decorate 74(s2.tex) DescriptorSet 0
-                              Decorate 83(@entryPointOutput) Location 0
+                              Name 38  "tex"
+                              Name 70  "s.s2D"
+                              Name 71  "param"
+                              Name 74  "param"
+                              Name 76  "param"
+                              Name 79  "s2.s2D"
+                              Name 80  "s2.tex"
+                              Name 81  "param"
+                              Name 83  "param"
+                              Name 87  "param"
+                              Name 89  "param"
+                              Name 91  "param"
+                              Name 97  "@entryPointOutput"
+                              Decorate 38(tex) DescriptorSet 0
+                              Decorate 70(s.s2D) DescriptorSet 0
+                              Decorate 79(s2.s2D) DescriptorSet 0
+                              Decorate 80(s2.tex) DescriptorSet 0
+                              Decorate 97(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeSampler
-               7:             TypePointer UniformConstant 6
+               7:             TypePointer Function 6
                8:             TypeFloat 32
                9:             TypeVector 8(float) 4
               10:             TypeFunction 9(fvec4) 7(ptr)
@@ -224,80 +230,100 @@
               15:             TypePointer Function 14(fvec2)
               16:             TypeFunction 9(fvec4) 7(ptr) 15(ptr)
               21:             TypeImage 8(float) 2D sampled format:Unknown
-              22:             TypePointer UniformConstant 21
+              22:             TypePointer Function 21
               23:             TypeFunction 9(fvec4) 7(ptr) 22(ptr)
               28:             TypeFunction 9(fvec4) 7(ptr) 22(ptr) 15(ptr)
               34:             TypeFunction 9(fvec4)
-         37(tex):     22(ptr) Variable UniformConstant
-              40:             TypeSampledImage 21
-              42:    8(float) Constant 1045220557
-              43:    8(float) Constant 1050253722
-              44:   14(fvec2) ConstantComposite 42 43
-       68(s.s2D):      7(ptr) Variable UniformConstant
-      73(s2.s2D):      7(ptr) Variable UniformConstant
-      74(s2.tex):     22(ptr) Variable UniformConstant
-              82:             TypePointer Output 9(fvec4)
-83(@entryPointOutput):     82(ptr) Variable Output
+              37:             TypePointer UniformConstant 21
+         38(tex):     37(ptr) Variable UniformConstant
+              41:             TypeSampledImage 21
+              43:    8(float) Constant 1045220557
+              44:    8(float) Constant 1050253722
+              45:   14(fvec2) ConstantComposite 43 44
+              69:             TypePointer UniformConstant 6
+       70(s.s2D):     69(ptr) Variable UniformConstant
+      79(s2.s2D):     69(ptr) Variable UniformConstant
+      80(s2.tex):     37(ptr) Variable UniformConstant
+              96:             TypePointer Output 9(fvec4)
+97(@entryPointOutput):     96(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-              84:    9(fvec4) FunctionCall 35(@main()
-                              Store 83(@entryPointOutput) 84
+              98:    9(fvec4) FunctionCall 35(@main()
+                              Store 97(@entryPointOutput) 98
                               Return
                               FunctionEnd
 12(osCall1(struct-os-p11;):    9(fvec4) Function None 10
        11(s.s2D):      7(ptr) FunctionParameter
               13:             Label
-              38:          21 Load 37(tex)
-              39:           6 Load 11(s.s2D)
-              41:          40 SampledImage 38 39
-              45:    9(fvec4) ImageSampleImplicitLod 41 44
-                              ReturnValue 45
+              39:          21 Load 38(tex)
+              40:           6 Load 11(s.s2D)
+              42:          41 SampledImage 39 40
+              46:    9(fvec4) ImageSampleImplicitLod 42 45
+                              ReturnValue 46
                               FunctionEnd
 19(osCall2(struct-os-p11;vf2;):    9(fvec4) Function None 16
        17(s.s2D):      7(ptr) FunctionParameter
           18(f2):     15(ptr) FunctionParameter
               20:             Label
-              48:          21 Load 37(tex)
-              49:           6 Load 17(s.s2D)
-              50:          40 SampledImage 48 49
-              51:   14(fvec2) Load 18(f2)
-              52:    9(fvec4) ImageSampleImplicitLod 50 51
-                              ReturnValue 52
+              49:          21 Load 38(tex)
+              50:           6 Load 17(s.s2D)
+              51:          41 SampledImage 49 50
+              52:   14(fvec2) Load 18(f2)
+              53:    9(fvec4) ImageSampleImplicitLod 51 52
+                              ReturnValue 53
                               FunctionEnd
 26(os2Call1(struct-os2-p1-t211;):    9(fvec4) Function None 23
        24(s.s2D):      7(ptr) FunctionParameter
        25(s.tex):     22(ptr) FunctionParameter
               27:             Label
-              55:          21 Load 25(s.tex)
-              56:           6 Load 24(s.s2D)
-              57:          40 SampledImage 55 56
-              58:    9(fvec4) ImageSampleImplicitLod 57 44
-                              ReturnValue 58
+              56:          21 Load 25(s.tex)
+              57:           6 Load 24(s.s2D)
+              58:          41 SampledImage 56 57
+              59:    9(fvec4) ImageSampleImplicitLod 58 45
+                              ReturnValue 59
                               FunctionEnd
 32(os2Call2(struct-os2-p1-t211;vf2;):    9(fvec4) Function None 28
        29(s.s2D):      7(ptr) FunctionParameter
        30(s.tex):     22(ptr) FunctionParameter
           31(f2):     15(ptr) FunctionParameter
               33:             Label
-              61:          21 Load 30(s.tex)
-              62:           6 Load 29(s.s2D)
-              63:          40 SampledImage 61 62
-              64:   14(fvec2) Load 31(f2)
-              65:    9(fvec4) ImageSampleImplicitLod 63 64
-                              ReturnValue 65
+              62:          21 Load 30(s.tex)
+              63:           6 Load 29(s.s2D)
+              64:          41 SampledImage 62 63
+              65:   14(fvec2) Load 31(f2)
+              66:    9(fvec4) ImageSampleImplicitLod 64 65
+                              ReturnValue 66
                               FunctionEnd
       35(@main():    9(fvec4) Function None 34
               36:             Label
-       70(param):     15(ptr) Variable Function
-       77(param):     15(ptr) Variable Function
-              69:    9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 68(s.s2D)
-                              Store 70(param) 44
-              71:    9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 68(s.s2D) 70(param)
-              72:    9(fvec4) FAdd 69 71
-              75:    9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 73(s2.s2D) 74(s2.tex)
-              76:    9(fvec4) FAdd 72 75
-                              Store 77(param) 44
-              78:    9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 73(s2.s2D) 74(s2.tex) 77(param)
-              79:    9(fvec4) FAdd 76 78
-                              ReturnValue 79
+       71(param):      7(ptr) Variable Function
+       74(param):      7(ptr) Variable Function
+       76(param):     15(ptr) Variable Function
+       81(param):      7(ptr) Variable Function
+       83(param):     22(ptr) Variable Function
+       87(param):      7(ptr) Variable Function
+       89(param):     22(ptr) Variable Function
+       91(param):     15(ptr) Variable Function
+              72:           6 Load 70(s.s2D)
+                              Store 71(param) 72
+              73:    9(fvec4) FunctionCall 12(osCall1(struct-os-p11;) 71(param)
+              75:           6 Load 70(s.s2D)
+                              Store 74(param) 75
+                              Store 76(param) 45
+              77:    9(fvec4) FunctionCall 19(osCall2(struct-os-p11;vf2;) 74(param) 76(param)
+              78:    9(fvec4) FAdd 73 77
+              82:           6 Load 79(s2.s2D)
+                              Store 81(param) 82
+              84:          21 Load 80(s2.tex)
+                              Store 83(param) 84
+              85:    9(fvec4) FunctionCall 26(os2Call1(struct-os2-p1-t211;) 81(param) 83(param)
+              86:    9(fvec4) FAdd 78 85
+              88:           6 Load 79(s2.s2D)
+                              Store 87(param) 88
+              90:          21 Load 80(s2.tex)
+                              Store 89(param) 90
+                              Store 91(param) 45
+              92:    9(fvec4) FunctionCall 32(os2Call2(struct-os2-p1-t211;vf2;) 87(param) 89(param) 91(param)
+              93:    9(fvec4) FAdd 86 92
+                              ReturnValue 93
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
index 4bd3161..b82cfff 100755
--- a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
@@ -1,6 +1,5 @@
 hlsl.flattenOpaqueInit.vert
-WARNING: 0:20: '=' : cannot do member-wise aliasing for opaque members with this initializer 
-
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
 Shader version: 500
 0:? Sequence
 0:5  Function Definition: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
@@ -19,13 +18,36 @@
 0:10  Function Definition: fillOpaque( ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:10    Function Parameters: 
 0:?     Sequence
-0:12      'g_tInputTexture_sampler' ( uniform sampler)
-0:13      'g_tInputTexture' ( uniform texture2D)
+0:12      move second child to first child ( temp sampler)
+0:?         't.smpl' ( temp sampler)
+0:12        'g_tInputTexture_sampler' ( uniform sampler)
+0:13      move second child to first child ( temp texture2D)
+0:?         't.tex' ( temp texture2D)
+0:13        'g_tInputTexture' ( uniform texture2D)
 0:14      Branch: Return with expression
 0:14        't' ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:18  Function Definition: @main( ( temp 4-component vector of float)
 0:18    Function Parameters: 
 0:?     Sequence
+0:19      Sequence
+0:19        Sequence
+0:19          move second child to first child ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19            'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19            Construct structure ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19              'g_tInputTexture_sampler' ( uniform sampler)
+0:19              'g_tInputTexture' ( uniform texture2D)
+0:19          move second child to first child ( temp sampler)
+0:?             'tex1.smpl' ( temp sampler)
+0:19            smpl: direct index for structure ( temp sampler)
+0:19              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19              Constant:
+0:19                0 (const int)
+0:19          move second child to first child ( temp texture2D)
+0:?             'tex1.tex' ( temp texture2D)
+0:19            tex: direct index for structure ( temp texture2D)
+0:19              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19              Constant:
+0:19                1 (const int)
 0:20      Sequence
 0:20        Sequence
 0:20          move second child to first child ( temp structure{ temp sampler smpl,  temp texture2D tex})
@@ -43,10 +65,18 @@
 0:20              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:20              Constant:
 0:20                1 (const int)
-0:21      Branch: Return with expression
-0:21        Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
-0:?           'g_tInputTexture_sampler' ( uniform sampler)
-0:?           'g_tInputTexture' ( uniform texture2D)
+0:21      Sequence
+0:21        Sequence
+0:21          move second child to first child ( temp sampler)
+0:?             'tex3.smpl' ( temp sampler)
+0:?             'tex1.smpl' ( temp sampler)
+0:21          move second child to first child ( temp texture2D)
+0:?             'tex3.tex' ( temp texture2D)
+0:?             'tex1.tex' ( temp texture2D)
+0:22      Branch: Return with expression
+0:22        Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
+0:?           'tex3.smpl' ( temp sampler)
+0:?           'tex3.tex' ( temp texture2D)
 0:18  Function Definition: main( ( temp void)
 0:18    Function Parameters: 
 0:?     Sequence
@@ -80,13 +110,36 @@
 0:10  Function Definition: fillOpaque( ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:10    Function Parameters: 
 0:?     Sequence
-0:12      'g_tInputTexture_sampler' ( uniform sampler)
-0:13      'g_tInputTexture' ( uniform texture2D)
+0:12      move second child to first child ( temp sampler)
+0:?         't.smpl' ( temp sampler)
+0:12        'g_tInputTexture_sampler' ( uniform sampler)
+0:13      move second child to first child ( temp texture2D)
+0:?         't.tex' ( temp texture2D)
+0:13        'g_tInputTexture' ( uniform texture2D)
 0:14      Branch: Return with expression
 0:14        't' ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:18  Function Definition: @main( ( temp 4-component vector of float)
 0:18    Function Parameters: 
 0:?     Sequence
+0:19      Sequence
+0:19        Sequence
+0:19          move second child to first child ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19            'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19            Construct structure ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19              'g_tInputTexture_sampler' ( uniform sampler)
+0:19              'g_tInputTexture' ( uniform texture2D)
+0:19          move second child to first child ( temp sampler)
+0:?             'tex1.smpl' ( temp sampler)
+0:19            smpl: direct index for structure ( temp sampler)
+0:19              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19              Constant:
+0:19                0 (const int)
+0:19          move second child to first child ( temp texture2D)
+0:?             'tex1.tex' ( temp texture2D)
+0:19            tex: direct index for structure ( temp texture2D)
+0:19              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
+0:19              Constant:
+0:19                1 (const int)
 0:20      Sequence
 0:20        Sequence
 0:20          move second child to first child ( temp structure{ temp sampler smpl,  temp texture2D tex})
@@ -104,10 +157,18 @@
 0:20              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex})
 0:20              Constant:
 0:20                1 (const int)
-0:21      Branch: Return with expression
-0:21        Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
-0:?           'g_tInputTexture_sampler' ( uniform sampler)
-0:?           'g_tInputTexture' ( uniform texture2D)
+0:21      Sequence
+0:21        Sequence
+0:21          move second child to first child ( temp sampler)
+0:?             'tex3.smpl' ( temp sampler)
+0:?             'tex1.smpl' ( temp sampler)
+0:21          move second child to first child ( temp texture2D)
+0:?             'tex3.tex' ( temp texture2D)
+0:?             'tex1.tex' ( temp texture2D)
+0:22      Branch: Return with expression
+0:22        Function Call: lookUp(struct-FxaaTex-p1-t211; ( temp 4-component vector of float)
+0:?           'tex3.smpl' ( temp sampler)
+0:?           'tex3.tex' ( temp texture2D)
 0:18  Function Definition: main( ( temp void)
 0:18    Function Parameters: 
 0:?     Sequence
@@ -120,13 +181,13 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 60
+// Generated by (magic number): 80002
+// Id's are bound by 84
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "main" 58
+                              EntryPoint Vertex 4  "main" 82
                               Source HLSL 500
                               Name 4  "main"
                               Name 15  "lookUp(struct-FxaaTex-p1-t211;"
@@ -137,23 +198,32 @@
                               MemberName 17(FxaaTex) 1  "tex"
                               Name 19  "fillOpaque("
                               Name 22  "@main("
-                              Name 36  "g_tInputTexture_sampler"
-                              Name 37  "g_tInputTexture"
-                              Name 39  "t"
-                              Name 43  "flattenTemp"
-                              Name 45  "tex2.smpl"
-                              Name 50  "tex2.tex"
-                              Name 58  "@entryPointOutput"
-                              Decorate 36(g_tInputTexture_sampler) DescriptorSet 0
-                              Decorate 37(g_tInputTexture) DescriptorSet 0
-                              Decorate 58(@entryPointOutput) Location 0
+                              Name 36  "t.smpl"
+                              Name 38  "g_tInputTexture_sampler"
+                              Name 40  "t.tex"
+                              Name 42  "g_tInputTexture"
+                              Name 45  "t"
+                              Name 49  "flattenTemp"
+                              Name 53  "tex1.smpl"
+                              Name 58  "tex1.tex"
+                              Name 62  "flattenTemp"
+                              Name 64  "tex2.smpl"
+                              Name 67  "tex2.tex"
+                              Name 70  "tex3.smpl"
+                              Name 72  "tex3.tex"
+                              Name 74  "param"
+                              Name 76  "param"
+                              Name 82  "@entryPointOutput"
+                              Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 42(g_tInputTexture) DescriptorSet 0
+                              Decorate 82(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeSampler
-               7:             TypePointer UniformConstant 6
+               7:             TypePointer Function 6
                8:             TypeFloat 32
                9:             TypeImage 8(float) 2D sampled format:Unknown
-              10:             TypePointer UniformConstant 9
+              10:             TypePointer Function 9
               11:             TypeVector 8(float) 4
               12:             TypeFunction 11(fvec4) 7(ptr) 10(ptr)
      17(FxaaTex):             TypeStruct 6 9
@@ -165,22 +235,20 @@
               30:    8(float) Constant 1053609165
               31:   28(fvec2) ConstantComposite 29 30
               32:    8(float) Constant 0
-36(g_tInputTexture_sampler):      7(ptr) Variable UniformConstant
-37(g_tInputTexture):     10(ptr) Variable UniformConstant
-              38:             TypePointer UniformConstant 17(FxaaTex)
-           39(t):     38(ptr) Variable UniformConstant
- 43(flattenTemp):     38(ptr) Variable UniformConstant
-   45(tex2.smpl):      7(ptr) Variable UniformConstant
-              46:             TypeInt 32 1
-              47:     46(int) Constant 0
-    50(tex2.tex):     10(ptr) Variable UniformConstant
-              51:     46(int) Constant 1
-              57:             TypePointer Output 11(fvec4)
-58(@entryPointOutput):     57(ptr) Variable Output
+              37:             TypePointer UniformConstant 6
+38(g_tInputTexture_sampler):     37(ptr) Variable UniformConstant
+              41:             TypePointer UniformConstant 9
+42(g_tInputTexture):     41(ptr) Variable UniformConstant
+              44:             TypePointer Function 17(FxaaTex)
+              54:             TypeInt 32 1
+              55:     54(int) Constant 0
+              59:     54(int) Constant 1
+              81:             TypePointer Output 11(fvec4)
+82(@entryPointOutput):     81(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-              59:   11(fvec4) FunctionCall 22(@main()
-                              Store 58(@entryPointOutput) 59
+              83:   11(fvec4) FunctionCall 22(@main()
+                              Store 82(@entryPointOutput) 83
                               Return
                               FunctionEnd
 15(lookUp(struct-FxaaTex-p1-t211;):   11(fvec4) Function None 12
@@ -195,19 +263,54 @@
                               FunctionEnd
  19(fillOpaque(): 17(FxaaTex) Function None 18
               20:             Label
-              40: 17(FxaaTex) Load 39(t)
-                              ReturnValue 40
+      36(t.smpl):      7(ptr) Variable Function
+       40(t.tex):     10(ptr) Variable Function
+           45(t):     44(ptr) Variable Function
+              39:           6 Load 38(g_tInputTexture_sampler)
+                              Store 36(t.smpl) 39
+              43:           9 Load 42(g_tInputTexture)
+                              Store 40(t.tex) 43
+              46: 17(FxaaTex) Load 45(t)
+                              ReturnValue 46
                               FunctionEnd
       22(@main():   11(fvec4) Function None 21
               23:             Label
-              44: 17(FxaaTex) FunctionCall 19(fillOpaque()
-                              Store 43(flattenTemp) 44
-              48:      7(ptr) AccessChain 43(flattenTemp) 47
-              49:           6 Load 48
-                              Store 45(tex2.smpl) 49
-              52:     10(ptr) AccessChain 43(flattenTemp) 51
-              53:           9 Load 52
-                              Store 50(tex2.tex) 53
-              54:   11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 36(g_tInputTexture_sampler) 37(g_tInputTexture)
-                              ReturnValue 54
+ 49(flattenTemp):     44(ptr) Variable Function
+   53(tex1.smpl):      7(ptr) Variable Function
+    58(tex1.tex):     10(ptr) Variable Function
+ 62(flattenTemp):     44(ptr) Variable Function
+   64(tex2.smpl):      7(ptr) Variable Function
+    67(tex2.tex):     10(ptr) Variable Function
+   70(tex3.smpl):      7(ptr) Variable Function
+    72(tex3.tex):     10(ptr) Variable Function
+       74(param):      7(ptr) Variable Function
+       76(param):     10(ptr) Variable Function
+              50:           6 Load 38(g_tInputTexture_sampler)
+              51:           9 Load 42(g_tInputTexture)
+              52: 17(FxaaTex) CompositeConstruct 50 51
+                              Store 49(flattenTemp) 52
+              56:      7(ptr) AccessChain 49(flattenTemp) 55
+              57:           6 Load 56
+                              Store 53(tex1.smpl) 57
+              60:     10(ptr) AccessChain 49(flattenTemp) 59
+              61:           9 Load 60
+                              Store 58(tex1.tex) 61
+              63: 17(FxaaTex) FunctionCall 19(fillOpaque()
+                              Store 62(flattenTemp) 63
+              65:      7(ptr) AccessChain 62(flattenTemp) 55
+              66:           6 Load 65
+                              Store 64(tex2.smpl) 66
+              68:     10(ptr) AccessChain 62(flattenTemp) 59
+              69:           9 Load 68
+                              Store 67(tex2.tex) 69
+              71:           6 Load 53(tex1.smpl)
+                              Store 70(tex3.smpl) 71
+              73:           9 Load 58(tex1.tex)
+                              Store 72(tex3.tex) 73
+              75:           6 Load 70(tex3.smpl)
+                              Store 74(param) 75
+              77:           9 Load 72(tex3.tex)
+                              Store 76(param) 77
+              78:   11(fvec4) FunctionCall 15(lookUp(struct-FxaaTex-p1-t211;) 74(param) 76(param)
+                              ReturnValue 78
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
index 1dbc3c3..2de3483 100755
--- a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
+++ b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
@@ -1,4 +1,5 @@
 hlsl.flattenOpaqueInitMix.vert
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
 Shader version: 500
 0:? Sequence
 0:5  Function Definition: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float)
@@ -19,15 +20,36 @@
 0:10    Function Parameters: 
 0:?     Sequence
 0:11      Sequence
-0:?         Sequence
+0:11        Sequence
+0:11          move second child to first child ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11            'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11            Construct structure ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              'g_tInputTexture_sampler' ( uniform sampler)
+0:11              'g_tInputTexture' ( uniform texture2D)
+0:11              Constant:
+0:11                0.500000
+0:11          move second child to first child ( temp sampler)
+0:?             'tex.smpl' ( temp sampler)
+0:11            smpl: direct index for structure ( temp sampler)
+0:11              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              Constant:
+0:11                0 (const int)
+0:11          move second child to first child ( temp texture2D)
+0:?             'tex.tex' ( temp texture2D)
+0:11            tex: direct index for structure ( temp texture2D)
+0:11              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              Constant:
+0:11                1 (const int)
 0:11          move second child to first child ( temp float)
 0:?             'tex.f' ( temp float)
-0:11            Constant:
-0:11              0.500000
+0:11            f: direct index for structure ( temp float)
+0:11              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              Constant:
+0:11                2 (const int)
 0:12      Branch: Return with expression
 0:12        Function Call: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float)
-0:?           'g_tInputTexture_sampler' ( uniform sampler)
-0:?           'g_tInputTexture' ( uniform texture2D)
+0:?           'tex.smpl' ( temp sampler)
+0:?           'tex.tex' ( temp texture2D)
 0:?           'tex.f' ( temp float)
 0:10  Function Definition: main( ( temp void)
 0:10    Function Parameters: 
@@ -64,15 +86,36 @@
 0:10    Function Parameters: 
 0:?     Sequence
 0:11      Sequence
-0:?         Sequence
+0:11        Sequence
+0:11          move second child to first child ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11            'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11            Construct structure ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              'g_tInputTexture_sampler' ( uniform sampler)
+0:11              'g_tInputTexture' ( uniform texture2D)
+0:11              Constant:
+0:11                0.500000
+0:11          move second child to first child ( temp sampler)
+0:?             'tex.smpl' ( temp sampler)
+0:11            smpl: direct index for structure ( temp sampler)
+0:11              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              Constant:
+0:11                0 (const int)
+0:11          move second child to first child ( temp texture2D)
+0:?             'tex.tex' ( temp texture2D)
+0:11            tex: direct index for structure ( temp texture2D)
+0:11              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              Constant:
+0:11                1 (const int)
 0:11          move second child to first child ( temp float)
 0:?             'tex.f' ( temp float)
-0:11            Constant:
-0:11              0.500000
+0:11            f: direct index for structure ( temp float)
+0:11              'flattenTemp' ( temp structure{ temp sampler smpl,  temp texture2D tex,  temp float f})
+0:11              Constant:
+0:11                2 (const int)
 0:12      Branch: Return with expression
 0:12        Function Call: lookUp(struct-FxaaTex-p1-t21-f11; ( temp 4-component vector of float)
-0:?           'g_tInputTexture_sampler' ( uniform sampler)
-0:?           'g_tInputTexture' ( uniform texture2D)
+0:?           'tex.smpl' ( temp sampler)
+0:?           'tex.tex' ( temp texture2D)
 0:?           'tex.f' ( temp float)
 0:10  Function Definition: main( ( temp void)
 0:10    Function Parameters: 
@@ -86,13 +129,13 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 46
+// Generated by (magic number): 80002
+// Id's are bound by 70
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "main" 44
+                              EntryPoint Vertex 4  "main" 68
                               Source HLSL 500
                               Name 4  "main"
                               Name 17  "lookUp(struct-FxaaTex-p1-t21-f11;"
@@ -100,21 +143,30 @@
                               Name 15  "tex.tex"
                               Name 16  "tex.f"
                               Name 20  "@main("
-                              Name 34  "tex.f"
-                              Name 36  "g_tInputTexture_sampler"
-                              Name 37  "g_tInputTexture"
-                              Name 38  "param"
-                              Name 44  "@entryPointOutput"
-                              Decorate 36(g_tInputTexture_sampler) DescriptorSet 0
-                              Decorate 37(g_tInputTexture) DescriptorSet 0
-                              Decorate 44(@entryPointOutput) Location 0
+                              Name 34  "FxaaTex"
+                              MemberName 34(FxaaTex) 0  "smpl"
+                              MemberName 34(FxaaTex) 1  "tex"
+                              MemberName 34(FxaaTex) 2  "f"
+                              Name 36  "flattenTemp"
+                              Name 38  "g_tInputTexture_sampler"
+                              Name 41  "g_tInputTexture"
+                              Name 45  "tex.smpl"
+                              Name 50  "tex.tex"
+                              Name 54  "tex.f"
+                              Name 58  "param"
+                              Name 60  "param"
+                              Name 62  "param"
+                              Name 68  "@entryPointOutput"
+                              Decorate 38(g_tInputTexture_sampler) DescriptorSet 0
+                              Decorate 41(g_tInputTexture) DescriptorSet 0
+                              Decorate 68(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeSampler
-               7:             TypePointer UniformConstant 6
+               7:             TypePointer Function 6
                8:             TypeFloat 32
                9:             TypeImage 8(float) 2D sampled format:Unknown
-              10:             TypePointer UniformConstant 9
+              10:             TypePointer Function 9
               11:             TypePointer Function 8(float)
               12:             TypeVector 8(float) 4
               13:             TypeFunction 12(fvec4) 7(ptr) 10(ptr) 11(ptr)
@@ -122,15 +174,23 @@
               24:             TypeSampledImage 9
               28:             TypeVector 8(float) 2
               30:    8(float) Constant 0
-              35:    8(float) Constant 1056964608
-36(g_tInputTexture_sampler):      7(ptr) Variable UniformConstant
-37(g_tInputTexture):     10(ptr) Variable UniformConstant
-              43:             TypePointer Output 12(fvec4)
-44(@entryPointOutput):     43(ptr) Variable Output
+     34(FxaaTex):             TypeStruct 6 9 8(float)
+              35:             TypePointer Function 34(FxaaTex)
+              37:             TypePointer UniformConstant 6
+38(g_tInputTexture_sampler):     37(ptr) Variable UniformConstant
+              40:             TypePointer UniformConstant 9
+41(g_tInputTexture):     40(ptr) Variable UniformConstant
+              43:    8(float) Constant 1056964608
+              46:             TypeInt 32 1
+              47:     46(int) Constant 0
+              51:     46(int) Constant 1
+              55:     46(int) Constant 2
+              67:             TypePointer Output 12(fvec4)
+68(@entryPointOutput):     67(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-              45:   12(fvec4) FunctionCall 20(@main()
-                              Store 44(@entryPointOutput) 45
+              69:   12(fvec4) FunctionCall 20(@main()
+                              Store 68(@entryPointOutput) 69
                               Return
                               FunctionEnd
 17(lookUp(struct-FxaaTex-p1-t21-f11;):   12(fvec4) Function None 13
@@ -149,11 +209,32 @@
                               FunctionEnd
       20(@main():   12(fvec4) Function None 19
               21:             Label
-       34(tex.f):     11(ptr) Variable Function
-       38(param):     11(ptr) Variable Function
-                              Store 34(tex.f) 35
-              39:    8(float) Load 34(tex.f)
-                              Store 38(param) 39
-              40:   12(fvec4) FunctionCall 17(lookUp(struct-FxaaTex-p1-t21-f11;) 36(g_tInputTexture_sampler) 37(g_tInputTexture) 38(param)
-                              ReturnValue 40
+ 36(flattenTemp):     35(ptr) Variable Function
+    45(tex.smpl):      7(ptr) Variable Function
+     50(tex.tex):     10(ptr) Variable Function
+       54(tex.f):     11(ptr) Variable Function
+       58(param):      7(ptr) Variable Function
+       60(param):     10(ptr) Variable Function
+       62(param):     11(ptr) Variable Function
+              39:           6 Load 38(g_tInputTexture_sampler)
+              42:           9 Load 41(g_tInputTexture)
+              44: 34(FxaaTex) CompositeConstruct 39 42 43
+                              Store 36(flattenTemp) 44
+              48:      7(ptr) AccessChain 36(flattenTemp) 47
+              49:           6 Load 48
+                              Store 45(tex.smpl) 49
+              52:     10(ptr) AccessChain 36(flattenTemp) 51
+              53:           9 Load 52
+                              Store 50(tex.tex) 53
+              56:     11(ptr) AccessChain 36(flattenTemp) 55
+              57:    8(float) Load 56
+                              Store 54(tex.f) 57
+              59:           6 Load 45(tex.smpl)
+                              Store 58(param) 59
+              61:           9 Load 50(tex.tex)
+                              Store 60(param) 61
+              63:    8(float) Load 54(tex.f)
+                              Store 62(param) 63
+              64:   12(fvec4) FunctionCall 17(lookUp(struct-FxaaTex-p1-t21-f11;) 58(param) 60(param) 62(param)
+                              ReturnValue 64
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out
new file mode 100755
index 0000000..f6d867f
--- /dev/null
+++ b/Test/baseResults/hlsl.flattenSubset.frag.out
@@ -0,0 +1,218 @@
+hlsl.flattenSubset.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:30  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:30    Function Parameters: 
+0:30      'vpos' ( in 4-component vector of float)
+0:?     Sequence
+0:33      move second child to first child ( temp sampler)
+0:?         's1.s0.ss' ( temp sampler)
+0:33        'samp' ( uniform sampler)
+0:34      Sequence
+0:34        move second child to first child ( temp float)
+0:?           's2.resources.b' ( temp float)
+0:?           's1.b' ( temp float)
+0:34        move second child to first child ( temp sampler)
+0:?           's2.resources.samplerState' ( temp sampler)
+0:?           's1.samplerState' ( temp sampler)
+0:34        move second child to first child ( temp int)
+0:?           's2.resources.s0.x' ( temp int)
+0:?           's1.s0.x' ( temp int)
+0:34        move second child to first child ( temp int)
+0:?           's2.resources.s0.y' ( temp int)
+0:?           's1.s0.y' ( temp int)
+0:34        move second child to first child ( temp sampler)
+0:?           's2.resources.s0.ss' ( temp sampler)
+0:?           's1.s0.ss' ( temp sampler)
+0:34        move second child to first child ( temp int)
+0:?           's2.resources.a' ( temp int)
+0:?           's1.a' ( temp int)
+0:35      Branch: Return with expression
+0:35        texture ( temp 4-component vector of float)
+0:35          Construct combined texture-sampler ( temp sampler2D)
+0:35            'tex' ( uniform texture2D)
+0:?             's2.resources.s0.ss' ( temp sampler)
+0:35          Constant:
+0:35            0.500000
+0:35            0.500000
+0:30  Function Definition: main( ( temp void)
+0:30    Function Parameters: 
+0:?     Sequence
+0:30      move second child to first child ( temp 4-component vector of float)
+0:?         'vpos' ( temp 4-component vector of float)
+0:?         'vpos' (layout( location=0) in 4-component vector of float)
+0:30      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:30        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'vpos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'samp' ( uniform sampler)
+0:?     'tex' ( uniform texture2D)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'vpos' (layout( location=0) in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:30  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:30    Function Parameters: 
+0:30      'vpos' ( in 4-component vector of float)
+0:?     Sequence
+0:33      move second child to first child ( temp sampler)
+0:?         's1.s0.ss' ( temp sampler)
+0:33        'samp' ( uniform sampler)
+0:34      Sequence
+0:34        move second child to first child ( temp float)
+0:?           's2.resources.b' ( temp float)
+0:?           's1.b' ( temp float)
+0:34        move second child to first child ( temp sampler)
+0:?           's2.resources.samplerState' ( temp sampler)
+0:?           's1.samplerState' ( temp sampler)
+0:34        move second child to first child ( temp int)
+0:?           's2.resources.s0.x' ( temp int)
+0:?           's1.s0.x' ( temp int)
+0:34        move second child to first child ( temp int)
+0:?           's2.resources.s0.y' ( temp int)
+0:?           's1.s0.y' ( temp int)
+0:34        move second child to first child ( temp sampler)
+0:?           's2.resources.s0.ss' ( temp sampler)
+0:?           's1.s0.ss' ( temp sampler)
+0:34        move second child to first child ( temp int)
+0:?           's2.resources.a' ( temp int)
+0:?           's1.a' ( temp int)
+0:35      Branch: Return with expression
+0:35        texture ( temp 4-component vector of float)
+0:35          Construct combined texture-sampler ( temp sampler2D)
+0:35            'tex' ( uniform texture2D)
+0:?             's2.resources.s0.ss' ( temp sampler)
+0:35          Constant:
+0:35            0.500000
+0:35            0.500000
+0:30  Function Definition: main( ( temp void)
+0:30    Function Parameters: 
+0:?     Sequence
+0:30      move second child to first child ( temp 4-component vector of float)
+0:?         'vpos' ( temp 4-component vector of float)
+0:?         'vpos' (layout( location=0) in 4-component vector of float)
+0:30      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:30        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'vpos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'samp' ( uniform sampler)
+0:?     'tex' ( uniform texture2D)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'vpos' (layout( location=0) in 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 61
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 54 57
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 11  "@main(vf4;"
+                              Name 10  "vpos"
+                              Name 15  "s1.s0.ss"
+                              Name 17  "samp"
+                              Name 20  "s2.resources.b"
+                              Name 21  "s1.b"
+                              Name 23  "s2.resources.samplerState"
+                              Name 24  "s1.samplerState"
+                              Name 28  "s2.resources.s0.x"
+                              Name 29  "s1.s0.x"
+                              Name 31  "s2.resources.s0.y"
+                              Name 32  "s1.s0.y"
+                              Name 34  "s2.resources.s0.ss"
+                              Name 36  "s2.resources.a"
+                              Name 37  "s1.a"
+                              Name 41  "tex"
+                              Name 52  "vpos"
+                              Name 54  "vpos"
+                              Name 57  "@entryPointOutput"
+                              Name 58  "param"
+                              Decorate 17(samp) DescriptorSet 0
+                              Decorate 41(tex) DescriptorSet 0
+                              Decorate 54(vpos) Location 0
+                              Decorate 57(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 7(fvec4) 8(ptr)
+              13:             TypeSampler
+              14:             TypePointer Function 13
+              16:             TypePointer UniformConstant 13
+        17(samp):     16(ptr) Variable UniformConstant
+              19:             TypePointer Function 6(float)
+              26:             TypeInt 32 1
+              27:             TypePointer Function 26(int)
+              39:             TypeImage 6(float) 2D sampled format:Unknown
+              40:             TypePointer UniformConstant 39
+         41(tex):     40(ptr) Variable UniformConstant
+              44:             TypeSampledImage 39
+              46:             TypeVector 6(float) 2
+              47:    6(float) Constant 1056964608
+              48:   46(fvec2) ConstantComposite 47 47
+              53:             TypePointer Input 7(fvec4)
+        54(vpos):     53(ptr) Variable Input
+              56:             TypePointer Output 7(fvec4)
+57(@entryPointOutput):     56(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+        52(vpos):      8(ptr) Variable Function
+       58(param):      8(ptr) Variable Function
+              55:    7(fvec4) Load 54(vpos)
+                              Store 52(vpos) 55
+              59:    7(fvec4) Load 52(vpos)
+                              Store 58(param) 59
+              60:    7(fvec4) FunctionCall 11(@main(vf4;) 58(param)
+                              Store 57(@entryPointOutput) 60
+                              Return
+                              FunctionEnd
+  11(@main(vf4;):    7(fvec4) Function None 9
+        10(vpos):      8(ptr) FunctionParameter
+              12:             Label
+    15(s1.s0.ss):     14(ptr) Variable Function
+20(s2.resources.b):     19(ptr) Variable Function
+        21(s1.b):     19(ptr) Variable Function
+23(s2.resources.samplerState):     14(ptr) Variable Function
+24(s1.samplerState):     14(ptr) Variable Function
+28(s2.resources.s0.x):     27(ptr) Variable Function
+     29(s1.s0.x):     27(ptr) Variable Function
+31(s2.resources.s0.y):     27(ptr) Variable Function
+     32(s1.s0.y):     27(ptr) Variable Function
+34(s2.resources.s0.ss):     14(ptr) Variable Function
+36(s2.resources.a):     27(ptr) Variable Function
+        37(s1.a):     27(ptr) Variable Function
+              18:          13 Load 17(samp)
+                              Store 15(s1.s0.ss) 18
+              22:    6(float) Load 21(s1.b)
+                              Store 20(s2.resources.b) 22
+              25:          13 Load 24(s1.samplerState)
+                              Store 23(s2.resources.samplerState) 25
+              30:     26(int) Load 29(s1.s0.x)
+                              Store 28(s2.resources.s0.x) 30
+              33:     26(int) Load 32(s1.s0.y)
+                              Store 31(s2.resources.s0.y) 33
+              35:          13 Load 15(s1.s0.ss)
+                              Store 34(s2.resources.s0.ss) 35
+              38:     26(int) Load 37(s1.a)
+                              Store 36(s2.resources.a) 38
+              42:          39 Load 41(tex)
+              43:          13 Load 34(s2.resources.s0.ss)
+              45:          44 SampledImage 42 43
+              49:    7(fvec4) ImageSampleImplicitLod 45 48
+                              ReturnValue 49
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out
new file mode 100755
index 0000000..4983834
--- /dev/null
+++ b/Test/baseResults/hlsl.flattenSubset2.frag.out
@@ -0,0 +1,207 @@
+hlsl.flattenSubset2.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:8  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:8    Function Parameters: 
+0:8      'vpos' ( in 4-component vector of float)
+0:?     Sequence
+0:13      Sequence
+0:13        move second child to first child ( temp float)
+0:?           'a1.n.y' ( temp float)
+0:?           'a2.n.y' ( temp float)
+0:13        move second child to first child ( temp texture2D)
+0:?           'a1.n.texNested' ( temp texture2D)
+0:?           'a2.n.texNested' ( temp texture2D)
+0:14      Sequence
+0:14        move second child to first child ( temp float)
+0:?           'b.n.y' ( temp float)
+0:?           'a1.n.y' ( temp float)
+0:14        move second child to first child ( temp texture2D)
+0:?           'b.n.texNested' ( temp texture2D)
+0:?           'a1.n.texNested' ( temp texture2D)
+0:17      Sequence
+0:17        Sequence
+0:17          move second child to first child ( temp float)
+0:?             'n.y' ( temp float)
+0:?             'b.n.y' ( temp float)
+0:17          move second child to first child ( temp texture2D)
+0:?             'n.texNested' ( temp texture2D)
+0:?             'b.n.texNested' ( temp texture2D)
+0:20      move second child to first child ( temp texture2D)
+0:?         'a2.n.texNested' ( temp texture2D)
+0:20        'someTex' ( uniform texture2D)
+0:21      move second child to first child ( temp float)
+0:?         'a1.n.y' ( temp float)
+0:21        Constant:
+0:21          1.000000
+0:23      Branch: Return with expression
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:8  Function Definition: main( ( temp void)
+0:8    Function Parameters: 
+0:?     Sequence
+0:8      move second child to first child ( temp 4-component vector of float)
+0:?         'vpos' ( temp 4-component vector of float)
+0:?         'vpos' (layout( location=0) in 4-component vector of float)
+0:8      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:8        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'vpos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'someTex' ( uniform texture2D)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'vpos' (layout( location=0) in 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:8  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:8    Function Parameters: 
+0:8      'vpos' ( in 4-component vector of float)
+0:?     Sequence
+0:13      Sequence
+0:13        move second child to first child ( temp float)
+0:?           'a1.n.y' ( temp float)
+0:?           'a2.n.y' ( temp float)
+0:13        move second child to first child ( temp texture2D)
+0:?           'a1.n.texNested' ( temp texture2D)
+0:?           'a2.n.texNested' ( temp texture2D)
+0:14      Sequence
+0:14        move second child to first child ( temp float)
+0:?           'b.n.y' ( temp float)
+0:?           'a1.n.y' ( temp float)
+0:14        move second child to first child ( temp texture2D)
+0:?           'b.n.texNested' ( temp texture2D)
+0:?           'a1.n.texNested' ( temp texture2D)
+0:17      Sequence
+0:17        Sequence
+0:17          move second child to first child ( temp float)
+0:?             'n.y' ( temp float)
+0:?             'b.n.y' ( temp float)
+0:17          move second child to first child ( temp texture2D)
+0:?             'n.texNested' ( temp texture2D)
+0:?             'b.n.texNested' ( temp texture2D)
+0:20      move second child to first child ( temp texture2D)
+0:?         'a2.n.texNested' ( temp texture2D)
+0:20        'someTex' ( uniform texture2D)
+0:21      move second child to first child ( temp float)
+0:?         'a1.n.y' ( temp float)
+0:21        Constant:
+0:21          1.000000
+0:23      Branch: Return with expression
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:8  Function Definition: main( ( temp void)
+0:8    Function Parameters: 
+0:?     Sequence
+0:8      move second child to first child ( temp 4-component vector of float)
+0:?         'vpos' ( temp 4-component vector of float)
+0:?         'vpos' (layout( location=0) in 4-component vector of float)
+0:8      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:8        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'vpos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'someTex' ( uniform texture2D)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'vpos' (layout( location=0) in 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 47
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 40 43
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 11  "@main(vf4;"
+                              Name 10  "vpos"
+                              Name 14  "a1.n.y"
+                              Name 15  "a2.n.y"
+                              Name 19  "a1.n.texNested"
+                              Name 20  "a2.n.texNested"
+                              Name 22  "b.n.y"
+                              Name 24  "b.n.texNested"
+                              Name 26  "n.y"
+                              Name 28  "n.texNested"
+                              Name 31  "someTex"
+                              Name 38  "vpos"
+                              Name 40  "vpos"
+                              Name 43  "@entryPointOutput"
+                              Name 44  "param"
+                              Decorate 31(someTex) DescriptorSet 0
+                              Decorate 40(vpos) Location 0
+                              Decorate 43(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 7(fvec4) 8(ptr)
+              13:             TypePointer Function 6(float)
+              17:             TypeImage 6(float) 2D sampled format:Unknown
+              18:             TypePointer Function 17
+              30:             TypePointer UniformConstant 17
+     31(someTex):     30(ptr) Variable UniformConstant
+              33:    6(float) Constant 1065353216
+              34:    6(float) Constant 0
+              35:    7(fvec4) ConstantComposite 34 34 34 34
+              39:             TypePointer Input 7(fvec4)
+        40(vpos):     39(ptr) Variable Input
+              42:             TypePointer Output 7(fvec4)
+43(@entryPointOutput):     42(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+        38(vpos):      8(ptr) Variable Function
+       44(param):      8(ptr) Variable Function
+              41:    7(fvec4) Load 40(vpos)
+                              Store 38(vpos) 41
+              45:    7(fvec4) Load 38(vpos)
+                              Store 44(param) 45
+              46:    7(fvec4) FunctionCall 11(@main(vf4;) 44(param)
+                              Store 43(@entryPointOutput) 46
+                              Return
+                              FunctionEnd
+  11(@main(vf4;):    7(fvec4) Function None 9
+        10(vpos):      8(ptr) FunctionParameter
+              12:             Label
+      14(a1.n.y):     13(ptr) Variable Function
+      15(a2.n.y):     13(ptr) Variable Function
+19(a1.n.texNested):     18(ptr) Variable Function
+20(a2.n.texNested):     18(ptr) Variable Function
+       22(b.n.y):     13(ptr) Variable Function
+24(b.n.texNested):     18(ptr) Variable Function
+         26(n.y):     13(ptr) Variable Function
+ 28(n.texNested):     18(ptr) Variable Function
+              16:    6(float) Load 15(a2.n.y)
+                              Store 14(a1.n.y) 16
+              21:          17 Load 20(a2.n.texNested)
+                              Store 19(a1.n.texNested) 21
+              23:    6(float) Load 14(a1.n.y)
+                              Store 22(b.n.y) 23
+              25:          17 Load 19(a1.n.texNested)
+                              Store 24(b.n.texNested) 25
+              27:    6(float) Load 22(b.n.y)
+                              Store 26(n.y) 27
+              29:          17 Load 24(b.n.texNested)
+                              Store 28(n.texNested) 29
+              32:          17 Load 31(someTex)
+                              Store 20(a2.n.texNested) 32
+                              Store 14(a1.n.y) 33
+                              ReturnValue 35
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.float1.frag.out b/Test/baseResults/hlsl.float1.frag.out
index 21b1c19..ed2b6c9 100755
--- a/Test/baseResults/hlsl.float1.frag.out
+++ b/Test/baseResults/hlsl.float1.frag.out
@@ -65,7 +65,7 @@
 0:?     'scalar' ( global float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
index 4da2a16..84213ce 100755
--- a/Test/baseResults/hlsl.float4.frag.out
+++ b/Test/baseResults/hlsl.float4.frag.out
@@ -42,7 +42,7 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 4-component vector of float AmbientColor,  uniform bool 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
+// Generated by (magic number): 80002
 // Id's are bound by 26
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out
index eaca9fd..c9efc33 100755
--- a/Test/baseResults/hlsl.forLoop.frag.out
+++ b/Test/baseResults/hlsl.forLoop.frag.out
@@ -402,7 +402,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 183
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.fraggeom.frag.out b/Test/baseResults/hlsl.fraggeom.frag.out
index 7cb85cd..a010b6e 100644
--- a/Test/baseResults/hlsl.fraggeom.frag.out
+++ b/Test/baseResults/hlsl.fraggeom.frag.out
@@ -64,7 +64,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 25
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gather.array.dx10.frag.out b/Test/baseResults/hlsl.gather.array.dx10.frag.out
index 1f5164c..c2e25ce 100644
--- a/Test/baseResults/hlsl.gather.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.array.dx10.frag.out
@@ -260,7 +260,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 124
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.frag.out b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
index 73bd6e1..a41c03a 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.frag.out
@@ -256,7 +256,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 135
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gather.basic.dx10.vert.out b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
index 51154ca..432da7b 100644
--- a/Test/baseResults/hlsl.gather.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.gather.basic.dx10.vert.out
@@ -220,7 +220,7 @@
 0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 126
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gather.offset.dx10.frag.out b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
index 1e633e8..77410b0 100644
--- a/Test/baseResults/hlsl.gather.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offset.dx10.frag.out
@@ -206,7 +206,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 114
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
index 85ea585..a6e50ff 100644
--- a/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gather.offsetarray.dx10.frag.out
@@ -200,7 +200,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 97
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
index d80e59d..2191553 100644
--- a/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.array.dx10.frag.out
@@ -748,7 +748,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 255
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
index ab1d45b..6dbdfaa 100644
--- a/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.basic.dx10.frag.out
@@ -756,7 +756,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 265
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index 8b8a610..ddbe283 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -1260,7 +1260,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 399
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index f7bd523..360f75c 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -1252,7 +1252,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 389
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
index 996e070..7bfed63 100644
--- a/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gathercmpRGBA.offset.dx10.frag.out
@@ -10,7 +10,7 @@
 0:45          'txval001' ( temp 4-component vector of float)
 0:45          textureGatherOffset ( temp 4-component vector of float)
 0:45            Construct combined texture-sampler ( temp sampler2DShadow)
-0:45              'g_tTex2df4' ( uniform texture2D)
+0:45              'g_tTex2df4' ( uniform texture2DShadow)
 0:45              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:45            c2: direct index for structure ( uniform 2-component vector of float)
 0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -26,7 +26,7 @@
 0:46          'txval011' ( temp 4-component vector of int)
 0:46          textureGatherOffset ( temp 4-component vector of int)
 0:46            Construct combined texture-sampler ( temp isampler2DShadow)
-0:46              'g_tTex2di4' ( uniform itexture2D)
+0:46              'g_tTex2di4' ( uniform itexture2DShadow)
 0:46              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:46            c2: direct index for structure ( uniform 2-component vector of float)
 0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -42,7 +42,7 @@
 0:47          'txval021' ( temp 4-component vector of uint)
 0:47          textureGatherOffset ( temp 4-component vector of uint)
 0:47            Construct combined texture-sampler ( temp usampler2DShadow)
-0:47              'g_tTex2du4' ( uniform utexture2D)
+0:47              'g_tTex2du4' ( uniform utexture2DShadow)
 0:47              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:47            c2: direct index for structure ( uniform 2-component vector of float)
 0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -58,7 +58,7 @@
 0:49          'txval004' ( temp 4-component vector of float)
 0:49          textureGatherOffsets ( temp 4-component vector of float)
 0:49            Construct combined texture-sampler ( temp sampler2DShadow)
-0:49              'g_tTex2df4' ( uniform texture2D)
+0:49              'g_tTex2df4' ( uniform texture2DShadow)
 0:49              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:49            c2: direct index for structure ( uniform 2-component vector of float)
 0:49              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -80,7 +80,7 @@
 0:50          'txval014' ( temp 4-component vector of int)
 0:50          textureGatherOffsets ( temp 4-component vector of int)
 0:50            Construct combined texture-sampler ( temp isampler2DShadow)
-0:50              'g_tTex2di4' ( uniform itexture2D)
+0:50              'g_tTex2di4' ( uniform itexture2DShadow)
 0:50              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:50            c2: direct index for structure ( uniform 2-component vector of float)
 0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -102,7 +102,7 @@
 0:51          'txval024' ( temp 4-component vector of uint)
 0:51          textureGatherOffsets ( temp 4-component vector of uint)
 0:51            Construct combined texture-sampler ( temp usampler2DShadow)
-0:51              'g_tTex2du4' ( uniform utexture2D)
+0:51              'g_tTex2du4' ( uniform utexture2DShadow)
 0:51              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:51            c2: direct index for structure ( uniform 2-component vector of float)
 0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -124,7 +124,7 @@
 0:53          'txval401' ( temp 4-component vector of float)
 0:53          textureGatherOffset ( temp 4-component vector of float)
 0:53            Construct combined texture-sampler ( temp sampler2DShadow)
-0:53              'g_tTex2df4' ( uniform texture2D)
+0:53              'g_tTex2df4' ( uniform texture2DShadow)
 0:53              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:53            c2: direct index for structure ( uniform 2-component vector of float)
 0:53              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -140,7 +140,7 @@
 0:54          'txval411' ( temp 4-component vector of int)
 0:54          textureGatherOffset ( temp 4-component vector of int)
 0:54            Construct combined texture-sampler ( temp isampler2DShadow)
-0:54              'g_tTex2di4' ( uniform itexture2D)
+0:54              'g_tTex2di4' ( uniform itexture2DShadow)
 0:54              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:54            c2: direct index for structure ( uniform 2-component vector of float)
 0:54              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -156,7 +156,7 @@
 0:55          'txval421' ( temp 4-component vector of uint)
 0:55          textureGatherOffset ( temp 4-component vector of uint)
 0:55            Construct combined texture-sampler ( temp usampler2DShadow)
-0:55              'g_tTex2du4' ( uniform utexture2D)
+0:55              'g_tTex2du4' ( uniform utexture2DShadow)
 0:55              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:55            c2: direct index for structure ( uniform 2-component vector of float)
 0:55              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -211,9 +211,9 @@
 0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
 0:?     'g_tTex1di4' ( uniform itexture1D)
 0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
@@ -239,7 +239,7 @@
 0:45          'txval001' ( temp 4-component vector of float)
 0:45          textureGatherOffset ( temp 4-component vector of float)
 0:45            Construct combined texture-sampler ( temp sampler2DShadow)
-0:45              'g_tTex2df4' ( uniform texture2D)
+0:45              'g_tTex2df4' ( uniform texture2DShadow)
 0:45              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:45            c2: direct index for structure ( uniform 2-component vector of float)
 0:45              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -255,7 +255,7 @@
 0:46          'txval011' ( temp 4-component vector of int)
 0:46          textureGatherOffset ( temp 4-component vector of int)
 0:46            Construct combined texture-sampler ( temp isampler2DShadow)
-0:46              'g_tTex2di4' ( uniform itexture2D)
+0:46              'g_tTex2di4' ( uniform itexture2DShadow)
 0:46              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:46            c2: direct index for structure ( uniform 2-component vector of float)
 0:46              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -271,7 +271,7 @@
 0:47          'txval021' ( temp 4-component vector of uint)
 0:47          textureGatherOffset ( temp 4-component vector of uint)
 0:47            Construct combined texture-sampler ( temp usampler2DShadow)
-0:47              'g_tTex2du4' ( uniform utexture2D)
+0:47              'g_tTex2du4' ( uniform utexture2DShadow)
 0:47              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:47            c2: direct index for structure ( uniform 2-component vector of float)
 0:47              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -287,7 +287,7 @@
 0:49          'txval004' ( temp 4-component vector of float)
 0:49          textureGatherOffsets ( temp 4-component vector of float)
 0:49            Construct combined texture-sampler ( temp sampler2DShadow)
-0:49              'g_tTex2df4' ( uniform texture2D)
+0:49              'g_tTex2df4' ( uniform texture2DShadow)
 0:49              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:49            c2: direct index for structure ( uniform 2-component vector of float)
 0:49              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -309,7 +309,7 @@
 0:50          'txval014' ( temp 4-component vector of int)
 0:50          textureGatherOffsets ( temp 4-component vector of int)
 0:50            Construct combined texture-sampler ( temp isampler2DShadow)
-0:50              'g_tTex2di4' ( uniform itexture2D)
+0:50              'g_tTex2di4' ( uniform itexture2DShadow)
 0:50              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:50            c2: direct index for structure ( uniform 2-component vector of float)
 0:50              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -331,7 +331,7 @@
 0:51          'txval024' ( temp 4-component vector of uint)
 0:51          textureGatherOffsets ( temp 4-component vector of uint)
 0:51            Construct combined texture-sampler ( temp usampler2DShadow)
-0:51              'g_tTex2du4' ( uniform utexture2D)
+0:51              'g_tTex2du4' ( uniform utexture2DShadow)
 0:51              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:51            c2: direct index for structure ( uniform 2-component vector of float)
 0:51              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -353,7 +353,7 @@
 0:53          'txval401' ( temp 4-component vector of float)
 0:53          textureGatherOffset ( temp 4-component vector of float)
 0:53            Construct combined texture-sampler ( temp sampler2DShadow)
-0:53              'g_tTex2df4' ( uniform texture2D)
+0:53              'g_tTex2df4' ( uniform texture2DShadow)
 0:53              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:53            c2: direct index for structure ( uniform 2-component vector of float)
 0:53              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -369,7 +369,7 @@
 0:54          'txval411' ( temp 4-component vector of int)
 0:54          textureGatherOffset ( temp 4-component vector of int)
 0:54            Construct combined texture-sampler ( temp isampler2DShadow)
-0:54              'g_tTex2di4' ( uniform itexture2D)
+0:54              'g_tTex2di4' ( uniform itexture2DShadow)
 0:54              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:54            c2: direct index for structure ( uniform 2-component vector of float)
 0:54              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -385,7 +385,7 @@
 0:55          'txval421' ( temp 4-component vector of uint)
 0:55          textureGatherOffset ( temp 4-component vector of uint)
 0:55            Construct combined texture-sampler ( temp usampler2DShadow)
-0:55              'g_tTex2du4' ( uniform utexture2D)
+0:55              'g_tTex2du4' ( uniform utexture2DShadow)
 0:55              'g_sSampCmp' (layout( binding=0) uniform sampler)
 0:55            c2: direct index for structure ( uniform 2-component vector of float)
 0:55              'anon@0' (layout( row_major std140) uniform block{ uniform float c1,  uniform 2-component vector of float c2,  uniform 3-component vector of float c3,  uniform 4-component vector of float c4})
@@ -440,9 +440,9 @@
 0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
 0:?     'g_tTex1di4' ( uniform itexture1D)
 0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
@@ -454,14 +454,14 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 167
+// Generated by (magic number): 80002
+// Id's are bound by 164
 
                               Capability Shader
                               Capability Sampled1D
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 132 136
+                              EntryPoint Fragment 4  "main" 129 133
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -472,61 +472,61 @@
                               Name 13  "txval001"
                               Name 16  "g_tTex2df4"
                               Name 20  "g_sSampCmp"
-                              Name 27  "$Global"
-                              MemberName 27($Global) 0  "c1"
-                              MemberName 27($Global) 1  "c2"
-                              MemberName 27($Global) 2  "c3"
-                              MemberName 27($Global) 3  "c4"
-                              Name 29  ""
-                              Name 42  "txval011"
-                              Name 45  "g_tTex2di4"
-                              Name 59  "txval021"
-                              Name 62  "g_tTex2du4"
-                              Name 72  "txval004"
-                              Name 82  "txval014"
-                              Name 90  "txval024"
-                              Name 98  "txval401"
-                              Name 105  "txval411"
-                              Name 112  "txval421"
-                              Name 120  "psout"
-                              Name 129  "flattenTemp"
-                              Name 132  "@entryPointOutput.Color"
-                              Name 136  "@entryPointOutput.Depth"
-                              Name 141  "g_tTex1df4a"
-                              Name 142  "g_tTex1df4"
-                              Name 145  "g_tTex1di4"
-                              Name 148  "g_tTex1du4"
-                              Name 151  "g_tTex3df4"
-                              Name 154  "g_tTex3di4"
-                              Name 157  "g_tTex3du4"
-                              Name 160  "g_tTexcdf4"
-                              Name 163  "g_tTexcdi4"
-                              Name 166  "g_tTexcdu4"
+                              Name 26  "$Global"
+                              MemberName 26($Global) 0  "c1"
+                              MemberName 26($Global) 1  "c2"
+                              MemberName 26($Global) 2  "c3"
+                              MemberName 26($Global) 3  "c4"
+                              Name 28  ""
+                              Name 41  "txval011"
+                              Name 44  "g_tTex2di4"
+                              Name 57  "txval021"
+                              Name 60  "g_tTex2du4"
+                              Name 69  "txval004"
+                              Name 79  "txval014"
+                              Name 87  "txval024"
+                              Name 95  "txval401"
+                              Name 102  "txval411"
+                              Name 109  "txval421"
+                              Name 117  "psout"
+                              Name 126  "flattenTemp"
+                              Name 129  "@entryPointOutput.Color"
+                              Name 133  "@entryPointOutput.Depth"
+                              Name 138  "g_tTex1df4a"
+                              Name 139  "g_tTex1df4"
+                              Name 142  "g_tTex1di4"
+                              Name 145  "g_tTex1du4"
+                              Name 148  "g_tTex3df4"
+                              Name 151  "g_tTex3di4"
+                              Name 154  "g_tTex3du4"
+                              Name 157  "g_tTexcdf4"
+                              Name 160  "g_tTexcdi4"
+                              Name 163  "g_tTexcdu4"
                               Decorate 16(g_tTex2df4) DescriptorSet 0
                               Decorate 20(g_sSampCmp) DescriptorSet 0
                               Decorate 20(g_sSampCmp) Binding 0
-                              MemberDecorate 27($Global) 0 Offset 0
-                              MemberDecorate 27($Global) 1 Offset 8
-                              MemberDecorate 27($Global) 2 Offset 16
-                              MemberDecorate 27($Global) 3 Offset 32
-                              Decorate 27($Global) Block
-                              Decorate 29 DescriptorSet 0
-                              Decorate 45(g_tTex2di4) DescriptorSet 0
-                              Decorate 62(g_tTex2du4) DescriptorSet 0
-                              Decorate 132(@entryPointOutput.Color) Location 0
-                              Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 141(g_tTex1df4a) DescriptorSet 0
-                              Decorate 141(g_tTex1df4a) Binding 1
-                              Decorate 142(g_tTex1df4) DescriptorSet 0
-                              Decorate 142(g_tTex1df4) Binding 0
-                              Decorate 145(g_tTex1di4) DescriptorSet 0
-                              Decorate 148(g_tTex1du4) DescriptorSet 0
-                              Decorate 151(g_tTex3df4) DescriptorSet 0
-                              Decorate 154(g_tTex3di4) DescriptorSet 0
-                              Decorate 157(g_tTex3du4) DescriptorSet 0
-                              Decorate 160(g_tTexcdf4) DescriptorSet 0
-                              Decorate 163(g_tTexcdi4) DescriptorSet 0
-                              Decorate 166(g_tTexcdu4) DescriptorSet 0
+                              MemberDecorate 26($Global) 0 Offset 0
+                              MemberDecorate 26($Global) 1 Offset 8
+                              MemberDecorate 26($Global) 2 Offset 16
+                              MemberDecorate 26($Global) 3 Offset 32
+                              Decorate 26($Global) Block
+                              Decorate 28 DescriptorSet 0
+                              Decorate 44(g_tTex2di4) DescriptorSet 0
+                              Decorate 60(g_tTex2du4) DescriptorSet 0
+                              Decorate 129(@entryPointOutput.Color) Location 0
+                              Decorate 133(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 138(g_tTex1df4a) DescriptorSet 0
+                              Decorate 138(g_tTex1df4a) Binding 1
+                              Decorate 139(g_tTex1df4) DescriptorSet 0
+                              Decorate 139(g_tTex1df4) Binding 0
+                              Decorate 142(g_tTex1di4) DescriptorSet 0
+                              Decorate 145(g_tTex1du4) DescriptorSet 0
+                              Decorate 148(g_tTex3df4) DescriptorSet 0
+                              Decorate 151(g_tTex3di4) DescriptorSet 0
+                              Decorate 154(g_tTex3du4) DescriptorSet 0
+                              Decorate 157(g_tTexcdf4) DescriptorSet 0
+                              Decorate 160(g_tTexcdi4) DescriptorSet 0
+                              Decorate 163(g_tTexcdu4) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -534,177 +534,174 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 7(fvec4)
-              14:             TypeImage 6(float) 2D sampled format:Unknown
+              14:             TypeImage 6(float) 2D depth sampled format:Unknown
               15:             TypePointer UniformConstant 14
   16(g_tTex2df4):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
   20(g_sSampCmp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 2D depth sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:             TypeVector 6(float) 2
-              26:             TypeVector 6(float) 3
-     27($Global):             TypeStruct 6(float) 25(fvec2) 26(fvec3) 7(fvec4)
-              28:             TypePointer Uniform 27($Global)
-              29:     28(ptr) Variable Uniform
-              30:             TypeInt 32 1
-              31:     30(int) Constant 1
-              32:             TypePointer Uniform 25(fvec2)
-              35:    6(float) Constant 1061158912
-              36:             TypeVector 30(int) 2
-              37:     30(int) Constant 0
-              38:   36(ivec2) ConstantComposite 31 37
-              40:             TypeVector 30(int) 4
-              41:             TypePointer Function 40(ivec4)
-              43:             TypeImage 30(int) 2D sampled format:Unknown
-              44:             TypePointer UniformConstant 43
-  45(g_tTex2di4):     44(ptr) Variable UniformConstant
-              48:             TypeImage 30(int) 2D depth sampled format:Unknown
-              49:             TypeSampledImage 48
-              53:     30(int) Constant 4294967295
-              54:   36(ivec2) ConstantComposite 31 53
-              56:             TypeInt 32 0
-              57:             TypeVector 56(int) 4
-              58:             TypePointer Function 57(ivec4)
-              60:             TypeImage 56(int) 2D sampled format:Unknown
-              61:             TypePointer UniformConstant 60
-  62(g_tTex2du4):     61(ptr) Variable UniformConstant
-              65:             TypeImage 56(int) 2D depth sampled format:Unknown
-              66:             TypeSampledImage 65
-              70:   36(ivec2) ConstantComposite 31 31
-              78:     56(int) Constant 4
-              79:             TypeArray 36(ivec2) 78
-              80:          79 ConstantComposite 38 38 38 38
-              88:          79 ConstantComposite 54 54 54 54
-              96:          79 ConstantComposite 70 70 70 70
-             119:             TypePointer Function 8(PS_OUTPUT)
-             121:    6(float) Constant 1065353216
-             122:    7(fvec4) ConstantComposite 121 121 121 121
-             124:             TypePointer Function 6(float)
-             131:             TypePointer Output 7(fvec4)
-132(@entryPointOutput.Color):    131(ptr) Variable Output
-             135:             TypePointer Output 6(float)
-136(@entryPointOutput.Depth):    135(ptr) Variable Output
-             139:             TypeImage 6(float) 1D sampled format:Unknown
-             140:             TypePointer UniformConstant 139
-141(g_tTex1df4a):    140(ptr) Variable UniformConstant
- 142(g_tTex1df4):    140(ptr) Variable UniformConstant
-             143:             TypeImage 30(int) 1D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:             TypeVector 6(float) 2
+              25:             TypeVector 6(float) 3
+     26($Global):             TypeStruct 6(float) 24(fvec2) 25(fvec3) 7(fvec4)
+              27:             TypePointer Uniform 26($Global)
+              28:     27(ptr) Variable Uniform
+              29:             TypeInt 32 1
+              30:     29(int) Constant 1
+              31:             TypePointer Uniform 24(fvec2)
+              34:    6(float) Constant 1061158912
+              35:             TypeVector 29(int) 2
+              36:     29(int) Constant 0
+              37:   35(ivec2) ConstantComposite 30 36
+              39:             TypeVector 29(int) 4
+              40:             TypePointer Function 39(ivec4)
+              42:             TypeImage 29(int) 2D depth sampled format:Unknown
+              43:             TypePointer UniformConstant 42
+  44(g_tTex2di4):     43(ptr) Variable UniformConstant
+              47:             TypeSampledImage 42
+              51:     29(int) Constant 4294967295
+              52:   35(ivec2) ConstantComposite 30 51
+              54:             TypeInt 32 0
+              55:             TypeVector 54(int) 4
+              56:             TypePointer Function 55(ivec4)
+              58:             TypeImage 54(int) 2D depth sampled format:Unknown
+              59:             TypePointer UniformConstant 58
+  60(g_tTex2du4):     59(ptr) Variable UniformConstant
+              63:             TypeSampledImage 58
+              67:   35(ivec2) ConstantComposite 30 30
+              75:     54(int) Constant 4
+              76:             TypeArray 35(ivec2) 75
+              77:          76 ConstantComposite 37 37 37 37
+              85:          76 ConstantComposite 52 52 52 52
+              93:          76 ConstantComposite 67 67 67 67
+             116:             TypePointer Function 8(PS_OUTPUT)
+             118:    6(float) Constant 1065353216
+             119:    7(fvec4) ConstantComposite 118 118 118 118
+             121:             TypePointer Function 6(float)
+             128:             TypePointer Output 7(fvec4)
+129(@entryPointOutput.Color):    128(ptr) Variable Output
+             132:             TypePointer Output 6(float)
+133(@entryPointOutput.Depth):    132(ptr) Variable Output
+             136:             TypeImage 6(float) 1D sampled format:Unknown
+             137:             TypePointer UniformConstant 136
+138(g_tTex1df4a):    137(ptr) Variable UniformConstant
+ 139(g_tTex1df4):    137(ptr) Variable UniformConstant
+             140:             TypeImage 29(int) 1D sampled format:Unknown
+             141:             TypePointer UniformConstant 140
+ 142(g_tTex1di4):    141(ptr) Variable UniformConstant
+             143:             TypeImage 54(int) 1D sampled format:Unknown
              144:             TypePointer UniformConstant 143
- 145(g_tTex1di4):    144(ptr) Variable UniformConstant
-             146:             TypeImage 56(int) 1D sampled format:Unknown
+ 145(g_tTex1du4):    144(ptr) Variable UniformConstant
+             146:             TypeImage 6(float) 3D sampled format:Unknown
              147:             TypePointer UniformConstant 146
- 148(g_tTex1du4):    147(ptr) Variable UniformConstant
-             149:             TypeImage 6(float) 3D sampled format:Unknown
+ 148(g_tTex3df4):    147(ptr) Variable UniformConstant
+             149:             TypeImage 29(int) 3D sampled format:Unknown
              150:             TypePointer UniformConstant 149
- 151(g_tTex3df4):    150(ptr) Variable UniformConstant
-             152:             TypeImage 30(int) 3D sampled format:Unknown
+ 151(g_tTex3di4):    150(ptr) Variable UniformConstant
+             152:             TypeImage 54(int) 3D sampled format:Unknown
              153:             TypePointer UniformConstant 152
- 154(g_tTex3di4):    153(ptr) Variable UniformConstant
-             155:             TypeImage 56(int) 3D sampled format:Unknown
+ 154(g_tTex3du4):    153(ptr) Variable UniformConstant
+             155:             TypeImage 6(float) Cube sampled format:Unknown
              156:             TypePointer UniformConstant 155
- 157(g_tTex3du4):    156(ptr) Variable UniformConstant
-             158:             TypeImage 6(float) Cube sampled format:Unknown
+ 157(g_tTexcdf4):    156(ptr) Variable UniformConstant
+             158:             TypeImage 29(int) Cube sampled format:Unknown
              159:             TypePointer UniformConstant 158
- 160(g_tTexcdf4):    159(ptr) Variable UniformConstant
-             161:             TypeImage 30(int) Cube sampled format:Unknown
+ 160(g_tTexcdi4):    159(ptr) Variable UniformConstant
+             161:             TypeImage 54(int) Cube sampled format:Unknown
              162:             TypePointer UniformConstant 161
- 163(g_tTexcdi4):    162(ptr) Variable UniformConstant
-             164:             TypeImage 56(int) Cube sampled format:Unknown
-             165:             TypePointer UniformConstant 164
- 166(g_tTexcdu4):    165(ptr) Variable UniformConstant
+ 163(g_tTexcdu4):    162(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-129(flattenTemp):    119(ptr) Variable Function
-             130:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 129(flattenTemp) 130
-             133:     12(ptr) AccessChain 129(flattenTemp) 37
-             134:    7(fvec4) Load 133
-                              Store 132(@entryPointOutput.Color) 134
-             137:    124(ptr) AccessChain 129(flattenTemp) 31
-             138:    6(float) Load 137
-                              Store 136(@entryPointOutput.Depth) 138
+126(flattenTemp):    116(ptr) Variable Function
+             127:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 126(flattenTemp) 127
+             130:     12(ptr) AccessChain 126(flattenTemp) 36
+             131:    7(fvec4) Load 130
+                              Store 129(@entryPointOutput.Color) 131
+             134:    121(ptr) AccessChain 126(flattenTemp) 30
+             135:    6(float) Load 134
+                              Store 133(@entryPointOutput.Depth) 135
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
     13(txval001):     12(ptr) Variable Function
-    42(txval011):     41(ptr) Variable Function
-    59(txval021):     58(ptr) Variable Function
-    72(txval004):     12(ptr) Variable Function
-    82(txval014):     41(ptr) Variable Function
-    90(txval024):     58(ptr) Variable Function
-    98(txval401):     12(ptr) Variable Function
-   105(txval411):     41(ptr) Variable Function
-   112(txval421):     58(ptr) Variable Function
-      120(psout):    119(ptr) Variable Function
+    41(txval011):     40(ptr) Variable Function
+    57(txval021):     56(ptr) Variable Function
+    69(txval004):     12(ptr) Variable Function
+    79(txval014):     40(ptr) Variable Function
+    87(txval024):     56(ptr) Variable Function
+    95(txval401):     12(ptr) Variable Function
+   102(txval411):     40(ptr) Variable Function
+   109(txval421):     56(ptr) Variable Function
+      117(psout):    116(ptr) Variable Function
               17:          14 Load 16(g_tTex2df4)
               21:          18 Load 20(g_sSampCmp)
-              24:          23 SampledImage 17 21
-              33:     32(ptr) AccessChain 29 31
-              34:   25(fvec2) Load 33
-              39:    7(fvec4) ImageDrefGather 24 34 35 ConstOffset 38
-                              Store 13(txval001) 39
-              46:          43 Load 45(g_tTex2di4)
-              47:          18 Load 20(g_sSampCmp)
-              50:          49 SampledImage 46 47
-              51:     32(ptr) AccessChain 29 31
-              52:   25(fvec2) Load 51
-              55:   40(ivec4) ImageDrefGather 50 52 35 ConstOffset 54
-                              Store 42(txval011) 55
-              63:          60 Load 62(g_tTex2du4)
-              64:          18 Load 20(g_sSampCmp)
-              67:          66 SampledImage 63 64
-              68:     32(ptr) AccessChain 29 31
-              69:   25(fvec2) Load 68
-              71:   57(ivec4) ImageDrefGather 67 69 35 ConstOffset 70
-                              Store 59(txval021) 71
-              73:          14 Load 16(g_tTex2df4)
-              74:          18 Load 20(g_sSampCmp)
-              75:          23 SampledImage 73 74
-              76:     32(ptr) AccessChain 29 31
-              77:   25(fvec2) Load 76
-              81:    7(fvec4) ImageDrefGather 75 77 35 ConstOffsets 80
-                              Store 72(txval004) 81
-              83:          43 Load 45(g_tTex2di4)
-              84:          18 Load 20(g_sSampCmp)
-              85:          49 SampledImage 83 84
-              86:     32(ptr) AccessChain 29 31
-              87:   25(fvec2) Load 86
-              89:   40(ivec4) ImageDrefGather 85 87 35 ConstOffsets 88
-                              Store 82(txval014) 89
-              91:          60 Load 62(g_tTex2du4)
-              92:          18 Load 20(g_sSampCmp)
-              93:          66 SampledImage 91 92
-              94:     32(ptr) AccessChain 29 31
-              95:   25(fvec2) Load 94
-              97:   57(ivec4) ImageDrefGather 93 95 35 ConstOffsets 96
-                              Store 90(txval024) 97
-              99:          14 Load 16(g_tTex2df4)
-             100:          18 Load 20(g_sSampCmp)
-             101:          23 SampledImage 99 100
-             102:     32(ptr) AccessChain 29 31
-             103:   25(fvec2) Load 102
-             104:    7(fvec4) ImageDrefGather 101 103 35 ConstOffset 38
-                              Store 98(txval401) 104
-             106:          43 Load 45(g_tTex2di4)
-             107:          18 Load 20(g_sSampCmp)
-             108:          49 SampledImage 106 107
-             109:     32(ptr) AccessChain 29 31
-             110:   25(fvec2) Load 109
-             111:   40(ivec4) ImageDrefGather 108 110 35 ConstOffset 54
-                              Store 105(txval411) 111
-             113:          60 Load 62(g_tTex2du4)
-             114:          18 Load 20(g_sSampCmp)
-             115:          66 SampledImage 113 114
-             116:     32(ptr) AccessChain 29 31
-             117:   25(fvec2) Load 116
-             118:   57(ivec4) ImageDrefGather 115 117 35 ConstOffset 70
-                              Store 112(txval421) 118
-             123:     12(ptr) AccessChain 120(psout) 37
-                              Store 123 122
-             125:    124(ptr) AccessChain 120(psout) 31
-                              Store 125 121
-             126:8(PS_OUTPUT) Load 120(psout)
-                              ReturnValue 126
+              23:          22 SampledImage 17 21
+              32:     31(ptr) AccessChain 28 30
+              33:   24(fvec2) Load 32
+              38:    7(fvec4) ImageDrefGather 23 33 34 ConstOffset 37
+                              Store 13(txval001) 38
+              45:          42 Load 44(g_tTex2di4)
+              46:          18 Load 20(g_sSampCmp)
+              48:          47 SampledImage 45 46
+              49:     31(ptr) AccessChain 28 30
+              50:   24(fvec2) Load 49
+              53:   39(ivec4) ImageDrefGather 48 50 34 ConstOffset 52
+                              Store 41(txval011) 53
+              61:          58 Load 60(g_tTex2du4)
+              62:          18 Load 20(g_sSampCmp)
+              64:          63 SampledImage 61 62
+              65:     31(ptr) AccessChain 28 30
+              66:   24(fvec2) Load 65
+              68:   55(ivec4) ImageDrefGather 64 66 34 ConstOffset 67
+                              Store 57(txval021) 68
+              70:          14 Load 16(g_tTex2df4)
+              71:          18 Load 20(g_sSampCmp)
+              72:          22 SampledImage 70 71
+              73:     31(ptr) AccessChain 28 30
+              74:   24(fvec2) Load 73
+              78:    7(fvec4) ImageDrefGather 72 74 34 ConstOffsets 77
+                              Store 69(txval004) 78
+              80:          42 Load 44(g_tTex2di4)
+              81:          18 Load 20(g_sSampCmp)
+              82:          47 SampledImage 80 81
+              83:     31(ptr) AccessChain 28 30
+              84:   24(fvec2) Load 83
+              86:   39(ivec4) ImageDrefGather 82 84 34 ConstOffsets 85
+                              Store 79(txval014) 86
+              88:          58 Load 60(g_tTex2du4)
+              89:          18 Load 20(g_sSampCmp)
+              90:          63 SampledImage 88 89
+              91:     31(ptr) AccessChain 28 30
+              92:   24(fvec2) Load 91
+              94:   55(ivec4) ImageDrefGather 90 92 34 ConstOffsets 93
+                              Store 87(txval024) 94
+              96:          14 Load 16(g_tTex2df4)
+              97:          18 Load 20(g_sSampCmp)
+              98:          22 SampledImage 96 97
+              99:     31(ptr) AccessChain 28 30
+             100:   24(fvec2) Load 99
+             101:    7(fvec4) ImageDrefGather 98 100 34 ConstOffset 37
+                              Store 95(txval401) 101
+             103:          42 Load 44(g_tTex2di4)
+             104:          18 Load 20(g_sSampCmp)
+             105:          47 SampledImage 103 104
+             106:     31(ptr) AccessChain 28 30
+             107:   24(fvec2) Load 106
+             108:   39(ivec4) ImageDrefGather 105 107 34 ConstOffset 52
+                              Store 102(txval411) 108
+             110:          58 Load 60(g_tTex2du4)
+             111:          18 Load 20(g_sSampCmp)
+             112:          63 SampledImage 110 111
+             113:     31(ptr) AccessChain 28 30
+             114:   24(fvec2) Load 113
+             115:   55(ivec4) ImageDrefGather 112 114 34 ConstOffset 67
+                              Store 109(txval421) 115
+             120:     12(ptr) AccessChain 117(psout) 36
+                              Store 120 119
+             122:    121(ptr) AccessChain 117(psout) 30
+                              Store 122 118
+             123:8(PS_OUTPUT) Load 117(psout)
+                              ReturnValue 123
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
index 3780bd3..2fdf4f1 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.frag.out
@@ -2316,7 +2316,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 550
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.getdimensions.dx10.vert.out b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
index 275cece..8c940fe 100644
--- a/Test/baseResults/hlsl.getdimensions.dx10.vert.out
+++ b/Test/baseResults/hlsl.getdimensions.dx10.vert.out
@@ -116,7 +116,7 @@
 0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 48
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
index b301a61..b3d3ce0d 100644
--- a/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
+++ b/Test/baseResults/hlsl.getdimensions.rw.dx10.frag.out
@@ -716,7 +716,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 232
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
index 12fe30c..22d601d 100644
--- a/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
+++ b/Test/baseResults/hlsl.getsampleposition.dx10.frag.out
@@ -578,7 +578,7 @@
 0:?     'sample' (layout( location=0) flat in int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 221
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.global-const-init.frag.out b/Test/baseResults/hlsl.global-const-init.frag.out
index 659ad53..c76f54a 100644
--- a/Test/baseResults/hlsl.global-const-init.frag.out
+++ b/Test/baseResults/hlsl.global-const-init.frag.out
@@ -102,7 +102,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.hlslOffset.vert.out b/Test/baseResults/hlsl.hlslOffset.vert.out
index dcd8027..4840e61 100644
--- a/Test/baseResults/hlsl.hlslOffset.vert.out
+++ b/Test/baseResults/hlsl.hlslOffset.vert.out
@@ -26,7 +26,7 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float m0, layout( row_major std140) uniform 3-component vector of float m4, layout( row_major std140) uniform float m16, layout( row_major std140 offset=20) uniform 3-component vector of float m20, layout( row_major std140 offset=36) uniform 3-component vector of float m36, layout( row_major std140 offset=56) uniform 2-component vector of float m56, layout( row_major std140) uniform float m64, layout( row_major std140) uniform 2-component vector of float m68, layout( row_major std140) uniform float m76, layout( row_major std140) uniform float m80, layout( row_major std140) uniform 1-element array of 2-component vector of float m96})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 18
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.hull.1.tesc.out b/Test/baseResults/hlsl.hull.1.tesc.out
index 151a0b3..57020ee 100644
--- a/Test/baseResults/hlsl.hull.1.tesc.out
+++ b/Test/baseResults/hlsl.hull.1.tesc.out
@@ -32,7 +32,7 @@
 0:?         'm_cpid' ( temp uint)
 0:?         'm_cpid' ( in uint InvocationID)
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'm_cpid' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
@@ -146,7 +146,7 @@
 0:?         'm_cpid' ( temp uint)
 0:?         'm_cpid' ( in uint InvocationID)
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'm_cpid' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4];u1; ( temp structure{ temp 3-component vector of float cpoint})
@@ -224,7 +224,7 @@
 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 90
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.2.tesc.out b/Test/baseResults/hlsl.hull.2.tesc.out
index 11342ea..8d0708d 100644
--- a/Test/baseResults/hlsl.hull.2.tesc.out
+++ b/Test/baseResults/hlsl.hull.2.tesc.out
@@ -28,7 +28,7 @@
 0:?         'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?         'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'InvocationId' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
@@ -140,7 +140,7 @@
 0:?         'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?         'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'InvocationId' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
@@ -220,7 +220,7 @@
 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 92
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.3.tesc.out b/Test/baseResults/hlsl.hull.3.tesc.out
index 39d9236..59eed0d 100755
--- a/Test/baseResults/hlsl.hull.3.tesc.out
+++ b/Test/baseResults/hlsl.hull.3.tesc.out
@@ -28,7 +28,7 @@
 0:?         'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?         'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'InvocationId' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
@@ -140,7 +140,7 @@
 0:?         'ip' ( temp 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?         'ip' (layout( location=0) in 4-element array of structure{ temp 3-component vector of float cpoint})
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 4-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'InvocationId' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[4]; ( temp structure{ temp 3-component vector of float cpoint})
@@ -220,7 +220,7 @@
 0:?     '@patchConstantOutput.edges' ( patch out 4-element array of float TessLevelOuter)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 92
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.4.tesc.out b/Test/baseResults/hlsl.hull.4.tesc.out
new file mode 100644
index 0000000..139d7d4
--- /dev/null
+++ b/Test/baseResults/hlsl.hull.4.tesc.out
@@ -0,0 +1,681 @@
+hlsl.hull.4.tesc
+Shader version: 500
+vertices = 3
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+0:? Sequence
+0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:25    Function Parameters: 
+0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?     Sequence
+0:26      Sequence
+0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          Constant:
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:28      move second child to first child ( temp float)
+0:28        fInsideTessFactor: direct index for structure ( temp float)
+0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:28          Constant:
+0:28            1 (const int)
+0:28        add ( temp float)
+0:28          direct index ( temp float)
+0:28            m_Position: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:28          direct index ( temp float)
+0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:30      Branch: Return with expression
+0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:39    Function Parameters: 
+0:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39      'cpid' ( in uint)
+0:?     Sequence
+0:40      Sequence
+0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
+0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:40          Constant:
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:41      move second child to first child ( temp 4-component vector of float)
+0:41        m_Position: direct index for structure ( temp 4-component vector of float)
+0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:41          Constant:
+0:41            0 (const int)
+0:41        Constant:
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:42      Branch: Return with expression
+0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:39  Function Definition: main( ( temp void)
+0:39    Function Parameters: 
+0:?     Sequence
+0:39      Sequence
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          direct index ( in 4-component vector of float Position)
+0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              0 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          direct index ( in 4-component vector of float Position)
+0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              1 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          direct index ( in 4-component vector of float Position)
+0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              2 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39      move second child to first child ( temp uint)
+0:?         'cpid' ( temp uint)
+0:?         'cpid' ( in uint InvocationID)
+0:39      Sequence
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          direct index ( out 4-component vector of float Position)
+0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              0 (const int)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'cpid' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:?       Barrier ( temp void)
+0:?       Test condition and select ( temp void)
+0:?         Condition
+0:?         Compare Equal ( temp bool)
+0:?           'cpid' ( in uint InvocationID)
+0:?           Constant:
+0:?             0 (const int)
+0:?         true case
+0:?         Sequence
+0:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?           Sequence
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelOuter)
+0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?                 Constant:
+0:?                   0 (const int)
+0:?               direct index ( temp float)
+0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
+0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                   Constant:
+0:?                     0 (const int)
+0:?                 Constant:
+0:?                   0 (const int)
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelOuter)
+0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?                 Constant:
+0:?                   1 (const int)
+0:?               direct index ( temp float)
+0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
+0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                   Constant:
+0:?                     0 (const int)
+0:?                 Constant:
+0:?                   1 (const int)
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelOuter)
+0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?                 Constant:
+0:?                   2 (const int)
+0:?               direct index ( temp float)
+0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
+0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                   Constant:
+0:?                     0 (const int)
+0:?                 Constant:
+0:?                   2 (const int)
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelInner)
+0:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
+0:?                 Constant:
+0:?                   0 (const int)
+0:?               fInsideTessFactor: direct index for structure ( temp float)
+0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                 Constant:
+0:?                   1 (const int)
+0:?   Linker Objects
+0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:?     'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:?     'cpid' ( in uint InvocationID)
+0:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
+
+
+Linked tessellation control stage:
+
+
+Shader version: 500
+vertices = 3
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+0:? Sequence
+0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:25    Function Parameters: 
+0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?     Sequence
+0:26      Sequence
+0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          Constant:
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:28      move second child to first child ( temp float)
+0:28        fInsideTessFactor: direct index for structure ( temp float)
+0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:28          Constant:
+0:28            1 (const int)
+0:28        add ( temp float)
+0:28          direct index ( temp float)
+0:28            m_Position: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:28          direct index ( temp float)
+0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:30      Branch: Return with expression
+0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:39  Function Definition: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:39    Function Parameters: 
+0:39      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39      'cpid' ( in uint)
+0:?     Sequence
+0:40      Sequence
+0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
+0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:40          Constant:
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:41      move second child to first child ( temp 4-component vector of float)
+0:41        m_Position: direct index for structure ( temp 4-component vector of float)
+0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:41          Constant:
+0:41            0 (const int)
+0:41        Constant:
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:42      Branch: Return with expression
+0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:39  Function Definition: main( ( temp void)
+0:39    Function Parameters: 
+0:?     Sequence
+0:39      Sequence
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          direct index ( in 4-component vector of float Position)
+0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              0 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                0 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          direct index ( in 4-component vector of float Position)
+0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              1 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                1 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39          direct index ( in 4-component vector of float Position)
+0:?             'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              2 (const int)
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              1 (const int)
+0:39          m_Normal: direct index for structure ( temp 4-component vector of float)
+0:39            direct index (layout( location=0) in structure{ temp 4-component vector of float m_Normal})
+0:39              'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:39              Constant:
+0:39                2 (const int)
+0:39            Constant:
+0:39              0 (const int)
+0:39      move second child to first child ( temp uint)
+0:?         'cpid' ( temp uint)
+0:?         'cpid' ( in uint InvocationID)
+0:39      Sequence
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          direct index ( out 4-component vector of float Position)
+0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              0 (const int)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            Function Call: @main(struct-HS_Input-vf4-vf41[3];u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?               'cpid' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:?       Barrier ( temp void)
+0:?       Test condition and select ( temp void)
+0:?         Condition
+0:?         Compare Equal ( temp bool)
+0:?           'cpid' ( in uint InvocationID)
+0:?           Constant:
+0:?             0 (const int)
+0:?         true case
+0:?         Sequence
+0:?           move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?             Function Call: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?               'I' ( temp 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?           Sequence
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelOuter)
+0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?                 Constant:
+0:?                   0 (const int)
+0:?               direct index ( temp float)
+0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
+0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                   Constant:
+0:?                     0 (const int)
+0:?                 Constant:
+0:?                   0 (const int)
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelOuter)
+0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?                 Constant:
+0:?                   1 (const int)
+0:?               direct index ( temp float)
+0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
+0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                   Constant:
+0:?                     0 (const int)
+0:?                 Constant:
+0:?                   1 (const int)
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelOuter)
+0:?                 '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?                 Constant:
+0:?                   2 (const int)
+0:?               direct index ( temp float)
+0:?                 fTessFactor: direct index for structure ( temp 3-element array of float)
+0:?                   '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                   Constant:
+0:?                     0 (const int)
+0:?                 Constant:
+0:?                   2 (const int)
+0:?             move second child to first child ( temp float)
+0:?               direct index ( patch out float TessLevelInner)
+0:?                 '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
+0:?                 Constant:
+0:?                   0 (const int)
+0:?               fInsideTessFactor: direct index for structure ( temp float)
+0:?                 '@patchConstantResult' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:?                 Constant:
+0:?                   1 (const int)
+0:?   Linker Objects
+0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:?     'I.m_Position' ( in 3-element array of 4-component vector of float Position)
+0:?     'I' (layout( location=0) in 3-element array of structure{ temp 4-component vector of float m_Normal})
+0:?     'cpid' ( in uint InvocationID)
+0:?     '@patchConstantOutput.fTessFactor' ( patch out 4-element array of float TessLevelOuter)
+0:?     '@patchConstantOutput.fInsideTessFactor' ( patch out 2-element array of float TessLevelInner)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 127
+
+                              Capability Tessellation
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint TessellationControl 4  "main" 56 64 83 86 110 123
+                              ExecutionMode 4 OutputVertices 3
+                              ExecutionMode 4 Triangles
+                              ExecutionMode 4 SpacingFractionalOdd
+                              ExecutionMode 4 VertexOrderCw
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 8  "HS_Input"
+                              MemberName 8(HS_Input) 0  "m_Position"
+                              MemberName 8(HS_Input) 1  "m_Normal"
+                              Name 14  "HS_Output"
+                              MemberName 14(HS_Output) 0  "fTessFactor"
+                              MemberName 14(HS_Output) 1  "fInsideTessFactor"
+                              Name 17  "HS_ConstFunc(struct-HS_Input-vf4-vf41[3];"
+                              Name 16  "I"
+                              Name 20  "HS_Main_Output"
+                              MemberName 20(HS_Main_Output) 0  "m_Position"
+                              Name 24  "@main(struct-HS_Input-vf4-vf41[3];u1;"
+                              Name 22  "I"
+                              Name 23  "cpid"
+                              Name 27  "O"
+                              Name 45  "output"
+                              Name 53  "I"
+                              Name 56  "I.m_Position"
+                              Name 61  "HS_Input"
+                              MemberName 61(HS_Input) 0  "m_Normal"
+                              Name 64  "I"
+                              Name 81  "cpid"
+                              Name 83  "cpid"
+                              Name 86  "@entryPointOutput.m_Position"
+                              Name 87  "param"
+                              Name 89  "param"
+                              Name 103  "@patchConstantResult"
+                              Name 104  "param"
+                              Name 110  "@patchConstantOutput.fTessFactor"
+                              Name 123  "@patchConstantOutput.fInsideTessFactor"
+                              Decorate 56(I.m_Position) BuiltIn Position
+                              Decorate 64(I) Location 0
+                              Decorate 83(cpid) BuiltIn InvocationId
+                              Decorate 86(@entryPointOutput.m_Position) BuiltIn Position
+                              Decorate 110(@patchConstantOutput.fTessFactor) Patch
+                              Decorate 110(@patchConstantOutput.fTessFactor) BuiltIn TessLevelOuter
+                              Decorate 123(@patchConstantOutput.fInsideTessFactor) Patch
+                              Decorate 123(@patchConstantOutput.fInsideTessFactor) BuiltIn TessLevelInner
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+     8(HS_Input):             TypeStruct 7(fvec4) 7(fvec4)
+               9:             TypeInt 32 0
+              10:      9(int) Constant 3
+              11:             TypeArray 8(HS_Input) 10
+              12:             TypePointer Function 11
+              13:             TypeArray 6(float) 10
+   14(HS_Output):             TypeStruct 13 6(float)
+              15:             TypeFunction 14(HS_Output) 12(ptr)
+              19:             TypePointer Function 9(int)
+20(HS_Main_Output):             TypeStruct 7(fvec4)
+              21:             TypeFunction 20(HS_Main_Output) 12(ptr) 19(ptr)
+              26:             TypePointer Function 14(HS_Output)
+              28:    6(float) Constant 0
+              29:          13 ConstantComposite 28 28 28
+              30:14(HS_Output) ConstantComposite 29 28
+              31:             TypeInt 32 1
+              32:     31(int) Constant 1
+              33:     31(int) Constant 0
+              34:             TypePointer Function 6(float)
+              44:             TypePointer Function 20(HS_Main_Output)
+              46:    7(fvec4) ConstantComposite 28 28 28 28
+              47:20(HS_Main_Output) ConstantComposite 46
+              48:             TypePointer Function 7(fvec4)
+              54:             TypeArray 7(fvec4) 10
+              55:             TypePointer Input 54
+56(I.m_Position):     55(ptr) Variable Input
+              57:             TypePointer Input 7(fvec4)
+    61(HS_Input):             TypeStruct 7(fvec4)
+              62:             TypeArray 61(HS_Input) 10
+              63:             TypePointer Input 62
+           64(I):     63(ptr) Variable Input
+              74:     31(int) Constant 2
+              82:             TypePointer Input 9(int)
+        83(cpid):     82(ptr) Variable Input
+              85:             TypePointer Output 54
+86(@entryPointOutput.m_Position):     85(ptr) Variable Output
+              93:             TypePointer Output 7(fvec4)
+              95:      9(int) Constant 2
+              96:      9(int) Constant 1
+              97:      9(int) Constant 0
+              99:             TypeBool
+             107:      9(int) Constant 4
+             108:             TypeArray 6(float) 107
+             109:             TypePointer Output 108
+110(@patchConstantOutput.fTessFactor):    109(ptr) Variable Output
+             113:             TypePointer Output 6(float)
+             121:             TypeArray 6(float) 95
+             122:             TypePointer Output 121
+123(@patchConstantOutput.fInsideTessFactor):    122(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+           53(I):     12(ptr) Variable Function
+        81(cpid):     19(ptr) Variable Function
+       87(param):     12(ptr) Variable Function
+       89(param):     19(ptr) Variable Function
+103(@patchConstantResult):     26(ptr) Variable Function
+      104(param):     12(ptr) Variable Function
+              58:     57(ptr) AccessChain 56(I.m_Position) 33
+              59:    7(fvec4) Load 58
+              60:     48(ptr) AccessChain 53(I) 33 33
+                              Store 60 59
+              65:     57(ptr) AccessChain 64(I) 33 33
+              66:    7(fvec4) Load 65
+              67:     48(ptr) AccessChain 53(I) 33 32
+                              Store 67 66
+              68:     57(ptr) AccessChain 56(I.m_Position) 32
+              69:    7(fvec4) Load 68
+              70:     48(ptr) AccessChain 53(I) 32 33
+                              Store 70 69
+              71:     57(ptr) AccessChain 64(I) 32 33
+              72:    7(fvec4) Load 71
+              73:     48(ptr) AccessChain 53(I) 32 32
+                              Store 73 72
+              75:     57(ptr) AccessChain 56(I.m_Position) 74
+              76:    7(fvec4) Load 75
+              77:     48(ptr) AccessChain 53(I) 74 33
+                              Store 77 76
+              78:     57(ptr) AccessChain 64(I) 74 33
+              79:    7(fvec4) Load 78
+              80:     48(ptr) AccessChain 53(I) 74 32
+                              Store 80 79
+              84:      9(int) Load 83(cpid)
+                              Store 81(cpid) 84
+              88:          11 Load 53(I)
+                              Store 87(param) 88
+              90:      9(int) Load 81(cpid)
+                              Store 89(param) 90
+              91:20(HS_Main_Output) FunctionCall 24(@main(struct-HS_Input-vf4-vf41[3];u1;) 87(param) 89(param)
+              92:    7(fvec4) CompositeExtract 91 0
+              94:     93(ptr) AccessChain 86(@entryPointOutput.m_Position) 33
+                              Store 94 92
+                              ControlBarrier 95 96 97
+              98:      9(int) Load 83(cpid)
+             100:    99(bool) IEqual 98 33
+                              SelectionMerge 102 None
+                              BranchConditional 100 101 102
+             101:               Label
+             105:          11   Load 53(I)
+                                Store 104(param) 105
+             106:14(HS_Output)   FunctionCall 17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];) 104(param)
+                                Store 103(@patchConstantResult) 106
+             111:     34(ptr)   AccessChain 103(@patchConstantResult) 33 33
+             112:    6(float)   Load 111
+             114:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 33
+                                Store 114 112
+             115:     34(ptr)   AccessChain 103(@patchConstantResult) 33 32
+             116:    6(float)   Load 115
+             117:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 32
+                                Store 117 116
+             118:     34(ptr)   AccessChain 103(@patchConstantResult) 33 74
+             119:    6(float)   Load 118
+             120:    113(ptr)   AccessChain 110(@patchConstantOutput.fTessFactor) 74
+                                Store 120 119
+             124:     34(ptr)   AccessChain 103(@patchConstantResult) 32
+             125:    6(float)   Load 124
+             126:    113(ptr)   AccessChain 123(@patchConstantOutput.fInsideTessFactor) 33
+                                Store 126 125
+                                Branch 102
+             102:             Label
+                              Return
+                              FunctionEnd
+17(HS_ConstFunc(struct-HS_Input-vf4-vf41[3];):14(HS_Output) Function None 15
+           16(I):     12(ptr) FunctionParameter
+              18:             Label
+           27(O):     26(ptr) Variable Function
+                              Store 27(O) 30
+              35:     34(ptr) AccessChain 16(I) 33 33 10
+              36:    6(float) Load 35
+              37:     34(ptr) AccessChain 16(I) 33 32 10
+              38:    6(float) Load 37
+              39:    6(float) FAdd 36 38
+              40:     34(ptr) AccessChain 27(O) 32
+                              Store 40 39
+              41:14(HS_Output) Load 27(O)
+                              ReturnValue 41
+                              FunctionEnd
+24(@main(struct-HS_Input-vf4-vf41[3];u1;):20(HS_Main_Output) Function None 21
+           22(I):     12(ptr) FunctionParameter
+        23(cpid):     19(ptr) FunctionParameter
+              25:             Label
+      45(output):     44(ptr) Variable Function
+                              Store 45(output) 47
+              49:     48(ptr) AccessChain 45(output) 33
+                              Store 49 46
+              50:20(HS_Main_Output) Load 45(output)
+                              ReturnValue 50
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.hull.5.tesc.out b/Test/baseResults/hlsl.hull.5.tesc.out
new file mode 100644
index 0000000..3a42b52
--- /dev/null
+++ b/Test/baseResults/hlsl.hull.5.tesc.out
@@ -0,0 +1,190 @@
+hlsl.hull.5.tesc
+ERROR: 0:0: '' : unimplemented: PCF input patch without entry point input patch parameter 
+ERROR: 1 compilation errors.  No code generated.
+
+
+Shader version: 500
+vertices = 3
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+ERROR: node is still EOpNull!
+0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:25    Function Parameters: 
+0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?     Sequence
+0:26      Sequence
+0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          Constant:
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:28      move second child to first child ( temp float)
+0:28        fInsideTessFactor: direct index for structure ( temp float)
+0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:28          Constant:
+0:28            1 (const int)
+0:28        add ( temp float)
+0:28          direct index ( temp float)
+0:28            m_Position: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:28          direct index ( temp float)
+0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:30      Branch: Return with expression
+0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:39  Function Definition: @main(u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:39    Function Parameters: 
+0:39      'cpid' ( in uint)
+0:?     Sequence
+0:40      Sequence
+0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
+0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:40          Constant:
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:41      move second child to first child ( temp 4-component vector of float)
+0:41        m_Position: direct index for structure ( temp 4-component vector of float)
+0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:41          Constant:
+0:41            0 (const int)
+0:41        Constant:
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:42      Branch: Return with expression
+0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:39  Function Definition: main( ( temp void)
+0:39    Function Parameters: 
+0:?     Sequence
+0:39      move second child to first child ( temp uint)
+0:?         'cpid' ( temp uint)
+0:?         'cpid' ( in uint InvocationID)
+0:39      Sequence
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          direct index ( out 4-component vector of float Position)
+0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              0 (const int)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            Function Call: @main(u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:?               'cpid' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:?   Linker Objects
+0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:?     'cpid' ( in uint InvocationID)
+
+
+Linked tessellation control stage:
+
+
+Shader version: 500
+vertices = 3
+vertex spacing = fractional_odd_spacing
+triangle order = cw
+ERROR: node is still EOpNull!
+0:25  Function Definition: HS_ConstFunc(struct-HS_Input-vf4-vf41[3]; ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:25    Function Parameters: 
+0:25      'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:?     Sequence
+0:26      Sequence
+0:26        move second child to first child ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:26          Constant:
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:26            0.000000
+0:28      move second child to first child ( temp float)
+0:28        fInsideTessFactor: direct index for structure ( temp float)
+0:28          'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:28          Constant:
+0:28            1 (const int)
+0:28        add ( temp float)
+0:28          direct index ( temp float)
+0:28            m_Position: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                0 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:28          direct index ( temp float)
+0:28            m_Normal: direct index for structure ( temp 4-component vector of float)
+0:28              direct index ( temp structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                'I' ( in 3-element array of structure{ temp 4-component vector of float m_Position,  temp 4-component vector of float m_Normal})
+0:28                Constant:
+0:28                  0 (const int)
+0:28              Constant:
+0:28                1 (const int)
+0:28            Constant:
+0:28              3 (const int)
+0:30      Branch: Return with expression
+0:30        'O' ( temp structure{ temp 3-element array of float fTessFactor,  temp float fInsideTessFactor})
+0:39  Function Definition: @main(u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:39    Function Parameters: 
+0:39      'cpid' ( in uint)
+0:?     Sequence
+0:40      Sequence
+0:40        move second child to first child ( temp structure{ temp 4-component vector of float m_Position})
+0:40          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:40          Constant:
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:40            0.000000
+0:41      move second child to first child ( temp 4-component vector of float)
+0:41        m_Position: direct index for structure ( temp 4-component vector of float)
+0:41          'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:41          Constant:
+0:41            0 (const int)
+0:41        Constant:
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:41          0.000000
+0:42      Branch: Return with expression
+0:42        'output' ( temp structure{ temp 4-component vector of float m_Position})
+0:39  Function Definition: main( ( temp void)
+0:39    Function Parameters: 
+0:?     Sequence
+0:39      move second child to first child ( temp uint)
+0:?         'cpid' ( temp uint)
+0:?         'cpid' ( in uint InvocationID)
+0:39      Sequence
+0:39        move second child to first child ( temp 4-component vector of float)
+0:39          direct index ( out 4-component vector of float Position)
+0:?             '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:39            Constant:
+0:39              0 (const int)
+0:39          m_Position: direct index for structure ( temp 4-component vector of float)
+0:39            Function Call: @main(u1; ( temp structure{ temp 4-component vector of float m_Position})
+0:?               'cpid' ( temp uint)
+0:39            Constant:
+0:39              0 (const int)
+0:?   Linker Objects
+0:?     '@entryPointOutput.m_Position' ( out 3-element array of 4-component vector of float Position)
+0:?     'cpid' ( in uint InvocationID)
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
index 7fbe0cb..24e4aa7 100644
--- a/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
+++ b/Test/baseResults/hlsl.hull.ctrlpt-1.tesc.out
@@ -29,7 +29,7 @@
 0:?         'cpid' ( temp uint)
 0:?         'cpid' ( in uint InvocationID)
 0:27      move second child to first child ( temp structure{ temp 3-component vector of float val})
-0:27        indirect index ( temp structure{ temp 3-component vector of float val})
+0:27        indirect index (layout( location=0) out structure{ temp 3-component vector of float val})
 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
 0:?           'cpid' ( in uint InvocationID)
 0:27        Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
@@ -229,7 +229,7 @@
 0:?         'cpid' ( temp uint)
 0:?         'cpid' ( in uint InvocationID)
 0:27      move second child to first child ( temp structure{ temp 3-component vector of float val})
-0:27        indirect index ( temp structure{ temp 3-component vector of float val})
+0:27        indirect index (layout( location=0) out structure{ temp 3-component vector of float val})
 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
 0:?           'cpid' ( in uint InvocationID)
 0:27        Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
@@ -396,7 +396,7 @@
 0:?     '@patchConstantOutput.flInFactor' ( patch out 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 124
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
index 32764f3..89582b7 100644
--- a/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
+++ b/Test/baseResults/hlsl.hull.ctrlpt-2.tesc.out
@@ -36,7 +36,7 @@
 0:?         'cpid' ( temp uint)
 0:?         'cpid' ( in uint InvocationID)
 0:28      move second child to first child ( temp structure{ temp 3-component vector of float val})
-0:28        indirect index ( temp structure{ temp 3-component vector of float val})
+0:28        indirect index (layout( location=0) out structure{ temp 3-component vector of float val})
 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
 0:?           'cpid' ( in uint InvocationID)
 0:28        Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
@@ -82,7 +82,7 @@
 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor,  temp float flInFactor})
 0:?             Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor,  temp float flInFactor})
 0:?               'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
-0:?               'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
+0:?               'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
 0:?           Sequence
 0:?             move second child to first child ( temp float)
 0:?               direct index ( patch out float TessLevelOuter)
@@ -245,7 +245,7 @@
 0:?         'cpid' ( temp uint)
 0:?         'cpid' ( in uint InvocationID)
 0:28      move second child to first child ( temp structure{ temp 3-component vector of float val})
-0:28        indirect index ( temp structure{ temp 3-component vector of float val})
+0:28        indirect index (layout( location=0) out structure{ temp 3-component vector of float val})
 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float val})
 0:?           'cpid' ( in uint InvocationID)
 0:28        Function Call: @main(struct-hs_in_t-vf31[3];u1; ( temp structure{ temp 3-component vector of float val})
@@ -291,7 +291,7 @@
 0:?             '@patchConstantResult' ( temp structure{ temp 3-element array of float tfactor,  temp float flInFactor})
 0:?             Function Call: PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3]; ( temp structure{ temp 3-element array of float tfactor,  temp float flInFactor})
 0:?               'pcf_out' ( temp 3-element array of structure{ temp 3-component vector of float val})
-0:?               'i' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float val})
+0:?               'i' ( temp 3-element array of structure{ temp 3-component vector of float val})
 0:?           Sequence
 0:?             move second child to first child ( temp float)
 0:?               direct index ( patch out float TessLevelOuter)
@@ -414,7 +414,7 @@
 0:?     '@patchConstantOutput.flInFactor' ( patch out 2-element array of float TessLevelInner)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 126
 
                               Capability Tessellation
@@ -568,7 +568,7 @@
               87:     30(ptr)   AccessChain 67(pcf_out) 81
                                 Store 87 86
               90:          20   Load 67(pcf_out)
-              91:          11   Load 42(i)
+              91:          11   Load 40(i)
               92:22(hs_pcf_t)   FunctionCall 26(PCF(struct-hs_out_t-vf31[3];struct-hs_in_t-vf31[3];) 90 91
                                 Store 89(@patchConstantResult) 92
               98:     97(ptr)   AccessChain 89(@patchConstantResult) 29 29
diff --git a/Test/baseResults/hlsl.hull.void.tesc.out b/Test/baseResults/hlsl.hull.void.tesc.out
index 8dc38fc..68524d9 100644
--- a/Test/baseResults/hlsl.hull.void.tesc.out
+++ b/Test/baseResults/hlsl.hull.void.tesc.out
@@ -29,7 +29,7 @@
 0:?         'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
 0:?         'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint})
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'InvocationId' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint})
@@ -85,7 +85,7 @@
 0:?         'ip' ( temp 3-element array of structure{ temp 3-component vector of float cpoint})
 0:?         'ip' (layout( location=0) in 3-element array of structure{ temp 3-component vector of float cpoint})
 0:26      move second child to first child ( temp structure{ temp 3-component vector of float cpoint})
-0:26        indirect index ( temp structure{ temp 3-component vector of float cpoint})
+0:26        indirect index (layout( location=0) out structure{ temp 3-component vector of float cpoint})
 0:?           '@entryPointOutput' (layout( location=0) out 3-element array of structure{ temp 3-component vector of float cpoint})
 0:?           'InvocationId' ( in uint InvocationID)
 0:26        Function Call: @main(struct-VS_OUT-vf31[3]; ( temp structure{ temp 3-component vector of float cpoint})
@@ -108,7 +108,7 @@
 0:?     'InvocationId' ( in uint InvocationID)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 55
 
                               Capability Tessellation
diff --git a/Test/baseResults/hlsl.identifier.sample.frag.out b/Test/baseResults/hlsl.identifier.sample.frag.out
index a8870b1..356a212 100644
--- a/Test/baseResults/hlsl.identifier.sample.frag.out
+++ b/Test/baseResults/hlsl.identifier.sample.frag.out
@@ -86,7 +86,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 33
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out
index eade928..8490324 100755
--- a/Test/baseResults/hlsl.if.frag.out
+++ b/Test/baseResults/hlsl.if.frag.out
@@ -216,7 +216,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 103
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out
index 3eb559b..2da4fae 100755
--- a/Test/baseResults/hlsl.implicitBool.frag.out
+++ b/Test/baseResults/hlsl.implicitBool.frag.out
@@ -334,7 +334,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 140
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out
index 8f31aa0..2a0532e 100755
--- a/Test/baseResults/hlsl.include.vert.out
+++ b/Test/baseResults/hlsl.include.vert.out
@@ -1,6 +1,6 @@
 ../Test/hlsl.include.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 44
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.inf.vert.out b/Test/baseResults/hlsl.inf.vert.out
index ef551e7..afb0a4f 100755
--- a/Test/baseResults/hlsl.inf.vert.out
+++ b/Test/baseResults/hlsl.inf.vert.out
@@ -112,7 +112,7 @@
 0:?     '@entryPointOutput' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 37
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
index 119d0c5..9b52388 100755
--- a/Test/baseResults/hlsl.init.frag.out
+++ b/Test/baseResults/hlsl.init.frag.out
@@ -331,7 +331,7 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform float a, layout( row_major std140) uniform float b, layout( row_major std140) uniform float c})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 110
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.init2.frag.out b/Test/baseResults/hlsl.init2.frag.out
index 0b88500..2aff374 100644
--- a/Test/baseResults/hlsl.init2.frag.out
+++ b/Test/baseResults/hlsl.init2.frag.out
@@ -358,7 +358,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 112
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.inoutquals.frag.out b/Test/baseResults/hlsl.inoutquals.frag.out
index 1bc4944..c589f5b 100644
--- a/Test/baseResults/hlsl.inoutquals.frag.out
+++ b/Test/baseResults/hlsl.inoutquals.frag.out
@@ -206,7 +206,7 @@
 0:?     'sampleMask' ( out int SampleMaskIn)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 88
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.frag.out b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
index 2aa1229..b04909e 100644
--- a/Test/baseResults/hlsl.intrinsic.frexp.frag.out
+++ b/Test/baseResults/hlsl.intrinsic.frexp.frag.out
@@ -190,7 +190,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 98
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsic.frexp.vert.out b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
index 1827bd6..01fc5b2 100644
--- a/Test/baseResults/hlsl.intrinsic.frexp.vert.out
+++ b/Test/baseResults/hlsl.intrinsic.frexp.vert.out
@@ -113,7 +113,7 @@
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 78
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.barriers.comp.out b/Test/baseResults/hlsl.intrinsics.barriers.comp.out
index f7e3e22..bc8a073 100644
--- a/Test/baseResults/hlsl.intrinsics.barriers.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.barriers.comp.out
@@ -52,7 +52,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index 09a4a5d..01b6f69 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -716,7 +716,7 @@
 0:?     'inU1' (layout( location=4) in 4-component vector of uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 265
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
index 94b4ad7..e365b98 100644
--- a/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.d3dcolortoubyte4.frag.out
@@ -74,7 +74,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 29
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.double.frag.out b/Test/baseResults/hlsl.intrinsics.double.frag.out
index 020817a..a2e7c5f 100644
--- a/Test/baseResults/hlsl.intrinsics.double.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.double.frag.out
@@ -164,7 +164,7 @@
 0:?     'inU1b' (layout( location=9) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 90
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.evalfns.frag.out b/Test/baseResults/hlsl.intrinsics.evalfns.frag.out
index 50da716..6612451 100644
--- a/Test/baseResults/hlsl.intrinsics.evalfns.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.evalfns.frag.out
@@ -154,7 +154,7 @@
 0:?     'inI2' (layout( location=4) flat in 2-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 80
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.f1632.frag.out b/Test/baseResults/hlsl.intrinsics.f1632.frag.out
index e828d96..5c6f6ba 100644
--- a/Test/baseResults/hlsl.intrinsics.f1632.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.f1632.frag.out
@@ -260,7 +260,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 103
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.f3216.frag.out b/Test/baseResults/hlsl.intrinsics.f3216.frag.out
index 3ff9ce7..01c08d2 100644
--- a/Test/baseResults/hlsl.intrinsics.f3216.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.f3216.frag.out
@@ -270,7 +270,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 106
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index ad70545..105800b 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -83,2034 +83,2075 @@
 0:33            0.000000
 0:33        true case
 0:33        Branch: Kill
-0:34      Sequence
-0:34        move second child to first child ( temp float)
-0:34          'r014' ( temp float)
-0:34          cosine ( temp float)
-0:34            'inF0' ( in float)
+0:34      Test condition and select ( temp void)
+0:34        Condition
+0:34        Compare Less Than ( temp bool)
+0:34          'r005' ( temp int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        true case
+0:34        Branch: Kill
 0:35      Sequence
 0:35        move second child to first child ( temp float)
-0:35          'r015' ( temp float)
-0:35          hyp. cosine ( temp float)
+0:35          'r014' ( temp float)
+0:35          cosine ( temp float)
 0:35            'inF0' ( in float)
 0:36      Sequence
-0:36        move second child to first child ( temp int)
-0:36          'r016' ( temp int)
-0:36          bitCount ( temp int)
-0:36            Constant:
-0:36              7 (const int)
+0:36        move second child to first child ( temp float)
+0:36          'r015' ( temp float)
+0:36          hyp. cosine ( temp float)
+0:36            'inF0' ( in float)
 0:37      Sequence
-0:37        move second child to first child ( temp float)
-0:37          'r017' ( temp float)
-0:37          dPdx ( temp float)
-0:37            'inF0' ( in float)
+0:37        move second child to first child ( temp int)
+0:37          'r016' ( temp int)
+0:37          bitCount ( temp int)
+0:37            Constant:
+0:37              7 (const int)
 0:38      Sequence
 0:38        move second child to first child ( temp float)
-0:38          'r018' ( temp float)
-0:38          dPdxCoarse ( temp float)
+0:38          'r017' ( temp float)
+0:38          dPdx ( 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 ( temp float)
+0:39          'r018' ( temp float)
+0:39          dPdxCoarse ( 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 ( temp float)
+0:40          'r019' ( temp float)
+0:40          dPdxFine ( 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 ( temp float)
+0:41          'r020' ( temp float)
+0:41          dPdy ( 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 ( temp float)
+0:42          'r021' ( temp float)
+0:42          dPdyCoarse ( 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 ( temp float)
+0:43          'r022' ( temp float)
+0:43          dPdyFine ( 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 ( temp float)
-0:47            'inF0' ( in float)
+0:44      Sequence
+0:44        move second child to first child ( temp float)
+0:44          'r023' ( temp float)
+0:44          degrees ( temp float)
+0:44            'inF0' ( in float)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
-0:48          'r028' ( temp float)
-0:48          exp2 ( temp float)
+0:48          'r027' ( temp float)
+0:48          exp ( 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 ( temp int)
-0:49              Constant:
-0:49                7 (const int)
+0:49        move second child to first child ( temp float)
+0:49          'r028' ( temp float)
+0:49          exp2 ( temp float)
+0:49            'inF0' ( in float)
 0:50      Sequence
 0:50        move second child to first child ( temp uint)
-0:50          'r030' ( temp uint)
+0:50          'r029' ( temp uint)
 0:50          Convert int to uint ( temp uint)
-0:50            findLSB ( temp int)
+0:50            findMSB ( 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 ( 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 ( temp float)
-0:53            'inF0' ( in float)
-0:53            'inF1' ( in float)
+0:51        move second child to first child ( temp uint)
+0:51          'r030' ( temp uint)
+0:51          Convert int to uint ( temp uint)
+0:51            findLSB ( temp int)
+0:51              Constant:
+0:51                7 (const int)
+0:52      Sequence
+0:52        move second child to first child ( temp float)
+0:52          'r031' ( temp float)
+0:52          Floor ( temp float)
+0:52            'inF0' ( in float)
 0:54      Sequence
 0:54        move second child to first child ( temp float)
-0:54          'r034' ( temp float)
-0:54          Fraction ( temp float)
+0:54          'r033' ( temp float)
+0:54          mod ( temp float)
 0:54            'inF0' ( in float)
+0:54            'inF1' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r036' ( temp float)
-0:55          fwidth ( temp float)
+0:55          'r034' ( temp float)
+0:55          Fraction ( temp float)
 0:55            'inF0' ( in float)
 0:56      Sequence
-0:56        move second child to first child ( temp bool)
-0:56          'r037' ( temp bool)
-0:56          isinf ( temp bool)
+0:56        move second child to first child ( temp float)
+0:56          'r036' ( temp 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          'r038' ( temp bool)
-0:57          isnan ( temp bool)
+0:57          'r037' ( temp bool)
+0:57          isinf ( temp bool)
 0:57            'inF0' ( in float)
 0:58      Sequence
-0:58        move second child to first child ( temp float)
-0:58          'r039' ( temp float)
-0:58          ldexp ( temp float)
+0:58        move second child to first child ( temp bool)
+0:58          'r038' ( temp bool)
+0:58          isnan ( temp bool)
 0:58            'inF0' ( in float)
-0:58            'inF1' ( in float)
 0:59      Sequence
 0:59        move second child to first child ( temp float)
-0:59          'r039a' ( temp float)
-0:59          mix ( temp float)
+0:59          'r039' ( temp float)
+0:59          ldexp ( temp float)
 0:59            'inF0' ( in float)
 0:59            'inF1' ( in float)
-0:59            'inF2' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r040' ( temp float)
-0:60          log ( temp float)
+0:60          'r039a' ( temp 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          'r041' ( temp float)
-0:61          component-wise multiply ( temp float)
-0:61            log2 ( temp float)
-0:61              'inF0' ( in float)
-0:61            Constant:
-0:61              0.301030
+0:61          'r040' ( temp float)
+0:61          log ( temp float)
+0:61            'inF0' ( in float)
 0:62      Sequence
 0:62        move second child to first child ( temp float)
-0:62          'r042' ( temp float)
-0:62          log2 ( temp float)
-0:62            'inF0' ( in float)
+0:62          'r041' ( temp float)
+0:62          component-wise multiply ( temp float)
+0:62            log2 ( temp float)
+0:62              'inF0' ( in float)
+0:62            Constant:
+0:62              0.301030
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r043' ( temp float)
-0:63          max ( temp float)
+0:63          'r042' ( temp float)
+0:63          log2 ( temp float)
 0:63            'inF0' ( in float)
-0:63            'inF1' ( in float)
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r044' ( temp float)
-0:64          min ( temp float)
+0:64          'r043' ( temp 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          'r045' ( temp float)
-0:65          pow ( temp float)
+0:65          'r044' ( temp 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          'r046' ( temp float)
-0:66          radians ( temp float)
+0:66          'r045' ( temp 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          'r047' ( temp float)
-0:67          divide ( temp float)
-0:67            Constant:
-0:67              1.000000
+0:67          'r046' ( temp float)
+0:67          radians ( temp float)
 0:67            'inF0' ( in float)
 0:68      Sequence
-0:68        move second child to first child ( temp uint)
-0:68          'r048' ( temp uint)
-0:68          Convert int to uint ( temp uint)
-0:68            bitFieldReverse ( temp int)
-0:68              Constant:
-0:68                2 (const int)
+0:68        move second child to first child ( temp float)
+0:68          'r047' ( temp float)
+0:68          divide ( temp float)
+0:68            Constant:
+0:68              1.000000
+0:68            'inF0' ( in float)
 0:69      Sequence
-0:69        move second child to first child ( temp float)
-0:69          'r049' ( temp float)
-0:69          roundEven ( temp float)
-0:69            'inF0' ( in float)
+0:69        move second child to first child ( temp uint)
+0:69          'r048' ( temp uint)
+0:69          Convert int to uint ( temp uint)
+0:69            bitFieldReverse ( temp int)
+0:69              Constant:
+0:69                2 (const int)
 0:70      Sequence
 0:70        move second child to first child ( temp float)
-0:70          'r050' ( temp float)
-0:70          inverse sqrt ( temp float)
+0:70          'r049' ( temp 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          'r051' ( temp float)
-0:71          clamp ( temp float)
+0:71          'r050' ( temp float)
+0:71          inverse sqrt ( temp float)
 0:71            'inF0' ( in float)
-0:71            Constant:
-0:71              0.000000
-0:71            Constant:
-0:71              1.000000
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r052' ( temp float)
-0:72          Sign ( temp float)
+0:72          'r051' ( temp float)
+0:72          clamp ( temp float)
 0:72            'inF0' ( in float)
+0:72            Constant:
+0:72              0.000000
+0:72            Constant:
+0:72              1.000000
 0:73      Sequence
 0:73        move second child to first child ( temp float)
-0:73          'r053' ( temp float)
-0:73          sine ( temp float)
+0:73          'r052' ( temp 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          'inF1' ( in float)
+0:74          'r053' ( temp float)
 0:74          sine ( temp float)
 0:74            'inF0' ( in float)
-0:74        move second child to first child ( temp float)
-0:74          'inF2' ( in float)
-0:74          cosine ( temp float)
-0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'r055' ( temp float)
-0:75          hyp. sine ( temp float)
+0:75          'inF1' ( in float)
+0:75          sine ( temp float)
+0:75            'inF0' ( in float)
+0:75        move second child to first child ( temp float)
+0:75          'inF2' ( in float)
+0:75          cosine ( temp float)
 0:75            'inF0' ( in float)
 0:76      Sequence
 0:76        move second child to first child ( temp float)
-0:76          'r056' ( temp float)
-0:76          smoothstep ( temp float)
+0:76          'r055' ( temp float)
+0:76          hyp. sine ( temp float)
 0:76            'inF0' ( in float)
-0:76            'inF1' ( in float)
-0:76            'inF2' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r057' ( temp float)
-0:77          sqrt ( temp float)
+0:77          'r056' ( temp 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          'r058' ( temp float)
-0:78          step ( temp float)
+0:78          'r057' ( temp float)
+0:78          sqrt ( temp float)
 0:78            'inF0' ( in float)
-0:78            'inF1' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r059' ( temp float)
-0:79          tangent ( temp float)
+0:79          'r058' ( temp 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          'r060' ( temp float)
-0:80          hyp. tangent ( temp float)
+0:80          'r059' ( temp float)
+0:80          tangent ( temp float)
 0:80            'inF0' ( in float)
-0:82      Sequence
-0:82        move second child to first child ( temp float)
-0:82          'r061' ( temp float)
-0:82          trunc ( temp float)
-0:82            'inF0' ( in float)
-0:84      Branch: Return with expression
-0:84        Constant:
-0:84          0.000000
-0:88  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:88    Function Parameters: 
-0:88      'inF0' ( in 1-component vector of float)
-0:88      'inF1' ( in 1-component vector of float)
-0:88      'inF2' ( in 1-component vector of float)
+0:81      Sequence
+0:81        move second child to first child ( temp float)
+0:81          'r060' ( temp 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 ( temp float)
+0:83            'inF0' ( in float)
+0:85      Branch: Return with expression
+0:85        Constant:
+0:85          0.000000
+0:89  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:89    Function Parameters: 
+0:89      'inF0' ( in 1-component vector of float)
+0:89      'inF1' ( in 1-component vector of float)
+0:89      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:90      Branch: Return with expression
-0:90        Constant:
-0:90          0.000000
-0:94  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:94    Function Parameters: 
-0:94      'inF0' ( in 2-component vector of float)
-0:94      'inF1' ( in 2-component vector of float)
-0:94      'inF2' ( in 2-component vector of float)
-0:94      'inU0' ( in 2-component vector of uint)
-0:94      'inU1' ( in 2-component vector of uint)
+0:91      Branch: Return with expression
+0:91        Constant:
+0:91          0.000000
+0:95  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:95    Function Parameters: 
+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:95      'inU0' ( in 2-component vector of uint)
+0:95      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:97      Sequence
-0:97        move second child to first child ( temp bool)
-0:97          'r000' ( temp bool)
-0:97          all ( temp bool)
-0:97            Convert float to bool ( temp 2-component vector of bool)
-0:97              'inF0' ( in 2-component vector of float)
 0:98      Sequence
-0:98        move second child to first child ( temp 2-component vector of float)
-0:98          'r001' ( temp 2-component vector of float)
-0:98          Absolute value ( temp 2-component vector of float)
-0:98            'inF0' ( in 2-component vector of float)
+0:98        move second child to first child ( temp bool)
+0:98          'r000' ( temp bool)
+0:98          all ( temp bool)
+0:98            Convert float to bool ( temp 2-component vector of 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          'r002' ( temp 2-component vector of float)
-0:99          arc cosine ( temp 2-component vector of float)
+0:99          'r001' ( temp 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 bool)
-0:100          'r003' ( temp bool)
-0:100          any ( temp bool)
-0:100            Convert float to bool ( temp 2-component vector of bool)
-0:100              'inF0' ( in 2-component vector of float)
+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 ( 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 2-component vector of float)
-0:101          'r004' ( temp 2-component vector of float)
-0:101          arc sine ( temp 2-component vector of float)
-0:101            'inF0' ( in 2-component vector of float)
+0:101        move second child to first child ( temp bool)
+0:101          'r003' ( temp bool)
+0:101          any ( temp bool)
+0:101            Convert float to bool ( temp 2-component vector of 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 int)
-0:102          'r005' ( temp 2-component vector of int)
-0:102          floatBitsToInt ( temp 2-component vector of int)
+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 ( 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 uint)
-0:103          'r006' ( temp 2-component vector of uint)
-0:103          floatBitsToUint ( temp 2-component vector of uint)
+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 ( 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 float)
-0:104          'r007' ( temp 2-component vector of float)
-0:104          intBitsToFloat ( temp 2-component vector of float)
-0:104            'inU0' ( in 2-component vector of uint)
-0:106      Sequence
-0:106        move second child to first child ( temp 2-component vector of float)
-0:106          'r009' ( temp 2-component vector of float)
-0:106          arc tangent ( temp 2-component vector of float)
-0:106            'inF0' ( in 2-component vector of float)
+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 ( 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 ( 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          'r010' ( temp 2-component vector of float)
+0:107          'r009' ( temp 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:107            'inF1' ( 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          'r011' ( temp 2-component vector of float)
-0:108          Ceiling ( temp 2-component vector of float)
+0:108          'r010' ( temp 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          'r012' ( temp 2-component vector of float)
-0:109          clamp ( temp 2-component vector of float)
+0:109          'r011' ( temp 2-component vector of float)
+0:109          Ceiling ( temp 2-component vector of float)
 0:109            'inF0' ( in 2-component vector of float)
-0:109            'inF1' ( in 2-component vector of float)
-0:109            'inF2' ( in 2-component vector of float)
-0:110      Test condition and select ( temp void)
-0:110        Condition
-0:110        any ( temp bool)
-0:110          Compare Less Than ( temp 2-component vector of bool)
+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 ( temp 2-component vector of float)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            Constant:
-0:110              0.000000
-0:110              0.000000
-0:110        true case
-0:110        Branch: Kill
-0:111      Sequence
-0:111        move second child to first child ( temp 2-component vector of float)
-0:111          'r013' ( temp 2-component vector of float)
-0:111          cosine ( temp 2-component vector of float)
+0:110            'inF1' ( in 2-component vector of float)
+0:110            'inF2' ( in 2-component vector of float)
+0:111      Test condition and select ( temp void)
+0:111        Condition
+0:111        any ( temp bool)
+0:111          Compare Less Than ( temp 2-component vector of bool)
 0:111            'inF0' ( in 2-component vector of float)
-0:112      Sequence
-0:112        move second child to first child ( temp 2-component vector of float)
-0:112          'r015' ( temp 2-component vector of float)
-0:112          hyp. cosine ( temp 2-component vector of float)
-0:112            'inF0' ( in 2-component vector of float)
+0:111            Constant:
+0:111              0.000000
+0:111              0.000000
+0:111        true case
+0:111        Branch: Kill
+0:112      Test condition and select ( temp void)
+0:112        Condition
+0:112        any ( temp bool)
+0:112          Compare Less Than ( temp 2-component vector of bool)
+0:112            'inU0' ( in 2-component vector of uint)
+0:112            Constant:
+0:112              0.000000
+0:112              0.000000
+0:112        true case
+0:112        Branch: Kill
 0:113      Sequence
-0:113        move second child to first child ( temp 2-component vector of int)
-0:113          'r016' ( temp 2-component vector of int)
+0:113        move second child to first child ( temp 2-component vector of float)
+0:113          'r013' ( temp 2-component vector of float)
+0:113          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 float)
+0:114          'r015' ( temp 2-component vector of float)
+0:114          hyp. cosine ( temp 2-component vector of float)
+0:114            'inF0' ( in 2-component vector of float)
+0:115      Sequence
+0:115        move second child to first child ( temp 2-component vector of int)
+0:115          'r016' ( temp 2-component vector of int)
 0:?           bitCount ( temp 2-component vector of int)
 0:?             Constant:
 0:?               7 (const int)
 0:?               3 (const int)
-0:114      Sequence
-0:114        move second child to first child ( temp 2-component vector of float)
-0:114          'r017' ( temp 2-component vector of float)
-0:114          dPdx ( temp 2-component vector of float)
-0:114            'inF0' ( in 2-component vector of float)
-0:115      Sequence
-0:115        move second child to first child ( temp 2-component vector of float)
-0:115          'r018' ( temp 2-component vector of float)
-0:115          dPdxCoarse ( 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          'r019' ( temp 2-component vector of float)
-0:116          dPdxFine ( temp 2-component vector of float)
+0:116          'r017' ( temp 2-component vector of float)
+0:116          dPdx ( 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          'r020' ( temp 2-component vector of float)
-0:117          dPdy ( temp 2-component vector of float)
+0:117          'r018' ( temp 2-component vector of float)
+0:117          dPdxCoarse ( 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          'r021' ( temp 2-component vector of float)
-0:118          dPdyCoarse ( temp 2-component vector of float)
+0:118          'r019' ( temp 2-component vector of float)
+0:118          dPdxFine ( 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          'r022' ( temp 2-component vector of float)
-0:119          dPdyFine ( temp 2-component vector of float)
+0:119          'r020' ( temp 2-component vector of float)
+0:119          dPdy ( 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          'r023' ( temp 2-component vector of float)
-0:120          degrees ( temp 2-component vector of float)
+0:120          'r021' ( temp 2-component vector of float)
+0:120          dPdyCoarse ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
-0:124      Sequence
-0:124        move second child to first child ( temp float)
-0:124          'r026' ( temp float)
-0:124          distance ( temp float)
-0:124            'inF0' ( in 2-component vector of float)
-0:124            'inF1' ( in 2-component vector of float)
-0:125      Sequence
-0:125        move second child to first child ( temp float)
-0:125          'r027' ( temp float)
-0:125          dot-product ( temp float)
-0:125            'inF0' ( in 2-component vector of float)
-0:125            'inF1' ( in 2-component vector of float)
-0:129      Sequence
-0:129        move second child to first child ( temp 2-component vector of float)
-0:129          'r028' ( temp 2-component vector of float)
-0:129          exp ( temp 2-component vector of float)
-0:129            'inF0' ( 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          'r029' ( temp 2-component vector of float)
-0:130          exp2 ( temp 2-component vector of float)
-0:130            '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          'r022' ( temp 2-component vector of float)
+0:121          dPdyFine ( temp 2-component vector of float)
+0:121            'inF0' ( in 2-component vector of float)
+0:122      Sequence
+0:122        move second child to first child ( temp 2-component vector of float)
+0:122          'r023' ( temp 2-component vector of float)
+0:122          degrees ( temp 2-component vector of float)
+0:122            'inF0' ( in 2-component vector of float)
+0:126      Sequence
+0:126        move second child to first child ( temp float)
+0:126          'r026' ( temp float)
+0:126          distance ( temp float)
+0:126            'inF0' ( in 2-component vector of float)
+0:126            'inF1' ( in 2-component vector of float)
+0:127      Sequence
+0:127        move second child to first child ( temp float)
+0:127          'r027' ( temp float)
+0:127          dot-product ( temp float)
+0:127            'inF0' ( in 2-component vector of float)
+0:127            'inF1' ( 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          'r030' ( temp 2-component vector of float)
-0:131          face-forward ( temp 2-component vector of float)
+0:131          'r028' ( temp 2-component vector of float)
+0:131          exp ( temp 2-component vector of float)
 0:131            'inF0' ( in 2-component vector of float)
-0:131            'inF1' ( in 2-component vector of float)
-0:131            'inF2' ( in 2-component vector of float)
 0:132      Sequence
-0:132        move second child to first child ( temp 2-component vector of uint)
-0:132          'r031' ( temp 2-component vector of uint)
+0:132        move second child to first child ( temp 2-component vector of float)
+0:132          'r029' ( temp 2-component vector of float)
+0:132          exp2 ( temp 2-component vector of float)
+0:132            'inF0' ( in 2-component vector of float)
+0:133      Sequence
+0:133        move second child to first child ( temp 2-component vector of float)
+0:133          'r030' ( temp 2-component vector of float)
+0:133          face-forward ( temp 2-component vector of float)
+0:133            'inF0' ( in 2-component vector of float)
+0:133            'inF1' ( in 2-component vector of float)
+0:133            'inF2' ( in 2-component vector of float)
+0:134      Sequence
+0:134        move second child to first child ( temp 2-component vector of uint)
+0:134          'r031' ( temp 2-component vector of uint)
 0:?           findMSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:133      Sequence
-0:133        move second child to first child ( temp 2-component vector of uint)
-0:133          'r032' ( temp 2-component vector of uint)
+0:135      Sequence
+0:135        move second child to first child ( temp 2-component vector of uint)
+0:135          'r032' ( temp 2-component vector of uint)
 0:?           findLSB ( 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 float)
-0:134          'r033' ( temp 2-component vector of float)
-0:134          Floor ( temp 2-component vector of float)
-0:134            'inF0' ( in 2-component vector of float)
 0:136      Sequence
 0:136        move second child to first child ( temp 2-component vector of float)
-0:136          'r035' ( temp 2-component vector of float)
-0:136          mod ( temp 2-component vector of float)
+0:136          'r033' ( temp 2-component vector of float)
+0:136          Floor ( temp 2-component vector of float)
 0:136            'inF0' ( in 2-component vector of float)
-0:136            'inF1' ( 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          'r036' ( temp 2-component vector of float)
-0:137          Fraction ( temp 2-component vector of float)
-0:137            'inF0' ( 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          'r038' ( temp 2-component vector of float)
-0:138          fwidth ( temp 2-component vector of float)
+0:138          'r035' ( temp 2-component vector of float)
+0:138          mod ( temp 2-component vector of float)
 0:138            'inF0' ( in 2-component vector of float)
+0:138            'inF1' ( in 2-component vector of float)
 0:139      Sequence
-0:139        move second child to first child ( temp 2-component vector of bool)
-0:139          'r039' ( temp 2-component vector of bool)
-0:139          isinf ( temp 2-component vector of bool)
+0:139        move second child to first child ( temp 2-component vector of float)
+0:139          'r036' ( temp 2-component vector of float)
+0:139          Fraction ( temp 2-component vector of float)
 0:139            'inF0' ( in 2-component vector of float)
 0:140      Sequence
-0:140        move second child to first child ( temp 2-component vector of bool)
-0:140          'r040' ( temp 2-component vector of bool)
-0:140          isnan ( temp 2-component vector of bool)
+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 ( 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 float)
-0:141          'r041' ( temp 2-component vector of float)
-0:141          ldexp ( temp 2-component vector of float)
+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 ( temp 2-component vector of bool)
 0:141            'inF0' ( in 2-component vector of float)
-0:141            'inF1' ( in 2-component vector of float)
 0:142      Sequence
-0:142        move second child to first child ( temp 2-component vector of float)
-0:142          'r039a' ( temp 2-component vector of float)
-0:142          mix ( temp 2-component vector of float)
+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 ( temp 2-component vector of bool)
 0:142            'inF0' ( in 2-component vector of float)
-0:142            'inF1' ( in 2-component vector of float)
-0:142            'inF2' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp float)
-0:143          'r042' ( temp float)
-0:143          length ( temp float)
+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 ( 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          'r043' ( temp 2-component vector of float)
-0:144          log ( temp 2-component vector of float)
+0:144          'r039a' ( temp 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 2-component vector of float)
-0:145          'r044' ( temp 2-component vector of float)
-0:145          vector-scale ( temp 2-component vector of float)
-0:145            log2 ( temp 2-component vector of float)
-0:145              'inF0' ( in 2-component vector of float)
-0:145            Constant:
-0:145              0.301030
+0:145        move second child to first child ( temp float)
+0:145          'r042' ( temp 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          'r045' ( temp 2-component vector of float)
-0:146          log2 ( temp 2-component vector of float)
+0:146          'r043' ( temp 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)
-0:147          'r046' ( temp 2-component vector of float)
-0:147          max ( temp 2-component vector of float)
-0:147            'inF0' ( in 2-component vector of float)
-0:147            'inF1' ( in 2-component vector of float)
+0:147          'r044' ( temp 2-component vector of float)
+0:147          vector-scale ( temp 2-component vector of float)
+0:147            log2 ( temp 2-component vector of float)
+0:147              'inF0' ( in 2-component vector of float)
+0:147            Constant:
+0:147              0.301030
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r047' ( temp 2-component vector of float)
-0:148          min ( temp 2-component vector of float)
+0:148          'r045' ( temp 2-component vector of float)
+0:148          log2 ( temp 2-component vector of float)
 0:148            'inF0' ( in 2-component vector of float)
-0:148            'inF1' ( 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          'r048' ( temp 2-component vector of float)
-0:149          normalize ( temp 2-component vector of float)
+0:149          'r046' ( temp 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          'r049' ( temp 2-component vector of float)
-0:150          pow ( temp 2-component vector of float)
+0:150          'r047' ( temp 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          'r050' ( temp 2-component vector of float)
-0:151          radians ( temp 2-component vector of float)
+0:151          'r048' ( temp 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          'r051' ( temp 2-component vector of float)
-0:152          divide ( temp 2-component vector of float)
-0:152            Constant:
-0:152              1.000000
+0:152          'r049' ( temp 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          'r052' ( temp 2-component vector of float)
-0:153          reflect ( temp 2-component vector of float)
+0:153          'r050' ( temp 2-component vector of float)
+0:153          radians ( temp 2-component vector of float)
 0:153            'inF0' ( in 2-component vector of float)
-0:153            'inF1' ( in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child ( temp 2-component vector of float)
-0:154          'r053' ( temp 2-component vector of float)
-0:154          refract ( temp 2-component vector of float)
-0:154            'inF0' ( in 2-component vector of float)
-0:154            'inF1' ( in 2-component vector of float)
+0:154          'r051' ( temp 2-component vector of float)
+0:154          divide ( temp 2-component vector of float)
 0:154            Constant:
-0:154              2.000000
+0:154              1.000000
+0:154            'inF0' ( in 2-component vector of float)
 0:155      Sequence
-0:155        move second child to first child ( temp 2-component vector of uint)
-0:155          'r054' ( temp 2-component vector of uint)
+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 ( 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 ( 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:
+0:156              2.000000
+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 ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
-0:156      Sequence
-0:156        move second child to first child ( temp 2-component vector of float)
-0:156          'r055' ( temp 2-component vector of float)
-0:156          roundEven ( temp 2-component vector of float)
-0:156            'inF0' ( in 2-component vector of float)
-0:157      Sequence
-0:157        move second child to first child ( temp 2-component vector of float)
-0:157          'r056' ( temp 2-component vector of float)
-0:157          inverse sqrt ( temp 2-component vector of float)
-0:157            'inF0' ( in 2-component vector of float)
 0:158      Sequence
 0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r057' ( temp 2-component vector of float)
-0:158          clamp ( temp 2-component vector of float)
+0:158          'r055' ( temp 2-component vector of float)
+0:158          roundEven ( temp 2-component vector of float)
 0:158            'inF0' ( in 2-component vector of float)
-0:158            Constant:
-0:158              0.000000
-0:158            Constant:
-0:158              1.000000
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r058' ( temp 2-component vector of float)
-0:159          Sign ( temp 2-component vector of float)
+0:159          'r056' ( temp 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)
-0:160          'r059' ( temp 2-component vector of float)
-0:160          sine ( temp 2-component vector of float)
+0:160          'r057' ( temp 2-component vector of float)
+0:160          clamp ( temp 2-component vector of float)
 0:160            'inF0' ( in 2-component vector of float)
+0:160            Constant:
+0:160              0.000000
+0:160            Constant:
+0:160              1.000000
 0:161      Sequence
 0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'inF1' ( in 2-component vector of float)
-0:161          sine ( temp 2-component vector of float)
-0:161            'inF0' ( in 2-component vector of float)
-0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'inF2' ( in 2-component vector of float)
-0:161          cosine ( temp 2-component vector of float)
+0:161          'r058' ( temp 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          'r060' ( temp 2-component vector of float)
-0:162          hyp. sine ( temp 2-component vector of float)
+0:162          'r059' ( temp 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)
-0:163          'r061' ( temp 2-component vector of float)
-0:163          smoothstep ( temp 2-component vector of float)
+0:163          'inF1' ( in 2-component vector of float)
+0:163          sine ( temp 2-component vector of float)
 0:163            'inF0' ( in 2-component vector of float)
-0:163            'inF1' ( in 2-component vector of float)
-0:163            'inF2' ( in 2-component vector of float)
+0:163        move second child to first child ( temp 2-component vector of float)
+0:163          'inF2' ( in 2-component vector of float)
+0:163          cosine ( temp 2-component vector of float)
+0:163            'inF0' ( in 2-component vector of float)
 0:164      Sequence
 0:164        move second child to first child ( temp 2-component vector of float)
-0:164          'r062' ( temp 2-component vector of float)
-0:164          sqrt ( temp 2-component vector of float)
+0:164          'r060' ( temp 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          'r063' ( temp 2-component vector of float)
-0:165          step ( temp 2-component vector of float)
+0:165          'r061' ( temp 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          'r064' ( temp 2-component vector of float)
-0:166          tangent ( temp 2-component vector of float)
+0:166          'r062' ( temp 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          'r065' ( temp 2-component vector of float)
-0:167          hyp. tangent ( temp 2-component vector of float)
+0:167          'r063' ( temp 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 ( 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          'r066' ( temp 2-component vector of float)
-0:169          trunc ( temp 2-component vector of float)
+0:169          'r065' ( temp 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:172      Branch: Return with expression
+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 ( temp 2-component vector of float)
+0:171            'inF0' ( in 2-component vector of float)
+0:174      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:176  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:176    Function Parameters: 
-0:176      'inF0' ( in 3-component vector of float)
-0:176      'inF1' ( in 3-component vector of float)
-0:176      'inF2' ( in 3-component vector of float)
-0:176      'inU0' ( in 3-component vector of uint)
-0:176      'inU1' ( in 3-component vector of uint)
+0:178  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:178    Function Parameters: 
+0:178      'inF0' ( in 3-component vector of float)
+0:178      'inF1' ( in 3-component vector of float)
+0:178      'inF2' ( in 3-component vector of float)
+0:178      'inU0' ( in 3-component vector of uint)
+0:178      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:179      Sequence
-0:179        move second child to first child ( temp bool)
-0:179          'r000' ( temp bool)
-0:179          all ( temp bool)
-0:179            Convert float to bool ( temp 3-component vector of bool)
-0:179              'inF0' ( in 3-component vector of float)
-0:180      Sequence
-0:180        move second child to first child ( temp 3-component vector of float)
-0:180          'r001' ( temp 3-component vector of float)
-0:180          Absolute value ( temp 3-component vector of float)
-0:180            'inF0' ( in 3-component vector of float)
 0:181      Sequence
-0:181        move second child to first child ( temp 3-component vector of float)
-0:181          'r002' ( temp 3-component vector of float)
-0:181          arc cosine ( temp 3-component vector of float)
-0:181            'inF0' ( in 3-component vector of float)
+0:181        move second child to first child ( temp bool)
+0:181          'r000' ( temp bool)
+0:181          all ( temp bool)
+0:181            Convert float to bool ( temp 3-component vector of bool)
+0:181              'inF0' ( in 3-component vector of float)
 0:182      Sequence
-0:182        move second child to first child ( temp bool)
-0:182          'r003' ( temp bool)
-0:182          any ( temp bool)
-0:182            Convert float to bool ( temp 3-component vector of bool)
-0:182              'inF0' ( in 3-component vector of float)
+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 ( 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          'r004' ( temp 3-component vector of float)
-0:183          arc sine ( temp 3-component vector of float)
+0:183          'r002' ( temp 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 3-component vector of int)
-0:184          'r005' ( temp 3-component vector of int)
-0:184          floatBitsToInt ( temp 3-component vector of int)
-0:184            'inF0' ( in 3-component vector of float)
+0:184        move second child to first child ( temp bool)
+0:184          'r003' ( temp bool)
+0:184          any ( temp bool)
+0:184            Convert float to bool ( temp 3-component vector of 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 uint)
-0:185          'r006' ( temp 3-component vector of uint)
-0:185          floatBitsToUint ( temp 3-component vector of uint)
+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 ( 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 float)
-0:186          'r007' ( temp 3-component vector of float)
-0:186          intBitsToFloat ( temp 3-component vector of float)
-0:186            'inU0' ( in 3-component vector of uint)
+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 ( 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 ( 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          'r009' ( temp 3-component vector of float)
-0:188          arc tangent ( temp 3-component vector of float)
-0:188            'inF0' ( in 3-component vector of float)
-0:189      Sequence
-0:189        move second child to first child ( temp 3-component vector of float)
-0:189          'r010' ( temp 3-component vector of float)
-0:189          arc tangent ( 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:188          'r007' ( temp 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          'r011' ( temp 3-component vector of float)
-0:190          Ceiling ( temp 3-component vector of float)
+0:190          'r009' ( temp 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          'r012' ( temp 3-component vector of float)
-0:191          clamp ( temp 3-component vector of float)
+0:191          'r010' ( temp 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:191            'inF2' ( in 3-component vector of float)
-0:192      Test condition and select ( temp void)
-0:192        Condition
-0:192        any ( temp bool)
-0:192          Compare Less Than ( temp 3-component vector of bool)
+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 ( temp 3-component vector of float)
 0:192            'inF0' ( in 3-component vector of float)
-0:192            Constant:
-0:192              0.000000
-0:192              0.000000
-0:192              0.000000
-0:192        true case
-0:192        Branch: Kill
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r013' ( temp 3-component vector of float)
-0:193          cosine ( temp 3-component vector of float)
+0:193          'r012' ( temp 3-component vector of float)
+0:193          clamp ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:194      Sequence
-0:194        move second child to first child ( temp 3-component vector of float)
-0:194          'r014' ( temp 3-component vector of float)
-0:194          hyp. cosine ( temp 3-component vector of float)
+0:193            'inF1' ( in 3-component vector of float)
+0:193            'inF2' ( in 3-component vector of float)
+0:194      Test condition and select ( temp void)
+0:194        Condition
+0:194        any ( temp bool)
+0:194          Compare Less Than ( temp 3-component vector of bool)
 0:194            'inF0' ( in 3-component vector of float)
-0:195      Sequence
-0:195        move second child to first child ( temp 3-component vector of uint)
-0:195          'r015' ( temp 3-component vector of uint)
+0:194            Constant:
+0:194              0.000000
+0:194              0.000000
+0:194              0.000000
+0:194        true case
+0:194        Branch: Kill
+0:195      Test condition and select ( temp void)
+0:195        Condition
+0:195        any ( temp bool)
+0:195          Compare Less Than ( temp 3-component vector of bool)
+0:195            'inU0' ( in 3-component vector of uint)
+0:195            Constant:
+0:195              0.000000
+0:195              0.000000
+0:195              0.000000
+0:195        true case
+0:195        Branch: Kill
+0:196      Sequence
+0:196        move second child to first child ( temp 3-component vector of float)
+0:196          'r013' ( temp 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      Sequence
+0:197        move second child to first child ( temp 3-component vector of float)
+0:197          'r014' ( temp 3-component vector of float)
+0:197          hyp. cosine ( temp 3-component vector of float)
+0:197            'inF0' ( in 3-component vector of float)
+0:198      Sequence
+0:198        move second child to first child ( temp 3-component vector of uint)
+0:198          'r015' ( temp 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:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'r016' ( temp 3-component vector of float)
-0:196          cross-product ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:196            'inF1' ( in 3-component vector of float)
-0:197      Sequence
-0:197        move second child to first child ( temp 3-component vector of float)
-0:197          'r017' ( temp 3-component vector of float)
-0:197          dPdx ( temp 3-component vector of float)
-0:197            'inF0' ( in 3-component vector of float)
-0:198      Sequence
-0:198        move second child to first child ( temp 3-component vector of float)
-0:198          'r018' ( temp 3-component vector of float)
-0:198          dPdxCoarse ( temp 3-component vector of float)
-0:198            'inF0' ( 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          'r019' ( temp 3-component vector of float)
-0:199          dPdxFine ( temp 3-component vector of float)
+0:199          'r016' ( temp 3-component vector of float)
+0:199          cross-product ( temp 3-component vector of float)
 0:199            'inF0' ( in 3-component vector of float)
+0:199            'inF1' ( 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          'r020' ( temp 3-component vector of float)
-0:200          dPdy ( temp 3-component vector of float)
+0:200          'r017' ( temp 3-component vector of float)
+0:200          dPdx ( 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          'r021' ( temp 3-component vector of float)
-0:201          dPdyCoarse ( temp 3-component vector of float)
+0:201          'r018' ( temp 3-component vector of float)
+0:201          dPdxCoarse ( 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          'r022' ( temp 3-component vector of float)
-0:202          dPdyFine ( temp 3-component vector of float)
+0:202          'r019' ( temp 3-component vector of float)
+0:202          dPdxFine ( 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          'r023' ( temp 3-component vector of float)
-0:203          degrees ( temp 3-component vector of float)
+0:203          'r020' ( temp 3-component vector of float)
+0:203          dPdy ( 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 float)
-0:204          'r024' ( temp float)
-0:204          distance ( temp float)
+0:204        move second child to first child ( temp 3-component vector of float)
+0:204          'r021' ( temp 3-component vector of float)
+0:204          dPdyCoarse ( temp 3-component vector of float)
 0:204            'inF0' ( in 3-component vector of float)
-0:204            'inF1' ( in 3-component vector of float)
 0:205      Sequence
-0:205        move second child to first child ( temp float)
-0:205          'r025' ( temp float)
-0:205          dot-product ( temp float)
+0:205        move second child to first child ( temp 3-component vector of float)
+0:205          'r022' ( temp 3-component vector of float)
+0:205          dPdyFine ( temp 3-component vector of float)
 0:205            'inF0' ( in 3-component vector of float)
-0:205            'inF1' ( in 3-component vector of float)
-0:209      Sequence
-0:209        move second child to first child ( temp 3-component vector of float)
-0:209          'r029' ( temp 3-component vector of float)
-0:209          exp ( temp 3-component vector of float)
-0:209            'inF0' ( in 3-component vector of float)
-0:210      Sequence
-0:210        move second child to first child ( temp 3-component vector of float)
-0:210          'r030' ( temp 3-component vector of float)
-0:210          exp2 ( temp 3-component vector of float)
-0:210            'inF0' ( 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          'r031' ( temp 3-component vector of float)
-0:211          face-forward ( temp 3-component vector of float)
-0:211            'inF0' ( in 3-component vector of float)
-0:211            'inF1' ( in 3-component vector of float)
-0:211            'inF2' ( in 3-component vector of float)
+0:206      Sequence
+0:206        move second child to first child ( temp 3-component vector of float)
+0:206          'r023' ( temp 3-component vector of float)
+0:206          degrees ( temp 3-component vector of float)
+0:206            'inF0' ( in 3-component vector of float)
+0:207      Sequence
+0:207        move second child to first child ( temp float)
+0:207          'r024' ( temp float)
+0:207          distance ( temp float)
+0:207            'inF0' ( in 3-component vector of float)
+0:207            'inF1' ( in 3-component vector of float)
+0:208      Sequence
+0:208        move second child to first child ( temp float)
+0:208          'r025' ( temp float)
+0:208          dot-product ( temp float)
+0:208            'inF0' ( in 3-component vector of float)
+0:208            'inF1' ( in 3-component vector of float)
 0:212      Sequence
-0:212        move second child to first child ( temp 3-component vector of uint)
-0:212          'r032' ( temp 3-component vector of uint)
+0:212        move second child to first child ( temp 3-component vector of float)
+0:212          'r029' ( temp 3-component vector of float)
+0:212          exp ( 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          'r030' ( temp 3-component vector of float)
+0:213          exp2 ( temp 3-component vector of float)
+0:213            'inF0' ( in 3-component vector of float)
+0:214      Sequence
+0:214        move second child to first child ( temp 3-component vector of float)
+0:214          'r031' ( temp 3-component vector of float)
+0:214          face-forward ( temp 3-component vector of float)
+0:214            'inF0' ( in 3-component vector of float)
+0:214            'inF1' ( in 3-component vector of float)
+0:214            'inF2' ( in 3-component vector of float)
+0:215      Sequence
+0:215        move second child to first child ( temp 3-component vector of uint)
+0:215          'r032' ( temp 3-component vector of uint)
 0:?           findMSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:213      Sequence
-0:213        move second child to first child ( temp 3-component vector of uint)
-0:213          'r033' ( temp 3-component vector of uint)
+0:216      Sequence
+0:216        move second child to first child ( temp 3-component vector of uint)
+0:216          'r033' ( temp 3-component vector of uint)
 0:?           findLSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:214      Sequence
-0:214        move second child to first child ( temp 3-component vector of float)
-0:214          'r034' ( temp 3-component vector of float)
-0:214          Floor ( temp 3-component vector of float)
-0:214            'inF0' ( in 3-component vector of float)
-0:216      Sequence
-0:216        move second child to first child ( temp 3-component vector of float)
-0:216          'r036' ( temp 3-component vector of float)
-0:216          mod ( temp 3-component vector of float)
-0:216            'inF0' ( in 3-component vector of float)
-0:216            'inF1' ( in 3-component vector of float)
 0:217      Sequence
 0:217        move second child to first child ( temp 3-component vector of float)
-0:217          'r037' ( temp 3-component vector of float)
-0:217          Fraction ( temp 3-component vector of float)
+0:217          'r034' ( temp 3-component vector of float)
+0:217          Floor ( temp 3-component vector of float)
 0:217            '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          'r039' ( temp 3-component vector of float)
-0:218          fwidth ( temp 3-component vector of float)
-0:218            'inF0' ( in 3-component vector of float)
 0:219      Sequence
-0:219        move second child to first child ( temp 3-component vector of bool)
-0:219          'r040' ( temp 3-component vector of bool)
-0:219          isinf ( temp 3-component vector of bool)
+0:219        move second child to first child ( temp 3-component vector of float)
+0:219          'r036' ( temp 3-component vector of float)
+0:219          mod ( temp 3-component vector of float)
 0:219            'inF0' ( in 3-component vector of float)
+0:219            'inF1' ( in 3-component vector of float)
 0:220      Sequence
-0:220        move second child to first child ( temp 3-component vector of bool)
-0:220          'r041' ( temp 3-component vector of bool)
-0:220          isnan ( temp 3-component vector of bool)
+0:220        move second child to first child ( temp 3-component vector of float)
+0:220          'r037' ( temp 3-component vector of float)
+0:220          Fraction ( temp 3-component vector of float)
 0:220            'inF0' ( 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          'r042' ( temp 3-component vector of float)
-0:221          ldexp ( temp 3-component vector of float)
+0:221          'r039' ( temp 3-component vector of float)
+0:221          fwidth ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
-0:221            'inF1' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of float)
-0:222          'r039a' ( temp 3-component vector of float)
-0:222          mix ( temp 3-component vector of float)
+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 ( temp 3-component vector of bool)
 0:222            'inF0' ( in 3-component vector of float)
-0:222            'inF1' ( in 3-component vector of float)
-0:222            'inF2' ( in 3-component vector of float)
 0:223      Sequence
-0:223        move second child to first child ( temp 3-component vector of float)
-0:223          'r039b' ( temp 3-component vector of float)
-0:223          mix ( temp 3-component vector of float)
+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 ( temp 3-component vector of bool)
 0:223            'inF0' ( in 3-component vector of float)
-0:223            'inF1' ( in 3-component vector of float)
-0:223            Constant:
-0:223              0.300000
 0:224      Sequence
-0:224        move second child to first child ( temp float)
-0:224          'r043' ( temp float)
-0:224          length ( temp float)
+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 ( 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          'r044' ( temp 3-component vector of float)
-0:225          log ( temp 3-component vector of float)
+0:225          'r039a' ( temp 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          'r045' ( temp 3-component vector of float)
-0:226          vector-scale ( temp 3-component vector of float)
-0:226            log2 ( temp 3-component vector of float)
-0:226              'inF0' ( in 3-component vector of float)
+0:226          'r039b' ( temp 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:
-0:226              0.301030
+0:226              0.300000
 0:227      Sequence
-0:227        move second child to first child ( temp 3-component vector of float)
-0:227          'r046' ( temp 3-component vector of float)
-0:227          log2 ( temp 3-component vector of float)
+0:227        move second child to first child ( temp float)
+0:227          'r043' ( temp 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          'r047' ( temp 3-component vector of float)
-0:228          max ( temp 3-component vector of float)
+0:228          'r044' ( temp 3-component vector of float)
+0:228          log ( temp 3-component vector of float)
 0:228            'inF0' ( in 3-component vector of float)
-0:228            'inF1' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-0:229          'r048' ( temp 3-component vector of float)
-0:229          min ( temp 3-component vector of float)
-0:229            'inF0' ( in 3-component vector of float)
-0:229            'inF1' ( in 3-component vector of float)
+0:229          'r045' ( temp 3-component vector of float)
+0:229          vector-scale ( temp 3-component vector of float)
+0:229            log2 ( temp 3-component vector of float)
+0:229              'inF0' ( in 3-component vector of float)
+0:229            Constant:
+0:229              0.301030
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r049' ( temp 3-component vector of float)
-0:230          normalize ( temp 3-component vector of float)
+0:230          'r046' ( temp 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          'r050' ( temp 3-component vector of float)
-0:231          pow ( temp 3-component vector of float)
+0:231          'r047' ( temp 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          'r051' ( temp 3-component vector of float)
-0:232          radians ( temp 3-component vector of float)
+0:232          'r048' ( temp 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          'r052' ( temp 3-component vector of float)
-0:233          divide ( temp 3-component vector of float)
-0:233            Constant:
-0:233              1.000000
+0:233          'r049' ( temp 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          'r053' ( temp 3-component vector of float)
-0:234          reflect ( temp 3-component vector of float)
+0:234          'r050' ( temp 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          'r054' ( temp 3-component vector of float)
-0:235          refract ( temp 3-component vector of float)
+0:235          'r051' ( temp 3-component vector of float)
+0:235          radians ( temp 3-component vector of float)
 0:235            'inF0' ( in 3-component vector of float)
-0:235            'inF1' ( in 3-component vector of float)
-0:235            Constant:
-0:235              2.000000
 0:236      Sequence
-0:236        move second child to first child ( temp 3-component vector of uint)
-0:236          'r055' ( temp 3-component vector of uint)
+0:236        move second child to first child ( temp 3-component vector of float)
+0:236          'r052' ( temp 3-component vector of float)
+0:236          divide ( temp 3-component vector of float)
+0:236            Constant:
+0:236              1.000000
+0:236            'inF0' ( in 3-component vector of float)
+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 ( 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 ( 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:
+0:238              2.000000
+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 ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
-0:237      Sequence
-0:237        move second child to first child ( temp 3-component vector of float)
-0:237          'r056' ( temp 3-component vector of float)
-0:237          roundEven ( temp 3-component vector of float)
-0:237            'inF0' ( 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          'r057' ( temp 3-component vector of float)
-0:238          inverse sqrt ( temp 3-component vector of float)
-0:238            'inF0' ( in 3-component vector of float)
-0:239      Sequence
-0:239        move second child to first child ( temp 3-component vector of float)
-0:239          'r058' ( temp 3-component vector of float)
-0:239          clamp ( temp 3-component vector of float)
-0:239            'inF0' ( in 3-component vector of float)
-0:239            Constant:
-0:239              0.000000
-0:239            Constant:
-0:239              1.000000
 0:240      Sequence
 0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r059' ( temp 3-component vector of float)
-0:240          Sign ( temp 3-component vector of float)
+0:240          'r056' ( temp 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          'r060' ( temp 3-component vector of float)
-0:241          sine ( temp 3-component vector of float)
+0:241          'r057' ( temp 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)
-0:242          'inF1' ( in 3-component vector of float)
-0:242          sine ( temp 3-component vector of float)
+0:242          'r058' ( temp 3-component vector of float)
+0:242          clamp ( temp 3-component vector of float)
 0:242            'inF0' ( in 3-component vector of float)
-0:242        move second child to first child ( temp 3-component vector of float)
-0:242          'inF2' ( in 3-component vector of float)
-0:242          cosine ( temp 3-component vector of float)
-0:242            'inF0' ( in 3-component vector of float)
+0:242            Constant:
+0:242              0.000000
+0:242            Constant:
+0:242              1.000000
 0:243      Sequence
 0:243        move second child to first child ( temp 3-component vector of float)
-0:243          'r061' ( temp 3-component vector of float)
-0:243          hyp. sine ( temp 3-component vector of float)
+0:243          'r059' ( temp 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          'r062' ( temp 3-component vector of float)
-0:244          smoothstep ( temp 3-component vector of float)
+0:244          'r060' ( temp 3-component vector of float)
+0:244          sine ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
-0:244            'inF1' ( in 3-component vector of float)
-0:244            'inF2' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'r063' ( temp 3-component vector of float)
-0:245          sqrt ( temp 3-component vector of float)
+0:245          'inF1' ( in 3-component vector of float)
+0:245          sine ( temp 3-component vector of float)
+0:245            'inF0' ( in 3-component vector of float)
+0:245        move second child to first child ( temp 3-component vector of float)
+0:245          'inF2' ( in 3-component vector of float)
+0:245          cosine ( temp 3-component vector of float)
 0:245            'inF0' ( in 3-component vector of float)
 0:246      Sequence
 0:246        move second child to first child ( temp 3-component vector of float)
-0:246          'r064' ( temp 3-component vector of float)
-0:246          step ( temp 3-component vector of float)
+0:246          'r061' ( temp 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:246            'inF1' ( 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          'r065' ( temp 3-component vector of float)
-0:247          tangent ( temp 3-component vector of float)
+0:247          'r062' ( temp 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          'r066' ( temp 3-component vector of float)
-0:248          hyp. tangent ( temp 3-component vector of float)
+0:248          'r063' ( temp 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 ( 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          'r067' ( temp 3-component vector of float)
-0:250          trunc ( temp 3-component vector of float)
+0:250          'r065' ( temp 3-component vector of float)
+0:250          tangent ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
-0:253      Branch: Return with expression
+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 ( 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 ( temp 3-component vector of float)
+0:253            'inF0' ( in 3-component vector of float)
+0:256      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:257  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:257    Function Parameters: 
-0:257      'inF0' ( in 4-component vector of float)
-0:257      'inF1' ( in 4-component vector of float)
-0:257      'inF2' ( in 4-component vector of float)
-0:257      'inU0' ( in 4-component vector of uint)
-0:257      'inU1' ( in 4-component vector of uint)
+0:260  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:260    Function Parameters: 
+0:260      'inF0' ( in 4-component vector of float)
+0:260      'inF1' ( in 4-component vector of float)
+0:260      'inF2' ( in 4-component vector of float)
+0:260      'inU0' ( in 4-component vector of uint)
+0:260      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:260      Sequence
-0:260        move second child to first child ( temp bool)
-0:260          'r000' ( temp bool)
-0:260          all ( temp bool)
-0:260            Convert float to bool ( temp 4-component vector of bool)
-0:260              'inF0' ( in 4-component vector of float)
-0:261      Sequence
-0:261        move second child to first child ( temp 4-component vector of float)
-0:261          'r001' ( temp 4-component vector of float)
-0:261          Absolute value ( temp 4-component vector of float)
-0:261            'inF0' ( in 4-component vector of float)
-0:262      Sequence
-0:262        move second child to first child ( temp 4-component vector of float)
-0:262          'r002' ( temp 4-component vector of float)
-0:262          arc cosine ( temp 4-component vector of float)
-0:262            'inF0' ( in 4-component vector of float)
 0:263      Sequence
 0:263        move second child to first child ( temp bool)
-0:263          'r003' ( temp bool)
-0:263          any ( temp bool)
+0:263          'r000' ( temp bool)
+0:263          all ( temp bool)
 0:263            Convert float to bool ( temp 4-component vector of 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          'r004' ( temp 4-component vector of float)
-0:264          arc sine ( temp 4-component vector of float)
+0:264          'r001' ( temp 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 int)
-0:265          'r005' ( temp 4-component vector of int)
-0:265          floatBitsToInt ( temp 4-component vector of int)
+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 ( 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 4-component vector of uint)
-0:266          'r006' ( temp 4-component vector of uint)
-0:266          floatBitsToUint ( temp 4-component vector of uint)
-0:266            'inF0' ( in 4-component vector of float)
+0:266        move second child to first child ( temp bool)
+0:266          'r003' ( temp bool)
+0:266          any ( temp bool)
+0:266            Convert float to bool ( temp 4-component vector of 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          'r007' ( temp 4-component vector of float)
-0:267          intBitsToFloat ( temp 4-component vector of float)
-0:267            'inU0' ( in 4-component vector of uint)
+0:267          'r004' ( temp 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 ( 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 float)
-0:269          'r009' ( temp 4-component vector of float)
-0:269          arc tangent ( temp 4-component vector of float)
+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 ( 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          'r010' ( temp 4-component vector of float)
-0:270          arc tangent ( temp 4-component vector of float)
-0:270            'inF0' ( in 4-component vector of float)
-0:270            'inF1' ( in 4-component vector of float)
-0:271      Sequence
-0:271        move second child to first child ( temp 4-component vector of float)
-0:271          'r011' ( temp 4-component vector of float)
-0:271          Ceiling ( temp 4-component vector of float)
-0:271            'inF0' ( in 4-component vector of float)
+0:270          'r007' ( temp 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          'r012' ( temp 4-component vector of float)
-0:272          clamp ( temp 4-component vector of float)
+0:272          'r009' ( temp 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:272            'inF1' ( in 4-component vector of float)
-0:272            'inF2' ( in 4-component vector of float)
-0:273      Test condition and select ( temp void)
-0:273        Condition
-0:273        any ( temp bool)
-0:273          Compare Less Than ( temp 4-component vector of bool)
+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 ( temp 4-component vector of float)
 0:273            'inF0' ( in 4-component vector of float)
-0:273            Constant:
-0:273              0.000000
-0:273              0.000000
-0:273              0.000000
-0:273              0.000000
-0:273        true case
-0:273        Branch: Kill
+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          'r013' ( temp 4-component vector of float)
-0:274          cosine ( temp 4-component vector of float)
+0:274          'r011' ( temp 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          'r014' ( temp 4-component vector of float)
-0:275          hyp. cosine ( temp 4-component vector of float)
+0:275          'r012' ( temp 4-component vector of float)
+0:275          clamp ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:276      Sequence
-0:276        move second child to first child ( temp 4-component vector of uint)
-0:276          'r015' ( temp 4-component vector of uint)
+0:275            'inF1' ( in 4-component vector of float)
+0:275            'inF2' ( in 4-component vector of float)
+0:276      Test condition and select ( temp void)
+0:276        Condition
+0:276        any ( temp bool)
+0:276          Compare Less Than ( temp 4-component vector of bool)
+0:276            'inF0' ( in 4-component vector of float)
+0:276            Constant:
+0:276              0.000000
+0:276              0.000000
+0:276              0.000000
+0:276              0.000000
+0:276        true case
+0:276        Branch: Kill
+0:277      Test condition and select ( temp void)
+0:277        Condition
+0:277        any ( temp bool)
+0:277          Compare Less Than ( temp 4-component vector of bool)
+0:277            'inU0' ( in 4-component vector of uint)
+0:277            Constant:
+0:277              0.000000
+0:277              0.000000
+0:277              0.000000
+0:277              0.000000
+0:277        true case
+0:277        Branch: Kill
+0:278      Sequence
+0:278        move second child to first child ( temp 4-component vector of float)
+0:278          'r013' ( temp 4-component vector of float)
+0:278          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 float)
+0:279          'r014' ( temp 4-component vector of float)
+0:279          hyp. cosine ( temp 4-component vector of float)
+0:279            'inF0' ( in 4-component vector of float)
+0:280      Sequence
+0:280        move second child to first child ( temp 4-component vector of uint)
+0:280          'r015' ( temp 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:277      Sequence
-0:277        move second child to first child ( temp 4-component vector of float)
-0:277          'r016' ( temp 4-component vector of float)
-0:277          dPdx ( 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          'r017' ( temp 4-component vector of float)
-0:278          dPdxCoarse ( 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 float)
-0:279          'r018' ( temp 4-component vector of float)
-0:279          dPdxFine ( temp 4-component vector of float)
-0:279            'inF0' ( in 4-component vector of float)
-0:280      Sequence
-0:280        move second child to first child ( temp 4-component vector of float)
-0:280          'r019' ( temp 4-component vector of float)
-0:280          dPdy ( 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          'r020' ( temp 4-component vector of float)
-0:281          dPdyCoarse ( temp 4-component vector of float)
+0:281          'r016' ( temp 4-component vector of float)
+0:281          dPdx ( 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          'r021' ( temp 4-component vector of float)
-0:282          dPdyFine ( temp 4-component vector of float)
+0:282          'r017' ( temp 4-component vector of float)
+0:282          dPdxCoarse ( 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          'r022' ( temp 4-component vector of float)
-0:283          degrees ( temp 4-component vector of float)
+0:283          'r018' ( temp 4-component vector of float)
+0:283          dPdxFine ( 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 float)
-0:284          'r023' ( temp float)
-0:284          distance ( temp float)
+0:284        move second child to first child ( temp 4-component vector of float)
+0:284          'r019' ( temp 4-component vector of float)
+0:284          dPdy ( temp 4-component vector of float)
 0:284            'inF0' ( in 4-component vector of float)
-0:284            'inF1' ( in 4-component vector of float)
 0:285      Sequence
-0:285        move second child to first child ( temp float)
-0:285          'r024' ( temp float)
-0:285          dot-product ( temp float)
+0:285        move second child to first child ( temp 4-component vector of float)
+0:285          'r020' ( temp 4-component vector of float)
+0:285          dPdyCoarse ( temp 4-component vector of float)
 0:285            'inF0' ( in 4-component vector of float)
-0:285            'inF1' ( 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          'r025' ( temp 4-component vector of float)
-0:286          Construct vec4 ( temp 4-component vector of float)
-0:286            Constant:
-0:286              1.000000
-0:286            component-wise multiply ( temp float)
-0:286              direct index ( temp float)
-0:286                'inF0' ( in 4-component vector of float)
-0:286                Constant:
-0:286                  1 (const int)
-0:286              direct index ( temp float)
-0:286                'inF1' ( in 4-component vector of float)
-0:286                Constant:
-0:286                  1 (const int)
-0:286            direct index ( temp float)
-0:286              'inF0' ( in 4-component vector of float)
-0:286              Constant:
-0:286                2 (const int)
-0:286            direct index ( temp float)
-0:286              'inF1' ( in 4-component vector of float)
-0:286              Constant:
-0:286                3 (const int)
+0:286          'r021' ( temp 4-component vector of float)
+0:286          dPdyFine ( 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 4-component vector of float)
+0:287          'r022' ( temp 4-component vector of float)
+0:287          degrees ( temp 4-component vector of float)
+0:287            'inF0' ( in 4-component vector of float)
+0:288      Sequence
+0:288        move second child to first child ( temp float)
+0:288          'r023' ( temp float)
+0:288          distance ( temp float)
+0:288            'inF0' ( in 4-component vector of float)
+0:288            'inF1' ( in 4-component vector of float)
+0:289      Sequence
+0:289        move second child to first child ( temp float)
+0:289          'r024' ( temp float)
+0:289          dot-product ( temp float)
+0:289            'inF0' ( in 4-component vector of float)
+0:289            'inF1' ( in 4-component vector of float)
 0:290      Sequence
 0:290        move second child to first child ( temp 4-component vector of float)
-0:290          'r029' ( temp 4-component vector of float)
-0:290          exp ( temp 4-component vector of float)
-0:290            'inF0' ( in 4-component vector of float)
-0:291      Sequence
-0:291        move second child to first child ( temp 4-component vector of float)
-0:291          'r030' ( temp 4-component vector of float)
-0:291          exp2 ( temp 4-component vector of float)
-0:291            'inF0' ( in 4-component vector of float)
-0:292      Sequence
-0:292        move second child to first child ( temp 4-component vector of float)
-0:292          'r031' ( temp 4-component vector of float)
-0:292          face-forward ( temp 4-component vector of float)
-0:292            'inF0' ( in 4-component vector of float)
-0:292            'inF1' ( in 4-component vector of float)
-0:292            'inF2' ( in 4-component vector of float)
-0:293      Sequence
-0:293        move second child to first child ( temp 4-component vector of uint)
-0:293          'r032' ( temp 4-component vector of uint)
+0:290          'r025' ( temp 4-component vector of float)
+0:290          Construct vec4 ( temp 4-component vector of float)
+0:290            Constant:
+0:290              1.000000
+0:290            component-wise multiply ( temp float)
+0:290              direct index ( temp float)
+0:290                'inF0' ( in 4-component vector of float)
+0:290                Constant:
+0:290                  1 (const int)
+0:290              direct index ( temp float)
+0:290                'inF1' ( in 4-component vector of float)
+0:290                Constant:
+0:290                  1 (const int)
+0:290            direct index ( temp float)
+0:290              'inF0' ( in 4-component vector of float)
+0:290              Constant:
+0:290                2 (const int)
+0:290            direct index ( temp float)
+0:290              'inF1' ( in 4-component vector of float)
+0:290              Constant:
+0:290                3 (const int)
+0:294      Sequence
+0:294        move second child to first child ( temp 4-component vector of float)
+0:294          'r029' ( temp 4-component vector of float)
+0:294          exp ( 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          'r030' ( temp 4-component vector of float)
+0:295          exp2 ( temp 4-component vector of float)
+0:295            'inF0' ( in 4-component vector of float)
+0:296      Sequence
+0:296        move second child to first child ( temp 4-component vector of float)
+0:296          'r031' ( temp 4-component vector of float)
+0:296          face-forward ( temp 4-component vector of float)
+0:296            'inF0' ( in 4-component vector of float)
+0:296            'inF1' ( in 4-component vector of float)
+0:296            'inF2' ( in 4-component vector of float)
+0:297      Sequence
+0:297        move second child to first child ( temp 4-component vector of uint)
+0:297          'r032' ( temp 4-component vector of uint)
 0:?           findMSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:294      Sequence
-0:294        move second child to first child ( temp 4-component vector of uint)
-0:294          'r033' ( temp 4-component vector of uint)
+0:298      Sequence
+0:298        move second child to first child ( temp 4-component vector of uint)
+0:298          'r033' ( temp 4-component vector of uint)
 0:?           findLSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:295      Sequence
-0:295        move second child to first child ( temp 4-component vector of float)
-0:295          'r034' ( temp 4-component vector of float)
-0:295          Floor ( temp 4-component vector of float)
-0:295            'inF0' ( in 4-component vector of float)
-0:297      Sequence
-0:297        move second child to first child ( temp 4-component vector of float)
-0:297          'r036' ( temp 4-component vector of float)
-0:297          mod ( temp 4-component vector of float)
-0:297            'inF0' ( in 4-component vector of float)
-0:297            'inF1' ( in 4-component vector of float)
-0:298      Sequence
-0:298        move second child to first child ( temp 4-component vector of float)
-0:298          'r037' ( temp 4-component vector of float)
-0:298          Fraction ( temp 4-component vector of float)
-0:298            'inF0' ( in 4-component vector of float)
 0:299      Sequence
 0:299        move second child to first child ( temp 4-component vector of float)
-0:299          'r039' ( temp 4-component vector of float)
-0:299          fwidth ( temp 4-component vector of float)
+0:299          'r034' ( temp 4-component vector of float)
+0:299          Floor ( temp 4-component vector of float)
 0:299            'inF0' ( in 4-component vector of float)
-0:300      Sequence
-0:300        move second child to first child ( temp 4-component vector of bool)
-0:300          'r040' ( temp 4-component vector of bool)
-0:300          isinf ( temp 4-component vector of bool)
-0:300            'inF0' ( in 4-component vector of float)
 0:301      Sequence
-0:301        move second child to first child ( temp 4-component vector of bool)
-0:301          'r041' ( temp 4-component vector of bool)
-0:301          isnan ( temp 4-component vector of bool)
+0:301        move second child to first child ( temp 4-component vector of float)
+0:301          'r036' ( temp 4-component vector of float)
+0:301          mod ( temp 4-component vector of float)
 0:301            'inF0' ( in 4-component vector of float)
+0:301            'inF1' ( 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          'r042' ( temp 4-component vector of float)
-0:302          ldexp ( temp 4-component vector of float)
+0:302          'r037' ( temp 4-component vector of float)
+0:302          Fraction ( 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          'r039a' ( temp 4-component vector of float)
-0:303          mix ( temp 4-component vector of float)
+0:303          'r039' ( temp 4-component vector of float)
+0:303          fwidth ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
-0:303            'inF1' ( in 4-component vector of float)
-0:303            'inF2' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp float)
-0:304          'r043' ( temp float)
-0:304          length ( temp float)
+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 ( 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 float)
-0:305          'r044' ( temp 4-component vector of float)
-0:305          log ( temp 4-component vector of float)
+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 ( 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          'r045' ( temp 4-component vector of float)
-0:306          vector-scale ( temp 4-component vector of float)
-0:306            log2 ( temp 4-component vector of float)
-0:306              'inF0' ( in 4-component vector of float)
-0:306            Constant:
-0:306              0.301030
+0:306          'r042' ( temp 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          'r046' ( temp 4-component vector of float)
-0:307          log2 ( temp 4-component vector of float)
+0:307          'r039a' ( temp 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 4-component vector of float)
-0:308          'r047' ( temp 4-component vector of float)
-0:308          max ( temp 4-component vector of float)
+0:308        move second child to first child ( temp float)
+0:308          'r043' ( temp float)
+0:308          length ( temp float)
 0:308            'inF0' ( in 4-component vector of float)
-0:308            'inF1' ( 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          'r048' ( temp 4-component vector of float)
-0:309          min ( temp 4-component vector of float)
+0:309          'r044' ( temp 4-component vector of float)
+0:309          log ( temp 4-component vector of float)
 0:309            'inF0' ( in 4-component vector of float)
-0:309            'inF1' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-0:310          'r049' ( temp 4-component vector of float)
-0:310          normalize ( temp 4-component vector of float)
-0:310            'inF0' ( in 4-component vector of float)
+0:310          'r045' ( temp 4-component vector of float)
+0:310          vector-scale ( temp 4-component vector of float)
+0:310            log2 ( temp 4-component vector of float)
+0:310              'inF0' ( in 4-component vector of float)
+0:310            Constant:
+0:310              0.301030
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r050' ( temp 4-component vector of float)
-0:311          pow ( temp 4-component vector of float)
+0:311          'r046' ( temp 4-component vector of float)
+0:311          log2 ( temp 4-component vector of float)
 0:311            'inF0' ( in 4-component vector of float)
-0:311            'inF1' ( 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          'r051' ( temp 4-component vector of float)
-0:312          radians ( temp 4-component vector of float)
+0:312          'r047' ( temp 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          'r052' ( temp 4-component vector of float)
-0:313          divide ( temp 4-component vector of float)
-0:313            Constant:
-0:313              1.000000
+0:313          'r048' ( temp 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          'r053' ( temp 4-component vector of float)
-0:314          reflect ( temp 4-component vector of float)
+0:314          'r049' ( temp 4-component vector of float)
+0:314          normalize ( temp 4-component vector of float)
 0:314            'inF0' ( in 4-component vector of float)
-0:314            'inF1' ( 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          'r054' ( temp 4-component vector of float)
-0:315          refract ( temp 4-component vector of float)
+0:315          'r050' ( temp 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:315            Constant:
-0:315              2.000000
 0:316      Sequence
-0:316        move second child to first child ( temp 4-component vector of uint)
-0:316          'r055' ( temp 4-component vector of uint)
+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 ( 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)
+0:317          'r052' ( temp 4-component vector of float)
+0:317          divide ( temp 4-component vector of float)
+0:317            Constant:
+0:317              1.000000
+0:317            'inF0' ( in 4-component vector of float)
+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 ( 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 ( 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:
+0:319              2.000000
+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 ( 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:317      Sequence
-0:317        move second child to first child ( temp 4-component vector of float)
-0:317          'r056' ( temp 4-component vector of float)
-0:317          roundEven ( temp 4-component vector of float)
-0:317            'inF0' ( in 4-component vector of float)
-0:318      Sequence
-0:318        move second child to first child ( temp 4-component vector of float)
-0:318          'r057' ( temp 4-component vector of float)
-0:318          inverse sqrt ( temp 4-component vector of float)
-0:318            'inF0' ( 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          'r058' ( temp 4-component vector of float)
-0:319          clamp ( temp 4-component vector of float)
-0:319            'inF0' ( in 4-component vector of float)
-0:319            Constant:
-0:319              0.000000
-0:319            Constant:
-0:319              1.000000
-0:320      Sequence
-0:320        move second child to first child ( temp 4-component vector of float)
-0:320          'r059' ( temp 4-component vector of float)
-0:320          Sign ( temp 4-component vector of float)
-0:320            'inF0' ( in 4-component vector of float)
 0:321      Sequence
 0:321        move second child to first child ( temp 4-component vector of float)
-0:321          'r060' ( temp 4-component vector of float)
-0:321          sine ( temp 4-component vector of float)
+0:321          'r056' ( temp 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          'inF1' ( in 4-component vector of float)
-0:322          sine ( temp 4-component vector of float)
-0:322            'inF0' ( in 4-component vector of float)
-0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'inF2' ( in 4-component vector of float)
-0:322          cosine ( temp 4-component vector of float)
+0:322          'r057' ( temp 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)
-0:323          'r061' ( temp 4-component vector of float)
-0:323          hyp. sine ( temp 4-component vector of float)
+0:323          'r058' ( temp 4-component vector of float)
+0:323          clamp ( temp 4-component vector of float)
 0:323            'inF0' ( in 4-component vector of float)
+0:323            Constant:
+0:323              0.000000
+0:323            Constant:
+0:323              1.000000
 0:324      Sequence
 0:324        move second child to first child ( temp 4-component vector of float)
-0:324          'r062' ( temp 4-component vector of float)
-0:324          smoothstep ( temp 4-component vector of float)
+0:324          'r059' ( temp 4-component vector of float)
+0:324          Sign ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
-0:324            'inF1' ( in 4-component vector of float)
-0:324            'inF2' ( 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          'r063' ( temp 4-component vector of float)
-0:325          sqrt ( temp 4-component vector of float)
+0:325          'r060' ( temp 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)
-0:326          'r064' ( temp 4-component vector of float)
-0:326          step ( temp 4-component vector of float)
+0:326          'inF1' ( in 4-component vector of float)
+0:326          sine ( temp 4-component vector of float)
 0:326            'inF0' ( in 4-component vector of float)
-0:326            'inF1' ( in 4-component vector of float)
+0:326        move second child to first child ( temp 4-component vector of float)
+0:326          'inF2' ( in 4-component vector of float)
+0:326          cosine ( temp 4-component vector of float)
+0:326            'inF0' ( in 4-component vector of float)
 0:327      Sequence
 0:327        move second child to first child ( temp 4-component vector of float)
-0:327          'r065' ( temp 4-component vector of float)
-0:327          tangent ( temp 4-component vector of float)
+0:327          'r061' ( temp 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          'r066' ( temp 4-component vector of float)
-0:328          hyp. tangent ( temp 4-component vector of float)
+0:328          'r062' ( temp 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 ( 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          'r067' ( temp 4-component vector of float)
-0:330          trunc ( temp 4-component vector of float)
+0:330          'r064' ( temp 4-component vector of float)
+0:330          step ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:333      Branch: Return with expression
+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 ( 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 ( 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 ( temp 4-component vector of float)
+0:334            'inF0' ( in 4-component vector of float)
+0:337      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:396  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:396    Function Parameters: 
-0:396      'inF0' ( in 2X2 matrix of float)
-0:396      'inF1' ( in 2X2 matrix of float)
-0:396      'inF2' ( in 2X2 matrix of float)
+0:400  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:400    Function Parameters: 
+0:400      'inF0' ( in 2X2 matrix of float)
+0:400      'inF1' ( in 2X2 matrix of float)
+0:400      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:398      Sequence
-0:398        move second child to first child ( temp bool)
-0:398          'r000' ( temp bool)
-0:398          all ( temp bool)
-0:398            Convert float to bool ( temp 2X2 matrix of bool)
-0:398              'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r001' ( temp 2X2 matrix of float)
-0:398          Absolute value ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      arc cosine ( temp 2X2 matrix of float)
-0:398        'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp bool)
-0:398          'r003' ( temp bool)
-0:398          any ( temp bool)
-0:398            Convert float to bool ( temp 2X2 matrix of bool)
-0:398              'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r004' ( temp 2X2 matrix of float)
-0:398          arc sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r005' ( temp 2X2 matrix of float)
-0:398          arc tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r006' ( temp 2X2 matrix of float)
-0:398          arc tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r007' ( temp 2X2 matrix of float)
-0:398          Ceiling ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Test condition and select ( temp void)
-0:398        Condition
-0:398        any ( temp bool)
-0:398          Compare Less Than ( temp 2X2 matrix of bool)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            Constant:
-0:398              0.000000
-0:398              0.000000
-0:398              0.000000
-0:398              0.000000
-0:398        true case
-0:398        Branch: Kill
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r008' ( temp 2X2 matrix of float)
-0:398          clamp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398            'inF2' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r009' ( temp 2X2 matrix of float)
-0:398          cosine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r010' ( temp 2X2 matrix of float)
-0:398          hyp. cosine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r011' ( temp 2X2 matrix of float)
-0:398          dPdx ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r012' ( temp 2X2 matrix of float)
-0:398          dPdxCoarse ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r013' ( temp 2X2 matrix of float)
-0:398          dPdxFine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r014' ( temp 2X2 matrix of float)
-0:398          dPdy ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r015' ( temp 2X2 matrix of float)
-0:398          dPdyCoarse ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r016' ( temp 2X2 matrix of float)
-0:398          dPdyFine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r017' ( temp 2X2 matrix of float)
-0:398          degrees ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp float)
-0:398          'r018' ( temp float)
-0:398          determinant ( temp float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r019' ( temp 2X2 matrix of float)
-0:398          exp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'R020' ( temp 2X2 matrix of float)
-0:398          exp2 ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r021' ( temp 2X2 matrix of float)
-0:398          Floor ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r022' ( temp 2X2 matrix of float)
-0:398          mod ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r023' ( temp 2X2 matrix of float)
-0:398          Fraction ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r025' ( temp 2X2 matrix of float)
-0:398          fwidth ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r026' ( temp 2X2 matrix of float)
-0:398          ldexp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r026a' ( temp 2X2 matrix of float)
-0:398          mix ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398            'inF2' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r027' ( temp 2X2 matrix of float)
-0:398          log ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r028' ( temp 2X2 matrix of float)
-0:398          matrix-scale ( temp 2X2 matrix of float)
-0:398            log2 ( temp 2X2 matrix of float)
-0:398              'inF0' ( in 2X2 matrix of float)
-0:398            Constant:
-0:398              0.301030
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r029' ( temp 2X2 matrix of float)
-0:398          log2 ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r030' ( temp 2X2 matrix of float)
-0:398          max ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r031' ( temp 2X2 matrix of float)
-0:398          min ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r032' ( temp 2X2 matrix of float)
-0:398          pow ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r033' ( temp 2X2 matrix of float)
-0:398          radians ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r034' ( temp 2X2 matrix of float)
-0:398          roundEven ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r035' ( temp 2X2 matrix of float)
-0:398          inverse sqrt ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r036' ( temp 2X2 matrix of float)
-0:398          clamp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            Constant:
-0:398              0.000000
-0:398            Constant:
-0:398              1.000000
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r037' ( temp 2X2 matrix of float)
-0:398          Sign ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r038' ( temp 2X2 matrix of float)
-0:398          sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'inF1' ( in 2X2 matrix of float)
-0:398          sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'inF2' ( in 2X2 matrix of float)
-0:398          cosine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r039' ( temp 2X2 matrix of float)
-0:398          hyp. sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r049' ( temp 2X2 matrix of float)
-0:398          smoothstep ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398            'inF2' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r041' ( temp 2X2 matrix of float)
-0:398          sqrt ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r042' ( temp 2X2 matrix of float)
-0:398          step ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r043' ( temp 2X2 matrix of float)
-0:398          tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r044' ( temp 2X2 matrix of float)
-0:398          hyp. tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      transpose ( temp 2X2 matrix of float)
-0:398        'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r046' ( temp 2X2 matrix of float)
-0:398          trunc ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:401      Branch: Return with expression
+0:402      Sequence
+0:402        move second child to first child ( temp bool)
+0:402          'r000' ( temp bool)
+0:402          all ( temp bool)
+0:402            Convert float to bool ( temp 2X2 matrix of bool)
+0:402              'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r001' ( temp 2X2 matrix of float)
+0:402          Absolute value ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      arc cosine ( temp 2X2 matrix of float)
+0:402        'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp bool)
+0:402          'r003' ( temp bool)
+0:402          any ( temp bool)
+0:402            Convert float to bool ( temp 2X2 matrix of bool)
+0:402              'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r004' ( temp 2X2 matrix of float)
+0:402          arc sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r005' ( temp 2X2 matrix of float)
+0:402          arc tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r006' ( temp 2X2 matrix of float)
+0:402          arc tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r007' ( temp 2X2 matrix of float)
+0:402          Ceiling ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Test condition and select ( temp void)
+0:402        Condition
+0:402        any ( temp bool)
+0:402          Compare Less Than ( temp 2X2 matrix of bool)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            Constant:
+0:402              0.000000
+0:402              0.000000
+0:402              0.000000
+0:402              0.000000
+0:402        true case
+0:402        Branch: Kill
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r008' ( temp 2X2 matrix of float)
+0:402          clamp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402            'inF2' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r009' ( temp 2X2 matrix of float)
+0:402          cosine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r010' ( temp 2X2 matrix of float)
+0:402          hyp. cosine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r011' ( temp 2X2 matrix of float)
+0:402          dPdx ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r012' ( temp 2X2 matrix of float)
+0:402          dPdxCoarse ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r013' ( temp 2X2 matrix of float)
+0:402          dPdxFine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r014' ( temp 2X2 matrix of float)
+0:402          dPdy ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r015' ( temp 2X2 matrix of float)
+0:402          dPdyCoarse ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r016' ( temp 2X2 matrix of float)
+0:402          dPdyFine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r017' ( temp 2X2 matrix of float)
+0:402          degrees ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp float)
+0:402          'r018' ( temp float)
+0:402          determinant ( temp float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r019' ( temp 2X2 matrix of float)
+0:402          exp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'R020' ( temp 2X2 matrix of float)
+0:402          exp2 ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r021' ( temp 2X2 matrix of float)
+0:402          Floor ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r022' ( temp 2X2 matrix of float)
+0:402          mod ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r023' ( temp 2X2 matrix of float)
+0:402          Fraction ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r025' ( temp 2X2 matrix of float)
+0:402          fwidth ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r026' ( temp 2X2 matrix of float)
+0:402          ldexp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r026a' ( temp 2X2 matrix of float)
+0:402          mix ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402            'inF2' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r027' ( temp 2X2 matrix of float)
+0:402          log ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r028' ( temp 2X2 matrix of float)
+0:402          matrix-scale ( temp 2X2 matrix of float)
+0:402            log2 ( temp 2X2 matrix of float)
+0:402              'inF0' ( in 2X2 matrix of float)
+0:402            Constant:
+0:402              0.301030
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r029' ( temp 2X2 matrix of float)
+0:402          log2 ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r030' ( temp 2X2 matrix of float)
+0:402          max ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r031' ( temp 2X2 matrix of float)
+0:402          min ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r032' ( temp 2X2 matrix of float)
+0:402          pow ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r033' ( temp 2X2 matrix of float)
+0:402          radians ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r034' ( temp 2X2 matrix of float)
+0:402          roundEven ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r035' ( temp 2X2 matrix of float)
+0:402          inverse sqrt ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r036' ( temp 2X2 matrix of float)
+0:402          clamp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            Constant:
+0:402              0.000000
+0:402            Constant:
+0:402              1.000000
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r037' ( temp 2X2 matrix of float)
+0:402          Sign ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r038' ( temp 2X2 matrix of float)
+0:402          sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'inF1' ( in 2X2 matrix of float)
+0:402          sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'inF2' ( in 2X2 matrix of float)
+0:402          cosine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r039' ( temp 2X2 matrix of float)
+0:402          hyp. sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r049' ( temp 2X2 matrix of float)
+0:402          smoothstep ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402            'inF2' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r041' ( temp 2X2 matrix of float)
+0:402          sqrt ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r042' ( temp 2X2 matrix of float)
+0:402          step ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r043' ( temp 2X2 matrix of float)
+0:402          tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r044' ( temp 2X2 matrix of float)
+0:402          hyp. tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      transpose ( temp 2X2 matrix of float)
+0:402        'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r046' ( temp 2X2 matrix of float)
+0:402          trunc ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:405      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:405  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:405    Function Parameters: 
-0:405      'inF0' ( in 3X3 matrix of float)
-0:405      'inF1' ( in 3X3 matrix of float)
-0:405      'inF2' ( in 3X3 matrix of float)
+0:409  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:409    Function Parameters: 
+0:409      'inF0' ( in 3X3 matrix of float)
+0:409      'inF1' ( in 3X3 matrix of float)
+0:409      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:407      Sequence
-0:407        move second child to first child ( temp bool)
-0:407          'r000' ( temp bool)
-0:407          all ( temp bool)
-0:407            Convert float to bool ( temp 3X3 matrix of bool)
-0:407              'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r001' ( temp 3X3 matrix of float)
-0:407          Absolute value ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      arc cosine ( temp 3X3 matrix of float)
-0:407        'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp bool)
-0:407          'r003' ( temp bool)
-0:407          any ( temp bool)
-0:407            Convert float to bool ( temp 3X3 matrix of bool)
-0:407              'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r004' ( temp 3X3 matrix of float)
-0:407          arc sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r005' ( temp 3X3 matrix of float)
-0:407          arc tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r006' ( temp 3X3 matrix of float)
-0:407          arc tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r007' ( temp 3X3 matrix of float)
-0:407          Ceiling ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Test condition and select ( temp void)
-0:407        Condition
-0:407        any ( temp bool)
-0:407          Compare Less Than ( temp 3X3 matrix of bool)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            Constant:
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407        true case
-0:407        Branch: Kill
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r008' ( temp 3X3 matrix of float)
-0:407          clamp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407            'inF2' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r009' ( temp 3X3 matrix of float)
-0:407          cosine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r010' ( temp 3X3 matrix of float)
-0:407          hyp. cosine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r011' ( temp 3X3 matrix of float)
-0:407          dPdx ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r012' ( temp 3X3 matrix of float)
-0:407          dPdxCoarse ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r013' ( temp 3X3 matrix of float)
-0:407          dPdxFine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r014' ( temp 3X3 matrix of float)
-0:407          dPdy ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r015' ( temp 3X3 matrix of float)
-0:407          dPdyCoarse ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r016' ( temp 3X3 matrix of float)
-0:407          dPdyFine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r017' ( temp 3X3 matrix of float)
-0:407          degrees ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp float)
-0:407          'r018' ( temp float)
-0:407          determinant ( temp float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r019' ( temp 3X3 matrix of float)
-0:407          exp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'R020' ( temp 3X3 matrix of float)
-0:407          exp2 ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r021' ( temp 3X3 matrix of float)
-0:407          Floor ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r022' ( temp 3X3 matrix of float)
-0:407          mod ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r023' ( temp 3X3 matrix of float)
-0:407          Fraction ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r025' ( temp 3X3 matrix of float)
-0:407          fwidth ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r026' ( temp 3X3 matrix of float)
-0:407          ldexp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r026a' ( temp 3X3 matrix of float)
-0:407          mix ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407            'inF2' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r027' ( temp 3X3 matrix of float)
-0:407          log ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r028' ( temp 3X3 matrix of float)
-0:407          matrix-scale ( temp 3X3 matrix of float)
-0:407            log2 ( temp 3X3 matrix of float)
-0:407              'inF0' ( in 3X3 matrix of float)
-0:407            Constant:
-0:407              0.301030
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r029' ( temp 3X3 matrix of float)
-0:407          log2 ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r030' ( temp 3X3 matrix of float)
-0:407          max ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r031' ( temp 3X3 matrix of float)
-0:407          min ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r032' ( temp 3X3 matrix of float)
-0:407          pow ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r033' ( temp 3X3 matrix of float)
-0:407          radians ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r034' ( temp 3X3 matrix of float)
-0:407          roundEven ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r035' ( temp 3X3 matrix of float)
-0:407          inverse sqrt ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r036' ( temp 3X3 matrix of float)
-0:407          clamp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            Constant:
-0:407              0.000000
-0:407            Constant:
-0:407              1.000000
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r037' ( temp 3X3 matrix of float)
-0:407          Sign ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r038' ( temp 3X3 matrix of float)
-0:407          sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'inF1' ( in 3X3 matrix of float)
-0:407          sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'inF2' ( in 3X3 matrix of float)
-0:407          cosine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r039' ( temp 3X3 matrix of float)
-0:407          hyp. sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r049' ( temp 3X3 matrix of float)
-0:407          smoothstep ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407            'inF2' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r041' ( temp 3X3 matrix of float)
-0:407          sqrt ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r042' ( temp 3X3 matrix of float)
-0:407          step ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r043' ( temp 3X3 matrix of float)
-0:407          tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r044' ( temp 3X3 matrix of float)
-0:407          hyp. tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      transpose ( temp 3X3 matrix of float)
-0:407        'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r046' ( temp 3X3 matrix of float)
-0:407          trunc ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:410      Branch: Return with expression
+0:411      Sequence
+0:411        move second child to first child ( temp bool)
+0:411          'r000' ( temp bool)
+0:411          all ( temp bool)
+0:411            Convert float to bool ( temp 3X3 matrix of bool)
+0:411              'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r001' ( temp 3X3 matrix of float)
+0:411          Absolute value ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      arc cosine ( temp 3X3 matrix of float)
+0:411        'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp bool)
+0:411          'r003' ( temp bool)
+0:411          any ( temp bool)
+0:411            Convert float to bool ( temp 3X3 matrix of bool)
+0:411              'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r004' ( temp 3X3 matrix of float)
+0:411          arc sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r005' ( temp 3X3 matrix of float)
+0:411          arc tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r006' ( temp 3X3 matrix of float)
+0:411          arc tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r007' ( temp 3X3 matrix of float)
+0:411          Ceiling ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Test condition and select ( temp void)
+0:411        Condition
+0:411        any ( temp bool)
+0:411          Compare Less Than ( temp 3X3 matrix of bool)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            Constant:
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411        true case
+0:411        Branch: Kill
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r008' ( temp 3X3 matrix of float)
+0:411          clamp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411            'inF2' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r009' ( temp 3X3 matrix of float)
+0:411          cosine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r010' ( temp 3X3 matrix of float)
+0:411          hyp. cosine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r011' ( temp 3X3 matrix of float)
+0:411          dPdx ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r012' ( temp 3X3 matrix of float)
+0:411          dPdxCoarse ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r013' ( temp 3X3 matrix of float)
+0:411          dPdxFine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r014' ( temp 3X3 matrix of float)
+0:411          dPdy ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r015' ( temp 3X3 matrix of float)
+0:411          dPdyCoarse ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r016' ( temp 3X3 matrix of float)
+0:411          dPdyFine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r017' ( temp 3X3 matrix of float)
+0:411          degrees ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp float)
+0:411          'r018' ( temp float)
+0:411          determinant ( temp float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r019' ( temp 3X3 matrix of float)
+0:411          exp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'R020' ( temp 3X3 matrix of float)
+0:411          exp2 ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r021' ( temp 3X3 matrix of float)
+0:411          Floor ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r022' ( temp 3X3 matrix of float)
+0:411          mod ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r023' ( temp 3X3 matrix of float)
+0:411          Fraction ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r025' ( temp 3X3 matrix of float)
+0:411          fwidth ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r026' ( temp 3X3 matrix of float)
+0:411          ldexp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r026a' ( temp 3X3 matrix of float)
+0:411          mix ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411            'inF2' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r027' ( temp 3X3 matrix of float)
+0:411          log ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r028' ( temp 3X3 matrix of float)
+0:411          matrix-scale ( temp 3X3 matrix of float)
+0:411            log2 ( temp 3X3 matrix of float)
+0:411              'inF0' ( in 3X3 matrix of float)
+0:411            Constant:
+0:411              0.301030
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r029' ( temp 3X3 matrix of float)
+0:411          log2 ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r030' ( temp 3X3 matrix of float)
+0:411          max ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r031' ( temp 3X3 matrix of float)
+0:411          min ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r032' ( temp 3X3 matrix of float)
+0:411          pow ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r033' ( temp 3X3 matrix of float)
+0:411          radians ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r034' ( temp 3X3 matrix of float)
+0:411          roundEven ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r035' ( temp 3X3 matrix of float)
+0:411          inverse sqrt ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r036' ( temp 3X3 matrix of float)
+0:411          clamp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            Constant:
+0:411              0.000000
+0:411            Constant:
+0:411              1.000000
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r037' ( temp 3X3 matrix of float)
+0:411          Sign ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r038' ( temp 3X3 matrix of float)
+0:411          sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'inF1' ( in 3X3 matrix of float)
+0:411          sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'inF2' ( in 3X3 matrix of float)
+0:411          cosine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r039' ( temp 3X3 matrix of float)
+0:411          hyp. sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r049' ( temp 3X3 matrix of float)
+0:411          smoothstep ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411            'inF2' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r041' ( temp 3X3 matrix of float)
+0:411          sqrt ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r042' ( temp 3X3 matrix of float)
+0:411          step ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r043' ( temp 3X3 matrix of float)
+0:411          tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r044' ( temp 3X3 matrix of float)
+0:411          hyp. tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      transpose ( temp 3X3 matrix of float)
+0:411        'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r046' ( temp 3X3 matrix of float)
+0:411          trunc ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:414      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -2121,297 +2162,297 @@
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:414  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:414    Function Parameters: 
-0:414      'inF0' ( in 4X4 matrix of float)
-0:414      'inF1' ( in 4X4 matrix of float)
-0:414      'inF2' ( in 4X4 matrix of float)
+0:418  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:418    Function Parameters: 
+0:418      'inF0' ( in 4X4 matrix of float)
+0:418      'inF1' ( in 4X4 matrix of float)
+0:418      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:416      Sequence
-0:416        move second child to first child ( temp bool)
-0:416          'r000' ( temp bool)
-0:416          all ( temp bool)
-0:416            Convert float to bool ( temp 4X4 matrix of bool)
-0:416              'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r001' ( temp 4X4 matrix of float)
-0:416          Absolute value ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      arc cosine ( temp 4X4 matrix of float)
-0:416        'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp bool)
-0:416          'r003' ( temp bool)
-0:416          any ( temp bool)
-0:416            Convert float to bool ( temp 4X4 matrix of bool)
-0:416              'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r004' ( temp 4X4 matrix of float)
-0:416          arc sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r005' ( temp 4X4 matrix of float)
-0:416          arc tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r006' ( temp 4X4 matrix of float)
-0:416          arc tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r007' ( temp 4X4 matrix of float)
-0:416          Ceiling ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Test condition and select ( temp void)
-0:416        Condition
-0:416        any ( temp bool)
-0:416          Compare Less Than ( temp 4X4 matrix of bool)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            Constant:
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416        true case
-0:416        Branch: Kill
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r008' ( temp 4X4 matrix of float)
-0:416          clamp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416            'inF2' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r009' ( temp 4X4 matrix of float)
-0:416          cosine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r010' ( temp 4X4 matrix of float)
-0:416          hyp. cosine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r011' ( temp 4X4 matrix of float)
-0:416          dPdx ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r012' ( temp 4X4 matrix of float)
-0:416          dPdxCoarse ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r013' ( temp 4X4 matrix of float)
-0:416          dPdxFine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r014' ( temp 4X4 matrix of float)
-0:416          dPdy ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r015' ( temp 4X4 matrix of float)
-0:416          dPdyCoarse ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r016' ( temp 4X4 matrix of float)
-0:416          dPdyFine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r017' ( temp 4X4 matrix of float)
-0:416          degrees ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp float)
-0:416          'r018' ( temp float)
-0:416          determinant ( temp float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r019' ( temp 4X4 matrix of float)
-0:416          exp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'R020' ( temp 4X4 matrix of float)
-0:416          exp2 ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r021' ( temp 4X4 matrix of float)
-0:416          Floor ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r022' ( temp 4X4 matrix of float)
-0:416          mod ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r023' ( temp 4X4 matrix of float)
-0:416          Fraction ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r025' ( temp 4X4 matrix of float)
-0:416          fwidth ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r026' ( temp 4X4 matrix of float)
-0:416          ldexp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r026a' ( temp 4X4 matrix of float)
-0:416          mix ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416            'inF2' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r027' ( temp 4X4 matrix of float)
-0:416          log ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r028' ( temp 4X4 matrix of float)
-0:416          matrix-scale ( temp 4X4 matrix of float)
-0:416            log2 ( temp 4X4 matrix of float)
-0:416              'inF0' ( in 4X4 matrix of float)
-0:416            Constant:
-0:416              0.301030
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r029' ( temp 4X4 matrix of float)
-0:416          log2 ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r030' ( temp 4X4 matrix of float)
-0:416          max ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r031' ( temp 4X4 matrix of float)
-0:416          min ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r032' ( temp 4X4 matrix of float)
-0:416          pow ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r033' ( temp 4X4 matrix of float)
-0:416          radians ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r034' ( temp 4X4 matrix of float)
-0:416          roundEven ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r035' ( temp 4X4 matrix of float)
-0:416          inverse sqrt ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r036' ( temp 4X4 matrix of float)
-0:416          clamp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            Constant:
-0:416              0.000000
-0:416            Constant:
-0:416              1.000000
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r037' ( temp 4X4 matrix of float)
-0:416          Sign ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r038' ( temp 4X4 matrix of float)
-0:416          sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'inF1' ( in 4X4 matrix of float)
-0:416          sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'inF2' ( in 4X4 matrix of float)
-0:416          cosine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r039' ( temp 4X4 matrix of float)
-0:416          hyp. sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r049' ( temp 4X4 matrix of float)
-0:416          smoothstep ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416            'inF2' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r041' ( temp 4X4 matrix of float)
-0:416          sqrt ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r042' ( temp 4X4 matrix of float)
-0:416          step ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r043' ( temp 4X4 matrix of float)
-0:416          tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r044' ( temp 4X4 matrix of float)
-0:416          hyp. tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      transpose ( temp 4X4 matrix of float)
-0:416        'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r046' ( temp 4X4 matrix of float)
-0:416          trunc ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:419      Branch: Return with expression
+0:420      Sequence
+0:420        move second child to first child ( temp bool)
+0:420          'r000' ( temp bool)
+0:420          all ( temp bool)
+0:420            Convert float to bool ( temp 4X4 matrix of bool)
+0:420              'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r001' ( temp 4X4 matrix of float)
+0:420          Absolute value ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      arc cosine ( temp 4X4 matrix of float)
+0:420        'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp bool)
+0:420          'r003' ( temp bool)
+0:420          any ( temp bool)
+0:420            Convert float to bool ( temp 4X4 matrix of bool)
+0:420              'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r004' ( temp 4X4 matrix of float)
+0:420          arc sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r005' ( temp 4X4 matrix of float)
+0:420          arc tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r006' ( temp 4X4 matrix of float)
+0:420          arc tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r007' ( temp 4X4 matrix of float)
+0:420          Ceiling ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Test condition and select ( temp void)
+0:420        Condition
+0:420        any ( temp bool)
+0:420          Compare Less Than ( temp 4X4 matrix of bool)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            Constant:
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420        true case
+0:420        Branch: Kill
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r008' ( temp 4X4 matrix of float)
+0:420          clamp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420            'inF2' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r009' ( temp 4X4 matrix of float)
+0:420          cosine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r010' ( temp 4X4 matrix of float)
+0:420          hyp. cosine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r011' ( temp 4X4 matrix of float)
+0:420          dPdx ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r012' ( temp 4X4 matrix of float)
+0:420          dPdxCoarse ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r013' ( temp 4X4 matrix of float)
+0:420          dPdxFine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r014' ( temp 4X4 matrix of float)
+0:420          dPdy ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r015' ( temp 4X4 matrix of float)
+0:420          dPdyCoarse ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r016' ( temp 4X4 matrix of float)
+0:420          dPdyFine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r017' ( temp 4X4 matrix of float)
+0:420          degrees ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp float)
+0:420          'r018' ( temp float)
+0:420          determinant ( temp float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r019' ( temp 4X4 matrix of float)
+0:420          exp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'R020' ( temp 4X4 matrix of float)
+0:420          exp2 ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r021' ( temp 4X4 matrix of float)
+0:420          Floor ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r022' ( temp 4X4 matrix of float)
+0:420          mod ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r023' ( temp 4X4 matrix of float)
+0:420          Fraction ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r025' ( temp 4X4 matrix of float)
+0:420          fwidth ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r026' ( temp 4X4 matrix of float)
+0:420          ldexp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r026a' ( temp 4X4 matrix of float)
+0:420          mix ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420            'inF2' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r027' ( temp 4X4 matrix of float)
+0:420          log ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r028' ( temp 4X4 matrix of float)
+0:420          matrix-scale ( temp 4X4 matrix of float)
+0:420            log2 ( temp 4X4 matrix of float)
+0:420              'inF0' ( in 4X4 matrix of float)
+0:420            Constant:
+0:420              0.301030
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r029' ( temp 4X4 matrix of float)
+0:420          log2 ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r030' ( temp 4X4 matrix of float)
+0:420          max ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r031' ( temp 4X4 matrix of float)
+0:420          min ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r032' ( temp 4X4 matrix of float)
+0:420          pow ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r033' ( temp 4X4 matrix of float)
+0:420          radians ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r034' ( temp 4X4 matrix of float)
+0:420          roundEven ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r035' ( temp 4X4 matrix of float)
+0:420          inverse sqrt ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r036' ( temp 4X4 matrix of float)
+0:420          clamp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            Constant:
+0:420              0.000000
+0:420            Constant:
+0:420              1.000000
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r037' ( temp 4X4 matrix of float)
+0:420          Sign ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r038' ( temp 4X4 matrix of float)
+0:420          sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'inF1' ( in 4X4 matrix of float)
+0:420          sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'inF2' ( in 4X4 matrix of float)
+0:420          cosine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r039' ( temp 4X4 matrix of float)
+0:420          hyp. sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r049' ( temp 4X4 matrix of float)
+0:420          smoothstep ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420            'inF2' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r041' ( temp 4X4 matrix of float)
+0:420          sqrt ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r042' ( temp 4X4 matrix of float)
+0:420          step ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r043' ( temp 4X4 matrix of float)
+0:420          tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r044' ( temp 4X4 matrix of float)
+0:420          hyp. tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      transpose ( temp 4X4 matrix of float)
+0:420        'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r046' ( temp 4X4 matrix of float)
+0:420          trunc ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:423      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -2429,334 +2470,334 @@
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:437  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:437    Function Parameters: 
-0:437      'inF0' ( in float)
-0:437      'inF1' ( in float)
-0:437      'inFV0' ( in 2-component vector of float)
-0:437      'inFV1' ( in 2-component vector of float)
-0:437      'inFM0' ( in 2X2 matrix of float)
-0:437      'inFM1' ( in 2X2 matrix of float)
+0:441  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:441    Function Parameters: 
+0:441      'inF0' ( in float)
+0:441      'inF1' ( in float)
+0:441      'inFV0' ( in 2-component vector of float)
+0:441      'inFV1' ( in 2-component vector of float)
+0:441      'inFM0' ( in 2X2 matrix of float)
+0:441      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:438      Sequence
-0:438        move second child to first child ( temp float)
-0:438          'r0' ( temp float)
-0:438          component-wise multiply ( temp float)
-0:438            'inF1' ( in float)
-0:438            'inF0' ( in float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r1' ( temp 2-component vector of float)
-0:438          vector-scale ( temp 2-component vector of float)
-0:438            'inF0' ( in float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r2' ( temp 2-component vector of float)
-0:438          vector-scale ( temp 2-component vector of float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438            'inF0' ( in float)
-0:438      Sequence
-0:438        move second child to first child ( temp float)
-0:438          'r3' ( temp float)
-0:438          dot-product ( temp float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438            'inFV1' ( in 2-component vector of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r4' ( temp 2-component vector of float)
-0:438          vector-times-matrix ( temp 2-component vector of float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r5' ( temp 2-component vector of float)
-0:438          matrix-times-vector ( temp 2-component vector of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2X2 matrix of float)
-0:438          'r6' ( temp 2X2 matrix of float)
-0:438          matrix-scale ( temp 2X2 matrix of float)
-0:438            'inF0' ( in float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2X2 matrix of float)
-0:438          'r7' ( temp 2X2 matrix of float)
-0:438          matrix-scale ( temp 2X2 matrix of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438            'inF0' ( in float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2X2 matrix of float)
-0:438          'r8' ( temp 2X2 matrix of float)
-0:438          matrix-multiply ( temp 2X2 matrix of float)
-0:438            'inFM1' ( in 2X2 matrix of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:444  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:444    Function Parameters: 
-0:444      'inF0' ( in float)
-0:444      'inF1' ( in float)
-0:444      'inFV0' ( in 3-component vector of float)
-0:444      'inFV1' ( in 3-component vector of float)
-0:444      'inFM0' ( in 3X3 matrix of float)
-0:444      'inFM1' ( in 3X3 matrix of float)
+0:442      Sequence
+0:442        move second child to first child ( temp float)
+0:442          'r0' ( temp float)
+0:442          component-wise multiply ( temp float)
+0:442            'inF1' ( in float)
+0:442            'inF0' ( in float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r1' ( temp 2-component vector of float)
+0:442          vector-scale ( temp 2-component vector of float)
+0:442            'inF0' ( in float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r2' ( temp 2-component vector of float)
+0:442          vector-scale ( temp 2-component vector of float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442            'inF0' ( in float)
+0:442      Sequence
+0:442        move second child to first child ( temp float)
+0:442          'r3' ( temp float)
+0:442          dot-product ( temp float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442            'inFV1' ( in 2-component vector of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r4' ( temp 2-component vector of float)
+0:442          vector-times-matrix ( temp 2-component vector of float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r5' ( temp 2-component vector of float)
+0:442          matrix-times-vector ( temp 2-component vector of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2X2 matrix of float)
+0:442          'r6' ( temp 2X2 matrix of float)
+0:442          matrix-scale ( temp 2X2 matrix of float)
+0:442            'inF0' ( in float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2X2 matrix of float)
+0:442          'r7' ( temp 2X2 matrix of float)
+0:442          matrix-scale ( temp 2X2 matrix of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442            'inF0' ( in float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2X2 matrix of float)
+0:442          'r8' ( temp 2X2 matrix of float)
+0:442          matrix-multiply ( temp 2X2 matrix of float)
+0:442            'inFM1' ( in 2X2 matrix of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:448  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:448    Function Parameters: 
+0:448      'inF0' ( in float)
+0:448      'inF1' ( in float)
+0:448      'inFV0' ( in 3-component vector of float)
+0:448      'inFV1' ( in 3-component vector of float)
+0:448      'inFM0' ( in 3X3 matrix of float)
+0:448      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:445      Sequence
-0:445        move second child to first child ( temp float)
-0:445          'r0' ( temp float)
-0:445          component-wise multiply ( temp float)
-0:445            'inF1' ( in float)
-0:445            'inF0' ( in float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r1' ( temp 3-component vector of float)
-0:445          vector-scale ( temp 3-component vector of float)
-0:445            'inF0' ( in float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r2' ( temp 3-component vector of float)
-0:445          vector-scale ( temp 3-component vector of float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445            'inF0' ( in float)
-0:445      Sequence
-0:445        move second child to first child ( temp float)
-0:445          'r3' ( temp float)
-0:445          dot-product ( temp float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445            'inFV1' ( in 3-component vector of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r4' ( temp 3-component vector of float)
-0:445          vector-times-matrix ( temp 3-component vector of float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r5' ( temp 3-component vector of float)
-0:445          matrix-times-vector ( temp 3-component vector of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3X3 matrix of float)
-0:445          'r6' ( temp 3X3 matrix of float)
-0:445          matrix-scale ( temp 3X3 matrix of float)
-0:445            'inF0' ( in float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3X3 matrix of float)
-0:445          'r7' ( temp 3X3 matrix of float)
-0:445          matrix-scale ( temp 3X3 matrix of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445            'inF0' ( in float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3X3 matrix of float)
-0:445          'r8' ( temp 3X3 matrix of float)
-0:445          matrix-multiply ( temp 3X3 matrix of float)
-0:445            'inFM1' ( in 3X3 matrix of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:451  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:451    Function Parameters: 
-0:451      'inF0' ( in float)
-0:451      'inF1' ( in float)
-0:451      'inFV0' ( in 4-component vector of float)
-0:451      'inFV1' ( in 4-component vector of float)
-0:451      'inFM0' ( in 4X4 matrix of float)
-0:451      'inFM1' ( in 4X4 matrix of float)
+0:449      Sequence
+0:449        move second child to first child ( temp float)
+0:449          'r0' ( temp float)
+0:449          component-wise multiply ( temp float)
+0:449            'inF1' ( in float)
+0:449            'inF0' ( in float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r1' ( temp 3-component vector of float)
+0:449          vector-scale ( temp 3-component vector of float)
+0:449            'inF0' ( in float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r2' ( temp 3-component vector of float)
+0:449          vector-scale ( temp 3-component vector of float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449            'inF0' ( in float)
+0:449      Sequence
+0:449        move second child to first child ( temp float)
+0:449          'r3' ( temp float)
+0:449          dot-product ( temp float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449            'inFV1' ( in 3-component vector of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r4' ( temp 3-component vector of float)
+0:449          vector-times-matrix ( temp 3-component vector of float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r5' ( temp 3-component vector of float)
+0:449          matrix-times-vector ( temp 3-component vector of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3X3 matrix of float)
+0:449          'r6' ( temp 3X3 matrix of float)
+0:449          matrix-scale ( temp 3X3 matrix of float)
+0:449            'inF0' ( in float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3X3 matrix of float)
+0:449          'r7' ( temp 3X3 matrix of float)
+0:449          matrix-scale ( temp 3X3 matrix of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449            'inF0' ( in float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3X3 matrix of float)
+0:449          'r8' ( temp 3X3 matrix of float)
+0:449          matrix-multiply ( temp 3X3 matrix of float)
+0:449            'inFM1' ( in 3X3 matrix of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:455  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:455    Function Parameters: 
+0:455      'inF0' ( in float)
+0:455      'inF1' ( in float)
+0:455      'inFV0' ( in 4-component vector of float)
+0:455      'inFV1' ( in 4-component vector of float)
+0:455      'inFM0' ( in 4X4 matrix of float)
+0:455      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:452      Sequence
-0:452        move second child to first child ( temp float)
-0:452          'r0' ( temp float)
-0:452          component-wise multiply ( temp float)
-0:452            'inF1' ( in float)
-0:452            'inF0' ( in float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r1' ( temp 4-component vector of float)
-0:452          vector-scale ( temp 4-component vector of float)
-0:452            'inF0' ( in float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r2' ( temp 4-component vector of float)
-0:452          vector-scale ( temp 4-component vector of float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452            'inF0' ( in float)
-0:452      Sequence
-0:452        move second child to first child ( temp float)
-0:452          'r3' ( temp float)
-0:452          dot-product ( temp float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452            'inFV1' ( in 4-component vector of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r4' ( temp 4-component vector of float)
-0:452          vector-times-matrix ( temp 4-component vector of float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r5' ( temp 4-component vector of float)
-0:452          matrix-times-vector ( temp 4-component vector of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4X4 matrix of float)
-0:452          'r6' ( temp 4X4 matrix of float)
-0:452          matrix-scale ( temp 4X4 matrix of float)
-0:452            'inF0' ( in float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4X4 matrix of float)
-0:452          'r7' ( temp 4X4 matrix of float)
-0:452          matrix-scale ( temp 4X4 matrix of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452            'inF0' ( in float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4X4 matrix of float)
-0:452          'r8' ( temp 4X4 matrix of float)
-0:452          matrix-multiply ( temp 4X4 matrix of float)
-0:452            'inFM1' ( in 4X4 matrix of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:461  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:461    Function Parameters: 
-0:461      'inF0' ( in float)
-0:461      'inF1' ( in float)
-0:461      'inFV2' ( in 2-component vector of float)
-0:461      'inFV3' ( in 3-component vector of float)
-0:461      'inFM2x3' ( in 2X3 matrix of float)
-0:461      'inFM3x2' ( in 3X2 matrix of float)
-0:461      'inFM3x3' ( in 3X3 matrix of float)
-0:461      'inFM3x4' ( in 3X4 matrix of float)
-0:461      'inFM2x4' ( in 2X4 matrix of float)
+0:456      Sequence
+0:456        move second child to first child ( temp float)
+0:456          'r0' ( temp float)
+0:456          component-wise multiply ( temp float)
+0:456            'inF1' ( in float)
+0:456            'inF0' ( in float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r1' ( temp 4-component vector of float)
+0:456          vector-scale ( temp 4-component vector of float)
+0:456            'inF0' ( in float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r2' ( temp 4-component vector of float)
+0:456          vector-scale ( temp 4-component vector of float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456            'inF0' ( in float)
+0:456      Sequence
+0:456        move second child to first child ( temp float)
+0:456          'r3' ( temp float)
+0:456          dot-product ( temp float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456            'inFV1' ( in 4-component vector of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r4' ( temp 4-component vector of float)
+0:456          vector-times-matrix ( temp 4-component vector of float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r5' ( temp 4-component vector of float)
+0:456          matrix-times-vector ( temp 4-component vector of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4X4 matrix of float)
+0:456          'r6' ( temp 4X4 matrix of float)
+0:456          matrix-scale ( temp 4X4 matrix of float)
+0:456            'inF0' ( in float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4X4 matrix of float)
+0:456          'r7' ( temp 4X4 matrix of float)
+0:456          matrix-scale ( temp 4X4 matrix of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456            'inF0' ( in float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4X4 matrix of float)
+0:456          'r8' ( temp 4X4 matrix of float)
+0:456          matrix-multiply ( temp 4X4 matrix of float)
+0:456            'inFM1' ( in 4X4 matrix of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:465  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:465    Function Parameters: 
+0:465      'inF0' ( in float)
+0:465      'inF1' ( in float)
+0:465      'inFV2' ( in 2-component vector of float)
+0:465      'inFV3' ( in 3-component vector of float)
+0:465      'inFM2x3' ( in 2X3 matrix of float)
+0:465      'inFM3x2' ( in 3X2 matrix of float)
+0:465      'inFM3x3' ( in 3X3 matrix of float)
+0:465      'inFM3x4' ( in 3X4 matrix of float)
+0:465      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
-0:462      Sequence
-0:462        move second child to first child ( temp float)
-0:462          'r00' ( temp float)
-0:462          component-wise multiply ( temp float)
-0:462            'inF1' ( in float)
-0:462            'inF0' ( in float)
-0:463      Sequence
-0:463        move second child to first child ( temp 2-component vector of float)
-0:463          'r01' ( temp 2-component vector of float)
-0:463          vector-scale ( temp 2-component vector of float)
-0:463            'inF0' ( in float)
-0:463            'inFV2' ( in 2-component vector of float)
-0:464      Sequence
-0:464        move second child to first child ( temp 3-component vector of float)
-0:464          'r02' ( temp 3-component vector of float)
-0:464          vector-scale ( temp 3-component vector of float)
-0:464            'inF0' ( in float)
-0:464            'inFV3' ( in 3-component vector of float)
-0:465      Sequence
-0:465        move second child to first child ( temp 2-component vector of float)
-0:465          'r03' ( temp 2-component vector of float)
-0:465          vector-scale ( temp 2-component vector of float)
-0:465            'inFV2' ( in 2-component vector of float)
-0:465            'inF0' ( in float)
 0:466      Sequence
-0:466        move second child to first child ( temp 3-component vector of float)
-0:466          'r04' ( temp 3-component vector of float)
-0:466          vector-scale ( temp 3-component vector of float)
-0:466            'inFV3' ( in 3-component vector of float)
+0:466        move second child to first child ( temp float)
+0:466          'r00' ( temp float)
+0:466          component-wise multiply ( temp float)
+0:466            'inF1' ( in float)
 0:466            'inF0' ( in float)
 0:467      Sequence
-0:467        move second child to first child ( temp float)
-0:467          'r05' ( temp float)
-0:467          dot-product ( temp float)
-0:467            'inFV2' ( in 2-component vector of float)
+0:467        move second child to first child ( temp 2-component vector of float)
+0:467          'r01' ( temp 2-component vector of float)
+0:467          vector-scale ( temp 2-component vector of float)
+0:467            'inF0' ( in float)
 0:467            'inFV2' ( in 2-component vector of float)
 0:468      Sequence
-0:468        move second child to first child ( temp float)
-0:468          'r06' ( temp float)
-0:468          dot-product ( temp float)
-0:468            'inFV3' ( in 3-component vector of float)
+0:468        move second child to first child ( temp 3-component vector of float)
+0:468          'r02' ( temp 3-component vector of float)
+0:468          vector-scale ( temp 3-component vector of float)
+0:468            'inF0' ( in float)
 0:468            'inFV3' ( in 3-component vector of float)
 0:469      Sequence
-0:469        move second child to first child ( temp 3-component vector of float)
-0:469          'r07' ( temp 3-component vector of float)
-0:469          matrix-times-vector ( temp 3-component vector of float)
-0:469            'inFM2x3' ( in 2X3 matrix of float)
+0:469        move second child to first child ( temp 2-component vector of float)
+0:469          'r03' ( temp 2-component vector of float)
+0:469          vector-scale ( temp 2-component vector of float)
 0:469            'inFV2' ( in 2-component vector of float)
+0:469            'inF0' ( in float)
 0:470      Sequence
-0:470        move second child to first child ( temp 2-component vector of float)
-0:470          'r08' ( temp 2-component vector of float)
-0:470          matrix-times-vector ( temp 2-component vector of float)
-0:470            'inFM3x2' ( in 3X2 matrix of float)
+0:470        move second child to first child ( temp 3-component vector of float)
+0:470          'r04' ( temp 3-component vector of float)
+0:470          vector-scale ( temp 3-component vector of float)
 0:470            'inFV3' ( in 3-component vector of float)
+0:470            'inF0' ( in float)
 0:471      Sequence
-0:471        move second child to first child ( temp 2-component vector of float)
-0:471          'r09' ( temp 2-component vector of float)
-0:471          vector-times-matrix ( temp 2-component vector of float)
-0:471            'inFV3' ( in 3-component vector of float)
-0:471            'inFM2x3' ( in 2X3 matrix of float)
+0:471        move second child to first child ( temp float)
+0:471          'r05' ( temp float)
+0:471          dot-product ( temp float)
+0:471            'inFV2' ( in 2-component vector of float)
+0:471            'inFV2' ( in 2-component vector of float)
 0:472      Sequence
-0:472        move second child to first child ( temp 3-component vector of float)
-0:472          'r10' ( temp 3-component vector of float)
-0:472          vector-times-matrix ( temp 3-component vector of float)
-0:472            'inFV2' ( in 2-component vector of float)
-0:472            'inFM3x2' ( in 3X2 matrix of float)
+0:472        move second child to first child ( temp float)
+0:472          'r06' ( temp float)
+0:472          dot-product ( temp float)
+0:472            'inFV3' ( in 3-component vector of float)
+0:472            'inFV3' ( in 3-component vector of float)
 0:473      Sequence
-0:473        move second child to first child ( temp 2X3 matrix of float)
-0:473          'r11' ( temp 2X3 matrix of float)
-0:473          matrix-scale ( temp 2X3 matrix of float)
-0:473            'inF0' ( in float)
+0:473        move second child to first child ( temp 3-component vector of float)
+0:473          'r07' ( temp 3-component vector of float)
+0:473          matrix-times-vector ( temp 3-component vector of float)
 0:473            'inFM2x3' ( in 2X3 matrix of float)
+0:473            'inFV2' ( in 2-component vector of float)
 0:474      Sequence
-0:474        move second child to first child ( temp 3X2 matrix of float)
-0:474          'r12' ( temp 3X2 matrix of float)
-0:474          matrix-scale ( temp 3X2 matrix of float)
-0:474            'inF0' ( in float)
+0:474        move second child to first child ( temp 2-component vector of float)
+0:474          'r08' ( temp 2-component vector of float)
+0:474          matrix-times-vector ( temp 2-component vector of float)
 0:474            'inFM3x2' ( in 3X2 matrix of float)
+0:474            'inFV3' ( in 3-component vector of float)
 0:475      Sequence
-0:475        move second child to first child ( temp 2X2 matrix of float)
-0:475          'r13' ( temp 2X2 matrix of float)
-0:475          matrix-multiply ( temp 2X2 matrix of float)
-0:475            'inFM3x2' ( in 3X2 matrix of float)
+0:475        move second child to first child ( temp 2-component vector of float)
+0:475          'r09' ( temp 2-component vector of float)
+0:475          vector-times-matrix ( temp 2-component vector of float)
+0:475            'inFV3' ( in 3-component vector of float)
 0:475            'inFM2x3' ( in 2X3 matrix of float)
 0:476      Sequence
-0:476        move second child to first child ( temp 2X3 matrix of float)
-0:476          'r14' ( temp 2X3 matrix of float)
-0:476          matrix-multiply ( temp 2X3 matrix of float)
-0:476            'inFM3x3' ( in 3X3 matrix of float)
-0:476            'inFM2x3' ( in 2X3 matrix of float)
+0:476        move second child to first child ( temp 3-component vector of float)
+0:476          'r10' ( temp 3-component vector of float)
+0:476          vector-times-matrix ( temp 3-component vector of float)
+0:476            'inFV2' ( in 2-component vector of float)
+0:476            'inFM3x2' ( in 3X2 matrix of float)
 0:477      Sequence
-0:477        move second child to first child ( temp 2X4 matrix of float)
-0:477          'r15' ( temp 2X4 matrix of float)
-0:477          matrix-multiply ( temp 2X4 matrix of float)
-0:477            'inFM3x4' ( in 3X4 matrix of float)
+0:477        move second child to first child ( temp 2X3 matrix of float)
+0:477          'r11' ( temp 2X3 matrix of float)
+0:477          matrix-scale ( temp 2X3 matrix of float)
+0:477            'inF0' ( in float)
 0:477            'inFM2x3' ( in 2X3 matrix of float)
 0:478      Sequence
-0:478        move second child to first child ( temp 3X4 matrix of float)
-0:478          'r16' ( temp 3X4 matrix of float)
-0:478          matrix-multiply ( temp 3X4 matrix of float)
-0:478            'inFM2x4' ( in 2X4 matrix of float)
+0:478        move second child to first child ( temp 3X2 matrix of float)
+0:478          'r12' ( temp 3X2 matrix of float)
+0:478          matrix-scale ( temp 3X2 matrix of float)
+0:478            'inF0' ( in float)
 0:478            'inFM3x2' ( in 3X2 matrix of float)
-0:484  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
-0:484    Function Parameters: 
+0:479      Sequence
+0:479        move second child to first child ( temp 2X2 matrix of float)
+0:479          'r13' ( temp 2X2 matrix of float)
+0:479          matrix-multiply ( temp 2X2 matrix of float)
+0:479            'inFM3x2' ( in 3X2 matrix of float)
+0:479            'inFM2x3' ( in 2X3 matrix of float)
+0:480      Sequence
+0:480        move second child to first child ( temp 2X3 matrix of float)
+0:480          'r14' ( temp 2X3 matrix of float)
+0:480          matrix-multiply ( temp 2X3 matrix of float)
+0:480            'inFM3x3' ( in 3X3 matrix of float)
+0:480            'inFM2x3' ( in 2X3 matrix of float)
+0:481      Sequence
+0:481        move second child to first child ( temp 2X4 matrix of float)
+0:481          'r15' ( temp 2X4 matrix of float)
+0:481          matrix-multiply ( temp 2X4 matrix of float)
+0:481            'inFM3x4' ( in 3X4 matrix of float)
+0:481            'inFM2x3' ( in 2X3 matrix of float)
+0:482      Sequence
+0:482        move second child to first child ( temp 3X4 matrix of float)
+0:482          'r16' ( temp 3X4 matrix of float)
+0:482          matrix-multiply ( temp 3X4 matrix of float)
+0:482            'inFM2x4' ( in 2X4 matrix of float)
+0:482            'inFM3x2' ( in 3X2 matrix of float)
+0:488  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:488    Function Parameters: 
 0:?     Sequence
-0:486      move second child to first child ( temp 4-component vector of float)
-0:486        color: direct index for structure ( temp 4-component vector of float)
-0:486          'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:486          Constant:
-0:486            0 (const int)
-0:486        Constant:
-0:486          1.000000
-0:486          1.000000
-0:486          1.000000
-0:486          1.000000
-0:487      Branch: Return with expression
-0:487        'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:484  Function Definition: main( ( temp void)
-0:484    Function Parameters: 
+0:490      move second child to first child ( temp 4-component vector of float)
+0:490        color: direct index for structure ( temp 4-component vector of float)
+0:490          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:490          Constant:
+0:490            0 (const int)
+0:490        Constant:
+0:490          1.000000
+0:490          1.000000
+0:490          1.000000
+0:490          1.000000
+0:491      Branch: Return with expression
+0:491        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:488  Function Definition: main( ( temp void)
+0:488    Function Parameters: 
 0:?     Sequence
-0:484      Sequence
-0:484        move second child to first child ( temp 4-component vector of float)
+0:488      Sequence
+0:488        move second child to first child ( temp 4-component vector of float)
 0:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
-0:484          color: direct index for structure ( temp 4-component vector of float)
-0:484            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
-0:484            Constant:
-0:484              0 (const int)
+0:488          color: direct index for structure ( temp 4-component vector of float)
+0:488            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:488            Constant:
+0:488              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -2860,2034 +2901,2075 @@
 0:33            0.000000
 0:33        true case
 0:33        Branch: Kill
-0:34      Sequence
-0:34        move second child to first child ( temp float)
-0:34          'r014' ( temp float)
-0:34          cosine ( temp float)
-0:34            'inF0' ( in float)
+0:34      Test condition and select ( temp void)
+0:34        Condition
+0:34        Compare Less Than ( temp bool)
+0:34          'r005' ( temp int)
+0:34          Constant:
+0:34            0 (const int)
+0:34        true case
+0:34        Branch: Kill
 0:35      Sequence
 0:35        move second child to first child ( temp float)
-0:35          'r015' ( temp float)
-0:35          hyp. cosine ( temp float)
+0:35          'r014' ( temp float)
+0:35          cosine ( temp float)
 0:35            'inF0' ( in float)
 0:36      Sequence
-0:36        move second child to first child ( temp int)
-0:36          'r016' ( temp int)
-0:36          bitCount ( temp int)
-0:36            Constant:
-0:36              7 (const int)
+0:36        move second child to first child ( temp float)
+0:36          'r015' ( temp float)
+0:36          hyp. cosine ( temp float)
+0:36            'inF0' ( in float)
 0:37      Sequence
-0:37        move second child to first child ( temp float)
-0:37          'r017' ( temp float)
-0:37          dPdx ( temp float)
-0:37            'inF0' ( in float)
+0:37        move second child to first child ( temp int)
+0:37          'r016' ( temp int)
+0:37          bitCount ( temp int)
+0:37            Constant:
+0:37              7 (const int)
 0:38      Sequence
 0:38        move second child to first child ( temp float)
-0:38          'r018' ( temp float)
-0:38          dPdxCoarse ( temp float)
+0:38          'r017' ( temp float)
+0:38          dPdx ( 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 ( temp float)
+0:39          'r018' ( temp float)
+0:39          dPdxCoarse ( 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 ( temp float)
+0:40          'r019' ( temp float)
+0:40          dPdxFine ( 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 ( temp float)
+0:41          'r020' ( temp float)
+0:41          dPdy ( 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 ( temp float)
+0:42          'r021' ( temp float)
+0:42          dPdyCoarse ( 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 ( temp float)
+0:43          'r022' ( temp float)
+0:43          dPdyFine ( 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 ( temp float)
-0:47            'inF0' ( in float)
+0:44      Sequence
+0:44        move second child to first child ( temp float)
+0:44          'r023' ( temp float)
+0:44          degrees ( temp float)
+0:44            'inF0' ( in float)
 0:48      Sequence
 0:48        move second child to first child ( temp float)
-0:48          'r028' ( temp float)
-0:48          exp2 ( temp float)
+0:48          'r027' ( temp float)
+0:48          exp ( 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 ( temp int)
-0:49              Constant:
-0:49                7 (const int)
+0:49        move second child to first child ( temp float)
+0:49          'r028' ( temp float)
+0:49          exp2 ( temp float)
+0:49            'inF0' ( in float)
 0:50      Sequence
 0:50        move second child to first child ( temp uint)
-0:50          'r030' ( temp uint)
+0:50          'r029' ( temp uint)
 0:50          Convert int to uint ( temp uint)
-0:50            findLSB ( temp int)
+0:50            findMSB ( 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 ( 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 ( temp float)
-0:53            'inF0' ( in float)
-0:53            'inF1' ( in float)
+0:51        move second child to first child ( temp uint)
+0:51          'r030' ( temp uint)
+0:51          Convert int to uint ( temp uint)
+0:51            findLSB ( temp int)
+0:51              Constant:
+0:51                7 (const int)
+0:52      Sequence
+0:52        move second child to first child ( temp float)
+0:52          'r031' ( temp float)
+0:52          Floor ( temp float)
+0:52            'inF0' ( in float)
 0:54      Sequence
 0:54        move second child to first child ( temp float)
-0:54          'r034' ( temp float)
-0:54          Fraction ( temp float)
+0:54          'r033' ( temp float)
+0:54          mod ( temp float)
 0:54            'inF0' ( in float)
+0:54            'inF1' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r036' ( temp float)
-0:55          fwidth ( temp float)
+0:55          'r034' ( temp float)
+0:55          Fraction ( temp float)
 0:55            'inF0' ( in float)
 0:56      Sequence
-0:56        move second child to first child ( temp bool)
-0:56          'r037' ( temp bool)
-0:56          isinf ( temp bool)
+0:56        move second child to first child ( temp float)
+0:56          'r036' ( temp 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          'r038' ( temp bool)
-0:57          isnan ( temp bool)
+0:57          'r037' ( temp bool)
+0:57          isinf ( temp bool)
 0:57            'inF0' ( in float)
 0:58      Sequence
-0:58        move second child to first child ( temp float)
-0:58          'r039' ( temp float)
-0:58          ldexp ( temp float)
+0:58        move second child to first child ( temp bool)
+0:58          'r038' ( temp bool)
+0:58          isnan ( temp bool)
 0:58            'inF0' ( in float)
-0:58            'inF1' ( in float)
 0:59      Sequence
 0:59        move second child to first child ( temp float)
-0:59          'r039a' ( temp float)
-0:59          mix ( temp float)
+0:59          'r039' ( temp float)
+0:59          ldexp ( temp float)
 0:59            'inF0' ( in float)
 0:59            'inF1' ( in float)
-0:59            'inF2' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r040' ( temp float)
-0:60          log ( temp float)
+0:60          'r039a' ( temp 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          'r041' ( temp float)
-0:61          component-wise multiply ( temp float)
-0:61            log2 ( temp float)
-0:61              'inF0' ( in float)
-0:61            Constant:
-0:61              0.301030
+0:61          'r040' ( temp float)
+0:61          log ( temp float)
+0:61            'inF0' ( in float)
 0:62      Sequence
 0:62        move second child to first child ( temp float)
-0:62          'r042' ( temp float)
-0:62          log2 ( temp float)
-0:62            'inF0' ( in float)
+0:62          'r041' ( temp float)
+0:62          component-wise multiply ( temp float)
+0:62            log2 ( temp float)
+0:62              'inF0' ( in float)
+0:62            Constant:
+0:62              0.301030
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r043' ( temp float)
-0:63          max ( temp float)
+0:63          'r042' ( temp float)
+0:63          log2 ( temp float)
 0:63            'inF0' ( in float)
-0:63            'inF1' ( in float)
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r044' ( temp float)
-0:64          min ( temp float)
+0:64          'r043' ( temp 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          'r045' ( temp float)
-0:65          pow ( temp float)
+0:65          'r044' ( temp 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          'r046' ( temp float)
-0:66          radians ( temp float)
+0:66          'r045' ( temp 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          'r047' ( temp float)
-0:67          divide ( temp float)
-0:67            Constant:
-0:67              1.000000
+0:67          'r046' ( temp float)
+0:67          radians ( temp float)
 0:67            'inF0' ( in float)
 0:68      Sequence
-0:68        move second child to first child ( temp uint)
-0:68          'r048' ( temp uint)
-0:68          Convert int to uint ( temp uint)
-0:68            bitFieldReverse ( temp int)
-0:68              Constant:
-0:68                2 (const int)
+0:68        move second child to first child ( temp float)
+0:68          'r047' ( temp float)
+0:68          divide ( temp float)
+0:68            Constant:
+0:68              1.000000
+0:68            'inF0' ( in float)
 0:69      Sequence
-0:69        move second child to first child ( temp float)
-0:69          'r049' ( temp float)
-0:69          roundEven ( temp float)
-0:69            'inF0' ( in float)
+0:69        move second child to first child ( temp uint)
+0:69          'r048' ( temp uint)
+0:69          Convert int to uint ( temp uint)
+0:69            bitFieldReverse ( temp int)
+0:69              Constant:
+0:69                2 (const int)
 0:70      Sequence
 0:70        move second child to first child ( temp float)
-0:70          'r050' ( temp float)
-0:70          inverse sqrt ( temp float)
+0:70          'r049' ( temp 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          'r051' ( temp float)
-0:71          clamp ( temp float)
+0:71          'r050' ( temp float)
+0:71          inverse sqrt ( temp float)
 0:71            'inF0' ( in float)
-0:71            Constant:
-0:71              0.000000
-0:71            Constant:
-0:71              1.000000
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r052' ( temp float)
-0:72          Sign ( temp float)
+0:72          'r051' ( temp float)
+0:72          clamp ( temp float)
 0:72            'inF0' ( in float)
+0:72            Constant:
+0:72              0.000000
+0:72            Constant:
+0:72              1.000000
 0:73      Sequence
 0:73        move second child to first child ( temp float)
-0:73          'r053' ( temp float)
-0:73          sine ( temp float)
+0:73          'r052' ( temp 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          'inF1' ( in float)
+0:74          'r053' ( temp float)
 0:74          sine ( temp float)
 0:74            'inF0' ( in float)
-0:74        move second child to first child ( temp float)
-0:74          'inF2' ( in float)
-0:74          cosine ( temp float)
-0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'r055' ( temp float)
-0:75          hyp. sine ( temp float)
+0:75          'inF1' ( in float)
+0:75          sine ( temp float)
+0:75            'inF0' ( in float)
+0:75        move second child to first child ( temp float)
+0:75          'inF2' ( in float)
+0:75          cosine ( temp float)
 0:75            'inF0' ( in float)
 0:76      Sequence
 0:76        move second child to first child ( temp float)
-0:76          'r056' ( temp float)
-0:76          smoothstep ( temp float)
+0:76          'r055' ( temp float)
+0:76          hyp. sine ( temp float)
 0:76            'inF0' ( in float)
-0:76            'inF1' ( in float)
-0:76            'inF2' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r057' ( temp float)
-0:77          sqrt ( temp float)
+0:77          'r056' ( temp 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          'r058' ( temp float)
-0:78          step ( temp float)
+0:78          'r057' ( temp float)
+0:78          sqrt ( temp float)
 0:78            'inF0' ( in float)
-0:78            'inF1' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r059' ( temp float)
-0:79          tangent ( temp float)
+0:79          'r058' ( temp 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          'r060' ( temp float)
-0:80          hyp. tangent ( temp float)
+0:80          'r059' ( temp float)
+0:80          tangent ( temp float)
 0:80            'inF0' ( in float)
-0:82      Sequence
-0:82        move second child to first child ( temp float)
-0:82          'r061' ( temp float)
-0:82          trunc ( temp float)
-0:82            'inF0' ( in float)
-0:84      Branch: Return with expression
-0:84        Constant:
-0:84          0.000000
-0:88  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
-0:88    Function Parameters: 
-0:88      'inF0' ( in 1-component vector of float)
-0:88      'inF1' ( in 1-component vector of float)
-0:88      'inF2' ( in 1-component vector of float)
+0:81      Sequence
+0:81        move second child to first child ( temp float)
+0:81          'r060' ( temp 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 ( temp float)
+0:83            'inF0' ( in float)
+0:85      Branch: Return with expression
+0:85        Constant:
+0:85          0.000000
+0:89  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:89    Function Parameters: 
+0:89      'inF0' ( in 1-component vector of float)
+0:89      'inF1' ( in 1-component vector of float)
+0:89      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-0:90      Branch: Return with expression
-0:90        Constant:
-0:90          0.000000
-0:94  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
-0:94    Function Parameters: 
-0:94      'inF0' ( in 2-component vector of float)
-0:94      'inF1' ( in 2-component vector of float)
-0:94      'inF2' ( in 2-component vector of float)
-0:94      'inU0' ( in 2-component vector of uint)
-0:94      'inU1' ( in 2-component vector of uint)
+0:91      Branch: Return with expression
+0:91        Constant:
+0:91          0.000000
+0:95  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:95    Function Parameters: 
+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:95      'inU0' ( in 2-component vector of uint)
+0:95      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:97      Sequence
-0:97        move second child to first child ( temp bool)
-0:97          'r000' ( temp bool)
-0:97          all ( temp bool)
-0:97            Convert float to bool ( temp 2-component vector of bool)
-0:97              'inF0' ( in 2-component vector of float)
 0:98      Sequence
-0:98        move second child to first child ( temp 2-component vector of float)
-0:98          'r001' ( temp 2-component vector of float)
-0:98          Absolute value ( temp 2-component vector of float)
-0:98            'inF0' ( in 2-component vector of float)
+0:98        move second child to first child ( temp bool)
+0:98          'r000' ( temp bool)
+0:98          all ( temp bool)
+0:98            Convert float to bool ( temp 2-component vector of 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          'r002' ( temp 2-component vector of float)
-0:99          arc cosine ( temp 2-component vector of float)
+0:99          'r001' ( temp 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 bool)
-0:100          'r003' ( temp bool)
-0:100          any ( temp bool)
-0:100            Convert float to bool ( temp 2-component vector of bool)
-0:100              'inF0' ( in 2-component vector of float)
+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 ( 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 2-component vector of float)
-0:101          'r004' ( temp 2-component vector of float)
-0:101          arc sine ( temp 2-component vector of float)
-0:101            'inF0' ( in 2-component vector of float)
+0:101        move second child to first child ( temp bool)
+0:101          'r003' ( temp bool)
+0:101          any ( temp bool)
+0:101            Convert float to bool ( temp 2-component vector of 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 int)
-0:102          'r005' ( temp 2-component vector of int)
-0:102          floatBitsToInt ( temp 2-component vector of int)
+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 ( 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 uint)
-0:103          'r006' ( temp 2-component vector of uint)
-0:103          floatBitsToUint ( temp 2-component vector of uint)
+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 ( 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 float)
-0:104          'r007' ( temp 2-component vector of float)
-0:104          intBitsToFloat ( temp 2-component vector of float)
-0:104            'inU0' ( in 2-component vector of uint)
-0:106      Sequence
-0:106        move second child to first child ( temp 2-component vector of float)
-0:106          'r009' ( temp 2-component vector of float)
-0:106          arc tangent ( temp 2-component vector of float)
-0:106            'inF0' ( in 2-component vector of float)
+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 ( 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 ( 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          'r010' ( temp 2-component vector of float)
+0:107          'r009' ( temp 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:107            'inF1' ( 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          'r011' ( temp 2-component vector of float)
-0:108          Ceiling ( temp 2-component vector of float)
+0:108          'r010' ( temp 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          'r012' ( temp 2-component vector of float)
-0:109          clamp ( temp 2-component vector of float)
+0:109          'r011' ( temp 2-component vector of float)
+0:109          Ceiling ( temp 2-component vector of float)
 0:109            'inF0' ( in 2-component vector of float)
-0:109            'inF1' ( in 2-component vector of float)
-0:109            'inF2' ( in 2-component vector of float)
-0:110      Test condition and select ( temp void)
-0:110        Condition
-0:110        any ( temp bool)
-0:110          Compare Less Than ( temp 2-component vector of bool)
+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 ( temp 2-component vector of float)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            Constant:
-0:110              0.000000
-0:110              0.000000
-0:110        true case
-0:110        Branch: Kill
-0:111      Sequence
-0:111        move second child to first child ( temp 2-component vector of float)
-0:111          'r013' ( temp 2-component vector of float)
-0:111          cosine ( temp 2-component vector of float)
+0:110            'inF1' ( in 2-component vector of float)
+0:110            'inF2' ( in 2-component vector of float)
+0:111      Test condition and select ( temp void)
+0:111        Condition
+0:111        any ( temp bool)
+0:111          Compare Less Than ( temp 2-component vector of bool)
 0:111            'inF0' ( in 2-component vector of float)
-0:112      Sequence
-0:112        move second child to first child ( temp 2-component vector of float)
-0:112          'r015' ( temp 2-component vector of float)
-0:112          hyp. cosine ( temp 2-component vector of float)
-0:112            'inF0' ( in 2-component vector of float)
+0:111            Constant:
+0:111              0.000000
+0:111              0.000000
+0:111        true case
+0:111        Branch: Kill
+0:112      Test condition and select ( temp void)
+0:112        Condition
+0:112        any ( temp bool)
+0:112          Compare Less Than ( temp 2-component vector of bool)
+0:112            'inU0' ( in 2-component vector of uint)
+0:112            Constant:
+0:112              0.000000
+0:112              0.000000
+0:112        true case
+0:112        Branch: Kill
 0:113      Sequence
-0:113        move second child to first child ( temp 2-component vector of int)
-0:113          'r016' ( temp 2-component vector of int)
+0:113        move second child to first child ( temp 2-component vector of float)
+0:113          'r013' ( temp 2-component vector of float)
+0:113          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 float)
+0:114          'r015' ( temp 2-component vector of float)
+0:114          hyp. cosine ( temp 2-component vector of float)
+0:114            'inF0' ( in 2-component vector of float)
+0:115      Sequence
+0:115        move second child to first child ( temp 2-component vector of int)
+0:115          'r016' ( temp 2-component vector of int)
 0:?           bitCount ( temp 2-component vector of int)
 0:?             Constant:
 0:?               7 (const int)
 0:?               3 (const int)
-0:114      Sequence
-0:114        move second child to first child ( temp 2-component vector of float)
-0:114          'r017' ( temp 2-component vector of float)
-0:114          dPdx ( temp 2-component vector of float)
-0:114            'inF0' ( in 2-component vector of float)
-0:115      Sequence
-0:115        move second child to first child ( temp 2-component vector of float)
-0:115          'r018' ( temp 2-component vector of float)
-0:115          dPdxCoarse ( 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          'r019' ( temp 2-component vector of float)
-0:116          dPdxFine ( temp 2-component vector of float)
+0:116          'r017' ( temp 2-component vector of float)
+0:116          dPdx ( 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          'r020' ( temp 2-component vector of float)
-0:117          dPdy ( temp 2-component vector of float)
+0:117          'r018' ( temp 2-component vector of float)
+0:117          dPdxCoarse ( 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          'r021' ( temp 2-component vector of float)
-0:118          dPdyCoarse ( temp 2-component vector of float)
+0:118          'r019' ( temp 2-component vector of float)
+0:118          dPdxFine ( 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          'r022' ( temp 2-component vector of float)
-0:119          dPdyFine ( temp 2-component vector of float)
+0:119          'r020' ( temp 2-component vector of float)
+0:119          dPdy ( 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          'r023' ( temp 2-component vector of float)
-0:120          degrees ( temp 2-component vector of float)
+0:120          'r021' ( temp 2-component vector of float)
+0:120          dPdyCoarse ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
-0:124      Sequence
-0:124        move second child to first child ( temp float)
-0:124          'r026' ( temp float)
-0:124          distance ( temp float)
-0:124            'inF0' ( in 2-component vector of float)
-0:124            'inF1' ( in 2-component vector of float)
-0:125      Sequence
-0:125        move second child to first child ( temp float)
-0:125          'r027' ( temp float)
-0:125          dot-product ( temp float)
-0:125            'inF0' ( in 2-component vector of float)
-0:125            'inF1' ( in 2-component vector of float)
-0:129      Sequence
-0:129        move second child to first child ( temp 2-component vector of float)
-0:129          'r028' ( temp 2-component vector of float)
-0:129          exp ( temp 2-component vector of float)
-0:129            'inF0' ( 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          'r029' ( temp 2-component vector of float)
-0:130          exp2 ( temp 2-component vector of float)
-0:130            '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          'r022' ( temp 2-component vector of float)
+0:121          dPdyFine ( temp 2-component vector of float)
+0:121            'inF0' ( in 2-component vector of float)
+0:122      Sequence
+0:122        move second child to first child ( temp 2-component vector of float)
+0:122          'r023' ( temp 2-component vector of float)
+0:122          degrees ( temp 2-component vector of float)
+0:122            'inF0' ( in 2-component vector of float)
+0:126      Sequence
+0:126        move second child to first child ( temp float)
+0:126          'r026' ( temp float)
+0:126          distance ( temp float)
+0:126            'inF0' ( in 2-component vector of float)
+0:126            'inF1' ( in 2-component vector of float)
+0:127      Sequence
+0:127        move second child to first child ( temp float)
+0:127          'r027' ( temp float)
+0:127          dot-product ( temp float)
+0:127            'inF0' ( in 2-component vector of float)
+0:127            'inF1' ( 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          'r030' ( temp 2-component vector of float)
-0:131          face-forward ( temp 2-component vector of float)
+0:131          'r028' ( temp 2-component vector of float)
+0:131          exp ( temp 2-component vector of float)
 0:131            'inF0' ( in 2-component vector of float)
-0:131            'inF1' ( in 2-component vector of float)
-0:131            'inF2' ( in 2-component vector of float)
 0:132      Sequence
-0:132        move second child to first child ( temp 2-component vector of uint)
-0:132          'r031' ( temp 2-component vector of uint)
+0:132        move second child to first child ( temp 2-component vector of float)
+0:132          'r029' ( temp 2-component vector of float)
+0:132          exp2 ( temp 2-component vector of float)
+0:132            'inF0' ( in 2-component vector of float)
+0:133      Sequence
+0:133        move second child to first child ( temp 2-component vector of float)
+0:133          'r030' ( temp 2-component vector of float)
+0:133          face-forward ( temp 2-component vector of float)
+0:133            'inF0' ( in 2-component vector of float)
+0:133            'inF1' ( in 2-component vector of float)
+0:133            'inF2' ( in 2-component vector of float)
+0:134      Sequence
+0:134        move second child to first child ( temp 2-component vector of uint)
+0:134          'r031' ( temp 2-component vector of uint)
 0:?           findMSB ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
-0:133      Sequence
-0:133        move second child to first child ( temp 2-component vector of uint)
-0:133          'r032' ( temp 2-component vector of uint)
+0:135      Sequence
+0:135        move second child to first child ( temp 2-component vector of uint)
+0:135          'r032' ( temp 2-component vector of uint)
 0:?           findLSB ( 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 float)
-0:134          'r033' ( temp 2-component vector of float)
-0:134          Floor ( temp 2-component vector of float)
-0:134            'inF0' ( in 2-component vector of float)
 0:136      Sequence
 0:136        move second child to first child ( temp 2-component vector of float)
-0:136          'r035' ( temp 2-component vector of float)
-0:136          mod ( temp 2-component vector of float)
+0:136          'r033' ( temp 2-component vector of float)
+0:136          Floor ( temp 2-component vector of float)
 0:136            'inF0' ( in 2-component vector of float)
-0:136            'inF1' ( 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          'r036' ( temp 2-component vector of float)
-0:137          Fraction ( temp 2-component vector of float)
-0:137            'inF0' ( 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          'r038' ( temp 2-component vector of float)
-0:138          fwidth ( temp 2-component vector of float)
+0:138          'r035' ( temp 2-component vector of float)
+0:138          mod ( temp 2-component vector of float)
 0:138            'inF0' ( in 2-component vector of float)
+0:138            'inF1' ( in 2-component vector of float)
 0:139      Sequence
-0:139        move second child to first child ( temp 2-component vector of bool)
-0:139          'r039' ( temp 2-component vector of bool)
-0:139          isinf ( temp 2-component vector of bool)
+0:139        move second child to first child ( temp 2-component vector of float)
+0:139          'r036' ( temp 2-component vector of float)
+0:139          Fraction ( temp 2-component vector of float)
 0:139            'inF0' ( in 2-component vector of float)
 0:140      Sequence
-0:140        move second child to first child ( temp 2-component vector of bool)
-0:140          'r040' ( temp 2-component vector of bool)
-0:140          isnan ( temp 2-component vector of bool)
+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 ( 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 float)
-0:141          'r041' ( temp 2-component vector of float)
-0:141          ldexp ( temp 2-component vector of float)
+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 ( temp 2-component vector of bool)
 0:141            'inF0' ( in 2-component vector of float)
-0:141            'inF1' ( in 2-component vector of float)
 0:142      Sequence
-0:142        move second child to first child ( temp 2-component vector of float)
-0:142          'r039a' ( temp 2-component vector of float)
-0:142          mix ( temp 2-component vector of float)
+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 ( temp 2-component vector of bool)
 0:142            'inF0' ( in 2-component vector of float)
-0:142            'inF1' ( in 2-component vector of float)
-0:142            'inF2' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp float)
-0:143          'r042' ( temp float)
-0:143          length ( temp float)
+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 ( 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          'r043' ( temp 2-component vector of float)
-0:144          log ( temp 2-component vector of float)
+0:144          'r039a' ( temp 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 2-component vector of float)
-0:145          'r044' ( temp 2-component vector of float)
-0:145          vector-scale ( temp 2-component vector of float)
-0:145            log2 ( temp 2-component vector of float)
-0:145              'inF0' ( in 2-component vector of float)
-0:145            Constant:
-0:145              0.301030
+0:145        move second child to first child ( temp float)
+0:145          'r042' ( temp 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          'r045' ( temp 2-component vector of float)
-0:146          log2 ( temp 2-component vector of float)
+0:146          'r043' ( temp 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)
-0:147          'r046' ( temp 2-component vector of float)
-0:147          max ( temp 2-component vector of float)
-0:147            'inF0' ( in 2-component vector of float)
-0:147            'inF1' ( in 2-component vector of float)
+0:147          'r044' ( temp 2-component vector of float)
+0:147          vector-scale ( temp 2-component vector of float)
+0:147            log2 ( temp 2-component vector of float)
+0:147              'inF0' ( in 2-component vector of float)
+0:147            Constant:
+0:147              0.301030
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r047' ( temp 2-component vector of float)
-0:148          min ( temp 2-component vector of float)
+0:148          'r045' ( temp 2-component vector of float)
+0:148          log2 ( temp 2-component vector of float)
 0:148            'inF0' ( in 2-component vector of float)
-0:148            'inF1' ( 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          'r048' ( temp 2-component vector of float)
-0:149          normalize ( temp 2-component vector of float)
+0:149          'r046' ( temp 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          'r049' ( temp 2-component vector of float)
-0:150          pow ( temp 2-component vector of float)
+0:150          'r047' ( temp 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          'r050' ( temp 2-component vector of float)
-0:151          radians ( temp 2-component vector of float)
+0:151          'r048' ( temp 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          'r051' ( temp 2-component vector of float)
-0:152          divide ( temp 2-component vector of float)
-0:152            Constant:
-0:152              1.000000
+0:152          'r049' ( temp 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          'r052' ( temp 2-component vector of float)
-0:153          reflect ( temp 2-component vector of float)
+0:153          'r050' ( temp 2-component vector of float)
+0:153          radians ( temp 2-component vector of float)
 0:153            'inF0' ( in 2-component vector of float)
-0:153            'inF1' ( in 2-component vector of float)
 0:154      Sequence
 0:154        move second child to first child ( temp 2-component vector of float)
-0:154          'r053' ( temp 2-component vector of float)
-0:154          refract ( temp 2-component vector of float)
-0:154            'inF0' ( in 2-component vector of float)
-0:154            'inF1' ( in 2-component vector of float)
+0:154          'r051' ( temp 2-component vector of float)
+0:154          divide ( temp 2-component vector of float)
 0:154            Constant:
-0:154              2.000000
+0:154              1.000000
+0:154            'inF0' ( in 2-component vector of float)
 0:155      Sequence
-0:155        move second child to first child ( temp 2-component vector of uint)
-0:155          'r054' ( temp 2-component vector of uint)
+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 ( 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 ( 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:
+0:156              2.000000
+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 ( temp 2-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
-0:156      Sequence
-0:156        move second child to first child ( temp 2-component vector of float)
-0:156          'r055' ( temp 2-component vector of float)
-0:156          roundEven ( temp 2-component vector of float)
-0:156            'inF0' ( in 2-component vector of float)
-0:157      Sequence
-0:157        move second child to first child ( temp 2-component vector of float)
-0:157          'r056' ( temp 2-component vector of float)
-0:157          inverse sqrt ( temp 2-component vector of float)
-0:157            'inF0' ( in 2-component vector of float)
 0:158      Sequence
 0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r057' ( temp 2-component vector of float)
-0:158          clamp ( temp 2-component vector of float)
+0:158          'r055' ( temp 2-component vector of float)
+0:158          roundEven ( temp 2-component vector of float)
 0:158            'inF0' ( in 2-component vector of float)
-0:158            Constant:
-0:158              0.000000
-0:158            Constant:
-0:158              1.000000
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r058' ( temp 2-component vector of float)
-0:159          Sign ( temp 2-component vector of float)
+0:159          'r056' ( temp 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)
-0:160          'r059' ( temp 2-component vector of float)
-0:160          sine ( temp 2-component vector of float)
+0:160          'r057' ( temp 2-component vector of float)
+0:160          clamp ( temp 2-component vector of float)
 0:160            'inF0' ( in 2-component vector of float)
+0:160            Constant:
+0:160              0.000000
+0:160            Constant:
+0:160              1.000000
 0:161      Sequence
 0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'inF1' ( in 2-component vector of float)
-0:161          sine ( temp 2-component vector of float)
-0:161            'inF0' ( in 2-component vector of float)
-0:161        move second child to first child ( temp 2-component vector of float)
-0:161          'inF2' ( in 2-component vector of float)
-0:161          cosine ( temp 2-component vector of float)
+0:161          'r058' ( temp 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          'r060' ( temp 2-component vector of float)
-0:162          hyp. sine ( temp 2-component vector of float)
+0:162          'r059' ( temp 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)
-0:163          'r061' ( temp 2-component vector of float)
-0:163          smoothstep ( temp 2-component vector of float)
+0:163          'inF1' ( in 2-component vector of float)
+0:163          sine ( temp 2-component vector of float)
 0:163            'inF0' ( in 2-component vector of float)
-0:163            'inF1' ( in 2-component vector of float)
-0:163            'inF2' ( in 2-component vector of float)
+0:163        move second child to first child ( temp 2-component vector of float)
+0:163          'inF2' ( in 2-component vector of float)
+0:163          cosine ( temp 2-component vector of float)
+0:163            'inF0' ( in 2-component vector of float)
 0:164      Sequence
 0:164        move second child to first child ( temp 2-component vector of float)
-0:164          'r062' ( temp 2-component vector of float)
-0:164          sqrt ( temp 2-component vector of float)
+0:164          'r060' ( temp 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          'r063' ( temp 2-component vector of float)
-0:165          step ( temp 2-component vector of float)
+0:165          'r061' ( temp 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          'r064' ( temp 2-component vector of float)
-0:166          tangent ( temp 2-component vector of float)
+0:166          'r062' ( temp 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          'r065' ( temp 2-component vector of float)
-0:167          hyp. tangent ( temp 2-component vector of float)
+0:167          'r063' ( temp 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 ( 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          'r066' ( temp 2-component vector of float)
-0:169          trunc ( temp 2-component vector of float)
+0:169          'r065' ( temp 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:172      Branch: Return with expression
+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 ( temp 2-component vector of float)
+0:171            'inF0' ( in 2-component vector of float)
+0:174      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-0:176  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
-0:176    Function Parameters: 
-0:176      'inF0' ( in 3-component vector of float)
-0:176      'inF1' ( in 3-component vector of float)
-0:176      'inF2' ( in 3-component vector of float)
-0:176      'inU0' ( in 3-component vector of uint)
-0:176      'inU1' ( in 3-component vector of uint)
+0:178  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:178    Function Parameters: 
+0:178      'inF0' ( in 3-component vector of float)
+0:178      'inF1' ( in 3-component vector of float)
+0:178      'inF2' ( in 3-component vector of float)
+0:178      'inU0' ( in 3-component vector of uint)
+0:178      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:179      Sequence
-0:179        move second child to first child ( temp bool)
-0:179          'r000' ( temp bool)
-0:179          all ( temp bool)
-0:179            Convert float to bool ( temp 3-component vector of bool)
-0:179              'inF0' ( in 3-component vector of float)
-0:180      Sequence
-0:180        move second child to first child ( temp 3-component vector of float)
-0:180          'r001' ( temp 3-component vector of float)
-0:180          Absolute value ( temp 3-component vector of float)
-0:180            'inF0' ( in 3-component vector of float)
 0:181      Sequence
-0:181        move second child to first child ( temp 3-component vector of float)
-0:181          'r002' ( temp 3-component vector of float)
-0:181          arc cosine ( temp 3-component vector of float)
-0:181            'inF0' ( in 3-component vector of float)
+0:181        move second child to first child ( temp bool)
+0:181          'r000' ( temp bool)
+0:181          all ( temp bool)
+0:181            Convert float to bool ( temp 3-component vector of bool)
+0:181              'inF0' ( in 3-component vector of float)
 0:182      Sequence
-0:182        move second child to first child ( temp bool)
-0:182          'r003' ( temp bool)
-0:182          any ( temp bool)
-0:182            Convert float to bool ( temp 3-component vector of bool)
-0:182              'inF0' ( in 3-component vector of float)
+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 ( 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          'r004' ( temp 3-component vector of float)
-0:183          arc sine ( temp 3-component vector of float)
+0:183          'r002' ( temp 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 3-component vector of int)
-0:184          'r005' ( temp 3-component vector of int)
-0:184          floatBitsToInt ( temp 3-component vector of int)
-0:184            'inF0' ( in 3-component vector of float)
+0:184        move second child to first child ( temp bool)
+0:184          'r003' ( temp bool)
+0:184          any ( temp bool)
+0:184            Convert float to bool ( temp 3-component vector of 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 uint)
-0:185          'r006' ( temp 3-component vector of uint)
-0:185          floatBitsToUint ( temp 3-component vector of uint)
+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 ( 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 float)
-0:186          'r007' ( temp 3-component vector of float)
-0:186          intBitsToFloat ( temp 3-component vector of float)
-0:186            'inU0' ( in 3-component vector of uint)
+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 ( 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 ( 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          'r009' ( temp 3-component vector of float)
-0:188          arc tangent ( temp 3-component vector of float)
-0:188            'inF0' ( in 3-component vector of float)
-0:189      Sequence
-0:189        move second child to first child ( temp 3-component vector of float)
-0:189          'r010' ( temp 3-component vector of float)
-0:189          arc tangent ( 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:188          'r007' ( temp 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          'r011' ( temp 3-component vector of float)
-0:190          Ceiling ( temp 3-component vector of float)
+0:190          'r009' ( temp 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          'r012' ( temp 3-component vector of float)
-0:191          clamp ( temp 3-component vector of float)
+0:191          'r010' ( temp 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:191            'inF2' ( in 3-component vector of float)
-0:192      Test condition and select ( temp void)
-0:192        Condition
-0:192        any ( temp bool)
-0:192          Compare Less Than ( temp 3-component vector of bool)
+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 ( temp 3-component vector of float)
 0:192            'inF0' ( in 3-component vector of float)
-0:192            Constant:
-0:192              0.000000
-0:192              0.000000
-0:192              0.000000
-0:192        true case
-0:192        Branch: Kill
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r013' ( temp 3-component vector of float)
-0:193          cosine ( temp 3-component vector of float)
+0:193          'r012' ( temp 3-component vector of float)
+0:193          clamp ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:194      Sequence
-0:194        move second child to first child ( temp 3-component vector of float)
-0:194          'r014' ( temp 3-component vector of float)
-0:194          hyp. cosine ( temp 3-component vector of float)
+0:193            'inF1' ( in 3-component vector of float)
+0:193            'inF2' ( in 3-component vector of float)
+0:194      Test condition and select ( temp void)
+0:194        Condition
+0:194        any ( temp bool)
+0:194          Compare Less Than ( temp 3-component vector of bool)
 0:194            'inF0' ( in 3-component vector of float)
-0:195      Sequence
-0:195        move second child to first child ( temp 3-component vector of uint)
-0:195          'r015' ( temp 3-component vector of uint)
+0:194            Constant:
+0:194              0.000000
+0:194              0.000000
+0:194              0.000000
+0:194        true case
+0:194        Branch: Kill
+0:195      Test condition and select ( temp void)
+0:195        Condition
+0:195        any ( temp bool)
+0:195          Compare Less Than ( temp 3-component vector of bool)
+0:195            'inU0' ( in 3-component vector of uint)
+0:195            Constant:
+0:195              0.000000
+0:195              0.000000
+0:195              0.000000
+0:195        true case
+0:195        Branch: Kill
+0:196      Sequence
+0:196        move second child to first child ( temp 3-component vector of float)
+0:196          'r013' ( temp 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      Sequence
+0:197        move second child to first child ( temp 3-component vector of float)
+0:197          'r014' ( temp 3-component vector of float)
+0:197          hyp. cosine ( temp 3-component vector of float)
+0:197            'inF0' ( in 3-component vector of float)
+0:198      Sequence
+0:198        move second child to first child ( temp 3-component vector of uint)
+0:198          'r015' ( temp 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:196      Sequence
-0:196        move second child to first child ( temp 3-component vector of float)
-0:196          'r016' ( temp 3-component vector of float)
-0:196          cross-product ( temp 3-component vector of float)
-0:196            'inF0' ( in 3-component vector of float)
-0:196            'inF1' ( in 3-component vector of float)
-0:197      Sequence
-0:197        move second child to first child ( temp 3-component vector of float)
-0:197          'r017' ( temp 3-component vector of float)
-0:197          dPdx ( temp 3-component vector of float)
-0:197            'inF0' ( in 3-component vector of float)
-0:198      Sequence
-0:198        move second child to first child ( temp 3-component vector of float)
-0:198          'r018' ( temp 3-component vector of float)
-0:198          dPdxCoarse ( temp 3-component vector of float)
-0:198            'inF0' ( 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          'r019' ( temp 3-component vector of float)
-0:199          dPdxFine ( temp 3-component vector of float)
+0:199          'r016' ( temp 3-component vector of float)
+0:199          cross-product ( temp 3-component vector of float)
 0:199            'inF0' ( in 3-component vector of float)
+0:199            'inF1' ( 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          'r020' ( temp 3-component vector of float)
-0:200          dPdy ( temp 3-component vector of float)
+0:200          'r017' ( temp 3-component vector of float)
+0:200          dPdx ( 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          'r021' ( temp 3-component vector of float)
-0:201          dPdyCoarse ( temp 3-component vector of float)
+0:201          'r018' ( temp 3-component vector of float)
+0:201          dPdxCoarse ( 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          'r022' ( temp 3-component vector of float)
-0:202          dPdyFine ( temp 3-component vector of float)
+0:202          'r019' ( temp 3-component vector of float)
+0:202          dPdxFine ( 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          'r023' ( temp 3-component vector of float)
-0:203          degrees ( temp 3-component vector of float)
+0:203          'r020' ( temp 3-component vector of float)
+0:203          dPdy ( 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 float)
-0:204          'r024' ( temp float)
-0:204          distance ( temp float)
+0:204        move second child to first child ( temp 3-component vector of float)
+0:204          'r021' ( temp 3-component vector of float)
+0:204          dPdyCoarse ( temp 3-component vector of float)
 0:204            'inF0' ( in 3-component vector of float)
-0:204            'inF1' ( in 3-component vector of float)
 0:205      Sequence
-0:205        move second child to first child ( temp float)
-0:205          'r025' ( temp float)
-0:205          dot-product ( temp float)
+0:205        move second child to first child ( temp 3-component vector of float)
+0:205          'r022' ( temp 3-component vector of float)
+0:205          dPdyFine ( temp 3-component vector of float)
 0:205            'inF0' ( in 3-component vector of float)
-0:205            'inF1' ( in 3-component vector of float)
-0:209      Sequence
-0:209        move second child to first child ( temp 3-component vector of float)
-0:209          'r029' ( temp 3-component vector of float)
-0:209          exp ( temp 3-component vector of float)
-0:209            'inF0' ( in 3-component vector of float)
-0:210      Sequence
-0:210        move second child to first child ( temp 3-component vector of float)
-0:210          'r030' ( temp 3-component vector of float)
-0:210          exp2 ( temp 3-component vector of float)
-0:210            'inF0' ( 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          'r031' ( temp 3-component vector of float)
-0:211          face-forward ( temp 3-component vector of float)
-0:211            'inF0' ( in 3-component vector of float)
-0:211            'inF1' ( in 3-component vector of float)
-0:211            'inF2' ( in 3-component vector of float)
+0:206      Sequence
+0:206        move second child to first child ( temp 3-component vector of float)
+0:206          'r023' ( temp 3-component vector of float)
+0:206          degrees ( temp 3-component vector of float)
+0:206            'inF0' ( in 3-component vector of float)
+0:207      Sequence
+0:207        move second child to first child ( temp float)
+0:207          'r024' ( temp float)
+0:207          distance ( temp float)
+0:207            'inF0' ( in 3-component vector of float)
+0:207            'inF1' ( in 3-component vector of float)
+0:208      Sequence
+0:208        move second child to first child ( temp float)
+0:208          'r025' ( temp float)
+0:208          dot-product ( temp float)
+0:208            'inF0' ( in 3-component vector of float)
+0:208            'inF1' ( in 3-component vector of float)
 0:212      Sequence
-0:212        move second child to first child ( temp 3-component vector of uint)
-0:212          'r032' ( temp 3-component vector of uint)
+0:212        move second child to first child ( temp 3-component vector of float)
+0:212          'r029' ( temp 3-component vector of float)
+0:212          exp ( 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          'r030' ( temp 3-component vector of float)
+0:213          exp2 ( temp 3-component vector of float)
+0:213            'inF0' ( in 3-component vector of float)
+0:214      Sequence
+0:214        move second child to first child ( temp 3-component vector of float)
+0:214          'r031' ( temp 3-component vector of float)
+0:214          face-forward ( temp 3-component vector of float)
+0:214            'inF0' ( in 3-component vector of float)
+0:214            'inF1' ( in 3-component vector of float)
+0:214            'inF2' ( in 3-component vector of float)
+0:215      Sequence
+0:215        move second child to first child ( temp 3-component vector of uint)
+0:215          'r032' ( temp 3-component vector of uint)
 0:?           findMSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:213      Sequence
-0:213        move second child to first child ( temp 3-component vector of uint)
-0:213          'r033' ( temp 3-component vector of uint)
+0:216      Sequence
+0:216        move second child to first child ( temp 3-component vector of uint)
+0:216          'r033' ( temp 3-component vector of uint)
 0:?           findLSB ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               2 (const uint)
 0:?               3 (const uint)
 0:?               4 (const uint)
-0:214      Sequence
-0:214        move second child to first child ( temp 3-component vector of float)
-0:214          'r034' ( temp 3-component vector of float)
-0:214          Floor ( temp 3-component vector of float)
-0:214            'inF0' ( in 3-component vector of float)
-0:216      Sequence
-0:216        move second child to first child ( temp 3-component vector of float)
-0:216          'r036' ( temp 3-component vector of float)
-0:216          mod ( temp 3-component vector of float)
-0:216            'inF0' ( in 3-component vector of float)
-0:216            'inF1' ( in 3-component vector of float)
 0:217      Sequence
 0:217        move second child to first child ( temp 3-component vector of float)
-0:217          'r037' ( temp 3-component vector of float)
-0:217          Fraction ( temp 3-component vector of float)
+0:217          'r034' ( temp 3-component vector of float)
+0:217          Floor ( temp 3-component vector of float)
 0:217            '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          'r039' ( temp 3-component vector of float)
-0:218          fwidth ( temp 3-component vector of float)
-0:218            'inF0' ( in 3-component vector of float)
 0:219      Sequence
-0:219        move second child to first child ( temp 3-component vector of bool)
-0:219          'r040' ( temp 3-component vector of bool)
-0:219          isinf ( temp 3-component vector of bool)
+0:219        move second child to first child ( temp 3-component vector of float)
+0:219          'r036' ( temp 3-component vector of float)
+0:219          mod ( temp 3-component vector of float)
 0:219            'inF0' ( in 3-component vector of float)
+0:219            'inF1' ( in 3-component vector of float)
 0:220      Sequence
-0:220        move second child to first child ( temp 3-component vector of bool)
-0:220          'r041' ( temp 3-component vector of bool)
-0:220          isnan ( temp 3-component vector of bool)
+0:220        move second child to first child ( temp 3-component vector of float)
+0:220          'r037' ( temp 3-component vector of float)
+0:220          Fraction ( temp 3-component vector of float)
 0:220            'inF0' ( 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          'r042' ( temp 3-component vector of float)
-0:221          ldexp ( temp 3-component vector of float)
+0:221          'r039' ( temp 3-component vector of float)
+0:221          fwidth ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
-0:221            'inF1' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of float)
-0:222          'r039a' ( temp 3-component vector of float)
-0:222          mix ( temp 3-component vector of float)
+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 ( temp 3-component vector of bool)
 0:222            'inF0' ( in 3-component vector of float)
-0:222            'inF1' ( in 3-component vector of float)
-0:222            'inF2' ( in 3-component vector of float)
 0:223      Sequence
-0:223        move second child to first child ( temp 3-component vector of float)
-0:223          'r039b' ( temp 3-component vector of float)
-0:223          mix ( temp 3-component vector of float)
+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 ( temp 3-component vector of bool)
 0:223            'inF0' ( in 3-component vector of float)
-0:223            'inF1' ( in 3-component vector of float)
-0:223            Constant:
-0:223              0.300000
 0:224      Sequence
-0:224        move second child to first child ( temp float)
-0:224          'r043' ( temp float)
-0:224          length ( temp float)
+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 ( 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          'r044' ( temp 3-component vector of float)
-0:225          log ( temp 3-component vector of float)
+0:225          'r039a' ( temp 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          'r045' ( temp 3-component vector of float)
-0:226          vector-scale ( temp 3-component vector of float)
-0:226            log2 ( temp 3-component vector of float)
-0:226              'inF0' ( in 3-component vector of float)
+0:226          'r039b' ( temp 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:
-0:226              0.301030
+0:226              0.300000
 0:227      Sequence
-0:227        move second child to first child ( temp 3-component vector of float)
-0:227          'r046' ( temp 3-component vector of float)
-0:227          log2 ( temp 3-component vector of float)
+0:227        move second child to first child ( temp float)
+0:227          'r043' ( temp 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          'r047' ( temp 3-component vector of float)
-0:228          max ( temp 3-component vector of float)
+0:228          'r044' ( temp 3-component vector of float)
+0:228          log ( temp 3-component vector of float)
 0:228            'inF0' ( in 3-component vector of float)
-0:228            'inF1' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-0:229          'r048' ( temp 3-component vector of float)
-0:229          min ( temp 3-component vector of float)
-0:229            'inF0' ( in 3-component vector of float)
-0:229            'inF1' ( in 3-component vector of float)
+0:229          'r045' ( temp 3-component vector of float)
+0:229          vector-scale ( temp 3-component vector of float)
+0:229            log2 ( temp 3-component vector of float)
+0:229              'inF0' ( in 3-component vector of float)
+0:229            Constant:
+0:229              0.301030
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r049' ( temp 3-component vector of float)
-0:230          normalize ( temp 3-component vector of float)
+0:230          'r046' ( temp 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          'r050' ( temp 3-component vector of float)
-0:231          pow ( temp 3-component vector of float)
+0:231          'r047' ( temp 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          'r051' ( temp 3-component vector of float)
-0:232          radians ( temp 3-component vector of float)
+0:232          'r048' ( temp 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          'r052' ( temp 3-component vector of float)
-0:233          divide ( temp 3-component vector of float)
-0:233            Constant:
-0:233              1.000000
+0:233          'r049' ( temp 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          'r053' ( temp 3-component vector of float)
-0:234          reflect ( temp 3-component vector of float)
+0:234          'r050' ( temp 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          'r054' ( temp 3-component vector of float)
-0:235          refract ( temp 3-component vector of float)
+0:235          'r051' ( temp 3-component vector of float)
+0:235          radians ( temp 3-component vector of float)
 0:235            'inF0' ( in 3-component vector of float)
-0:235            'inF1' ( in 3-component vector of float)
-0:235            Constant:
-0:235              2.000000
 0:236      Sequence
-0:236        move second child to first child ( temp 3-component vector of uint)
-0:236          'r055' ( temp 3-component vector of uint)
+0:236        move second child to first child ( temp 3-component vector of float)
+0:236          'r052' ( temp 3-component vector of float)
+0:236          divide ( temp 3-component vector of float)
+0:236            Constant:
+0:236              1.000000
+0:236            'inF0' ( in 3-component vector of float)
+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 ( 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 ( 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:
+0:238              2.000000
+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 ( temp 3-component vector of uint)
 0:?             Constant:
 0:?               1 (const uint)
 0:?               2 (const uint)
 0:?               3 (const uint)
-0:237      Sequence
-0:237        move second child to first child ( temp 3-component vector of float)
-0:237          'r056' ( temp 3-component vector of float)
-0:237          roundEven ( temp 3-component vector of float)
-0:237            'inF0' ( 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          'r057' ( temp 3-component vector of float)
-0:238          inverse sqrt ( temp 3-component vector of float)
-0:238            'inF0' ( in 3-component vector of float)
-0:239      Sequence
-0:239        move second child to first child ( temp 3-component vector of float)
-0:239          'r058' ( temp 3-component vector of float)
-0:239          clamp ( temp 3-component vector of float)
-0:239            'inF0' ( in 3-component vector of float)
-0:239            Constant:
-0:239              0.000000
-0:239            Constant:
-0:239              1.000000
 0:240      Sequence
 0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r059' ( temp 3-component vector of float)
-0:240          Sign ( temp 3-component vector of float)
+0:240          'r056' ( temp 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          'r060' ( temp 3-component vector of float)
-0:241          sine ( temp 3-component vector of float)
+0:241          'r057' ( temp 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)
-0:242          'inF1' ( in 3-component vector of float)
-0:242          sine ( temp 3-component vector of float)
+0:242          'r058' ( temp 3-component vector of float)
+0:242          clamp ( temp 3-component vector of float)
 0:242            'inF0' ( in 3-component vector of float)
-0:242        move second child to first child ( temp 3-component vector of float)
-0:242          'inF2' ( in 3-component vector of float)
-0:242          cosine ( temp 3-component vector of float)
-0:242            'inF0' ( in 3-component vector of float)
+0:242            Constant:
+0:242              0.000000
+0:242            Constant:
+0:242              1.000000
 0:243      Sequence
 0:243        move second child to first child ( temp 3-component vector of float)
-0:243          'r061' ( temp 3-component vector of float)
-0:243          hyp. sine ( temp 3-component vector of float)
+0:243          'r059' ( temp 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          'r062' ( temp 3-component vector of float)
-0:244          smoothstep ( temp 3-component vector of float)
+0:244          'r060' ( temp 3-component vector of float)
+0:244          sine ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
-0:244            'inF1' ( in 3-component vector of float)
-0:244            'inF2' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'r063' ( temp 3-component vector of float)
-0:245          sqrt ( temp 3-component vector of float)
+0:245          'inF1' ( in 3-component vector of float)
+0:245          sine ( temp 3-component vector of float)
+0:245            'inF0' ( in 3-component vector of float)
+0:245        move second child to first child ( temp 3-component vector of float)
+0:245          'inF2' ( in 3-component vector of float)
+0:245          cosine ( temp 3-component vector of float)
 0:245            'inF0' ( in 3-component vector of float)
 0:246      Sequence
 0:246        move second child to first child ( temp 3-component vector of float)
-0:246          'r064' ( temp 3-component vector of float)
-0:246          step ( temp 3-component vector of float)
+0:246          'r061' ( temp 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:246            'inF1' ( 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          'r065' ( temp 3-component vector of float)
-0:247          tangent ( temp 3-component vector of float)
+0:247          'r062' ( temp 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          'r066' ( temp 3-component vector of float)
-0:248          hyp. tangent ( temp 3-component vector of float)
+0:248          'r063' ( temp 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 ( 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          'r067' ( temp 3-component vector of float)
-0:250          trunc ( temp 3-component vector of float)
+0:250          'r065' ( temp 3-component vector of float)
+0:250          tangent ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
-0:253      Branch: Return with expression
+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 ( 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 ( temp 3-component vector of float)
+0:253            'inF0' ( in 3-component vector of float)
+0:256      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-0:257  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
-0:257    Function Parameters: 
-0:257      'inF0' ( in 4-component vector of float)
-0:257      'inF1' ( in 4-component vector of float)
-0:257      'inF2' ( in 4-component vector of float)
-0:257      'inU0' ( in 4-component vector of uint)
-0:257      'inU1' ( in 4-component vector of uint)
+0:260  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:260    Function Parameters: 
+0:260      'inF0' ( in 4-component vector of float)
+0:260      'inF1' ( in 4-component vector of float)
+0:260      'inF2' ( in 4-component vector of float)
+0:260      'inU0' ( in 4-component vector of uint)
+0:260      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:260      Sequence
-0:260        move second child to first child ( temp bool)
-0:260          'r000' ( temp bool)
-0:260          all ( temp bool)
-0:260            Convert float to bool ( temp 4-component vector of bool)
-0:260              'inF0' ( in 4-component vector of float)
-0:261      Sequence
-0:261        move second child to first child ( temp 4-component vector of float)
-0:261          'r001' ( temp 4-component vector of float)
-0:261          Absolute value ( temp 4-component vector of float)
-0:261            'inF0' ( in 4-component vector of float)
-0:262      Sequence
-0:262        move second child to first child ( temp 4-component vector of float)
-0:262          'r002' ( temp 4-component vector of float)
-0:262          arc cosine ( temp 4-component vector of float)
-0:262            'inF0' ( in 4-component vector of float)
 0:263      Sequence
 0:263        move second child to first child ( temp bool)
-0:263          'r003' ( temp bool)
-0:263          any ( temp bool)
+0:263          'r000' ( temp bool)
+0:263          all ( temp bool)
 0:263            Convert float to bool ( temp 4-component vector of 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          'r004' ( temp 4-component vector of float)
-0:264          arc sine ( temp 4-component vector of float)
+0:264          'r001' ( temp 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 int)
-0:265          'r005' ( temp 4-component vector of int)
-0:265          floatBitsToInt ( temp 4-component vector of int)
+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 ( 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 4-component vector of uint)
-0:266          'r006' ( temp 4-component vector of uint)
-0:266          floatBitsToUint ( temp 4-component vector of uint)
-0:266            'inF0' ( in 4-component vector of float)
+0:266        move second child to first child ( temp bool)
+0:266          'r003' ( temp bool)
+0:266          any ( temp bool)
+0:266            Convert float to bool ( temp 4-component vector of 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          'r007' ( temp 4-component vector of float)
-0:267          intBitsToFloat ( temp 4-component vector of float)
-0:267            'inU0' ( in 4-component vector of uint)
+0:267          'r004' ( temp 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 ( 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 float)
-0:269          'r009' ( temp 4-component vector of float)
-0:269          arc tangent ( temp 4-component vector of float)
+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 ( 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          'r010' ( temp 4-component vector of float)
-0:270          arc tangent ( temp 4-component vector of float)
-0:270            'inF0' ( in 4-component vector of float)
-0:270            'inF1' ( in 4-component vector of float)
-0:271      Sequence
-0:271        move second child to first child ( temp 4-component vector of float)
-0:271          'r011' ( temp 4-component vector of float)
-0:271          Ceiling ( temp 4-component vector of float)
-0:271            'inF0' ( in 4-component vector of float)
+0:270          'r007' ( temp 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          'r012' ( temp 4-component vector of float)
-0:272          clamp ( temp 4-component vector of float)
+0:272          'r009' ( temp 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:272            'inF1' ( in 4-component vector of float)
-0:272            'inF2' ( in 4-component vector of float)
-0:273      Test condition and select ( temp void)
-0:273        Condition
-0:273        any ( temp bool)
-0:273          Compare Less Than ( temp 4-component vector of bool)
+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 ( temp 4-component vector of float)
 0:273            'inF0' ( in 4-component vector of float)
-0:273            Constant:
-0:273              0.000000
-0:273              0.000000
-0:273              0.000000
-0:273              0.000000
-0:273        true case
-0:273        Branch: Kill
+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          'r013' ( temp 4-component vector of float)
-0:274          cosine ( temp 4-component vector of float)
+0:274          'r011' ( temp 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          'r014' ( temp 4-component vector of float)
-0:275          hyp. cosine ( temp 4-component vector of float)
+0:275          'r012' ( temp 4-component vector of float)
+0:275          clamp ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:276      Sequence
-0:276        move second child to first child ( temp 4-component vector of uint)
-0:276          'r015' ( temp 4-component vector of uint)
+0:275            'inF1' ( in 4-component vector of float)
+0:275            'inF2' ( in 4-component vector of float)
+0:276      Test condition and select ( temp void)
+0:276        Condition
+0:276        any ( temp bool)
+0:276          Compare Less Than ( temp 4-component vector of bool)
+0:276            'inF0' ( in 4-component vector of float)
+0:276            Constant:
+0:276              0.000000
+0:276              0.000000
+0:276              0.000000
+0:276              0.000000
+0:276        true case
+0:276        Branch: Kill
+0:277      Test condition and select ( temp void)
+0:277        Condition
+0:277        any ( temp bool)
+0:277          Compare Less Than ( temp 4-component vector of bool)
+0:277            'inU0' ( in 4-component vector of uint)
+0:277            Constant:
+0:277              0.000000
+0:277              0.000000
+0:277              0.000000
+0:277              0.000000
+0:277        true case
+0:277        Branch: Kill
+0:278      Sequence
+0:278        move second child to first child ( temp 4-component vector of float)
+0:278          'r013' ( temp 4-component vector of float)
+0:278          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 float)
+0:279          'r014' ( temp 4-component vector of float)
+0:279          hyp. cosine ( temp 4-component vector of float)
+0:279            'inF0' ( in 4-component vector of float)
+0:280      Sequence
+0:280        move second child to first child ( temp 4-component vector of uint)
+0:280          'r015' ( temp 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:277      Sequence
-0:277        move second child to first child ( temp 4-component vector of float)
-0:277          'r016' ( temp 4-component vector of float)
-0:277          dPdx ( 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          'r017' ( temp 4-component vector of float)
-0:278          dPdxCoarse ( 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 float)
-0:279          'r018' ( temp 4-component vector of float)
-0:279          dPdxFine ( temp 4-component vector of float)
-0:279            'inF0' ( in 4-component vector of float)
-0:280      Sequence
-0:280        move second child to first child ( temp 4-component vector of float)
-0:280          'r019' ( temp 4-component vector of float)
-0:280          dPdy ( 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          'r020' ( temp 4-component vector of float)
-0:281          dPdyCoarse ( temp 4-component vector of float)
+0:281          'r016' ( temp 4-component vector of float)
+0:281          dPdx ( 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          'r021' ( temp 4-component vector of float)
-0:282          dPdyFine ( temp 4-component vector of float)
+0:282          'r017' ( temp 4-component vector of float)
+0:282          dPdxCoarse ( 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          'r022' ( temp 4-component vector of float)
-0:283          degrees ( temp 4-component vector of float)
+0:283          'r018' ( temp 4-component vector of float)
+0:283          dPdxFine ( 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 float)
-0:284          'r023' ( temp float)
-0:284          distance ( temp float)
+0:284        move second child to first child ( temp 4-component vector of float)
+0:284          'r019' ( temp 4-component vector of float)
+0:284          dPdy ( temp 4-component vector of float)
 0:284            'inF0' ( in 4-component vector of float)
-0:284            'inF1' ( in 4-component vector of float)
 0:285      Sequence
-0:285        move second child to first child ( temp float)
-0:285          'r024' ( temp float)
-0:285          dot-product ( temp float)
+0:285        move second child to first child ( temp 4-component vector of float)
+0:285          'r020' ( temp 4-component vector of float)
+0:285          dPdyCoarse ( temp 4-component vector of float)
 0:285            'inF0' ( in 4-component vector of float)
-0:285            'inF1' ( 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          'r025' ( temp 4-component vector of float)
-0:286          Construct vec4 ( temp 4-component vector of float)
-0:286            Constant:
-0:286              1.000000
-0:286            component-wise multiply ( temp float)
-0:286              direct index ( temp float)
-0:286                'inF0' ( in 4-component vector of float)
-0:286                Constant:
-0:286                  1 (const int)
-0:286              direct index ( temp float)
-0:286                'inF1' ( in 4-component vector of float)
-0:286                Constant:
-0:286                  1 (const int)
-0:286            direct index ( temp float)
-0:286              'inF0' ( in 4-component vector of float)
-0:286              Constant:
-0:286                2 (const int)
-0:286            direct index ( temp float)
-0:286              'inF1' ( in 4-component vector of float)
-0:286              Constant:
-0:286                3 (const int)
+0:286          'r021' ( temp 4-component vector of float)
+0:286          dPdyFine ( 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 4-component vector of float)
+0:287          'r022' ( temp 4-component vector of float)
+0:287          degrees ( temp 4-component vector of float)
+0:287            'inF0' ( in 4-component vector of float)
+0:288      Sequence
+0:288        move second child to first child ( temp float)
+0:288          'r023' ( temp float)
+0:288          distance ( temp float)
+0:288            'inF0' ( in 4-component vector of float)
+0:288            'inF1' ( in 4-component vector of float)
+0:289      Sequence
+0:289        move second child to first child ( temp float)
+0:289          'r024' ( temp float)
+0:289          dot-product ( temp float)
+0:289            'inF0' ( in 4-component vector of float)
+0:289            'inF1' ( in 4-component vector of float)
 0:290      Sequence
 0:290        move second child to first child ( temp 4-component vector of float)
-0:290          'r029' ( temp 4-component vector of float)
-0:290          exp ( temp 4-component vector of float)
-0:290            'inF0' ( in 4-component vector of float)
-0:291      Sequence
-0:291        move second child to first child ( temp 4-component vector of float)
-0:291          'r030' ( temp 4-component vector of float)
-0:291          exp2 ( temp 4-component vector of float)
-0:291            'inF0' ( in 4-component vector of float)
-0:292      Sequence
-0:292        move second child to first child ( temp 4-component vector of float)
-0:292          'r031' ( temp 4-component vector of float)
-0:292          face-forward ( temp 4-component vector of float)
-0:292            'inF0' ( in 4-component vector of float)
-0:292            'inF1' ( in 4-component vector of float)
-0:292            'inF2' ( in 4-component vector of float)
-0:293      Sequence
-0:293        move second child to first child ( temp 4-component vector of uint)
-0:293          'r032' ( temp 4-component vector of uint)
+0:290          'r025' ( temp 4-component vector of float)
+0:290          Construct vec4 ( temp 4-component vector of float)
+0:290            Constant:
+0:290              1.000000
+0:290            component-wise multiply ( temp float)
+0:290              direct index ( temp float)
+0:290                'inF0' ( in 4-component vector of float)
+0:290                Constant:
+0:290                  1 (const int)
+0:290              direct index ( temp float)
+0:290                'inF1' ( in 4-component vector of float)
+0:290                Constant:
+0:290                  1 (const int)
+0:290            direct index ( temp float)
+0:290              'inF0' ( in 4-component vector of float)
+0:290              Constant:
+0:290                2 (const int)
+0:290            direct index ( temp float)
+0:290              'inF1' ( in 4-component vector of float)
+0:290              Constant:
+0:290                3 (const int)
+0:294      Sequence
+0:294        move second child to first child ( temp 4-component vector of float)
+0:294          'r029' ( temp 4-component vector of float)
+0:294          exp ( 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          'r030' ( temp 4-component vector of float)
+0:295          exp2 ( temp 4-component vector of float)
+0:295            'inF0' ( in 4-component vector of float)
+0:296      Sequence
+0:296        move second child to first child ( temp 4-component vector of float)
+0:296          'r031' ( temp 4-component vector of float)
+0:296          face-forward ( temp 4-component vector of float)
+0:296            'inF0' ( in 4-component vector of float)
+0:296            'inF1' ( in 4-component vector of float)
+0:296            'inF2' ( in 4-component vector of float)
+0:297      Sequence
+0:297        move second child to first child ( temp 4-component vector of uint)
+0:297          'r032' ( temp 4-component vector of uint)
 0:?           findMSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:294      Sequence
-0:294        move second child to first child ( temp 4-component vector of uint)
-0:294          'r033' ( temp 4-component vector of uint)
+0:298      Sequence
+0:298        move second child to first child ( temp 4-component vector of uint)
+0:298          'r033' ( temp 4-component vector of uint)
 0:?           findLSB ( temp 4-component vector of uint)
 0:?             Constant:
 0:?               7 (const uint)
 0:?               8 (const uint)
 0:?               9 (const uint)
 0:?               10 (const uint)
-0:295      Sequence
-0:295        move second child to first child ( temp 4-component vector of float)
-0:295          'r034' ( temp 4-component vector of float)
-0:295          Floor ( temp 4-component vector of float)
-0:295            'inF0' ( in 4-component vector of float)
-0:297      Sequence
-0:297        move second child to first child ( temp 4-component vector of float)
-0:297          'r036' ( temp 4-component vector of float)
-0:297          mod ( temp 4-component vector of float)
-0:297            'inF0' ( in 4-component vector of float)
-0:297            'inF1' ( in 4-component vector of float)
-0:298      Sequence
-0:298        move second child to first child ( temp 4-component vector of float)
-0:298          'r037' ( temp 4-component vector of float)
-0:298          Fraction ( temp 4-component vector of float)
-0:298            'inF0' ( in 4-component vector of float)
 0:299      Sequence
 0:299        move second child to first child ( temp 4-component vector of float)
-0:299          'r039' ( temp 4-component vector of float)
-0:299          fwidth ( temp 4-component vector of float)
+0:299          'r034' ( temp 4-component vector of float)
+0:299          Floor ( temp 4-component vector of float)
 0:299            'inF0' ( in 4-component vector of float)
-0:300      Sequence
-0:300        move second child to first child ( temp 4-component vector of bool)
-0:300          'r040' ( temp 4-component vector of bool)
-0:300          isinf ( temp 4-component vector of bool)
-0:300            'inF0' ( in 4-component vector of float)
 0:301      Sequence
-0:301        move second child to first child ( temp 4-component vector of bool)
-0:301          'r041' ( temp 4-component vector of bool)
-0:301          isnan ( temp 4-component vector of bool)
+0:301        move second child to first child ( temp 4-component vector of float)
+0:301          'r036' ( temp 4-component vector of float)
+0:301          mod ( temp 4-component vector of float)
 0:301            'inF0' ( in 4-component vector of float)
+0:301            'inF1' ( 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          'r042' ( temp 4-component vector of float)
-0:302          ldexp ( temp 4-component vector of float)
+0:302          'r037' ( temp 4-component vector of float)
+0:302          Fraction ( 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          'r039a' ( temp 4-component vector of float)
-0:303          mix ( temp 4-component vector of float)
+0:303          'r039' ( temp 4-component vector of float)
+0:303          fwidth ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
-0:303            'inF1' ( in 4-component vector of float)
-0:303            'inF2' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp float)
-0:304          'r043' ( temp float)
-0:304          length ( temp float)
+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 ( 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 float)
-0:305          'r044' ( temp 4-component vector of float)
-0:305          log ( temp 4-component vector of float)
+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 ( 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          'r045' ( temp 4-component vector of float)
-0:306          vector-scale ( temp 4-component vector of float)
-0:306            log2 ( temp 4-component vector of float)
-0:306              'inF0' ( in 4-component vector of float)
-0:306            Constant:
-0:306              0.301030
+0:306          'r042' ( temp 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          'r046' ( temp 4-component vector of float)
-0:307          log2 ( temp 4-component vector of float)
+0:307          'r039a' ( temp 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 4-component vector of float)
-0:308          'r047' ( temp 4-component vector of float)
-0:308          max ( temp 4-component vector of float)
+0:308        move second child to first child ( temp float)
+0:308          'r043' ( temp float)
+0:308          length ( temp float)
 0:308            'inF0' ( in 4-component vector of float)
-0:308            'inF1' ( 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          'r048' ( temp 4-component vector of float)
-0:309          min ( temp 4-component vector of float)
+0:309          'r044' ( temp 4-component vector of float)
+0:309          log ( temp 4-component vector of float)
 0:309            'inF0' ( in 4-component vector of float)
-0:309            'inF1' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-0:310          'r049' ( temp 4-component vector of float)
-0:310          normalize ( temp 4-component vector of float)
-0:310            'inF0' ( in 4-component vector of float)
+0:310          'r045' ( temp 4-component vector of float)
+0:310          vector-scale ( temp 4-component vector of float)
+0:310            log2 ( temp 4-component vector of float)
+0:310              'inF0' ( in 4-component vector of float)
+0:310            Constant:
+0:310              0.301030
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r050' ( temp 4-component vector of float)
-0:311          pow ( temp 4-component vector of float)
+0:311          'r046' ( temp 4-component vector of float)
+0:311          log2 ( temp 4-component vector of float)
 0:311            'inF0' ( in 4-component vector of float)
-0:311            'inF1' ( 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          'r051' ( temp 4-component vector of float)
-0:312          radians ( temp 4-component vector of float)
+0:312          'r047' ( temp 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          'r052' ( temp 4-component vector of float)
-0:313          divide ( temp 4-component vector of float)
-0:313            Constant:
-0:313              1.000000
+0:313          'r048' ( temp 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          'r053' ( temp 4-component vector of float)
-0:314          reflect ( temp 4-component vector of float)
+0:314          'r049' ( temp 4-component vector of float)
+0:314          normalize ( temp 4-component vector of float)
 0:314            'inF0' ( in 4-component vector of float)
-0:314            'inF1' ( 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          'r054' ( temp 4-component vector of float)
-0:315          refract ( temp 4-component vector of float)
+0:315          'r050' ( temp 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:315            Constant:
-0:315              2.000000
 0:316      Sequence
-0:316        move second child to first child ( temp 4-component vector of uint)
-0:316          'r055' ( temp 4-component vector of uint)
+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 ( 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)
+0:317          'r052' ( temp 4-component vector of float)
+0:317          divide ( temp 4-component vector of float)
+0:317            Constant:
+0:317              1.000000
+0:317            'inF0' ( in 4-component vector of float)
+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 ( 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 ( 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:
+0:319              2.000000
+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 ( 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:317      Sequence
-0:317        move second child to first child ( temp 4-component vector of float)
-0:317          'r056' ( temp 4-component vector of float)
-0:317          roundEven ( temp 4-component vector of float)
-0:317            'inF0' ( in 4-component vector of float)
-0:318      Sequence
-0:318        move second child to first child ( temp 4-component vector of float)
-0:318          'r057' ( temp 4-component vector of float)
-0:318          inverse sqrt ( temp 4-component vector of float)
-0:318            'inF0' ( 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          'r058' ( temp 4-component vector of float)
-0:319          clamp ( temp 4-component vector of float)
-0:319            'inF0' ( in 4-component vector of float)
-0:319            Constant:
-0:319              0.000000
-0:319            Constant:
-0:319              1.000000
-0:320      Sequence
-0:320        move second child to first child ( temp 4-component vector of float)
-0:320          'r059' ( temp 4-component vector of float)
-0:320          Sign ( temp 4-component vector of float)
-0:320            'inF0' ( in 4-component vector of float)
 0:321      Sequence
 0:321        move second child to first child ( temp 4-component vector of float)
-0:321          'r060' ( temp 4-component vector of float)
-0:321          sine ( temp 4-component vector of float)
+0:321          'r056' ( temp 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          'inF1' ( in 4-component vector of float)
-0:322          sine ( temp 4-component vector of float)
-0:322            'inF0' ( in 4-component vector of float)
-0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'inF2' ( in 4-component vector of float)
-0:322          cosine ( temp 4-component vector of float)
+0:322          'r057' ( temp 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)
-0:323          'r061' ( temp 4-component vector of float)
-0:323          hyp. sine ( temp 4-component vector of float)
+0:323          'r058' ( temp 4-component vector of float)
+0:323          clamp ( temp 4-component vector of float)
 0:323            'inF0' ( in 4-component vector of float)
+0:323            Constant:
+0:323              0.000000
+0:323            Constant:
+0:323              1.000000
 0:324      Sequence
 0:324        move second child to first child ( temp 4-component vector of float)
-0:324          'r062' ( temp 4-component vector of float)
-0:324          smoothstep ( temp 4-component vector of float)
+0:324          'r059' ( temp 4-component vector of float)
+0:324          Sign ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
-0:324            'inF1' ( in 4-component vector of float)
-0:324            'inF2' ( 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          'r063' ( temp 4-component vector of float)
-0:325          sqrt ( temp 4-component vector of float)
+0:325          'r060' ( temp 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)
-0:326          'r064' ( temp 4-component vector of float)
-0:326          step ( temp 4-component vector of float)
+0:326          'inF1' ( in 4-component vector of float)
+0:326          sine ( temp 4-component vector of float)
 0:326            'inF0' ( in 4-component vector of float)
-0:326            'inF1' ( in 4-component vector of float)
+0:326        move second child to first child ( temp 4-component vector of float)
+0:326          'inF2' ( in 4-component vector of float)
+0:326          cosine ( temp 4-component vector of float)
+0:326            'inF0' ( in 4-component vector of float)
 0:327      Sequence
 0:327        move second child to first child ( temp 4-component vector of float)
-0:327          'r065' ( temp 4-component vector of float)
-0:327          tangent ( temp 4-component vector of float)
+0:327          'r061' ( temp 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          'r066' ( temp 4-component vector of float)
-0:328          hyp. tangent ( temp 4-component vector of float)
+0:328          'r062' ( temp 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 ( 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          'r067' ( temp 4-component vector of float)
-0:330          trunc ( temp 4-component vector of float)
+0:330          'r064' ( temp 4-component vector of float)
+0:330          step ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:333      Branch: Return with expression
+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 ( 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 ( 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 ( temp 4-component vector of float)
+0:334            'inF0' ( in 4-component vector of float)
+0:337      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-0:396  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
-0:396    Function Parameters: 
-0:396      'inF0' ( in 2X2 matrix of float)
-0:396      'inF1' ( in 2X2 matrix of float)
-0:396      'inF2' ( in 2X2 matrix of float)
+0:400  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:400    Function Parameters: 
+0:400      'inF0' ( in 2X2 matrix of float)
+0:400      'inF1' ( in 2X2 matrix of float)
+0:400      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-0:398      Sequence
-0:398        move second child to first child ( temp bool)
-0:398          'r000' ( temp bool)
-0:398          all ( temp bool)
-0:398            Convert float to bool ( temp 2X2 matrix of bool)
-0:398              'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r001' ( temp 2X2 matrix of float)
-0:398          Absolute value ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      arc cosine ( temp 2X2 matrix of float)
-0:398        'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp bool)
-0:398          'r003' ( temp bool)
-0:398          any ( temp bool)
-0:398            Convert float to bool ( temp 2X2 matrix of bool)
-0:398              'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r004' ( temp 2X2 matrix of float)
-0:398          arc sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r005' ( temp 2X2 matrix of float)
-0:398          arc tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r006' ( temp 2X2 matrix of float)
-0:398          arc tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r007' ( temp 2X2 matrix of float)
-0:398          Ceiling ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Test condition and select ( temp void)
-0:398        Condition
-0:398        any ( temp bool)
-0:398          Compare Less Than ( temp 2X2 matrix of bool)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            Constant:
-0:398              0.000000
-0:398              0.000000
-0:398              0.000000
-0:398              0.000000
-0:398        true case
-0:398        Branch: Kill
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r008' ( temp 2X2 matrix of float)
-0:398          clamp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398            'inF2' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r009' ( temp 2X2 matrix of float)
-0:398          cosine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r010' ( temp 2X2 matrix of float)
-0:398          hyp. cosine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r011' ( temp 2X2 matrix of float)
-0:398          dPdx ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r012' ( temp 2X2 matrix of float)
-0:398          dPdxCoarse ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r013' ( temp 2X2 matrix of float)
-0:398          dPdxFine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r014' ( temp 2X2 matrix of float)
-0:398          dPdy ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r015' ( temp 2X2 matrix of float)
-0:398          dPdyCoarse ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r016' ( temp 2X2 matrix of float)
-0:398          dPdyFine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r017' ( temp 2X2 matrix of float)
-0:398          degrees ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp float)
-0:398          'r018' ( temp float)
-0:398          determinant ( temp float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r019' ( temp 2X2 matrix of float)
-0:398          exp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'R020' ( temp 2X2 matrix of float)
-0:398          exp2 ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r021' ( temp 2X2 matrix of float)
-0:398          Floor ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r022' ( temp 2X2 matrix of float)
-0:398          mod ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r023' ( temp 2X2 matrix of float)
-0:398          Fraction ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r025' ( temp 2X2 matrix of float)
-0:398          fwidth ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r026' ( temp 2X2 matrix of float)
-0:398          ldexp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r026a' ( temp 2X2 matrix of float)
-0:398          mix ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398            'inF2' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r027' ( temp 2X2 matrix of float)
-0:398          log ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r028' ( temp 2X2 matrix of float)
-0:398          matrix-scale ( temp 2X2 matrix of float)
-0:398            log2 ( temp 2X2 matrix of float)
-0:398              'inF0' ( in 2X2 matrix of float)
-0:398            Constant:
-0:398              0.301030
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r029' ( temp 2X2 matrix of float)
-0:398          log2 ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r030' ( temp 2X2 matrix of float)
-0:398          max ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r031' ( temp 2X2 matrix of float)
-0:398          min ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r032' ( temp 2X2 matrix of float)
-0:398          pow ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r033' ( temp 2X2 matrix of float)
-0:398          radians ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r034' ( temp 2X2 matrix of float)
-0:398          roundEven ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r035' ( temp 2X2 matrix of float)
-0:398          inverse sqrt ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r036' ( temp 2X2 matrix of float)
-0:398          clamp ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            Constant:
-0:398              0.000000
-0:398            Constant:
-0:398              1.000000
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r037' ( temp 2X2 matrix of float)
-0:398          Sign ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r038' ( temp 2X2 matrix of float)
-0:398          sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'inF1' ( in 2X2 matrix of float)
-0:398          sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'inF2' ( in 2X2 matrix of float)
-0:398          cosine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r039' ( temp 2X2 matrix of float)
-0:398          hyp. sine ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r049' ( temp 2X2 matrix of float)
-0:398          smoothstep ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398            'inF2' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r041' ( temp 2X2 matrix of float)
-0:398          sqrt ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r042' ( temp 2X2 matrix of float)
-0:398          step ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398            'inF1' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r043' ( temp 2X2 matrix of float)
-0:398          tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r044' ( temp 2X2 matrix of float)
-0:398          hyp. tangent ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:398      transpose ( temp 2X2 matrix of float)
-0:398        'inF0' ( in 2X2 matrix of float)
-0:398      Sequence
-0:398        move second child to first child ( temp 2X2 matrix of float)
-0:398          'r046' ( temp 2X2 matrix of float)
-0:398          trunc ( temp 2X2 matrix of float)
-0:398            'inF0' ( in 2X2 matrix of float)
-0:401      Branch: Return with expression
+0:402      Sequence
+0:402        move second child to first child ( temp bool)
+0:402          'r000' ( temp bool)
+0:402          all ( temp bool)
+0:402            Convert float to bool ( temp 2X2 matrix of bool)
+0:402              'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r001' ( temp 2X2 matrix of float)
+0:402          Absolute value ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      arc cosine ( temp 2X2 matrix of float)
+0:402        'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp bool)
+0:402          'r003' ( temp bool)
+0:402          any ( temp bool)
+0:402            Convert float to bool ( temp 2X2 matrix of bool)
+0:402              'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r004' ( temp 2X2 matrix of float)
+0:402          arc sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r005' ( temp 2X2 matrix of float)
+0:402          arc tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r006' ( temp 2X2 matrix of float)
+0:402          arc tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r007' ( temp 2X2 matrix of float)
+0:402          Ceiling ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Test condition and select ( temp void)
+0:402        Condition
+0:402        any ( temp bool)
+0:402          Compare Less Than ( temp 2X2 matrix of bool)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            Constant:
+0:402              0.000000
+0:402              0.000000
+0:402              0.000000
+0:402              0.000000
+0:402        true case
+0:402        Branch: Kill
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r008' ( temp 2X2 matrix of float)
+0:402          clamp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402            'inF2' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r009' ( temp 2X2 matrix of float)
+0:402          cosine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r010' ( temp 2X2 matrix of float)
+0:402          hyp. cosine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r011' ( temp 2X2 matrix of float)
+0:402          dPdx ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r012' ( temp 2X2 matrix of float)
+0:402          dPdxCoarse ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r013' ( temp 2X2 matrix of float)
+0:402          dPdxFine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r014' ( temp 2X2 matrix of float)
+0:402          dPdy ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r015' ( temp 2X2 matrix of float)
+0:402          dPdyCoarse ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r016' ( temp 2X2 matrix of float)
+0:402          dPdyFine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r017' ( temp 2X2 matrix of float)
+0:402          degrees ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp float)
+0:402          'r018' ( temp float)
+0:402          determinant ( temp float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r019' ( temp 2X2 matrix of float)
+0:402          exp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'R020' ( temp 2X2 matrix of float)
+0:402          exp2 ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r021' ( temp 2X2 matrix of float)
+0:402          Floor ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r022' ( temp 2X2 matrix of float)
+0:402          mod ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r023' ( temp 2X2 matrix of float)
+0:402          Fraction ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r025' ( temp 2X2 matrix of float)
+0:402          fwidth ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r026' ( temp 2X2 matrix of float)
+0:402          ldexp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r026a' ( temp 2X2 matrix of float)
+0:402          mix ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402            'inF2' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r027' ( temp 2X2 matrix of float)
+0:402          log ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r028' ( temp 2X2 matrix of float)
+0:402          matrix-scale ( temp 2X2 matrix of float)
+0:402            log2 ( temp 2X2 matrix of float)
+0:402              'inF0' ( in 2X2 matrix of float)
+0:402            Constant:
+0:402              0.301030
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r029' ( temp 2X2 matrix of float)
+0:402          log2 ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r030' ( temp 2X2 matrix of float)
+0:402          max ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r031' ( temp 2X2 matrix of float)
+0:402          min ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r032' ( temp 2X2 matrix of float)
+0:402          pow ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r033' ( temp 2X2 matrix of float)
+0:402          radians ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r034' ( temp 2X2 matrix of float)
+0:402          roundEven ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r035' ( temp 2X2 matrix of float)
+0:402          inverse sqrt ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r036' ( temp 2X2 matrix of float)
+0:402          clamp ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            Constant:
+0:402              0.000000
+0:402            Constant:
+0:402              1.000000
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r037' ( temp 2X2 matrix of float)
+0:402          Sign ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r038' ( temp 2X2 matrix of float)
+0:402          sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'inF1' ( in 2X2 matrix of float)
+0:402          sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'inF2' ( in 2X2 matrix of float)
+0:402          cosine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r039' ( temp 2X2 matrix of float)
+0:402          hyp. sine ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r049' ( temp 2X2 matrix of float)
+0:402          smoothstep ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402            'inF2' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r041' ( temp 2X2 matrix of float)
+0:402          sqrt ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r042' ( temp 2X2 matrix of float)
+0:402          step ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402            'inF1' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r043' ( temp 2X2 matrix of float)
+0:402          tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r044' ( temp 2X2 matrix of float)
+0:402          hyp. tangent ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:402      transpose ( temp 2X2 matrix of float)
+0:402        'inF0' ( in 2X2 matrix of float)
+0:402      Sequence
+0:402        move second child to first child ( temp 2X2 matrix of float)
+0:402          'r046' ( temp 2X2 matrix of float)
+0:402          trunc ( temp 2X2 matrix of float)
+0:402            'inF0' ( in 2X2 matrix of float)
+0:405      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-0:405  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
-0:405    Function Parameters: 
-0:405      'inF0' ( in 3X3 matrix of float)
-0:405      'inF1' ( in 3X3 matrix of float)
-0:405      'inF2' ( in 3X3 matrix of float)
+0:409  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:409    Function Parameters: 
+0:409      'inF0' ( in 3X3 matrix of float)
+0:409      'inF1' ( in 3X3 matrix of float)
+0:409      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-0:407      Sequence
-0:407        move second child to first child ( temp bool)
-0:407          'r000' ( temp bool)
-0:407          all ( temp bool)
-0:407            Convert float to bool ( temp 3X3 matrix of bool)
-0:407              'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r001' ( temp 3X3 matrix of float)
-0:407          Absolute value ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      arc cosine ( temp 3X3 matrix of float)
-0:407        'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp bool)
-0:407          'r003' ( temp bool)
-0:407          any ( temp bool)
-0:407            Convert float to bool ( temp 3X3 matrix of bool)
-0:407              'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r004' ( temp 3X3 matrix of float)
-0:407          arc sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r005' ( temp 3X3 matrix of float)
-0:407          arc tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r006' ( temp 3X3 matrix of float)
-0:407          arc tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r007' ( temp 3X3 matrix of float)
-0:407          Ceiling ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Test condition and select ( temp void)
-0:407        Condition
-0:407        any ( temp bool)
-0:407          Compare Less Than ( temp 3X3 matrix of bool)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            Constant:
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407              0.000000
-0:407        true case
-0:407        Branch: Kill
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r008' ( temp 3X3 matrix of float)
-0:407          clamp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407            'inF2' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r009' ( temp 3X3 matrix of float)
-0:407          cosine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r010' ( temp 3X3 matrix of float)
-0:407          hyp. cosine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r011' ( temp 3X3 matrix of float)
-0:407          dPdx ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r012' ( temp 3X3 matrix of float)
-0:407          dPdxCoarse ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r013' ( temp 3X3 matrix of float)
-0:407          dPdxFine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r014' ( temp 3X3 matrix of float)
-0:407          dPdy ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r015' ( temp 3X3 matrix of float)
-0:407          dPdyCoarse ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r016' ( temp 3X3 matrix of float)
-0:407          dPdyFine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r017' ( temp 3X3 matrix of float)
-0:407          degrees ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp float)
-0:407          'r018' ( temp float)
-0:407          determinant ( temp float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r019' ( temp 3X3 matrix of float)
-0:407          exp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'R020' ( temp 3X3 matrix of float)
-0:407          exp2 ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r021' ( temp 3X3 matrix of float)
-0:407          Floor ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r022' ( temp 3X3 matrix of float)
-0:407          mod ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r023' ( temp 3X3 matrix of float)
-0:407          Fraction ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r025' ( temp 3X3 matrix of float)
-0:407          fwidth ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r026' ( temp 3X3 matrix of float)
-0:407          ldexp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r026a' ( temp 3X3 matrix of float)
-0:407          mix ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407            'inF2' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r027' ( temp 3X3 matrix of float)
-0:407          log ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r028' ( temp 3X3 matrix of float)
-0:407          matrix-scale ( temp 3X3 matrix of float)
-0:407            log2 ( temp 3X3 matrix of float)
-0:407              'inF0' ( in 3X3 matrix of float)
-0:407            Constant:
-0:407              0.301030
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r029' ( temp 3X3 matrix of float)
-0:407          log2 ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r030' ( temp 3X3 matrix of float)
-0:407          max ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r031' ( temp 3X3 matrix of float)
-0:407          min ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r032' ( temp 3X3 matrix of float)
-0:407          pow ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r033' ( temp 3X3 matrix of float)
-0:407          radians ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r034' ( temp 3X3 matrix of float)
-0:407          roundEven ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r035' ( temp 3X3 matrix of float)
-0:407          inverse sqrt ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r036' ( temp 3X3 matrix of float)
-0:407          clamp ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            Constant:
-0:407              0.000000
-0:407            Constant:
-0:407              1.000000
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r037' ( temp 3X3 matrix of float)
-0:407          Sign ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r038' ( temp 3X3 matrix of float)
-0:407          sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'inF1' ( in 3X3 matrix of float)
-0:407          sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'inF2' ( in 3X3 matrix of float)
-0:407          cosine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r039' ( temp 3X3 matrix of float)
-0:407          hyp. sine ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r049' ( temp 3X3 matrix of float)
-0:407          smoothstep ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407            'inF2' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r041' ( temp 3X3 matrix of float)
-0:407          sqrt ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r042' ( temp 3X3 matrix of float)
-0:407          step ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407            'inF1' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r043' ( temp 3X3 matrix of float)
-0:407          tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r044' ( temp 3X3 matrix of float)
-0:407          hyp. tangent ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:407      transpose ( temp 3X3 matrix of float)
-0:407        'inF0' ( in 3X3 matrix of float)
-0:407      Sequence
-0:407        move second child to first child ( temp 3X3 matrix of float)
-0:407          'r046' ( temp 3X3 matrix of float)
-0:407          trunc ( temp 3X3 matrix of float)
-0:407            'inF0' ( in 3X3 matrix of float)
-0:410      Branch: Return with expression
+0:411      Sequence
+0:411        move second child to first child ( temp bool)
+0:411          'r000' ( temp bool)
+0:411          all ( temp bool)
+0:411            Convert float to bool ( temp 3X3 matrix of bool)
+0:411              'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r001' ( temp 3X3 matrix of float)
+0:411          Absolute value ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      arc cosine ( temp 3X3 matrix of float)
+0:411        'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp bool)
+0:411          'r003' ( temp bool)
+0:411          any ( temp bool)
+0:411            Convert float to bool ( temp 3X3 matrix of bool)
+0:411              'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r004' ( temp 3X3 matrix of float)
+0:411          arc sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r005' ( temp 3X3 matrix of float)
+0:411          arc tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r006' ( temp 3X3 matrix of float)
+0:411          arc tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r007' ( temp 3X3 matrix of float)
+0:411          Ceiling ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Test condition and select ( temp void)
+0:411        Condition
+0:411        any ( temp bool)
+0:411          Compare Less Than ( temp 3X3 matrix of bool)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            Constant:
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411              0.000000
+0:411        true case
+0:411        Branch: Kill
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r008' ( temp 3X3 matrix of float)
+0:411          clamp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411            'inF2' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r009' ( temp 3X3 matrix of float)
+0:411          cosine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r010' ( temp 3X3 matrix of float)
+0:411          hyp. cosine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r011' ( temp 3X3 matrix of float)
+0:411          dPdx ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r012' ( temp 3X3 matrix of float)
+0:411          dPdxCoarse ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r013' ( temp 3X3 matrix of float)
+0:411          dPdxFine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r014' ( temp 3X3 matrix of float)
+0:411          dPdy ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r015' ( temp 3X3 matrix of float)
+0:411          dPdyCoarse ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r016' ( temp 3X3 matrix of float)
+0:411          dPdyFine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r017' ( temp 3X3 matrix of float)
+0:411          degrees ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp float)
+0:411          'r018' ( temp float)
+0:411          determinant ( temp float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r019' ( temp 3X3 matrix of float)
+0:411          exp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'R020' ( temp 3X3 matrix of float)
+0:411          exp2 ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r021' ( temp 3X3 matrix of float)
+0:411          Floor ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r022' ( temp 3X3 matrix of float)
+0:411          mod ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r023' ( temp 3X3 matrix of float)
+0:411          Fraction ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r025' ( temp 3X3 matrix of float)
+0:411          fwidth ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r026' ( temp 3X3 matrix of float)
+0:411          ldexp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r026a' ( temp 3X3 matrix of float)
+0:411          mix ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411            'inF2' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r027' ( temp 3X3 matrix of float)
+0:411          log ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r028' ( temp 3X3 matrix of float)
+0:411          matrix-scale ( temp 3X3 matrix of float)
+0:411            log2 ( temp 3X3 matrix of float)
+0:411              'inF0' ( in 3X3 matrix of float)
+0:411            Constant:
+0:411              0.301030
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r029' ( temp 3X3 matrix of float)
+0:411          log2 ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r030' ( temp 3X3 matrix of float)
+0:411          max ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r031' ( temp 3X3 matrix of float)
+0:411          min ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r032' ( temp 3X3 matrix of float)
+0:411          pow ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r033' ( temp 3X3 matrix of float)
+0:411          radians ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r034' ( temp 3X3 matrix of float)
+0:411          roundEven ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r035' ( temp 3X3 matrix of float)
+0:411          inverse sqrt ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r036' ( temp 3X3 matrix of float)
+0:411          clamp ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            Constant:
+0:411              0.000000
+0:411            Constant:
+0:411              1.000000
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r037' ( temp 3X3 matrix of float)
+0:411          Sign ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r038' ( temp 3X3 matrix of float)
+0:411          sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'inF1' ( in 3X3 matrix of float)
+0:411          sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'inF2' ( in 3X3 matrix of float)
+0:411          cosine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r039' ( temp 3X3 matrix of float)
+0:411          hyp. sine ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r049' ( temp 3X3 matrix of float)
+0:411          smoothstep ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411            'inF2' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r041' ( temp 3X3 matrix of float)
+0:411          sqrt ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r042' ( temp 3X3 matrix of float)
+0:411          step ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411            'inF1' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r043' ( temp 3X3 matrix of float)
+0:411          tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r044' ( temp 3X3 matrix of float)
+0:411          hyp. tangent ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:411      transpose ( temp 3X3 matrix of float)
+0:411        'inF0' ( in 3X3 matrix of float)
+0:411      Sequence
+0:411        move second child to first child ( temp 3X3 matrix of float)
+0:411          'r046' ( temp 3X3 matrix of float)
+0:411          trunc ( temp 3X3 matrix of float)
+0:411            'inF0' ( in 3X3 matrix of float)
+0:414      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -4898,297 +4980,297 @@
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-0:414  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
-0:414    Function Parameters: 
-0:414      'inF0' ( in 4X4 matrix of float)
-0:414      'inF1' ( in 4X4 matrix of float)
-0:414      'inF2' ( in 4X4 matrix of float)
+0:418  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:418    Function Parameters: 
+0:418      'inF0' ( in 4X4 matrix of float)
+0:418      'inF1' ( in 4X4 matrix of float)
+0:418      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-0:416      Sequence
-0:416        move second child to first child ( temp bool)
-0:416          'r000' ( temp bool)
-0:416          all ( temp bool)
-0:416            Convert float to bool ( temp 4X4 matrix of bool)
-0:416              'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r001' ( temp 4X4 matrix of float)
-0:416          Absolute value ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      arc cosine ( temp 4X4 matrix of float)
-0:416        'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp bool)
-0:416          'r003' ( temp bool)
-0:416          any ( temp bool)
-0:416            Convert float to bool ( temp 4X4 matrix of bool)
-0:416              'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r004' ( temp 4X4 matrix of float)
-0:416          arc sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r005' ( temp 4X4 matrix of float)
-0:416          arc tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r006' ( temp 4X4 matrix of float)
-0:416          arc tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r007' ( temp 4X4 matrix of float)
-0:416          Ceiling ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Test condition and select ( temp void)
-0:416        Condition
-0:416        any ( temp bool)
-0:416          Compare Less Than ( temp 4X4 matrix of bool)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            Constant:
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416              0.000000
-0:416        true case
-0:416        Branch: Kill
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r008' ( temp 4X4 matrix of float)
-0:416          clamp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416            'inF2' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r009' ( temp 4X4 matrix of float)
-0:416          cosine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r010' ( temp 4X4 matrix of float)
-0:416          hyp. cosine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r011' ( temp 4X4 matrix of float)
-0:416          dPdx ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r012' ( temp 4X4 matrix of float)
-0:416          dPdxCoarse ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r013' ( temp 4X4 matrix of float)
-0:416          dPdxFine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r014' ( temp 4X4 matrix of float)
-0:416          dPdy ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r015' ( temp 4X4 matrix of float)
-0:416          dPdyCoarse ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r016' ( temp 4X4 matrix of float)
-0:416          dPdyFine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r017' ( temp 4X4 matrix of float)
-0:416          degrees ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp float)
-0:416          'r018' ( temp float)
-0:416          determinant ( temp float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r019' ( temp 4X4 matrix of float)
-0:416          exp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'R020' ( temp 4X4 matrix of float)
-0:416          exp2 ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r021' ( temp 4X4 matrix of float)
-0:416          Floor ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r022' ( temp 4X4 matrix of float)
-0:416          mod ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r023' ( temp 4X4 matrix of float)
-0:416          Fraction ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r025' ( temp 4X4 matrix of float)
-0:416          fwidth ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r026' ( temp 4X4 matrix of float)
-0:416          ldexp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r026a' ( temp 4X4 matrix of float)
-0:416          mix ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416            'inF2' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r027' ( temp 4X4 matrix of float)
-0:416          log ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r028' ( temp 4X4 matrix of float)
-0:416          matrix-scale ( temp 4X4 matrix of float)
-0:416            log2 ( temp 4X4 matrix of float)
-0:416              'inF0' ( in 4X4 matrix of float)
-0:416            Constant:
-0:416              0.301030
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r029' ( temp 4X4 matrix of float)
-0:416          log2 ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r030' ( temp 4X4 matrix of float)
-0:416          max ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r031' ( temp 4X4 matrix of float)
-0:416          min ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r032' ( temp 4X4 matrix of float)
-0:416          pow ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r033' ( temp 4X4 matrix of float)
-0:416          radians ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r034' ( temp 4X4 matrix of float)
-0:416          roundEven ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r035' ( temp 4X4 matrix of float)
-0:416          inverse sqrt ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r036' ( temp 4X4 matrix of float)
-0:416          clamp ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            Constant:
-0:416              0.000000
-0:416            Constant:
-0:416              1.000000
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r037' ( temp 4X4 matrix of float)
-0:416          Sign ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r038' ( temp 4X4 matrix of float)
-0:416          sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'inF1' ( in 4X4 matrix of float)
-0:416          sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'inF2' ( in 4X4 matrix of float)
-0:416          cosine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r039' ( temp 4X4 matrix of float)
-0:416          hyp. sine ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r049' ( temp 4X4 matrix of float)
-0:416          smoothstep ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416            'inF2' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r041' ( temp 4X4 matrix of float)
-0:416          sqrt ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r042' ( temp 4X4 matrix of float)
-0:416          step ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416            'inF1' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r043' ( temp 4X4 matrix of float)
-0:416          tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r044' ( temp 4X4 matrix of float)
-0:416          hyp. tangent ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:416      transpose ( temp 4X4 matrix of float)
-0:416        'inF0' ( in 4X4 matrix of float)
-0:416      Sequence
-0:416        move second child to first child ( temp 4X4 matrix of float)
-0:416          'r046' ( temp 4X4 matrix of float)
-0:416          trunc ( temp 4X4 matrix of float)
-0:416            'inF0' ( in 4X4 matrix of float)
-0:419      Branch: Return with expression
+0:420      Sequence
+0:420        move second child to first child ( temp bool)
+0:420          'r000' ( temp bool)
+0:420          all ( temp bool)
+0:420            Convert float to bool ( temp 4X4 matrix of bool)
+0:420              'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r001' ( temp 4X4 matrix of float)
+0:420          Absolute value ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      arc cosine ( temp 4X4 matrix of float)
+0:420        'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp bool)
+0:420          'r003' ( temp bool)
+0:420          any ( temp bool)
+0:420            Convert float to bool ( temp 4X4 matrix of bool)
+0:420              'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r004' ( temp 4X4 matrix of float)
+0:420          arc sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r005' ( temp 4X4 matrix of float)
+0:420          arc tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r006' ( temp 4X4 matrix of float)
+0:420          arc tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r007' ( temp 4X4 matrix of float)
+0:420          Ceiling ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Test condition and select ( temp void)
+0:420        Condition
+0:420        any ( temp bool)
+0:420          Compare Less Than ( temp 4X4 matrix of bool)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            Constant:
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420              0.000000
+0:420        true case
+0:420        Branch: Kill
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r008' ( temp 4X4 matrix of float)
+0:420          clamp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420            'inF2' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r009' ( temp 4X4 matrix of float)
+0:420          cosine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r010' ( temp 4X4 matrix of float)
+0:420          hyp. cosine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r011' ( temp 4X4 matrix of float)
+0:420          dPdx ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r012' ( temp 4X4 matrix of float)
+0:420          dPdxCoarse ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r013' ( temp 4X4 matrix of float)
+0:420          dPdxFine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r014' ( temp 4X4 matrix of float)
+0:420          dPdy ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r015' ( temp 4X4 matrix of float)
+0:420          dPdyCoarse ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r016' ( temp 4X4 matrix of float)
+0:420          dPdyFine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r017' ( temp 4X4 matrix of float)
+0:420          degrees ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp float)
+0:420          'r018' ( temp float)
+0:420          determinant ( temp float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r019' ( temp 4X4 matrix of float)
+0:420          exp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'R020' ( temp 4X4 matrix of float)
+0:420          exp2 ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r021' ( temp 4X4 matrix of float)
+0:420          Floor ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r022' ( temp 4X4 matrix of float)
+0:420          mod ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r023' ( temp 4X4 matrix of float)
+0:420          Fraction ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r025' ( temp 4X4 matrix of float)
+0:420          fwidth ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r026' ( temp 4X4 matrix of float)
+0:420          ldexp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r026a' ( temp 4X4 matrix of float)
+0:420          mix ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420            'inF2' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r027' ( temp 4X4 matrix of float)
+0:420          log ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r028' ( temp 4X4 matrix of float)
+0:420          matrix-scale ( temp 4X4 matrix of float)
+0:420            log2 ( temp 4X4 matrix of float)
+0:420              'inF0' ( in 4X4 matrix of float)
+0:420            Constant:
+0:420              0.301030
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r029' ( temp 4X4 matrix of float)
+0:420          log2 ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r030' ( temp 4X4 matrix of float)
+0:420          max ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r031' ( temp 4X4 matrix of float)
+0:420          min ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r032' ( temp 4X4 matrix of float)
+0:420          pow ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r033' ( temp 4X4 matrix of float)
+0:420          radians ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r034' ( temp 4X4 matrix of float)
+0:420          roundEven ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r035' ( temp 4X4 matrix of float)
+0:420          inverse sqrt ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r036' ( temp 4X4 matrix of float)
+0:420          clamp ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            Constant:
+0:420              0.000000
+0:420            Constant:
+0:420              1.000000
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r037' ( temp 4X4 matrix of float)
+0:420          Sign ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r038' ( temp 4X4 matrix of float)
+0:420          sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'inF1' ( in 4X4 matrix of float)
+0:420          sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'inF2' ( in 4X4 matrix of float)
+0:420          cosine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r039' ( temp 4X4 matrix of float)
+0:420          hyp. sine ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r049' ( temp 4X4 matrix of float)
+0:420          smoothstep ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420            'inF2' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r041' ( temp 4X4 matrix of float)
+0:420          sqrt ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r042' ( temp 4X4 matrix of float)
+0:420          step ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420            'inF1' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r043' ( temp 4X4 matrix of float)
+0:420          tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r044' ( temp 4X4 matrix of float)
+0:420          hyp. tangent ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:420      transpose ( temp 4X4 matrix of float)
+0:420        'inF0' ( in 4X4 matrix of float)
+0:420      Sequence
+0:420        move second child to first child ( temp 4X4 matrix of float)
+0:420          'r046' ( temp 4X4 matrix of float)
+0:420          trunc ( temp 4X4 matrix of float)
+0:420            'inF0' ( in 4X4 matrix of float)
+0:423      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -5206,334 +5288,334 @@
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-0:437  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
-0:437    Function Parameters: 
-0:437      'inF0' ( in float)
-0:437      'inF1' ( in float)
-0:437      'inFV0' ( in 2-component vector of float)
-0:437      'inFV1' ( in 2-component vector of float)
-0:437      'inFM0' ( in 2X2 matrix of float)
-0:437      'inFM1' ( in 2X2 matrix of float)
+0:441  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:441    Function Parameters: 
+0:441      'inF0' ( in float)
+0:441      'inF1' ( in float)
+0:441      'inFV0' ( in 2-component vector of float)
+0:441      'inFV1' ( in 2-component vector of float)
+0:441      'inFM0' ( in 2X2 matrix of float)
+0:441      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-0:438      Sequence
-0:438        move second child to first child ( temp float)
-0:438          'r0' ( temp float)
-0:438          component-wise multiply ( temp float)
-0:438            'inF1' ( in float)
-0:438            'inF0' ( in float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r1' ( temp 2-component vector of float)
-0:438          vector-scale ( temp 2-component vector of float)
-0:438            'inF0' ( in float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r2' ( temp 2-component vector of float)
-0:438          vector-scale ( temp 2-component vector of float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438            'inF0' ( in float)
-0:438      Sequence
-0:438        move second child to first child ( temp float)
-0:438          'r3' ( temp float)
-0:438          dot-product ( temp float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438            'inFV1' ( in 2-component vector of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r4' ( temp 2-component vector of float)
-0:438          vector-times-matrix ( temp 2-component vector of float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2-component vector of float)
-0:438          'r5' ( temp 2-component vector of float)
-0:438          matrix-times-vector ( temp 2-component vector of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438            'inFV0' ( in 2-component vector of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2X2 matrix of float)
-0:438          'r6' ( temp 2X2 matrix of float)
-0:438          matrix-scale ( temp 2X2 matrix of float)
-0:438            'inF0' ( in float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2X2 matrix of float)
-0:438          'r7' ( temp 2X2 matrix of float)
-0:438          matrix-scale ( temp 2X2 matrix of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:438            'inF0' ( in float)
-0:438      Sequence
-0:438        move second child to first child ( temp 2X2 matrix of float)
-0:438          'r8' ( temp 2X2 matrix of float)
-0:438          matrix-multiply ( temp 2X2 matrix of float)
-0:438            'inFM1' ( in 2X2 matrix of float)
-0:438            'inFM0' ( in 2X2 matrix of float)
-0:444  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
-0:444    Function Parameters: 
-0:444      'inF0' ( in float)
-0:444      'inF1' ( in float)
-0:444      'inFV0' ( in 3-component vector of float)
-0:444      'inFV1' ( in 3-component vector of float)
-0:444      'inFM0' ( in 3X3 matrix of float)
-0:444      'inFM1' ( in 3X3 matrix of float)
+0:442      Sequence
+0:442        move second child to first child ( temp float)
+0:442          'r0' ( temp float)
+0:442          component-wise multiply ( temp float)
+0:442            'inF1' ( in float)
+0:442            'inF0' ( in float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r1' ( temp 2-component vector of float)
+0:442          vector-scale ( temp 2-component vector of float)
+0:442            'inF0' ( in float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r2' ( temp 2-component vector of float)
+0:442          vector-scale ( temp 2-component vector of float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442            'inF0' ( in float)
+0:442      Sequence
+0:442        move second child to first child ( temp float)
+0:442          'r3' ( temp float)
+0:442          dot-product ( temp float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442            'inFV1' ( in 2-component vector of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r4' ( temp 2-component vector of float)
+0:442          vector-times-matrix ( temp 2-component vector of float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2-component vector of float)
+0:442          'r5' ( temp 2-component vector of float)
+0:442          matrix-times-vector ( temp 2-component vector of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442            'inFV0' ( in 2-component vector of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2X2 matrix of float)
+0:442          'r6' ( temp 2X2 matrix of float)
+0:442          matrix-scale ( temp 2X2 matrix of float)
+0:442            'inF0' ( in float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2X2 matrix of float)
+0:442          'r7' ( temp 2X2 matrix of float)
+0:442          matrix-scale ( temp 2X2 matrix of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:442            'inF0' ( in float)
+0:442      Sequence
+0:442        move second child to first child ( temp 2X2 matrix of float)
+0:442          'r8' ( temp 2X2 matrix of float)
+0:442          matrix-multiply ( temp 2X2 matrix of float)
+0:442            'inFM1' ( in 2X2 matrix of float)
+0:442            'inFM0' ( in 2X2 matrix of float)
+0:448  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:448    Function Parameters: 
+0:448      'inF0' ( in float)
+0:448      'inF1' ( in float)
+0:448      'inFV0' ( in 3-component vector of float)
+0:448      'inFV1' ( in 3-component vector of float)
+0:448      'inFM0' ( in 3X3 matrix of float)
+0:448      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-0:445      Sequence
-0:445        move second child to first child ( temp float)
-0:445          'r0' ( temp float)
-0:445          component-wise multiply ( temp float)
-0:445            'inF1' ( in float)
-0:445            'inF0' ( in float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r1' ( temp 3-component vector of float)
-0:445          vector-scale ( temp 3-component vector of float)
-0:445            'inF0' ( in float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r2' ( temp 3-component vector of float)
-0:445          vector-scale ( temp 3-component vector of float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445            'inF0' ( in float)
-0:445      Sequence
-0:445        move second child to first child ( temp float)
-0:445          'r3' ( temp float)
-0:445          dot-product ( temp float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445            'inFV1' ( in 3-component vector of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r4' ( temp 3-component vector of float)
-0:445          vector-times-matrix ( temp 3-component vector of float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3-component vector of float)
-0:445          'r5' ( temp 3-component vector of float)
-0:445          matrix-times-vector ( temp 3-component vector of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445            'inFV0' ( in 3-component vector of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3X3 matrix of float)
-0:445          'r6' ( temp 3X3 matrix of float)
-0:445          matrix-scale ( temp 3X3 matrix of float)
-0:445            'inF0' ( in float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3X3 matrix of float)
-0:445          'r7' ( temp 3X3 matrix of float)
-0:445          matrix-scale ( temp 3X3 matrix of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:445            'inF0' ( in float)
-0:445      Sequence
-0:445        move second child to first child ( temp 3X3 matrix of float)
-0:445          'r8' ( temp 3X3 matrix of float)
-0:445          matrix-multiply ( temp 3X3 matrix of float)
-0:445            'inFM1' ( in 3X3 matrix of float)
-0:445            'inFM0' ( in 3X3 matrix of float)
-0:451  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
-0:451    Function Parameters: 
-0:451      'inF0' ( in float)
-0:451      'inF1' ( in float)
-0:451      'inFV0' ( in 4-component vector of float)
-0:451      'inFV1' ( in 4-component vector of float)
-0:451      'inFM0' ( in 4X4 matrix of float)
-0:451      'inFM1' ( in 4X4 matrix of float)
+0:449      Sequence
+0:449        move second child to first child ( temp float)
+0:449          'r0' ( temp float)
+0:449          component-wise multiply ( temp float)
+0:449            'inF1' ( in float)
+0:449            'inF0' ( in float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r1' ( temp 3-component vector of float)
+0:449          vector-scale ( temp 3-component vector of float)
+0:449            'inF0' ( in float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r2' ( temp 3-component vector of float)
+0:449          vector-scale ( temp 3-component vector of float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449            'inF0' ( in float)
+0:449      Sequence
+0:449        move second child to first child ( temp float)
+0:449          'r3' ( temp float)
+0:449          dot-product ( temp float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449            'inFV1' ( in 3-component vector of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r4' ( temp 3-component vector of float)
+0:449          vector-times-matrix ( temp 3-component vector of float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3-component vector of float)
+0:449          'r5' ( temp 3-component vector of float)
+0:449          matrix-times-vector ( temp 3-component vector of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449            'inFV0' ( in 3-component vector of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3X3 matrix of float)
+0:449          'r6' ( temp 3X3 matrix of float)
+0:449          matrix-scale ( temp 3X3 matrix of float)
+0:449            'inF0' ( in float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3X3 matrix of float)
+0:449          'r7' ( temp 3X3 matrix of float)
+0:449          matrix-scale ( temp 3X3 matrix of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:449            'inF0' ( in float)
+0:449      Sequence
+0:449        move second child to first child ( temp 3X3 matrix of float)
+0:449          'r8' ( temp 3X3 matrix of float)
+0:449          matrix-multiply ( temp 3X3 matrix of float)
+0:449            'inFM1' ( in 3X3 matrix of float)
+0:449            'inFM0' ( in 3X3 matrix of float)
+0:455  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:455    Function Parameters: 
+0:455      'inF0' ( in float)
+0:455      'inF1' ( in float)
+0:455      'inFV0' ( in 4-component vector of float)
+0:455      'inFV1' ( in 4-component vector of float)
+0:455      'inFM0' ( in 4X4 matrix of float)
+0:455      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-0:452      Sequence
-0:452        move second child to first child ( temp float)
-0:452          'r0' ( temp float)
-0:452          component-wise multiply ( temp float)
-0:452            'inF1' ( in float)
-0:452            'inF0' ( in float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r1' ( temp 4-component vector of float)
-0:452          vector-scale ( temp 4-component vector of float)
-0:452            'inF0' ( in float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r2' ( temp 4-component vector of float)
-0:452          vector-scale ( temp 4-component vector of float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452            'inF0' ( in float)
-0:452      Sequence
-0:452        move second child to first child ( temp float)
-0:452          'r3' ( temp float)
-0:452          dot-product ( temp float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452            'inFV1' ( in 4-component vector of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r4' ( temp 4-component vector of float)
-0:452          vector-times-matrix ( temp 4-component vector of float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4-component vector of float)
-0:452          'r5' ( temp 4-component vector of float)
-0:452          matrix-times-vector ( temp 4-component vector of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452            'inFV0' ( in 4-component vector of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4X4 matrix of float)
-0:452          'r6' ( temp 4X4 matrix of float)
-0:452          matrix-scale ( temp 4X4 matrix of float)
-0:452            'inF0' ( in float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4X4 matrix of float)
-0:452          'r7' ( temp 4X4 matrix of float)
-0:452          matrix-scale ( temp 4X4 matrix of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:452            'inF0' ( in float)
-0:452      Sequence
-0:452        move second child to first child ( temp 4X4 matrix of float)
-0:452          'r8' ( temp 4X4 matrix of float)
-0:452          matrix-multiply ( temp 4X4 matrix of float)
-0:452            'inFM1' ( in 4X4 matrix of float)
-0:452            'inFM0' ( in 4X4 matrix of float)
-0:461  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
-0:461    Function Parameters: 
-0:461      'inF0' ( in float)
-0:461      'inF1' ( in float)
-0:461      'inFV2' ( in 2-component vector of float)
-0:461      'inFV3' ( in 3-component vector of float)
-0:461      'inFM2x3' ( in 2X3 matrix of float)
-0:461      'inFM3x2' ( in 3X2 matrix of float)
-0:461      'inFM3x3' ( in 3X3 matrix of float)
-0:461      'inFM3x4' ( in 3X4 matrix of float)
-0:461      'inFM2x4' ( in 2X4 matrix of float)
+0:456      Sequence
+0:456        move second child to first child ( temp float)
+0:456          'r0' ( temp float)
+0:456          component-wise multiply ( temp float)
+0:456            'inF1' ( in float)
+0:456            'inF0' ( in float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r1' ( temp 4-component vector of float)
+0:456          vector-scale ( temp 4-component vector of float)
+0:456            'inF0' ( in float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r2' ( temp 4-component vector of float)
+0:456          vector-scale ( temp 4-component vector of float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456            'inF0' ( in float)
+0:456      Sequence
+0:456        move second child to first child ( temp float)
+0:456          'r3' ( temp float)
+0:456          dot-product ( temp float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456            'inFV1' ( in 4-component vector of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r4' ( temp 4-component vector of float)
+0:456          vector-times-matrix ( temp 4-component vector of float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4-component vector of float)
+0:456          'r5' ( temp 4-component vector of float)
+0:456          matrix-times-vector ( temp 4-component vector of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456            'inFV0' ( in 4-component vector of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4X4 matrix of float)
+0:456          'r6' ( temp 4X4 matrix of float)
+0:456          matrix-scale ( temp 4X4 matrix of float)
+0:456            'inF0' ( in float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4X4 matrix of float)
+0:456          'r7' ( temp 4X4 matrix of float)
+0:456          matrix-scale ( temp 4X4 matrix of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:456            'inF0' ( in float)
+0:456      Sequence
+0:456        move second child to first child ( temp 4X4 matrix of float)
+0:456          'r8' ( temp 4X4 matrix of float)
+0:456          matrix-multiply ( temp 4X4 matrix of float)
+0:456            'inFM1' ( in 4X4 matrix of float)
+0:456            'inFM0' ( in 4X4 matrix of float)
+0:465  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:465    Function Parameters: 
+0:465      'inF0' ( in float)
+0:465      'inF1' ( in float)
+0:465      'inFV2' ( in 2-component vector of float)
+0:465      'inFV3' ( in 3-component vector of float)
+0:465      'inFM2x3' ( in 2X3 matrix of float)
+0:465      'inFM3x2' ( in 3X2 matrix of float)
+0:465      'inFM3x3' ( in 3X3 matrix of float)
+0:465      'inFM3x4' ( in 3X4 matrix of float)
+0:465      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
-0:462      Sequence
-0:462        move second child to first child ( temp float)
-0:462          'r00' ( temp float)
-0:462          component-wise multiply ( temp float)
-0:462            'inF1' ( in float)
-0:462            'inF0' ( in float)
-0:463      Sequence
-0:463        move second child to first child ( temp 2-component vector of float)
-0:463          'r01' ( temp 2-component vector of float)
-0:463          vector-scale ( temp 2-component vector of float)
-0:463            'inF0' ( in float)
-0:463            'inFV2' ( in 2-component vector of float)
-0:464      Sequence
-0:464        move second child to first child ( temp 3-component vector of float)
-0:464          'r02' ( temp 3-component vector of float)
-0:464          vector-scale ( temp 3-component vector of float)
-0:464            'inF0' ( in float)
-0:464            'inFV3' ( in 3-component vector of float)
-0:465      Sequence
-0:465        move second child to first child ( temp 2-component vector of float)
-0:465          'r03' ( temp 2-component vector of float)
-0:465          vector-scale ( temp 2-component vector of float)
-0:465            'inFV2' ( in 2-component vector of float)
-0:465            'inF0' ( in float)
 0:466      Sequence
-0:466        move second child to first child ( temp 3-component vector of float)
-0:466          'r04' ( temp 3-component vector of float)
-0:466          vector-scale ( temp 3-component vector of float)
-0:466            'inFV3' ( in 3-component vector of float)
+0:466        move second child to first child ( temp float)
+0:466          'r00' ( temp float)
+0:466          component-wise multiply ( temp float)
+0:466            'inF1' ( in float)
 0:466            'inF0' ( in float)
 0:467      Sequence
-0:467        move second child to first child ( temp float)
-0:467          'r05' ( temp float)
-0:467          dot-product ( temp float)
-0:467            'inFV2' ( in 2-component vector of float)
+0:467        move second child to first child ( temp 2-component vector of float)
+0:467          'r01' ( temp 2-component vector of float)
+0:467          vector-scale ( temp 2-component vector of float)
+0:467            'inF0' ( in float)
 0:467            'inFV2' ( in 2-component vector of float)
 0:468      Sequence
-0:468        move second child to first child ( temp float)
-0:468          'r06' ( temp float)
-0:468          dot-product ( temp float)
-0:468            'inFV3' ( in 3-component vector of float)
+0:468        move second child to first child ( temp 3-component vector of float)
+0:468          'r02' ( temp 3-component vector of float)
+0:468          vector-scale ( temp 3-component vector of float)
+0:468            'inF0' ( in float)
 0:468            'inFV3' ( in 3-component vector of float)
 0:469      Sequence
-0:469        move second child to first child ( temp 3-component vector of float)
-0:469          'r07' ( temp 3-component vector of float)
-0:469          matrix-times-vector ( temp 3-component vector of float)
-0:469            'inFM2x3' ( in 2X3 matrix of float)
+0:469        move second child to first child ( temp 2-component vector of float)
+0:469          'r03' ( temp 2-component vector of float)
+0:469          vector-scale ( temp 2-component vector of float)
 0:469            'inFV2' ( in 2-component vector of float)
+0:469            'inF0' ( in float)
 0:470      Sequence
-0:470        move second child to first child ( temp 2-component vector of float)
-0:470          'r08' ( temp 2-component vector of float)
-0:470          matrix-times-vector ( temp 2-component vector of float)
-0:470            'inFM3x2' ( in 3X2 matrix of float)
+0:470        move second child to first child ( temp 3-component vector of float)
+0:470          'r04' ( temp 3-component vector of float)
+0:470          vector-scale ( temp 3-component vector of float)
 0:470            'inFV3' ( in 3-component vector of float)
+0:470            'inF0' ( in float)
 0:471      Sequence
-0:471        move second child to first child ( temp 2-component vector of float)
-0:471          'r09' ( temp 2-component vector of float)
-0:471          vector-times-matrix ( temp 2-component vector of float)
-0:471            'inFV3' ( in 3-component vector of float)
-0:471            'inFM2x3' ( in 2X3 matrix of float)
+0:471        move second child to first child ( temp float)
+0:471          'r05' ( temp float)
+0:471          dot-product ( temp float)
+0:471            'inFV2' ( in 2-component vector of float)
+0:471            'inFV2' ( in 2-component vector of float)
 0:472      Sequence
-0:472        move second child to first child ( temp 3-component vector of float)
-0:472          'r10' ( temp 3-component vector of float)
-0:472          vector-times-matrix ( temp 3-component vector of float)
-0:472            'inFV2' ( in 2-component vector of float)
-0:472            'inFM3x2' ( in 3X2 matrix of float)
+0:472        move second child to first child ( temp float)
+0:472          'r06' ( temp float)
+0:472          dot-product ( temp float)
+0:472            'inFV3' ( in 3-component vector of float)
+0:472            'inFV3' ( in 3-component vector of float)
 0:473      Sequence
-0:473        move second child to first child ( temp 2X3 matrix of float)
-0:473          'r11' ( temp 2X3 matrix of float)
-0:473          matrix-scale ( temp 2X3 matrix of float)
-0:473            'inF0' ( in float)
+0:473        move second child to first child ( temp 3-component vector of float)
+0:473          'r07' ( temp 3-component vector of float)
+0:473          matrix-times-vector ( temp 3-component vector of float)
 0:473            'inFM2x3' ( in 2X3 matrix of float)
+0:473            'inFV2' ( in 2-component vector of float)
 0:474      Sequence
-0:474        move second child to first child ( temp 3X2 matrix of float)
-0:474          'r12' ( temp 3X2 matrix of float)
-0:474          matrix-scale ( temp 3X2 matrix of float)
-0:474            'inF0' ( in float)
+0:474        move second child to first child ( temp 2-component vector of float)
+0:474          'r08' ( temp 2-component vector of float)
+0:474          matrix-times-vector ( temp 2-component vector of float)
 0:474            'inFM3x2' ( in 3X2 matrix of float)
+0:474            'inFV3' ( in 3-component vector of float)
 0:475      Sequence
-0:475        move second child to first child ( temp 2X2 matrix of float)
-0:475          'r13' ( temp 2X2 matrix of float)
-0:475          matrix-multiply ( temp 2X2 matrix of float)
-0:475            'inFM3x2' ( in 3X2 matrix of float)
+0:475        move second child to first child ( temp 2-component vector of float)
+0:475          'r09' ( temp 2-component vector of float)
+0:475          vector-times-matrix ( temp 2-component vector of float)
+0:475            'inFV3' ( in 3-component vector of float)
 0:475            'inFM2x3' ( in 2X3 matrix of float)
 0:476      Sequence
-0:476        move second child to first child ( temp 2X3 matrix of float)
-0:476          'r14' ( temp 2X3 matrix of float)
-0:476          matrix-multiply ( temp 2X3 matrix of float)
-0:476            'inFM3x3' ( in 3X3 matrix of float)
-0:476            'inFM2x3' ( in 2X3 matrix of float)
+0:476        move second child to first child ( temp 3-component vector of float)
+0:476          'r10' ( temp 3-component vector of float)
+0:476          vector-times-matrix ( temp 3-component vector of float)
+0:476            'inFV2' ( in 2-component vector of float)
+0:476            'inFM3x2' ( in 3X2 matrix of float)
 0:477      Sequence
-0:477        move second child to first child ( temp 2X4 matrix of float)
-0:477          'r15' ( temp 2X4 matrix of float)
-0:477          matrix-multiply ( temp 2X4 matrix of float)
-0:477            'inFM3x4' ( in 3X4 matrix of float)
+0:477        move second child to first child ( temp 2X3 matrix of float)
+0:477          'r11' ( temp 2X3 matrix of float)
+0:477          matrix-scale ( temp 2X3 matrix of float)
+0:477            'inF0' ( in float)
 0:477            'inFM2x3' ( in 2X3 matrix of float)
 0:478      Sequence
-0:478        move second child to first child ( temp 3X4 matrix of float)
-0:478          'r16' ( temp 3X4 matrix of float)
-0:478          matrix-multiply ( temp 3X4 matrix of float)
-0:478            'inFM2x4' ( in 2X4 matrix of float)
+0:478        move second child to first child ( temp 3X2 matrix of float)
+0:478          'r12' ( temp 3X2 matrix of float)
+0:478          matrix-scale ( temp 3X2 matrix of float)
+0:478            'inF0' ( in float)
 0:478            'inFM3x2' ( in 3X2 matrix of float)
-0:484  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
-0:484    Function Parameters: 
+0:479      Sequence
+0:479        move second child to first child ( temp 2X2 matrix of float)
+0:479          'r13' ( temp 2X2 matrix of float)
+0:479          matrix-multiply ( temp 2X2 matrix of float)
+0:479            'inFM3x2' ( in 3X2 matrix of float)
+0:479            'inFM2x3' ( in 2X3 matrix of float)
+0:480      Sequence
+0:480        move second child to first child ( temp 2X3 matrix of float)
+0:480          'r14' ( temp 2X3 matrix of float)
+0:480          matrix-multiply ( temp 2X3 matrix of float)
+0:480            'inFM3x3' ( in 3X3 matrix of float)
+0:480            'inFM2x3' ( in 2X3 matrix of float)
+0:481      Sequence
+0:481        move second child to first child ( temp 2X4 matrix of float)
+0:481          'r15' ( temp 2X4 matrix of float)
+0:481          matrix-multiply ( temp 2X4 matrix of float)
+0:481            'inFM3x4' ( in 3X4 matrix of float)
+0:481            'inFM2x3' ( in 2X3 matrix of float)
+0:482      Sequence
+0:482        move second child to first child ( temp 3X4 matrix of float)
+0:482          'r16' ( temp 3X4 matrix of float)
+0:482          matrix-multiply ( temp 3X4 matrix of float)
+0:482            'inFM2x4' ( in 2X4 matrix of float)
+0:482            'inFM3x2' ( in 3X2 matrix of float)
+0:488  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:488    Function Parameters: 
 0:?     Sequence
-0:486      move second child to first child ( temp 4-component vector of float)
-0:486        color: direct index for structure ( temp 4-component vector of float)
-0:486          'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:486          Constant:
-0:486            0 (const int)
-0:486        Constant:
-0:486          1.000000
-0:486          1.000000
-0:486          1.000000
-0:486          1.000000
-0:487      Branch: Return with expression
-0:487        'ps_output' ( temp structure{ temp 4-component vector of float color})
-0:484  Function Definition: main( ( temp void)
-0:484    Function Parameters: 
+0:490      move second child to first child ( temp 4-component vector of float)
+0:490        color: direct index for structure ( temp 4-component vector of float)
+0:490          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:490          Constant:
+0:490            0 (const int)
+0:490        Constant:
+0:490          1.000000
+0:490          1.000000
+0:490          1.000000
+0:490          1.000000
+0:491      Branch: Return with expression
+0:491        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:488  Function Definition: main( ( temp void)
+0:488    Function Parameters: 
 0:?     Sequence
-0:484      Sequence
-0:484        move second child to first child ( temp 4-component vector of float)
+0:488      Sequence
+0:488        move second child to first child ( temp 4-component vector of float)
 0:?           '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
-0:484          color: direct index for structure ( temp 4-component vector of float)
-0:484            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
-0:484            Constant:
-0:484              0 (const int)
+0:488          color: direct index for structure ( temp 4-component vector of float)
+0:488            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:488            Constant:
+0:488              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -5550,14 +5632,14 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 1805
+// Generated by (magic number): 80002
+// Id's are bound by 1832
 
                               Capability Shader
                               Capability DerivativeControl
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 1786
+                              EntryPoint Fragment 4  "main" 1813
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -5647,432 +5729,432 @@
                               Name 169  "r010"
                               Name 173  "r011"
                               Name 176  "r012"
-                              Name 186  "r014"
-                              Name 189  "r015"
-                              Name 192  "r016"
-                              Name 195  "r017"
-                              Name 198  "r018"
-                              Name 201  "r019"
-                              Name 204  "r020"
-                              Name 207  "r021"
-                              Name 210  "r022"
-                              Name 213  "r023"
-                              Name 216  "r027"
-                              Name 219  "r028"
-                              Name 222  "r029"
-                              Name 225  "r030"
-                              Name 228  "r031"
-                              Name 231  "r033"
-                              Name 235  "r034"
-                              Name 238  "r036"
-                              Name 241  "r037"
-                              Name 244  "r038"
-                              Name 247  "r039"
-                              Name 251  "r039a"
-                              Name 256  "r040"
-                              Name 259  "r041"
-                              Name 264  "r042"
-                              Name 267  "r043"
-                              Name 271  "r044"
-                              Name 275  "r045"
-                              Name 279  "r046"
-                              Name 282  "r047"
-                              Name 286  "r048"
-                              Name 290  "r049"
-                              Name 293  "r050"
-                              Name 296  "r051"
-                              Name 299  "r052"
-                              Name 302  "r053"
-                              Name 309  "r055"
-                              Name 312  "r056"
-                              Name 317  "r057"
-                              Name 320  "r058"
-                              Name 324  "r059"
-                              Name 327  "r060"
-                              Name 330  "r061"
-                              Name 337  "r000"
-                              Name 343  "r001"
-                              Name 346  "r002"
-                              Name 349  "r003"
-                              Name 353  "r004"
-                              Name 358  "r005"
-                              Name 361  "r006"
-                              Name 364  "r007"
-                              Name 367  "r009"
-                              Name 370  "r010"
-                              Name 374  "r011"
-                              Name 377  "r012"
-                              Name 388  "r013"
-                              Name 391  "r015"
-                              Name 394  "r016"
-                              Name 398  "r017"
-                              Name 401  "r018"
-                              Name 404  "r019"
-                              Name 407  "r020"
-                              Name 410  "r021"
-                              Name 413  "r022"
-                              Name 416  "r023"
-                              Name 419  "r026"
-                              Name 423  "r027"
-                              Name 427  "r028"
-                              Name 430  "r029"
-                              Name 433  "r030"
-                              Name 438  "r031"
-                              Name 443  "r032"
-                              Name 445  "r033"
-                              Name 448  "r035"
-                              Name 452  "r036"
-                              Name 455  "r038"
-                              Name 459  "r039"
-                              Name 462  "r040"
-                              Name 465  "r041"
-                              Name 469  "r039a"
-                              Name 474  "r042"
-                              Name 477  "r043"
-                              Name 480  "r044"
-                              Name 484  "r045"
-                              Name 487  "r046"
-                              Name 491  "r047"
-                              Name 495  "r048"
-                              Name 498  "r049"
-                              Name 502  "r050"
-                              Name 505  "r051"
-                              Name 509  "r052"
-                              Name 513  "r053"
-                              Name 518  "r054"
-                              Name 523  "r055"
-                              Name 526  "r056"
-                              Name 529  "r057"
-                              Name 534  "r058"
-                              Name 537  "r059"
-                              Name 544  "r060"
-                              Name 547  "r061"
-                              Name 552  "r062"
-                              Name 555  "r063"
-                              Name 559  "r064"
-                              Name 562  "r065"
-                              Name 565  "r066"
-                              Name 571  "r000"
-                              Name 577  "r001"
-                              Name 580  "r002"
-                              Name 583  "r003"
-                              Name 587  "r004"
-                              Name 592  "r005"
-                              Name 595  "r006"
-                              Name 598  "r007"
-                              Name 601  "r009"
-                              Name 604  "r010"
-                              Name 608  "r011"
-                              Name 611  "r012"
-                              Name 622  "r013"
-                              Name 625  "r014"
-                              Name 628  "r015"
-                              Name 633  "r016"
-                              Name 637  "r017"
-                              Name 640  "r018"
-                              Name 643  "r019"
-                              Name 646  "r020"
-                              Name 649  "r021"
-                              Name 652  "r022"
-                              Name 655  "r023"
-                              Name 658  "r024"
-                              Name 662  "r025"
-                              Name 666  "r029"
-                              Name 669  "r030"
-                              Name 672  "r031"
-                              Name 677  "r032"
-                              Name 681  "r033"
-                              Name 683  "r034"
-                              Name 686  "r036"
-                              Name 690  "r037"
-                              Name 693  "r039"
-                              Name 697  "r040"
-                              Name 700  "r041"
-                              Name 703  "r042"
-                              Name 707  "r039a"
-                              Name 712  "r039b"
-                              Name 718  "r043"
-                              Name 721  "r044"
-                              Name 724  "r045"
-                              Name 728  "r046"
-                              Name 731  "r047"
-                              Name 735  "r048"
-                              Name 739  "r049"
-                              Name 742  "r050"
-                              Name 746  "r051"
-                              Name 749  "r052"
-                              Name 753  "r053"
-                              Name 757  "r054"
-                              Name 761  "r055"
-                              Name 764  "r056"
-                              Name 767  "r057"
-                              Name 770  "r058"
-                              Name 775  "r059"
-                              Name 778  "r060"
-                              Name 785  "r061"
-                              Name 788  "r062"
-                              Name 793  "r063"
-                              Name 796  "r064"
-                              Name 800  "r065"
-                              Name 803  "r066"
-                              Name 806  "r067"
-                              Name 813  "r000"
-                              Name 819  "r001"
-                              Name 822  "r002"
-                              Name 825  "r003"
-                              Name 829  "r004"
-                              Name 834  "r005"
-                              Name 837  "r006"
-                              Name 840  "r007"
-                              Name 843  "r009"
-                              Name 846  "r010"
-                              Name 850  "r011"
-                              Name 853  "r012"
-                              Name 864  "r013"
-                              Name 867  "r014"
-                              Name 870  "r015"
-                              Name 873  "r016"
-                              Name 876  "r017"
-                              Name 879  "r018"
-                              Name 882  "r019"
-                              Name 885  "r020"
-                              Name 888  "r021"
-                              Name 891  "r022"
-                              Name 894  "r023"
-                              Name 898  "r024"
-                              Name 902  "r025"
-                              Name 913  "r029"
-                              Name 916  "r030"
-                              Name 919  "r031"
-                              Name 924  "r032"
-                              Name 929  "r033"
-                              Name 931  "r034"
-                              Name 934  "r036"
-                              Name 938  "r037"
-                              Name 941  "r039"
-                              Name 945  "r040"
-                              Name 948  "r041"
-                              Name 951  "r042"
-                              Name 955  "r039a"
-                              Name 960  "r043"
-                              Name 963  "r044"
-                              Name 966  "r045"
-                              Name 970  "r046"
-                              Name 973  "r047"
-                              Name 977  "r048"
-                              Name 981  "r049"
-                              Name 984  "r050"
-                              Name 988  "r051"
-                              Name 991  "r052"
-                              Name 995  "r053"
-                              Name 999  "r054"
-                              Name 1003  "r055"
-                              Name 1006  "r056"
-                              Name 1009  "r057"
-                              Name 1012  "r058"
-                              Name 1017  "r059"
-                              Name 1020  "r060"
-                              Name 1027  "r061"
-                              Name 1030  "r062"
-                              Name 1035  "r063"
-                              Name 1038  "r064"
-                              Name 1042  "r065"
-                              Name 1045  "r066"
-                              Name 1048  "r067"
-                              Name 1055  "r000"
-                              Name 1060  "r001"
-                              Name 1065  "r003"
-                              Name 1069  "r004"
-                              Name 1072  "r005"
-                              Name 1075  "r006"
-                              Name 1079  "r007"
-                              Name 1089  "r008"
-                              Name 1094  "r009"
-                              Name 1097  "r010"
-                              Name 1100  "r011"
-                              Name 1103  "r012"
-                              Name 1106  "r013"
-                              Name 1109  "r014"
-                              Name 1112  "r015"
-                              Name 1115  "r016"
-                              Name 1118  "r017"
-                              Name 1121  "r018"
-                              Name 1124  "r019"
-                              Name 1127  "R020"
-                              Name 1130  "r021"
-                              Name 1133  "r022"
-                              Name 1143  "r023"
-                              Name 1146  "r025"
-                              Name 1149  "r026"
-                              Name 1153  "r026a"
-                              Name 1158  "r027"
-                              Name 1161  "r028"
-                              Name 1165  "r029"
-                              Name 1168  "r030"
-                              Name 1172  "r031"
-                              Name 1176  "r032"
-                              Name 1180  "r033"
-                              Name 1183  "r034"
-                              Name 1186  "r035"
-                              Name 1189  "r036"
-                              Name 1194  "r037"
-                              Name 1197  "r038"
-                              Name 1204  "r039"
-                              Name 1207  "r049"
-                              Name 1212  "r041"
-                              Name 1215  "r042"
-                              Name 1219  "r043"
-                              Name 1222  "r044"
-                              Name 1227  "r046"
-                              Name 1234  "r000"
-                              Name 1239  "r001"
-                              Name 1244  "r003"
-                              Name 1248  "r004"
-                              Name 1251  "r005"
-                              Name 1254  "r006"
-                              Name 1258  "r007"
-                              Name 1268  "r008"
-                              Name 1273  "r009"
-                              Name 1276  "r010"
-                              Name 1279  "r011"
-                              Name 1282  "r012"
-                              Name 1285  "r013"
-                              Name 1288  "r014"
-                              Name 1291  "r015"
-                              Name 1294  "r016"
-                              Name 1297  "r017"
-                              Name 1300  "r018"
-                              Name 1303  "r019"
-                              Name 1306  "R020"
-                              Name 1309  "r021"
-                              Name 1312  "r022"
-                              Name 1325  "r023"
-                              Name 1328  "r025"
-                              Name 1331  "r026"
-                              Name 1335  "r026a"
-                              Name 1340  "r027"
-                              Name 1343  "r028"
-                              Name 1347  "r029"
-                              Name 1350  "r030"
-                              Name 1354  "r031"
-                              Name 1358  "r032"
-                              Name 1362  "r033"
-                              Name 1365  "r034"
-                              Name 1368  "r035"
-                              Name 1371  "r036"
-                              Name 1376  "r037"
-                              Name 1379  "r038"
-                              Name 1386  "r039"
-                              Name 1389  "r049"
-                              Name 1394  "r041"
-                              Name 1397  "r042"
-                              Name 1401  "r043"
-                              Name 1404  "r044"
-                              Name 1409  "r046"
-                              Name 1416  "r000"
-                              Name 1421  "r001"
-                              Name 1426  "r003"
-                              Name 1430  "r004"
-                              Name 1433  "r005"
-                              Name 1436  "r006"
-                              Name 1440  "r007"
-                              Name 1450  "r008"
-                              Name 1455  "r009"
-                              Name 1458  "r010"
-                              Name 1461  "r011"
-                              Name 1464  "r012"
-                              Name 1467  "r013"
-                              Name 1470  "r014"
-                              Name 1473  "r015"
-                              Name 1476  "r016"
-                              Name 1479  "r017"
-                              Name 1482  "r018"
-                              Name 1485  "r019"
-                              Name 1488  "R020"
-                              Name 1491  "r021"
-                              Name 1494  "r022"
-                              Name 1510  "r023"
-                              Name 1513  "r025"
-                              Name 1516  "r026"
-                              Name 1520  "r026a"
-                              Name 1525  "r027"
-                              Name 1528  "r028"
-                              Name 1532  "r029"
-                              Name 1535  "r030"
-                              Name 1539  "r031"
-                              Name 1543  "r032"
-                              Name 1547  "r033"
-                              Name 1550  "r034"
-                              Name 1553  "r035"
-                              Name 1556  "r036"
-                              Name 1561  "r037"
-                              Name 1564  "r038"
-                              Name 1571  "r039"
-                              Name 1574  "r049"
-                              Name 1579  "r041"
-                              Name 1582  "r042"
-                              Name 1586  "r043"
-                              Name 1589  "r044"
-                              Name 1594  "r046"
-                              Name 1601  "r0"
-                              Name 1605  "r1"
-                              Name 1609  "r2"
-                              Name 1613  "r3"
-                              Name 1617  "r4"
-                              Name 1621  "r5"
-                              Name 1625  "r6"
-                              Name 1629  "r7"
-                              Name 1633  "r8"
-                              Name 1637  "r0"
-                              Name 1641  "r1"
-                              Name 1645  "r2"
-                              Name 1649  "r3"
-                              Name 1653  "r4"
-                              Name 1657  "r5"
-                              Name 1661  "r6"
-                              Name 1665  "r7"
-                              Name 1669  "r8"
-                              Name 1673  "r0"
-                              Name 1677  "r1"
-                              Name 1681  "r2"
-                              Name 1685  "r3"
-                              Name 1689  "r4"
-                              Name 1693  "r5"
-                              Name 1697  "r6"
-                              Name 1701  "r7"
-                              Name 1705  "r8"
-                              Name 1709  "r00"
-                              Name 1713  "r01"
-                              Name 1717  "r02"
-                              Name 1721  "r03"
-                              Name 1725  "r04"
-                              Name 1729  "r05"
-                              Name 1733  "r06"
-                              Name 1737  "r07"
-                              Name 1741  "r08"
-                              Name 1745  "r09"
-                              Name 1749  "r10"
-                              Name 1753  "r11"
-                              Name 1757  "r12"
-                              Name 1761  "r13"
-                              Name 1765  "r14"
-                              Name 1769  "r15"
-                              Name 1773  "r16"
-                              Name 1778  "ps_output"
-                              Name 1786  "@entryPointOutput.color"
-                              Name 1790  "gs_ua"
-                              Name 1791  "gs_ub"
-                              Name 1792  "gs_uc"
-                              Name 1794  "gs_ua2"
-                              Name 1795  "gs_ub2"
-                              Name 1796  "gs_uc2"
-                              Name 1798  "gs_ua3"
-                              Name 1799  "gs_ub3"
-                              Name 1800  "gs_uc3"
-                              Name 1802  "gs_ua4"
-                              Name 1803  "gs_ub4"
-                              Name 1804  "gs_uc4"
-                              Decorate 1786(@entryPointOutput.color) Location 0
+                              Name 192  "r014"
+                              Name 195  "r015"
+                              Name 198  "r016"
+                              Name 201  "r017"
+                              Name 204  "r018"
+                              Name 207  "r019"
+                              Name 210  "r020"
+                              Name 213  "r021"
+                              Name 216  "r022"
+                              Name 219  "r023"
+                              Name 222  "r027"
+                              Name 225  "r028"
+                              Name 228  "r029"
+                              Name 231  "r030"
+                              Name 234  "r031"
+                              Name 237  "r033"
+                              Name 241  "r034"
+                              Name 244  "r036"
+                              Name 247  "r037"
+                              Name 250  "r038"
+                              Name 253  "r039"
+                              Name 257  "r039a"
+                              Name 262  "r040"
+                              Name 265  "r041"
+                              Name 270  "r042"
+                              Name 273  "r043"
+                              Name 277  "r044"
+                              Name 281  "r045"
+                              Name 285  "r046"
+                              Name 288  "r047"
+                              Name 292  "r048"
+                              Name 296  "r049"
+                              Name 299  "r050"
+                              Name 302  "r051"
+                              Name 305  "r052"
+                              Name 308  "r053"
+                              Name 315  "r055"
+                              Name 318  "r056"
+                              Name 323  "r057"
+                              Name 326  "r058"
+                              Name 330  "r059"
+                              Name 333  "r060"
+                              Name 336  "r061"
+                              Name 343  "r000"
+                              Name 349  "r001"
+                              Name 352  "r002"
+                              Name 355  "r003"
+                              Name 359  "r004"
+                              Name 364  "r005"
+                              Name 367  "r006"
+                              Name 370  "r007"
+                              Name 373  "r009"
+                              Name 376  "r010"
+                              Name 380  "r011"
+                              Name 383  "r012"
+                              Name 402  "r013"
+                              Name 405  "r015"
+                              Name 408  "r016"
+                              Name 412  "r017"
+                              Name 415  "r018"
+                              Name 418  "r019"
+                              Name 421  "r020"
+                              Name 424  "r021"
+                              Name 427  "r022"
+                              Name 430  "r023"
+                              Name 433  "r026"
+                              Name 437  "r027"
+                              Name 441  "r028"
+                              Name 444  "r029"
+                              Name 447  "r030"
+                              Name 452  "r031"
+                              Name 457  "r032"
+                              Name 459  "r033"
+                              Name 462  "r035"
+                              Name 466  "r036"
+                              Name 469  "r038"
+                              Name 473  "r039"
+                              Name 476  "r040"
+                              Name 479  "r041"
+                              Name 483  "r039a"
+                              Name 488  "r042"
+                              Name 491  "r043"
+                              Name 494  "r044"
+                              Name 498  "r045"
+                              Name 501  "r046"
+                              Name 505  "r047"
+                              Name 509  "r048"
+                              Name 512  "r049"
+                              Name 516  "r050"
+                              Name 519  "r051"
+                              Name 523  "r052"
+                              Name 527  "r053"
+                              Name 532  "r054"
+                              Name 537  "r055"
+                              Name 540  "r056"
+                              Name 543  "r057"
+                              Name 548  "r058"
+                              Name 551  "r059"
+                              Name 558  "r060"
+                              Name 561  "r061"
+                              Name 566  "r062"
+                              Name 569  "r063"
+                              Name 573  "r064"
+                              Name 576  "r065"
+                              Name 579  "r066"
+                              Name 585  "r000"
+                              Name 591  "r001"
+                              Name 594  "r002"
+                              Name 597  "r003"
+                              Name 601  "r004"
+                              Name 606  "r005"
+                              Name 609  "r006"
+                              Name 612  "r007"
+                              Name 615  "r009"
+                              Name 618  "r010"
+                              Name 622  "r011"
+                              Name 625  "r012"
+                              Name 643  "r013"
+                              Name 646  "r014"
+                              Name 649  "r015"
+                              Name 654  "r016"
+                              Name 658  "r017"
+                              Name 661  "r018"
+                              Name 664  "r019"
+                              Name 667  "r020"
+                              Name 670  "r021"
+                              Name 673  "r022"
+                              Name 676  "r023"
+                              Name 679  "r024"
+                              Name 683  "r025"
+                              Name 687  "r029"
+                              Name 690  "r030"
+                              Name 693  "r031"
+                              Name 698  "r032"
+                              Name 702  "r033"
+                              Name 704  "r034"
+                              Name 707  "r036"
+                              Name 711  "r037"
+                              Name 714  "r039"
+                              Name 718  "r040"
+                              Name 721  "r041"
+                              Name 724  "r042"
+                              Name 728  "r039a"
+                              Name 733  "r039b"
+                              Name 739  "r043"
+                              Name 742  "r044"
+                              Name 745  "r045"
+                              Name 749  "r046"
+                              Name 752  "r047"
+                              Name 756  "r048"
+                              Name 760  "r049"
+                              Name 763  "r050"
+                              Name 767  "r051"
+                              Name 770  "r052"
+                              Name 774  "r053"
+                              Name 778  "r054"
+                              Name 782  "r055"
+                              Name 785  "r056"
+                              Name 788  "r057"
+                              Name 791  "r058"
+                              Name 796  "r059"
+                              Name 799  "r060"
+                              Name 806  "r061"
+                              Name 809  "r062"
+                              Name 814  "r063"
+                              Name 817  "r064"
+                              Name 821  "r065"
+                              Name 824  "r066"
+                              Name 827  "r067"
+                              Name 834  "r000"
+                              Name 840  "r001"
+                              Name 843  "r002"
+                              Name 846  "r003"
+                              Name 850  "r004"
+                              Name 855  "r005"
+                              Name 858  "r006"
+                              Name 861  "r007"
+                              Name 864  "r009"
+                              Name 867  "r010"
+                              Name 871  "r011"
+                              Name 874  "r012"
+                              Name 892  "r013"
+                              Name 895  "r014"
+                              Name 898  "r015"
+                              Name 901  "r016"
+                              Name 904  "r017"
+                              Name 907  "r018"
+                              Name 910  "r019"
+                              Name 913  "r020"
+                              Name 916  "r021"
+                              Name 919  "r022"
+                              Name 922  "r023"
+                              Name 926  "r024"
+                              Name 930  "r025"
+                              Name 941  "r029"
+                              Name 944  "r030"
+                              Name 947  "r031"
+                              Name 952  "r032"
+                              Name 957  "r033"
+                              Name 959  "r034"
+                              Name 962  "r036"
+                              Name 966  "r037"
+                              Name 969  "r039"
+                              Name 973  "r040"
+                              Name 976  "r041"
+                              Name 979  "r042"
+                              Name 983  "r039a"
+                              Name 988  "r043"
+                              Name 991  "r044"
+                              Name 994  "r045"
+                              Name 998  "r046"
+                              Name 1001  "r047"
+                              Name 1005  "r048"
+                              Name 1009  "r049"
+                              Name 1012  "r050"
+                              Name 1016  "r051"
+                              Name 1019  "r052"
+                              Name 1023  "r053"
+                              Name 1027  "r054"
+                              Name 1031  "r055"
+                              Name 1034  "r056"
+                              Name 1037  "r057"
+                              Name 1040  "r058"
+                              Name 1045  "r059"
+                              Name 1048  "r060"
+                              Name 1055  "r061"
+                              Name 1058  "r062"
+                              Name 1063  "r063"
+                              Name 1066  "r064"
+                              Name 1070  "r065"
+                              Name 1073  "r066"
+                              Name 1076  "r067"
+                              Name 1083  "r000"
+                              Name 1088  "r001"
+                              Name 1093  "r003"
+                              Name 1097  "r004"
+                              Name 1100  "r005"
+                              Name 1103  "r006"
+                              Name 1107  "r007"
+                              Name 1117  "r008"
+                              Name 1122  "r009"
+                              Name 1125  "r010"
+                              Name 1128  "r011"
+                              Name 1131  "r012"
+                              Name 1134  "r013"
+                              Name 1137  "r014"
+                              Name 1140  "r015"
+                              Name 1143  "r016"
+                              Name 1146  "r017"
+                              Name 1149  "r018"
+                              Name 1152  "r019"
+                              Name 1155  "R020"
+                              Name 1158  "r021"
+                              Name 1161  "r022"
+                              Name 1171  "r023"
+                              Name 1174  "r025"
+                              Name 1177  "r026"
+                              Name 1181  "r026a"
+                              Name 1186  "r027"
+                              Name 1189  "r028"
+                              Name 1193  "r029"
+                              Name 1196  "r030"
+                              Name 1200  "r031"
+                              Name 1204  "r032"
+                              Name 1208  "r033"
+                              Name 1211  "r034"
+                              Name 1214  "r035"
+                              Name 1217  "r036"
+                              Name 1222  "r037"
+                              Name 1225  "r038"
+                              Name 1232  "r039"
+                              Name 1235  "r049"
+                              Name 1240  "r041"
+                              Name 1243  "r042"
+                              Name 1247  "r043"
+                              Name 1250  "r044"
+                              Name 1255  "r046"
+                              Name 1262  "r000"
+                              Name 1267  "r001"
+                              Name 1272  "r003"
+                              Name 1276  "r004"
+                              Name 1279  "r005"
+                              Name 1282  "r006"
+                              Name 1286  "r007"
+                              Name 1296  "r008"
+                              Name 1301  "r009"
+                              Name 1304  "r010"
+                              Name 1307  "r011"
+                              Name 1310  "r012"
+                              Name 1313  "r013"
+                              Name 1316  "r014"
+                              Name 1319  "r015"
+                              Name 1322  "r016"
+                              Name 1325  "r017"
+                              Name 1328  "r018"
+                              Name 1331  "r019"
+                              Name 1334  "R020"
+                              Name 1337  "r021"
+                              Name 1340  "r022"
+                              Name 1353  "r023"
+                              Name 1356  "r025"
+                              Name 1359  "r026"
+                              Name 1363  "r026a"
+                              Name 1368  "r027"
+                              Name 1371  "r028"
+                              Name 1375  "r029"
+                              Name 1378  "r030"
+                              Name 1382  "r031"
+                              Name 1386  "r032"
+                              Name 1390  "r033"
+                              Name 1393  "r034"
+                              Name 1396  "r035"
+                              Name 1399  "r036"
+                              Name 1404  "r037"
+                              Name 1407  "r038"
+                              Name 1414  "r039"
+                              Name 1417  "r049"
+                              Name 1422  "r041"
+                              Name 1425  "r042"
+                              Name 1429  "r043"
+                              Name 1432  "r044"
+                              Name 1437  "r046"
+                              Name 1444  "r000"
+                              Name 1449  "r001"
+                              Name 1454  "r003"
+                              Name 1458  "r004"
+                              Name 1461  "r005"
+                              Name 1464  "r006"
+                              Name 1468  "r007"
+                              Name 1478  "r008"
+                              Name 1483  "r009"
+                              Name 1486  "r010"
+                              Name 1489  "r011"
+                              Name 1492  "r012"
+                              Name 1495  "r013"
+                              Name 1498  "r014"
+                              Name 1501  "r015"
+                              Name 1504  "r016"
+                              Name 1507  "r017"
+                              Name 1510  "r018"
+                              Name 1513  "r019"
+                              Name 1516  "R020"
+                              Name 1519  "r021"
+                              Name 1522  "r022"
+                              Name 1538  "r023"
+                              Name 1541  "r025"
+                              Name 1544  "r026"
+                              Name 1548  "r026a"
+                              Name 1553  "r027"
+                              Name 1556  "r028"
+                              Name 1560  "r029"
+                              Name 1563  "r030"
+                              Name 1567  "r031"
+                              Name 1571  "r032"
+                              Name 1575  "r033"
+                              Name 1578  "r034"
+                              Name 1581  "r035"
+                              Name 1584  "r036"
+                              Name 1589  "r037"
+                              Name 1592  "r038"
+                              Name 1599  "r039"
+                              Name 1602  "r049"
+                              Name 1607  "r041"
+                              Name 1610  "r042"
+                              Name 1614  "r043"
+                              Name 1617  "r044"
+                              Name 1622  "r046"
+                              Name 1629  "r0"
+                              Name 1633  "r1"
+                              Name 1637  "r2"
+                              Name 1641  "r3"
+                              Name 1645  "r4"
+                              Name 1649  "r5"
+                              Name 1653  "r6"
+                              Name 1657  "r7"
+                              Name 1661  "r8"
+                              Name 1665  "r0"
+                              Name 1669  "r1"
+                              Name 1673  "r2"
+                              Name 1677  "r3"
+                              Name 1681  "r4"
+                              Name 1685  "r5"
+                              Name 1689  "r6"
+                              Name 1693  "r7"
+                              Name 1697  "r8"
+                              Name 1701  "r0"
+                              Name 1705  "r1"
+                              Name 1709  "r2"
+                              Name 1713  "r3"
+                              Name 1717  "r4"
+                              Name 1721  "r5"
+                              Name 1725  "r6"
+                              Name 1729  "r7"
+                              Name 1733  "r8"
+                              Name 1737  "r00"
+                              Name 1741  "r01"
+                              Name 1745  "r02"
+                              Name 1749  "r03"
+                              Name 1753  "r04"
+                              Name 1757  "r05"
+                              Name 1761  "r06"
+                              Name 1765  "r07"
+                              Name 1769  "r08"
+                              Name 1773  "r09"
+                              Name 1777  "r10"
+                              Name 1781  "r11"
+                              Name 1785  "r12"
+                              Name 1789  "r13"
+                              Name 1793  "r14"
+                              Name 1797  "r15"
+                              Name 1801  "r16"
+                              Name 1806  "ps_output"
+                              Name 1813  "@entryPointOutput.color"
+                              Name 1817  "gs_ua"
+                              Name 1818  "gs_ub"
+                              Name 1819  "gs_uc"
+                              Name 1821  "gs_ua2"
+                              Name 1822  "gs_ub2"
+                              Name 1823  "gs_uc2"
+                              Name 1825  "gs_ua3"
+                              Name 1826  "gs_ub3"
+                              Name 1827  "gs_uc3"
+                              Name 1829  "gs_ua4"
+                              Name 1830  "gs_ub4"
+                              Name 1831  "gs_uc4"
+                              Decorate 1813(@entryPointOutput.color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -6124,89 +6206,93 @@
              139:    6(float) Constant 0
              155:             TypeInt 32 1
              156:             TypePointer Function 155(int)
-             193:    155(int) Constant 7
-             262:    6(float) Constant 1050288283
-             283:    6(float) Constant 1065353216
-             287:    155(int) Constant 2
-             339:             TypeVector 135(bool) 2
-             340:   24(fvec2) ConstantComposite 139 139
-             356:             TypeVector 155(int) 2
-             357:             TypePointer Function 356(ivec2)
-             395:    155(int) Constant 3
-             396:  356(ivec2) ConstantComposite 193 395
-             439:      8(int) Constant 7
-             440:      8(int) Constant 8
-             441:   26(ivec2) ConstantComposite 439 440
-             458:             TypePointer Function 339(bvec2)
-             516:    6(float) Constant 1073741824
-             519:      8(int) Constant 1
-             520:      8(int) Constant 2
-             521:   26(ivec2) ConstantComposite 519 520
-             568:   24(fvec2) ConstantComposite 283 516
-             573:             TypeVector 135(bool) 3
-             574:   36(fvec3) ConstantComposite 139 139 139
-             590:             TypeVector 155(int) 3
-             591:             TypePointer Function 590(ivec3)
-             629:      8(int) Constant 3
-             630:      8(int) Constant 5
-             631:   38(ivec3) ConstantComposite 439 629 630
-             678:      8(int) Constant 4
-             679:   38(ivec3) ConstantComposite 520 629 678
-             696:             TypePointer Function 573(bvec3)
-             715:    6(float) Constant 1050253722
-             762:   38(ivec3) ConstantComposite 519 520 629
-             809:    6(float) Constant 1077936128
-             810:   36(fvec3) ConstantComposite 283 516 809
-             815:             TypeVector 135(bool) 4
-             816:   48(fvec4) ConstantComposite 139 139 139 139
-             832:             TypeVector 155(int) 4
-             833:             TypePointer Function 832(ivec4)
-             871:   50(ivec4) ConstantComposite 439 629 630 520
-             925:      8(int) Constant 9
-             926:      8(int) Constant 10
-             927:   50(ivec4) ConstantComposite 439 440 925 926
-             944:             TypePointer Function 815(bvec4)
-            1004:   50(ivec4) ConstantComposite 519 520 629 678
-            1051:    6(float) Constant 1082130432
-            1052:   48(fvec4) ConstantComposite 283 516 809 1051
-            1057:             TypeMatrix 339(bvec2) 2
-            1083:          60 ConstantComposite 340 340
-            1230:   24(fvec2) ConstantComposite 516 516
-            1231:          60 ConstantComposite 1230 1230
-            1236:             TypeMatrix 573(bvec3) 3
-            1262:          68 ConstantComposite 574 574 574
-            1412:   36(fvec3) ConstantComposite 809 809 809
-            1413:          68 ConstantComposite 1412 1412 1412
-            1418:             TypeMatrix 815(bvec4) 4
-            1444:          76 ConstantComposite 816 816 816 816
-            1597:   48(fvec4) ConstantComposite 1051 1051 1051 1051
-            1598:          76 ConstantComposite 1597 1597 1597 1597
-            1777:             TypePointer Function 131(PS_OUTPUT)
-            1779:    155(int) Constant 0
-            1780:   48(fvec4) ConstantComposite 283 283 283 283
-            1785:             TypePointer Output 48(fvec4)
-1786(@entryPointOutput.color):   1785(ptr) Variable Output
-            1789:             TypePointer Workgroup 8(int)
-     1790(gs_ua):   1789(ptr) Variable Workgroup
-     1791(gs_ub):   1789(ptr) Variable Workgroup
-     1792(gs_uc):   1789(ptr) Variable Workgroup
-            1793:             TypePointer Workgroup 26(ivec2)
-    1794(gs_ua2):   1793(ptr) Variable Workgroup
-    1795(gs_ub2):   1793(ptr) Variable Workgroup
-    1796(gs_uc2):   1793(ptr) Variable Workgroup
-            1797:             TypePointer Workgroup 38(ivec3)
-    1798(gs_ua3):   1797(ptr) Variable Workgroup
-    1799(gs_ub3):   1797(ptr) Variable Workgroup
-    1800(gs_uc3):   1797(ptr) Variable Workgroup
-            1801:             TypePointer Workgroup 50(ivec4)
-    1802(gs_ua4):   1801(ptr) Variable Workgroup
-    1803(gs_ub4):   1801(ptr) Variable Workgroup
-    1804(gs_uc4):   1801(ptr) Variable Workgroup
+             187:    155(int) Constant 0
+             199:    155(int) Constant 7
+             268:    6(float) Constant 1050288283
+             289:    6(float) Constant 1065353216
+             293:    155(int) Constant 2
+             345:             TypeVector 135(bool) 2
+             346:   24(fvec2) ConstantComposite 139 139
+             362:             TypeVector 155(int) 2
+             363:             TypePointer Function 362(ivec2)
+             395:      8(int) Constant 0
+             396:   26(ivec2) ConstantComposite 395 395
+             409:    155(int) Constant 3
+             410:  362(ivec2) ConstantComposite 199 409
+             453:      8(int) Constant 7
+             454:      8(int) Constant 8
+             455:   26(ivec2) ConstantComposite 453 454
+             472:             TypePointer Function 345(bvec2)
+             530:    6(float) Constant 1073741824
+             533:      8(int) Constant 1
+             534:      8(int) Constant 2
+             535:   26(ivec2) ConstantComposite 533 534
+             582:   24(fvec2) ConstantComposite 289 530
+             587:             TypeVector 135(bool) 3
+             588:   36(fvec3) ConstantComposite 139 139 139
+             604:             TypeVector 155(int) 3
+             605:             TypePointer Function 604(ivec3)
+             637:   38(ivec3) ConstantComposite 395 395 395
+             650:      8(int) Constant 3
+             651:      8(int) Constant 5
+             652:   38(ivec3) ConstantComposite 453 650 651
+             699:      8(int) Constant 4
+             700:   38(ivec3) ConstantComposite 534 650 699
+             717:             TypePointer Function 587(bvec3)
+             736:    6(float) Constant 1050253722
+             783:   38(ivec3) ConstantComposite 533 534 650
+             830:    6(float) Constant 1077936128
+             831:   36(fvec3) ConstantComposite 289 530 830
+             836:             TypeVector 135(bool) 4
+             837:   48(fvec4) ConstantComposite 139 139 139 139
+             853:             TypeVector 155(int) 4
+             854:             TypePointer Function 853(ivec4)
+             886:   50(ivec4) ConstantComposite 395 395 395 395
+             899:   50(ivec4) ConstantComposite 453 650 651 534
+             953:      8(int) Constant 9
+             954:      8(int) Constant 10
+             955:   50(ivec4) ConstantComposite 453 454 953 954
+             972:             TypePointer Function 836(bvec4)
+            1032:   50(ivec4) ConstantComposite 533 534 650 699
+            1079:    6(float) Constant 1082130432
+            1080:   48(fvec4) ConstantComposite 289 530 830 1079
+            1085:             TypeMatrix 345(bvec2) 2
+            1111:          60 ConstantComposite 346 346
+            1258:   24(fvec2) ConstantComposite 530 530
+            1259:          60 ConstantComposite 1258 1258
+            1264:             TypeMatrix 587(bvec3) 3
+            1290:          68 ConstantComposite 588 588 588
+            1440:   36(fvec3) ConstantComposite 830 830 830
+            1441:          68 ConstantComposite 1440 1440 1440
+            1446:             TypeMatrix 836(bvec4) 4
+            1472:          76 ConstantComposite 837 837 837 837
+            1625:   48(fvec4) ConstantComposite 1079 1079 1079 1079
+            1626:          76 ConstantComposite 1625 1625 1625 1625
+            1805:             TypePointer Function 131(PS_OUTPUT)
+            1807:   48(fvec4) ConstantComposite 289 289 289 289
+            1812:             TypePointer Output 48(fvec4)
+1813(@entryPointOutput.color):   1812(ptr) Variable Output
+            1816:             TypePointer Workgroup 8(int)
+     1817(gs_ua):   1816(ptr) Variable Workgroup
+     1818(gs_ub):   1816(ptr) Variable Workgroup
+     1819(gs_uc):   1816(ptr) Variable Workgroup
+            1820:             TypePointer Workgroup 26(ivec2)
+    1821(gs_ua2):   1820(ptr) Variable Workgroup
+    1822(gs_ub2):   1820(ptr) Variable Workgroup
+    1823(gs_uc2):   1820(ptr) Variable Workgroup
+            1824:             TypePointer Workgroup 38(ivec3)
+    1825(gs_ua3):   1824(ptr) Variable Workgroup
+    1826(gs_ub3):   1824(ptr) Variable Workgroup
+    1827(gs_uc3):   1824(ptr) Variable Workgroup
+            1828:             TypePointer Workgroup 50(ivec4)
+    1829(gs_ua4):   1828(ptr) Variable Workgroup
+    1830(gs_ub4):   1828(ptr) Variable Workgroup
+    1831(gs_uc4):   1828(ptr) Variable Workgroup
          4(main):           2 Function None 3
                5:             Label
-            1787:131(PS_OUTPUT) FunctionCall 133(@main()
-            1788:   48(fvec4) CompositeExtract 1787 0
-                              Store 1786(@entryPointOutput.color) 1788
+            1814:131(PS_OUTPUT) FunctionCall 133(@main()
+            1815:   48(fvec4) CompositeExtract 1814 0
+                              Store 1813(@entryPointOutput.color) 1815
                               Return
                               FunctionEnd
 16(PixelShaderFunctionS(f1;f1;f1;u1;u1;):    6(float) Function None 10
@@ -6228,49 +6314,49 @@
        169(r010):      7(ptr) Variable Function
        173(r011):      7(ptr) Variable Function
        176(r012):      7(ptr) Variable Function
-       186(r014):      7(ptr) Variable Function
-       189(r015):      7(ptr) Variable Function
-       192(r016):    156(ptr) Variable Function
-       195(r017):      7(ptr) Variable Function
-       198(r018):      7(ptr) Variable Function
-       201(r019):      7(ptr) Variable Function
-       204(r020):      7(ptr) Variable Function
-       207(r021):      7(ptr) Variable Function
-       210(r022):      7(ptr) Variable Function
-       213(r023):      7(ptr) Variable Function
-       216(r027):      7(ptr) Variable Function
-       219(r028):      7(ptr) Variable Function
-       222(r029):      9(ptr) Variable Function
-       225(r030):      9(ptr) Variable Function
-       228(r031):      7(ptr) Variable Function
-       231(r033):      7(ptr) Variable Function
-       235(r034):      7(ptr) Variable Function
-       238(r036):      7(ptr) Variable Function
-       241(r037):    136(ptr) Variable Function
-       244(r038):    136(ptr) Variable Function
-       247(r039):      7(ptr) Variable Function
-      251(r039a):      7(ptr) Variable Function
-       256(r040):      7(ptr) Variable Function
-       259(r041):      7(ptr) Variable Function
-       264(r042):      7(ptr) Variable Function
-       267(r043):      7(ptr) Variable Function
-       271(r044):      7(ptr) Variable Function
-       275(r045):      7(ptr) Variable Function
-       279(r046):      7(ptr) Variable Function
-       282(r047):      7(ptr) Variable Function
-       286(r048):      9(ptr) Variable Function
-       290(r049):      7(ptr) Variable Function
-       293(r050):      7(ptr) Variable Function
-       296(r051):      7(ptr) Variable Function
-       299(r052):      7(ptr) Variable Function
-       302(r053):      7(ptr) Variable Function
-       309(r055):      7(ptr) Variable Function
-       312(r056):      7(ptr) Variable Function
-       317(r057):      7(ptr) Variable Function
-       320(r058):      7(ptr) Variable Function
-       324(r059):      7(ptr) Variable Function
-       327(r060):      7(ptr) Variable Function
-       330(r061):      7(ptr) Variable Function
+       192(r014):      7(ptr) Variable Function
+       195(r015):      7(ptr) Variable Function
+       198(r016):    156(ptr) Variable Function
+       201(r017):      7(ptr) Variable Function
+       204(r018):      7(ptr) Variable Function
+       207(r019):      7(ptr) Variable Function
+       210(r020):      7(ptr) Variable Function
+       213(r021):      7(ptr) Variable Function
+       216(r022):      7(ptr) Variable Function
+       219(r023):      7(ptr) Variable Function
+       222(r027):      7(ptr) Variable Function
+       225(r028):      7(ptr) Variable Function
+       228(r029):      9(ptr) Variable Function
+       231(r030):      9(ptr) Variable Function
+       234(r031):      7(ptr) Variable Function
+       237(r033):      7(ptr) Variable Function
+       241(r034):      7(ptr) Variable Function
+       244(r036):      7(ptr) Variable Function
+       247(r037):    136(ptr) Variable Function
+       250(r038):    136(ptr) Variable Function
+       253(r039):      7(ptr) Variable Function
+      257(r039a):      7(ptr) Variable Function
+       262(r040):      7(ptr) Variable Function
+       265(r041):      7(ptr) Variable Function
+       270(r042):      7(ptr) Variable Function
+       273(r043):      7(ptr) Variable Function
+       277(r044):      7(ptr) Variable Function
+       281(r045):      7(ptr) Variable Function
+       285(r046):      7(ptr) Variable Function
+       288(r047):      7(ptr) Variable Function
+       292(r048):      9(ptr) Variable Function
+       296(r049):      7(ptr) Variable Function
+       299(r050):      7(ptr) Variable Function
+       302(r051):      7(ptr) Variable Function
+       305(r052):      7(ptr) Variable Function
+       308(r053):      7(ptr) Variable Function
+       315(r055):      7(ptr) Variable Function
+       318(r056):      7(ptr) Variable Function
+       323(r057):      7(ptr) Variable Function
+       326(r058):      7(ptr) Variable Function
+       330(r059):      7(ptr) Variable Function
+       333(r060):      7(ptr) Variable Function
+       336(r061):      7(ptr) Variable Function
              138:    6(float) Load 11(inF0)
              140:   135(bool) FOrdNotEqual 138 139
              141:   135(bool) All 140
@@ -6319,151 +6405,158 @@
              183:               Label
                                 Kill
              184:             Label
-             187:    6(float) Load 11(inF0)
-             188:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 187
-                              Store 186(r014) 188
-             190:    6(float) Load 11(inF0)
-             191:    6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 190
-                              Store 189(r015) 191
-             194:    155(int) BitCount 193
-                              Store 192(r016) 194
+             186:    155(int) Load 157(r005)
+             188:   135(bool) SLessThan 186 187
+                              SelectionMerge 190 None
+                              BranchConditional 188 189 190
+             189:               Label
+                                Kill
+             190:             Label
+             193:    6(float) Load 11(inF0)
+             194:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 193
+                              Store 192(r014) 194
              196:    6(float) Load 11(inF0)
-             197:    6(float) DPdx 196
-                              Store 195(r017) 197
-             199:    6(float) Load 11(inF0)
-             200:    6(float) DPdxCoarse 199
-                              Store 198(r018) 200
+             197:    6(float) ExtInst 1(GLSL.std.450) 20(Cosh) 196
+                              Store 195(r015) 197
+             200:    155(int) BitCount 199
+                              Store 198(r016) 200
              202:    6(float) Load 11(inF0)
-             203:    6(float) DPdxFine 202
-                              Store 201(r019) 203
+             203:    6(float) DPdx 202
+                              Store 201(r017) 203
              205:    6(float) Load 11(inF0)
-             206:    6(float) DPdy 205
-                              Store 204(r020) 206
+             206:    6(float) DPdxCoarse 205
+                              Store 204(r018) 206
              208:    6(float) Load 11(inF0)
-             209:    6(float) DPdyCoarse 208
-                              Store 207(r021) 209
+             209:    6(float) DPdxFine 208
+                              Store 207(r019) 209
              211:    6(float) Load 11(inF0)
-             212:    6(float) DPdyFine 211
-                              Store 210(r022) 212
+             212:    6(float) DPdy 211
+                              Store 210(r020) 212
              214:    6(float) Load 11(inF0)
-             215:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 214
-                              Store 213(r023) 215
+             215:    6(float) DPdyCoarse 214
+                              Store 213(r021) 215
              217:    6(float) Load 11(inF0)
-             218:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 217
-                              Store 216(r027) 218
+             218:    6(float) DPdyFine 217
+                              Store 216(r022) 218
              220:    6(float) Load 11(inF0)
-             221:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 220
-                              Store 219(r028) 221
-             223:    155(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 193
-             224:      8(int) Bitcast 223
-                              Store 222(r029) 224
-             226:    155(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 193
-             227:      8(int) Bitcast 226
-                              Store 225(r030) 227
-             229:    6(float) Load 11(inF0)
-             230:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 229
-                              Store 228(r031) 230
-             232:    6(float) Load 11(inF0)
-             233:    6(float) Load 12(inF1)
-             234:    6(float) FMod 232 233
-                              Store 231(r033) 234
-             236:    6(float) Load 11(inF0)
-             237:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 236
-                              Store 235(r034) 237
-             239:    6(float) Load 11(inF0)
-             240:    6(float) Fwidth 239
-                              Store 238(r036) 240
+             221:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 220
+                              Store 219(r023) 221
+             223:    6(float) Load 11(inF0)
+             224:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 223
+                              Store 222(r027) 224
+             226:    6(float) Load 11(inF0)
+             227:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 226
+                              Store 225(r028) 227
+             229:    155(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 199
+             230:      8(int) Bitcast 229
+                              Store 228(r029) 230
+             232:    155(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 199
+             233:      8(int) Bitcast 232
+                              Store 231(r030) 233
+             235:    6(float) Load 11(inF0)
+             236:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 235
+                              Store 234(r031) 236
+             238:    6(float) Load 11(inF0)
+             239:    6(float) Load 12(inF1)
+             240:    6(float) FMod 238 239
+                              Store 237(r033) 240
              242:    6(float) Load 11(inF0)
-             243:   135(bool) IsInf 242
-                              Store 241(r037) 243
+             243:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 242
+                              Store 241(r034) 243
              245:    6(float) Load 11(inF0)
-             246:   135(bool) IsNan 245
-                              Store 244(r038) 246
+             246:    6(float) Fwidth 245
+                              Store 244(r036) 246
              248:    6(float) Load 11(inF0)
-             249:    6(float) Load 12(inF1)
-             250:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 248 249
-                              Store 247(r039) 250
-             252:    6(float) Load 11(inF0)
-             253:    6(float) Load 12(inF1)
-             254:    6(float) Load 13(inF2)
-             255:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 252 253 254
-                              Store 251(r039a) 255
-             257:    6(float) Load 11(inF0)
-             258:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 257
-                              Store 256(r040) 258
-             260:    6(float) Load 11(inF0)
-             261:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 260
-             263:    6(float) FMul 261 262
-                              Store 259(r041) 263
-             265:    6(float) Load 11(inF0)
-             266:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 265
-                              Store 264(r042) 266
-             268:    6(float) Load 11(inF0)
-             269:    6(float) Load 12(inF1)
-             270:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 268 269
-                              Store 267(r043) 270
-             272:    6(float) Load 11(inF0)
-             273:    6(float) Load 12(inF1)
-             274:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 272 273
-                              Store 271(r044) 274
-             276:    6(float) Load 11(inF0)
-             277:    6(float) Load 12(inF1)
-             278:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 276 277
-                              Store 275(r045) 278
-             280:    6(float) Load 11(inF0)
-             281:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 280
-                              Store 279(r046) 281
-             284:    6(float) Load 11(inF0)
-             285:    6(float) FDiv 283 284
-                              Store 282(r047) 285
-             288:    155(int) BitReverse 287
-             289:      8(int) Bitcast 288
-                              Store 286(r048) 289
-             291:    6(float) Load 11(inF0)
-             292:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 291
-                              Store 290(r049) 292
-             294:    6(float) Load 11(inF0)
-             295:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 294
-                              Store 293(r050) 295
+             249:   135(bool) IsInf 248
+                              Store 247(r037) 249
+             251:    6(float) Load 11(inF0)
+             252:   135(bool) IsNan 251
+                              Store 250(r038) 252
+             254:    6(float) Load 11(inF0)
+             255:    6(float) Load 12(inF1)
+             256:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 254 255
+                              Store 253(r039) 256
+             258:    6(float) Load 11(inF0)
+             259:    6(float) Load 12(inF1)
+             260:    6(float) Load 13(inF2)
+             261:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 258 259 260
+                              Store 257(r039a) 261
+             263:    6(float) Load 11(inF0)
+             264:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 263
+                              Store 262(r040) 264
+             266:    6(float) Load 11(inF0)
+             267:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 266
+             269:    6(float) FMul 267 268
+                              Store 265(r041) 269
+             271:    6(float) Load 11(inF0)
+             272:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 271
+                              Store 270(r042) 272
+             274:    6(float) Load 11(inF0)
+             275:    6(float) Load 12(inF1)
+             276:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 274 275
+                              Store 273(r043) 276
+             278:    6(float) Load 11(inF0)
+             279:    6(float) Load 12(inF1)
+             280:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 278 279
+                              Store 277(r044) 280
+             282:    6(float) Load 11(inF0)
+             283:    6(float) Load 12(inF1)
+             284:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 282 283
+                              Store 281(r045) 284
+             286:    6(float) Load 11(inF0)
+             287:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 286
+                              Store 285(r046) 287
+             290:    6(float) Load 11(inF0)
+             291:    6(float) FDiv 289 290
+                              Store 288(r047) 291
+             294:    155(int) BitReverse 293
+             295:      8(int) Bitcast 294
+                              Store 292(r048) 295
              297:    6(float) Load 11(inF0)
-             298:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 297 139 283
-                              Store 296(r051) 298
+             298:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 297
+                              Store 296(r049) 298
              300:    6(float) Load 11(inF0)
-             301:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 300
-                              Store 299(r052) 301
+             301:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 300
+                              Store 299(r050) 301
              303:    6(float) Load 11(inF0)
-             304:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 303
-                              Store 302(r053) 304
-             305:    6(float) Load 11(inF0)
-             306:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 305
-                              Store 12(inF1) 306
-             307:    6(float) Load 11(inF0)
-             308:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 307
-                              Store 13(inF2) 308
-             310:    6(float) Load 11(inF0)
-             311:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 310
-                              Store 309(r055) 311
+             304:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 303 139 289
+                              Store 302(r051) 304
+             306:    6(float) Load 11(inF0)
+             307:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 306
+                              Store 305(r052) 307
+             309:    6(float) Load 11(inF0)
+             310:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 309
+                              Store 308(r053) 310
+             311:    6(float) Load 11(inF0)
+             312:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 311
+                              Store 12(inF1) 312
              313:    6(float) Load 11(inF0)
-             314:    6(float) Load 12(inF1)
-             315:    6(float) Load 13(inF2)
-             316:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 313 314 315
-                              Store 312(r056) 316
-             318:    6(float) Load 11(inF0)
-             319:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 318
-                              Store 317(r057) 319
-             321:    6(float) Load 11(inF0)
-             322:    6(float) Load 12(inF1)
-             323:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 321 322
-                              Store 320(r058) 323
-             325:    6(float) Load 11(inF0)
-             326:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 325
-                              Store 324(r059) 326
-             328:    6(float) Load 11(inF0)
-             329:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 328
-                              Store 327(r060) 329
+             314:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 313
+                              Store 13(inF2) 314
+             316:    6(float) Load 11(inF0)
+             317:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 316
+                              Store 315(r055) 317
+             319:    6(float) Load 11(inF0)
+             320:    6(float) Load 12(inF1)
+             321:    6(float) Load 13(inF2)
+             322:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 319 320 321
+                              Store 318(r056) 322
+             324:    6(float) Load 11(inF0)
+             325:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 324
+                              Store 323(r057) 325
+             327:    6(float) Load 11(inF0)
+             328:    6(float) Load 12(inF1)
+             329:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 327 328
+                              Store 326(r058) 329
              331:    6(float) Load 11(inF0)
-             332:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 331
-                              Store 330(r061) 332
+             332:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 331
+                              Store 330(r059) 332
+             334:    6(float) Load 11(inF0)
+             335:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 334
+                              Store 333(r060) 335
+             337:    6(float) Load 11(inF0)
+             338:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 337
+                              Store 336(r061) 338
                               ReturnValue 139
                               FunctionEnd
 22(PixelShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 18
@@ -6480,290 +6573,298 @@
         32(inU0):     27(ptr) FunctionParameter
         33(inU1):     27(ptr) FunctionParameter
               35:             Label
-       337(r000):    136(ptr) Variable Function
-       343(r001):     25(ptr) Variable Function
-       346(r002):     25(ptr) Variable Function
-       349(r003):    136(ptr) Variable Function
-       353(r004):     25(ptr) Variable Function
-       358(r005):    357(ptr) Variable Function
-       361(r006):     27(ptr) Variable Function
-       364(r007):     25(ptr) Variable Function
-       367(r009):     25(ptr) Variable Function
-       370(r010):     25(ptr) Variable Function
-       374(r011):     25(ptr) Variable Function
-       377(r012):     25(ptr) Variable Function
-       388(r013):     25(ptr) Variable Function
-       391(r015):     25(ptr) Variable Function
-       394(r016):    357(ptr) Variable Function
-       398(r017):     25(ptr) Variable Function
-       401(r018):     25(ptr) Variable Function
-       404(r019):     25(ptr) Variable Function
-       407(r020):     25(ptr) Variable Function
-       410(r021):     25(ptr) Variable Function
-       413(r022):     25(ptr) Variable Function
-       416(r023):     25(ptr) Variable Function
-       419(r026):      7(ptr) Variable Function
-       423(r027):      7(ptr) Variable Function
-       427(r028):     25(ptr) Variable Function
-       430(r029):     25(ptr) Variable Function
-       433(r030):     25(ptr) Variable Function
-       438(r031):     27(ptr) Variable Function
-       443(r032):     27(ptr) Variable Function
-       445(r033):     25(ptr) Variable Function
-       448(r035):     25(ptr) Variable Function
-       452(r036):     25(ptr) Variable Function
-       455(r038):     25(ptr) Variable Function
-       459(r039):    458(ptr) Variable Function
-       462(r040):    458(ptr) Variable Function
-       465(r041):     25(ptr) Variable Function
-      469(r039a):     25(ptr) Variable Function
-       474(r042):      7(ptr) Variable Function
-       477(r043):     25(ptr) Variable Function
-       480(r044):     25(ptr) Variable Function
-       484(r045):     25(ptr) Variable Function
-       487(r046):     25(ptr) Variable Function
-       491(r047):     25(ptr) Variable Function
-       495(r048):     25(ptr) Variable Function
-       498(r049):     25(ptr) Variable Function
-       502(r050):     25(ptr) Variable Function
-       505(r051):     25(ptr) Variable Function
-       509(r052):     25(ptr) Variable Function
-       513(r053):     25(ptr) Variable Function
-       518(r054):     27(ptr) Variable Function
-       523(r055):     25(ptr) Variable Function
-       526(r056):     25(ptr) Variable Function
-       529(r057):     25(ptr) Variable Function
-       534(r058):     25(ptr) Variable Function
-       537(r059):     25(ptr) Variable Function
-       544(r060):     25(ptr) Variable Function
-       547(r061):     25(ptr) Variable Function
-       552(r062):     25(ptr) Variable Function
-       555(r063):     25(ptr) Variable Function
-       559(r064):     25(ptr) Variable Function
-       562(r065):     25(ptr) Variable Function
-       565(r066):     25(ptr) Variable Function
-             338:   24(fvec2) Load 29(inF0)
-             341:  339(bvec2) FOrdNotEqual 338 340
-             342:   135(bool) All 341
-                              Store 337(r000) 342
+       343(r000):    136(ptr) Variable Function
+       349(r001):     25(ptr) Variable Function
+       352(r002):     25(ptr) Variable Function
+       355(r003):    136(ptr) Variable Function
+       359(r004):     25(ptr) Variable Function
+       364(r005):    363(ptr) Variable Function
+       367(r006):     27(ptr) Variable Function
+       370(r007):     25(ptr) Variable Function
+       373(r009):     25(ptr) Variable Function
+       376(r010):     25(ptr) Variable Function
+       380(r011):     25(ptr) Variable Function
+       383(r012):     25(ptr) Variable Function
+       402(r013):     25(ptr) Variable Function
+       405(r015):     25(ptr) Variable Function
+       408(r016):    363(ptr) Variable Function
+       412(r017):     25(ptr) Variable Function
+       415(r018):     25(ptr) Variable Function
+       418(r019):     25(ptr) Variable Function
+       421(r020):     25(ptr) Variable Function
+       424(r021):     25(ptr) Variable Function
+       427(r022):     25(ptr) Variable Function
+       430(r023):     25(ptr) Variable Function
+       433(r026):      7(ptr) Variable Function
+       437(r027):      7(ptr) Variable Function
+       441(r028):     25(ptr) Variable Function
+       444(r029):     25(ptr) Variable Function
+       447(r030):     25(ptr) Variable Function
+       452(r031):     27(ptr) Variable Function
+       457(r032):     27(ptr) Variable Function
+       459(r033):     25(ptr) Variable Function
+       462(r035):     25(ptr) Variable Function
+       466(r036):     25(ptr) Variable Function
+       469(r038):     25(ptr) Variable Function
+       473(r039):    472(ptr) Variable Function
+       476(r040):    472(ptr) Variable Function
+       479(r041):     25(ptr) Variable Function
+      483(r039a):     25(ptr) Variable Function
+       488(r042):      7(ptr) Variable Function
+       491(r043):     25(ptr) Variable Function
+       494(r044):     25(ptr) Variable Function
+       498(r045):     25(ptr) Variable Function
+       501(r046):     25(ptr) Variable Function
+       505(r047):     25(ptr) Variable Function
+       509(r048):     25(ptr) Variable Function
+       512(r049):     25(ptr) Variable Function
+       516(r050):     25(ptr) Variable Function
+       519(r051):     25(ptr) Variable Function
+       523(r052):     25(ptr) Variable Function
+       527(r053):     25(ptr) Variable Function
+       532(r054):     27(ptr) Variable Function
+       537(r055):     25(ptr) Variable Function
+       540(r056):     25(ptr) Variable Function
+       543(r057):     25(ptr) Variable Function
+       548(r058):     25(ptr) Variable Function
+       551(r059):     25(ptr) Variable Function
+       558(r060):     25(ptr) Variable Function
+       561(r061):     25(ptr) Variable Function
+       566(r062):     25(ptr) Variable Function
+       569(r063):     25(ptr) Variable Function
+       573(r064):     25(ptr) Variable Function
+       576(r065):     25(ptr) Variable Function
+       579(r066):     25(ptr) Variable Function
              344:   24(fvec2) Load 29(inF0)
-             345:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 344
-                              Store 343(r001) 345
-             347:   24(fvec2) Load 29(inF0)
-             348:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 347
-                              Store 346(r002) 348
+             347:  345(bvec2) FOrdNotEqual 344 346
+             348:   135(bool) All 347
+                              Store 343(r000) 348
              350:   24(fvec2) Load 29(inF0)
-             351:  339(bvec2) FOrdNotEqual 350 340
-             352:   135(bool) Any 351
-                              Store 349(r003) 352
-             354:   24(fvec2) Load 29(inF0)
-             355:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 354
-                              Store 353(r004) 355
-             359:   24(fvec2) Load 29(inF0)
-             360:  356(ivec2) Bitcast 359
-                              Store 358(r005) 360
-             362:   24(fvec2) Load 29(inF0)
-             363:   26(ivec2) Bitcast 362
-                              Store 361(r006) 363
-             365:   26(ivec2) Load 32(inU0)
-             366:   24(fvec2) Bitcast 365
-                              Store 364(r007) 366
+             351:   24(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 350
+                              Store 349(r001) 351
+             353:   24(fvec2) Load 29(inF0)
+             354:   24(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 353
+                              Store 352(r002) 354
+             356:   24(fvec2) Load 29(inF0)
+             357:  345(bvec2) FOrdNotEqual 356 346
+             358:   135(bool) Any 357
+                              Store 355(r003) 358
+             360:   24(fvec2) Load 29(inF0)
+             361:   24(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 360
+                              Store 359(r004) 361
+             365:   24(fvec2) Load 29(inF0)
+             366:  362(ivec2) Bitcast 365
+                              Store 364(r005) 366
              368:   24(fvec2) Load 29(inF0)
-             369:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 368
-                              Store 367(r009) 369
-             371:   24(fvec2) Load 29(inF0)
-             372:   24(fvec2) Load 30(inF1)
-             373:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 371 372
-                              Store 370(r010) 373
-             375:   24(fvec2) Load 29(inF0)
-             376:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 375
-                              Store 374(r011) 376
-             378:   24(fvec2) Load 29(inF0)
-             379:   24(fvec2) Load 30(inF1)
-             380:   24(fvec2) Load 31(inF2)
-             381:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 378 379 380
-                              Store 377(r012) 381
-             382:   24(fvec2) Load 29(inF0)
-             383:  339(bvec2) FOrdLessThan 382 340
-             384:   135(bool) Any 383
-                              SelectionMerge 386 None
-                              BranchConditional 384 385 386
-             385:               Label
+             369:   26(ivec2) Bitcast 368
+                              Store 367(r006) 369
+             371:   26(ivec2) Load 32(inU0)
+             372:   24(fvec2) Bitcast 371
+                              Store 370(r007) 372
+             374:   24(fvec2) Load 29(inF0)
+             375:   24(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 374
+                              Store 373(r009) 375
+             377:   24(fvec2) Load 29(inF0)
+             378:   24(fvec2) Load 30(inF1)
+             379:   24(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 377 378
+                              Store 376(r010) 379
+             381:   24(fvec2) Load 29(inF0)
+             382:   24(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 381
+                              Store 380(r011) 382
+             384:   24(fvec2) Load 29(inF0)
+             385:   24(fvec2) Load 30(inF1)
+             386:   24(fvec2) Load 31(inF2)
+             387:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 384 385 386
+                              Store 383(r012) 387
+             388:   24(fvec2) Load 29(inF0)
+             389:  345(bvec2) FOrdLessThan 388 346
+             390:   135(bool) Any 389
+                              SelectionMerge 392 None
+                              BranchConditional 390 391 392
+             391:               Label
                                 Kill
-             386:             Label
-             389:   24(fvec2) Load 29(inF0)
-             390:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 389
-                              Store 388(r013) 390
-             392:   24(fvec2) Load 29(inF0)
-             393:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 392
-                              Store 391(r015) 393
-             397:  356(ivec2) BitCount 396
-                              Store 394(r016) 397
-             399:   24(fvec2) Load 29(inF0)
-             400:   24(fvec2) DPdx 399
-                              Store 398(r017) 400
-             402:   24(fvec2) Load 29(inF0)
-             403:   24(fvec2) DPdxCoarse 402
-                              Store 401(r018) 403
-             405:   24(fvec2) Load 29(inF0)
-             406:   24(fvec2) DPdxFine 405
-                              Store 404(r019) 406
-             408:   24(fvec2) Load 29(inF0)
-             409:   24(fvec2) DPdy 408
-                              Store 407(r020) 409
-             411:   24(fvec2) Load 29(inF0)
-             412:   24(fvec2) DPdyCoarse 411
-                              Store 410(r021) 412
-             414:   24(fvec2) Load 29(inF0)
-             415:   24(fvec2) DPdyFine 414
-                              Store 413(r022) 415
-             417:   24(fvec2) Load 29(inF0)
-             418:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 417
-                              Store 416(r023) 418
-             420:   24(fvec2) Load 29(inF0)
-             421:   24(fvec2) Load 30(inF1)
-             422:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 420 421
-                              Store 419(r026) 422
-             424:   24(fvec2) Load 29(inF0)
-             425:   24(fvec2) Load 30(inF1)
-             426:    6(float) Dot 424 425
-                              Store 423(r027) 426
+             392:             Label
+             394:   26(ivec2) Load 32(inU0)
+             397:  345(bvec2) ULessThan 394 396
+             398:   135(bool) Any 397
+                              SelectionMerge 400 None
+                              BranchConditional 398 399 400
+             399:               Label
+                                Kill
+             400:             Label
+             403:   24(fvec2) Load 29(inF0)
+             404:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 403
+                              Store 402(r013) 404
+             406:   24(fvec2) Load 29(inF0)
+             407:   24(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 406
+                              Store 405(r015) 407
+             411:  362(ivec2) BitCount 410
+                              Store 408(r016) 411
+             413:   24(fvec2) Load 29(inF0)
+             414:   24(fvec2) DPdx 413
+                              Store 412(r017) 414
+             416:   24(fvec2) Load 29(inF0)
+             417:   24(fvec2) DPdxCoarse 416
+                              Store 415(r018) 417
+             419:   24(fvec2) Load 29(inF0)
+             420:   24(fvec2) DPdxFine 419
+                              Store 418(r019) 420
+             422:   24(fvec2) Load 29(inF0)
+             423:   24(fvec2) DPdy 422
+                              Store 421(r020) 423
+             425:   24(fvec2) Load 29(inF0)
+             426:   24(fvec2) DPdyCoarse 425
+                              Store 424(r021) 426
              428:   24(fvec2) Load 29(inF0)
-             429:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 428
-                              Store 427(r028) 429
+             429:   24(fvec2) DPdyFine 428
+                              Store 427(r022) 429
              431:   24(fvec2) Load 29(inF0)
-             432:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 431
-                              Store 430(r029) 432
+             432:   24(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 431
+                              Store 430(r023) 432
              434:   24(fvec2) Load 29(inF0)
              435:   24(fvec2) Load 30(inF1)
-             436:   24(fvec2) Load 31(inF2)
-             437:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 434 435 436
-                              Store 433(r030) 437
-             442:   26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 441
-                              Store 438(r031) 442
-             444:   26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 441
-                              Store 443(r032) 444
-             446:   24(fvec2) Load 29(inF0)
-             447:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 446
-                              Store 445(r033) 447
-             449:   24(fvec2) Load 29(inF0)
-             450:   24(fvec2) Load 30(inF1)
-             451:   24(fvec2) FMod 449 450
-                              Store 448(r035) 451
-             453:   24(fvec2) Load 29(inF0)
-             454:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 453
-                              Store 452(r036) 454
-             456:   24(fvec2) Load 29(inF0)
-             457:   24(fvec2) Fwidth 456
-                              Store 455(r038) 457
+             436:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 434 435
+                              Store 433(r026) 436
+             438:   24(fvec2) Load 29(inF0)
+             439:   24(fvec2) Load 30(inF1)
+             440:    6(float) Dot 438 439
+                              Store 437(r027) 440
+             442:   24(fvec2) Load 29(inF0)
+             443:   24(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 442
+                              Store 441(r028) 443
+             445:   24(fvec2) Load 29(inF0)
+             446:   24(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 445
+                              Store 444(r029) 446
+             448:   24(fvec2) Load 29(inF0)
+             449:   24(fvec2) Load 30(inF1)
+             450:   24(fvec2) Load 31(inF2)
+             451:   24(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 448 449 450
+                              Store 447(r030) 451
+             456:   26(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 455
+                              Store 452(r031) 456
+             458:   26(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 455
+                              Store 457(r032) 458
              460:   24(fvec2) Load 29(inF0)
-             461:  339(bvec2) IsInf 460
-                              Store 459(r039) 461
+             461:   24(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 460
+                              Store 459(r033) 461
              463:   24(fvec2) Load 29(inF0)
-             464:  339(bvec2) IsNan 463
-                              Store 462(r040) 464
-             466:   24(fvec2) Load 29(inF0)
-             467:   24(fvec2) Load 30(inF1)
-             468:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 466 467
-                              Store 465(r041) 468
+             464:   24(fvec2) Load 30(inF1)
+             465:   24(fvec2) FMod 463 464
+                              Store 462(r035) 465
+             467:   24(fvec2) Load 29(inF0)
+             468:   24(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 467
+                              Store 466(r036) 468
              470:   24(fvec2) Load 29(inF0)
-             471:   24(fvec2) Load 30(inF1)
-             472:   24(fvec2) Load 31(inF2)
-             473:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 470 471 472
-                              Store 469(r039a) 473
-             475:   24(fvec2) Load 29(inF0)
-             476:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 475
-                              Store 474(r042) 476
-             478:   24(fvec2) Load 29(inF0)
-             479:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 478
-                              Store 477(r043) 479
-             481:   24(fvec2) Load 29(inF0)
-             482:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 481
-             483:   24(fvec2) VectorTimesScalar 482 262
-                              Store 480(r044) 483
-             485:   24(fvec2) Load 29(inF0)
-             486:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 485
-                              Store 484(r045) 486
-             488:   24(fvec2) Load 29(inF0)
-             489:   24(fvec2) Load 30(inF1)
-             490:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 488 489
-                              Store 487(r046) 490
+             471:   24(fvec2) Fwidth 470
+                              Store 469(r038) 471
+             474:   24(fvec2) Load 29(inF0)
+             475:  345(bvec2) IsInf 474
+                              Store 473(r039) 475
+             477:   24(fvec2) Load 29(inF0)
+             478:  345(bvec2) IsNan 477
+                              Store 476(r040) 478
+             480:   24(fvec2) Load 29(inF0)
+             481:   24(fvec2) Load 30(inF1)
+             482:   24(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 480 481
+                              Store 479(r041) 482
+             484:   24(fvec2) Load 29(inF0)
+             485:   24(fvec2) Load 30(inF1)
+             486:   24(fvec2) Load 31(inF2)
+             487:   24(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 484 485 486
+                              Store 483(r039a) 487
+             489:   24(fvec2) Load 29(inF0)
+             490:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 489
+                              Store 488(r042) 490
              492:   24(fvec2) Load 29(inF0)
-             493:   24(fvec2) Load 30(inF1)
-             494:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 492 493
-                              Store 491(r047) 494
-             496:   24(fvec2) Load 29(inF0)
-             497:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 496
-                              Store 495(r048) 497
+             493:   24(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 492
+                              Store 491(r043) 493
+             495:   24(fvec2) Load 29(inF0)
+             496:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 495
+             497:   24(fvec2) VectorTimesScalar 496 268
+                              Store 494(r044) 497
              499:   24(fvec2) Load 29(inF0)
-             500:   24(fvec2) Load 30(inF1)
-             501:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 499 500
-                              Store 498(r049) 501
-             503:   24(fvec2) Load 29(inF0)
-             504:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 503
-                              Store 502(r050) 504
+             500:   24(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 499
+                              Store 498(r045) 500
+             502:   24(fvec2) Load 29(inF0)
+             503:   24(fvec2) Load 30(inF1)
+             504:   24(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 502 503
+                              Store 501(r046) 504
              506:   24(fvec2) Load 29(inF0)
-             507:   24(fvec2) CompositeConstruct 283 283
-             508:   24(fvec2) FDiv 507 506
-                              Store 505(r051) 508
+             507:   24(fvec2) Load 30(inF1)
+             508:   24(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 506 507
+                              Store 505(r047) 508
              510:   24(fvec2) Load 29(inF0)
-             511:   24(fvec2) Load 30(inF1)
-             512:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 510 511
-                              Store 509(r052) 512
-             514:   24(fvec2) Load 29(inF0)
-             515:   24(fvec2) Load 30(inF1)
-             517:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 514 515 516
-                              Store 513(r053) 517
-             522:   26(ivec2) BitReverse 521
-                              Store 518(r054) 522
+             511:   24(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 510
+                              Store 509(r048) 511
+             513:   24(fvec2) Load 29(inF0)
+             514:   24(fvec2) Load 30(inF1)
+             515:   24(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 513 514
+                              Store 512(r049) 515
+             517:   24(fvec2) Load 29(inF0)
+             518:   24(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 517
+                              Store 516(r050) 518
+             520:   24(fvec2) Load 29(inF0)
+             521:   24(fvec2) CompositeConstruct 289 289
+             522:   24(fvec2) FDiv 521 520
+                              Store 519(r051) 522
              524:   24(fvec2) Load 29(inF0)
-             525:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 524
-                              Store 523(r055) 525
-             527:   24(fvec2) Load 29(inF0)
-             528:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 527
-                              Store 526(r056) 528
-             530:   24(fvec2) Load 29(inF0)
-             531:   24(fvec2) CompositeConstruct 139 139
-             532:   24(fvec2) CompositeConstruct 283 283
-             533:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 530 531 532
-                              Store 529(r057) 533
-             535:   24(fvec2) Load 29(inF0)
-             536:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 535
-                              Store 534(r058) 536
+             525:   24(fvec2) Load 30(inF1)
+             526:   24(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 524 525
+                              Store 523(r052) 526
+             528:   24(fvec2) Load 29(inF0)
+             529:   24(fvec2) Load 30(inF1)
+             531:   24(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 528 529 530
+                              Store 527(r053) 531
+             536:   26(ivec2) BitReverse 535
+                              Store 532(r054) 536
              538:   24(fvec2) Load 29(inF0)
-             539:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 538
-                              Store 537(r059) 539
-             540:   24(fvec2) Load 29(inF0)
-             541:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 540
-                              Store 30(inF1) 541
-             542:   24(fvec2) Load 29(inF0)
-             543:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 542
-                              Store 31(inF2) 543
-             545:   24(fvec2) Load 29(inF0)
-             546:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 545
-                              Store 544(r060) 546
-             548:   24(fvec2) Load 29(inF0)
-             549:   24(fvec2) Load 30(inF1)
-             550:   24(fvec2) Load 31(inF2)
-             551:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 548 549 550
-                              Store 547(r061) 551
-             553:   24(fvec2) Load 29(inF0)
-             554:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 553
-                              Store 552(r062) 554
+             539:   24(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 538
+                              Store 537(r055) 539
+             541:   24(fvec2) Load 29(inF0)
+             542:   24(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 541
+                              Store 540(r056) 542
+             544:   24(fvec2) Load 29(inF0)
+             545:   24(fvec2) CompositeConstruct 139 139
+             546:   24(fvec2) CompositeConstruct 289 289
+             547:   24(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 544 545 546
+                              Store 543(r057) 547
+             549:   24(fvec2) Load 29(inF0)
+             550:   24(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 549
+                              Store 548(r058) 550
+             552:   24(fvec2) Load 29(inF0)
+             553:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 552
+                              Store 551(r059) 553
+             554:   24(fvec2) Load 29(inF0)
+             555:   24(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 554
+                              Store 30(inF1) 555
              556:   24(fvec2) Load 29(inF0)
-             557:   24(fvec2) Load 30(inF1)
-             558:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 556 557
-                              Store 555(r063) 558
-             560:   24(fvec2) Load 29(inF0)
-             561:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 560
-                              Store 559(r064) 561
-             563:   24(fvec2) Load 29(inF0)
-             564:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 563
-                              Store 562(r065) 564
-             566:   24(fvec2) Load 29(inF0)
-             567:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 566
-                              Store 565(r066) 567
-                              ReturnValue 568
+             557:   24(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 556
+                              Store 31(inF2) 557
+             559:   24(fvec2) Load 29(inF0)
+             560:   24(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 559
+                              Store 558(r060) 560
+             562:   24(fvec2) Load 29(inF0)
+             563:   24(fvec2) Load 30(inF1)
+             564:   24(fvec2) Load 31(inF2)
+             565:   24(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 562 563 564
+                              Store 561(r061) 565
+             567:   24(fvec2) Load 29(inF0)
+             568:   24(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 567
+                              Store 566(r062) 568
+             570:   24(fvec2) Load 29(inF0)
+             571:   24(fvec2) Load 30(inF1)
+             572:   24(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 570 571
+                              Store 569(r063) 572
+             574:   24(fvec2) Load 29(inF0)
+             575:   24(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 574
+                              Store 573(r064) 575
+             577:   24(fvec2) Load 29(inF0)
+             578:   24(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 577
+                              Store 576(r065) 578
+             580:   24(fvec2) Load 29(inF0)
+             581:   24(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 580
+                              Store 579(r066) 581
+                              ReturnValue 582
                               FunctionEnd
 46(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   36(fvec3) Function None 40
         41(inF0):     37(ptr) FunctionParameter
@@ -6772,301 +6873,309 @@
         44(inU0):     39(ptr) FunctionParameter
         45(inU1):     39(ptr) FunctionParameter
               47:             Label
-       571(r000):    136(ptr) Variable Function
-       577(r001):     37(ptr) Variable Function
-       580(r002):     37(ptr) Variable Function
-       583(r003):    136(ptr) Variable Function
-       587(r004):     37(ptr) Variable Function
-       592(r005):    591(ptr) Variable Function
-       595(r006):     39(ptr) Variable Function
-       598(r007):     37(ptr) Variable Function
-       601(r009):     37(ptr) Variable Function
-       604(r010):     37(ptr) Variable Function
-       608(r011):     37(ptr) Variable Function
-       611(r012):     37(ptr) Variable Function
-       622(r013):     37(ptr) Variable Function
-       625(r014):     37(ptr) Variable Function
-       628(r015):     39(ptr) Variable Function
-       633(r016):     37(ptr) Variable Function
-       637(r017):     37(ptr) Variable Function
-       640(r018):     37(ptr) Variable Function
-       643(r019):     37(ptr) Variable Function
-       646(r020):     37(ptr) Variable Function
-       649(r021):     37(ptr) Variable Function
-       652(r022):     37(ptr) Variable Function
-       655(r023):     37(ptr) Variable Function
-       658(r024):      7(ptr) Variable Function
-       662(r025):      7(ptr) Variable Function
-       666(r029):     37(ptr) Variable Function
-       669(r030):     37(ptr) Variable Function
-       672(r031):     37(ptr) Variable Function
-       677(r032):     39(ptr) Variable Function
-       681(r033):     39(ptr) Variable Function
-       683(r034):     37(ptr) Variable Function
-       686(r036):     37(ptr) Variable Function
-       690(r037):     37(ptr) Variable Function
-       693(r039):     37(ptr) Variable Function
-       697(r040):    696(ptr) Variable Function
-       700(r041):    696(ptr) Variable Function
-       703(r042):     37(ptr) Variable Function
-      707(r039a):     37(ptr) Variable Function
-      712(r039b):     37(ptr) Variable Function
-       718(r043):      7(ptr) Variable Function
-       721(r044):     37(ptr) Variable Function
-       724(r045):     37(ptr) Variable Function
-       728(r046):     37(ptr) Variable Function
-       731(r047):     37(ptr) Variable Function
-       735(r048):     37(ptr) Variable Function
-       739(r049):     37(ptr) Variable Function
-       742(r050):     37(ptr) Variable Function
-       746(r051):     37(ptr) Variable Function
-       749(r052):     37(ptr) Variable Function
-       753(r053):     37(ptr) Variable Function
-       757(r054):     37(ptr) Variable Function
-       761(r055):     39(ptr) Variable Function
-       764(r056):     37(ptr) Variable Function
-       767(r057):     37(ptr) Variable Function
-       770(r058):     37(ptr) Variable Function
-       775(r059):     37(ptr) Variable Function
-       778(r060):     37(ptr) Variable Function
-       785(r061):     37(ptr) Variable Function
-       788(r062):     37(ptr) Variable Function
-       793(r063):     37(ptr) Variable Function
-       796(r064):     37(ptr) Variable Function
-       800(r065):     37(ptr) Variable Function
-       803(r066):     37(ptr) Variable Function
-       806(r067):     37(ptr) Variable Function
-             572:   36(fvec3) Load 41(inF0)
-             575:  573(bvec3) FOrdNotEqual 572 574
-             576:   135(bool) All 575
-                              Store 571(r000) 576
-             578:   36(fvec3) Load 41(inF0)
-             579:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 578
-                              Store 577(r001) 579
-             581:   36(fvec3) Load 41(inF0)
-             582:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 581
-                              Store 580(r002) 582
-             584:   36(fvec3) Load 41(inF0)
-             585:  573(bvec3) FOrdNotEqual 584 574
-             586:   135(bool) Any 585
-                              Store 583(r003) 586
-             588:   36(fvec3) Load 41(inF0)
-             589:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 588
-                              Store 587(r004) 589
-             593:   36(fvec3) Load 41(inF0)
-             594:  590(ivec3) Bitcast 593
-                              Store 592(r005) 594
-             596:   36(fvec3) Load 41(inF0)
-             597:   38(ivec3) Bitcast 596
-                              Store 595(r006) 597
-             599:   38(ivec3) Load 44(inU0)
-             600:   36(fvec3) Bitcast 599
-                              Store 598(r007) 600
+       585(r000):    136(ptr) Variable Function
+       591(r001):     37(ptr) Variable Function
+       594(r002):     37(ptr) Variable Function
+       597(r003):    136(ptr) Variable Function
+       601(r004):     37(ptr) Variable Function
+       606(r005):    605(ptr) Variable Function
+       609(r006):     39(ptr) Variable Function
+       612(r007):     37(ptr) Variable Function
+       615(r009):     37(ptr) Variable Function
+       618(r010):     37(ptr) Variable Function
+       622(r011):     37(ptr) Variable Function
+       625(r012):     37(ptr) Variable Function
+       643(r013):     37(ptr) Variable Function
+       646(r014):     37(ptr) Variable Function
+       649(r015):     39(ptr) Variable Function
+       654(r016):     37(ptr) Variable Function
+       658(r017):     37(ptr) Variable Function
+       661(r018):     37(ptr) Variable Function
+       664(r019):     37(ptr) Variable Function
+       667(r020):     37(ptr) Variable Function
+       670(r021):     37(ptr) Variable Function
+       673(r022):     37(ptr) Variable Function
+       676(r023):     37(ptr) Variable Function
+       679(r024):      7(ptr) Variable Function
+       683(r025):      7(ptr) Variable Function
+       687(r029):     37(ptr) Variable Function
+       690(r030):     37(ptr) Variable Function
+       693(r031):     37(ptr) Variable Function
+       698(r032):     39(ptr) Variable Function
+       702(r033):     39(ptr) Variable Function
+       704(r034):     37(ptr) Variable Function
+       707(r036):     37(ptr) Variable Function
+       711(r037):     37(ptr) Variable Function
+       714(r039):     37(ptr) Variable Function
+       718(r040):    717(ptr) Variable Function
+       721(r041):    717(ptr) Variable Function
+       724(r042):     37(ptr) Variable Function
+      728(r039a):     37(ptr) Variable Function
+      733(r039b):     37(ptr) Variable Function
+       739(r043):      7(ptr) Variable Function
+       742(r044):     37(ptr) Variable Function
+       745(r045):     37(ptr) Variable Function
+       749(r046):     37(ptr) Variable Function
+       752(r047):     37(ptr) Variable Function
+       756(r048):     37(ptr) Variable Function
+       760(r049):     37(ptr) Variable Function
+       763(r050):     37(ptr) Variable Function
+       767(r051):     37(ptr) Variable Function
+       770(r052):     37(ptr) Variable Function
+       774(r053):     37(ptr) Variable Function
+       778(r054):     37(ptr) Variable Function
+       782(r055):     39(ptr) Variable Function
+       785(r056):     37(ptr) Variable Function
+       788(r057):     37(ptr) Variable Function
+       791(r058):     37(ptr) Variable Function
+       796(r059):     37(ptr) Variable Function
+       799(r060):     37(ptr) Variable Function
+       806(r061):     37(ptr) Variable Function
+       809(r062):     37(ptr) Variable Function
+       814(r063):     37(ptr) Variable Function
+       817(r064):     37(ptr) Variable Function
+       821(r065):     37(ptr) Variable Function
+       824(r066):     37(ptr) Variable Function
+       827(r067):     37(ptr) Variable Function
+             586:   36(fvec3) Load 41(inF0)
+             589:  587(bvec3) FOrdNotEqual 586 588
+             590:   135(bool) All 589
+                              Store 585(r000) 590
+             592:   36(fvec3) Load 41(inF0)
+             593:   36(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 592
+                              Store 591(r001) 593
+             595:   36(fvec3) Load 41(inF0)
+             596:   36(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 595
+                              Store 594(r002) 596
+             598:   36(fvec3) Load 41(inF0)
+             599:  587(bvec3) FOrdNotEqual 598 588
+             600:   135(bool) Any 599
+                              Store 597(r003) 600
              602:   36(fvec3) Load 41(inF0)
-             603:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 602
-                              Store 601(r009) 603
-             605:   36(fvec3) Load 41(inF0)
-             606:   36(fvec3) Load 42(inF1)
-             607:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 605 606
-                              Store 604(r010) 607
-             609:   36(fvec3) Load 41(inF0)
-             610:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 609
-                              Store 608(r011) 610
-             612:   36(fvec3) Load 41(inF0)
-             613:   36(fvec3) Load 42(inF1)
-             614:   36(fvec3) Load 43(inF2)
-             615:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 612 613 614
-                              Store 611(r012) 615
+             603:   36(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 602
+                              Store 601(r004) 603
+             607:   36(fvec3) Load 41(inF0)
+             608:  604(ivec3) Bitcast 607
+                              Store 606(r005) 608
+             610:   36(fvec3) Load 41(inF0)
+             611:   38(ivec3) Bitcast 610
+                              Store 609(r006) 611
+             613:   38(ivec3) Load 44(inU0)
+             614:   36(fvec3) Bitcast 613
+                              Store 612(r007) 614
              616:   36(fvec3) Load 41(inF0)
-             617:  573(bvec3) FOrdLessThan 616 574
-             618:   135(bool) Any 617
-                              SelectionMerge 620 None
-                              BranchConditional 618 619 620
-             619:               Label
-                                Kill
-             620:             Label
+             617:   36(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 616
+                              Store 615(r009) 617
+             619:   36(fvec3) Load 41(inF0)
+             620:   36(fvec3) Load 42(inF1)
+             621:   36(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 619 620
+                              Store 618(r010) 621
              623:   36(fvec3) Load 41(inF0)
-             624:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 623
-                              Store 622(r013) 624
+             624:   36(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 623
+                              Store 622(r011) 624
              626:   36(fvec3) Load 41(inF0)
-             627:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 626
-                              Store 625(r014) 627
-             632:   38(ivec3) BitCount 631
-                              Store 628(r015) 632
-             634:   36(fvec3) Load 41(inF0)
-             635:   36(fvec3) Load 42(inF1)
-             636:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 634 635
-                              Store 633(r016) 636
-             638:   36(fvec3) Load 41(inF0)
-             639:   36(fvec3) DPdx 638
-                              Store 637(r017) 639
-             641:   36(fvec3) Load 41(inF0)
-             642:   36(fvec3) DPdxCoarse 641
-                              Store 640(r018) 642
+             627:   36(fvec3) Load 42(inF1)
+             628:   36(fvec3) Load 43(inF2)
+             629:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 626 627 628
+                              Store 625(r012) 629
+             630:   36(fvec3) Load 41(inF0)
+             631:  587(bvec3) FOrdLessThan 630 588
+             632:   135(bool) Any 631
+                              SelectionMerge 634 None
+                              BranchConditional 632 633 634
+             633:               Label
+                                Kill
+             634:             Label
+             636:   38(ivec3) Load 44(inU0)
+             638:  587(bvec3) ULessThan 636 637
+             639:   135(bool) Any 638
+                              SelectionMerge 641 None
+                              BranchConditional 639 640 641
+             640:               Label
+                                Kill
+             641:             Label
              644:   36(fvec3) Load 41(inF0)
-             645:   36(fvec3) DPdxFine 644
-                              Store 643(r019) 645
+             645:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 644
+                              Store 643(r013) 645
              647:   36(fvec3) Load 41(inF0)
-             648:   36(fvec3) DPdy 647
-                              Store 646(r020) 648
-             650:   36(fvec3) Load 41(inF0)
-             651:   36(fvec3) DPdyCoarse 650
-                              Store 649(r021) 651
-             653:   36(fvec3) Load 41(inF0)
-             654:   36(fvec3) DPdyFine 653
-                              Store 652(r022) 654
-             656:   36(fvec3) Load 41(inF0)
-             657:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 656
-                              Store 655(r023) 657
+             648:   36(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 647
+                              Store 646(r014) 648
+             653:   38(ivec3) BitCount 652
+                              Store 649(r015) 653
+             655:   36(fvec3) Load 41(inF0)
+             656:   36(fvec3) Load 42(inF1)
+             657:   36(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 655 656
+                              Store 654(r016) 657
              659:   36(fvec3) Load 41(inF0)
-             660:   36(fvec3) Load 42(inF1)
-             661:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 659 660
-                              Store 658(r024) 661
-             663:   36(fvec3) Load 41(inF0)
-             664:   36(fvec3) Load 42(inF1)
-             665:    6(float) Dot 663 664
-                              Store 662(r025) 665
-             667:   36(fvec3) Load 41(inF0)
-             668:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 667
-                              Store 666(r029) 668
-             670:   36(fvec3) Load 41(inF0)
-             671:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 670
-                              Store 669(r030) 671
-             673:   36(fvec3) Load 41(inF0)
-             674:   36(fvec3) Load 42(inF1)
-             675:   36(fvec3) Load 43(inF2)
-             676:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 673 674 675
-                              Store 672(r031) 676
-             680:   38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 679
-                              Store 677(r032) 680
-             682:   38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 679
-                              Store 681(r033) 682
+             660:   36(fvec3) DPdx 659
+                              Store 658(r017) 660
+             662:   36(fvec3) Load 41(inF0)
+             663:   36(fvec3) DPdxCoarse 662
+                              Store 661(r018) 663
+             665:   36(fvec3) Load 41(inF0)
+             666:   36(fvec3) DPdxFine 665
+                              Store 664(r019) 666
+             668:   36(fvec3) Load 41(inF0)
+             669:   36(fvec3) DPdy 668
+                              Store 667(r020) 669
+             671:   36(fvec3) Load 41(inF0)
+             672:   36(fvec3) DPdyCoarse 671
+                              Store 670(r021) 672
+             674:   36(fvec3) Load 41(inF0)
+             675:   36(fvec3) DPdyFine 674
+                              Store 673(r022) 675
+             677:   36(fvec3) Load 41(inF0)
+             678:   36(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 677
+                              Store 676(r023) 678
+             680:   36(fvec3) Load 41(inF0)
+             681:   36(fvec3) Load 42(inF1)
+             682:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 680 681
+                              Store 679(r024) 682
              684:   36(fvec3) Load 41(inF0)
-             685:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 684
-                              Store 683(r034) 685
-             687:   36(fvec3) Load 41(inF0)
-             688:   36(fvec3) Load 42(inF1)
-             689:   36(fvec3) FMod 687 688
-                              Store 686(r036) 689
+             685:   36(fvec3) Load 42(inF1)
+             686:    6(float) Dot 684 685
+                              Store 683(r025) 686
+             688:   36(fvec3) Load 41(inF0)
+             689:   36(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 688
+                              Store 687(r029) 689
              691:   36(fvec3) Load 41(inF0)
-             692:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 691
-                              Store 690(r037) 692
+             692:   36(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 691
+                              Store 690(r030) 692
              694:   36(fvec3) Load 41(inF0)
-             695:   36(fvec3) Fwidth 694
-                              Store 693(r039) 695
-             698:   36(fvec3) Load 41(inF0)
-             699:  573(bvec3) IsInf 698
-                              Store 697(r040) 699
-             701:   36(fvec3) Load 41(inF0)
-             702:  573(bvec3) IsNan 701
-                              Store 700(r041) 702
-             704:   36(fvec3) Load 41(inF0)
-             705:   36(fvec3) Load 42(inF1)
-             706:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 704 705
-                              Store 703(r042) 706
+             695:   36(fvec3) Load 42(inF1)
+             696:   36(fvec3) Load 43(inF2)
+             697:   36(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 694 695 696
+                              Store 693(r031) 697
+             701:   38(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 700
+                              Store 698(r032) 701
+             703:   38(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 700
+                              Store 702(r033) 703
+             705:   36(fvec3) Load 41(inF0)
+             706:   36(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 705
+                              Store 704(r034) 706
              708:   36(fvec3) Load 41(inF0)
              709:   36(fvec3) Load 42(inF1)
-             710:   36(fvec3) Load 43(inF2)
-             711:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 708 709 710
-                              Store 707(r039a) 711
-             713:   36(fvec3) Load 41(inF0)
-             714:   36(fvec3) Load 42(inF1)
-             716:   36(fvec3) CompositeConstruct 715 715 715
-             717:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 713 714 716
-                              Store 712(r039b) 717
+             710:   36(fvec3) FMod 708 709
+                              Store 707(r036) 710
+             712:   36(fvec3) Load 41(inF0)
+             713:   36(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 712
+                              Store 711(r037) 713
+             715:   36(fvec3) Load 41(inF0)
+             716:   36(fvec3) Fwidth 715
+                              Store 714(r039) 716
              719:   36(fvec3) Load 41(inF0)
-             720:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 719
-                              Store 718(r043) 720
+             720:  587(bvec3) IsInf 719
+                              Store 718(r040) 720
              722:   36(fvec3) Load 41(inF0)
-             723:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 722
-                              Store 721(r044) 723
+             723:  587(bvec3) IsNan 722
+                              Store 721(r041) 723
              725:   36(fvec3) Load 41(inF0)
-             726:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 725
-             727:   36(fvec3) VectorTimesScalar 726 262
-                              Store 724(r045) 727
+             726:   36(fvec3) Load 42(inF1)
+             727:   36(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 725 726
+                              Store 724(r042) 727
              729:   36(fvec3) Load 41(inF0)
-             730:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 729
-                              Store 728(r046) 730
-             732:   36(fvec3) Load 41(inF0)
-             733:   36(fvec3) Load 42(inF1)
-             734:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 732 733
-                              Store 731(r047) 734
-             736:   36(fvec3) Load 41(inF0)
-             737:   36(fvec3) Load 42(inF1)
-             738:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 736 737
-                              Store 735(r048) 738
+             730:   36(fvec3) Load 42(inF1)
+             731:   36(fvec3) Load 43(inF2)
+             732:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 729 730 731
+                              Store 728(r039a) 732
+             734:   36(fvec3) Load 41(inF0)
+             735:   36(fvec3) Load 42(inF1)
+             737:   36(fvec3) CompositeConstruct 736 736 736
+             738:   36(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 734 735 737
+                              Store 733(r039b) 738
              740:   36(fvec3) Load 41(inF0)
-             741:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 740
-                              Store 739(r049) 741
+             741:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 740
+                              Store 739(r043) 741
              743:   36(fvec3) Load 41(inF0)
-             744:   36(fvec3) Load 42(inF1)
-             745:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 743 744
-                              Store 742(r050) 745
-             747:   36(fvec3) Load 41(inF0)
-             748:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 747
-                              Store 746(r051) 748
+             744:   36(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 743
+                              Store 742(r044) 744
+             746:   36(fvec3) Load 41(inF0)
+             747:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 746
+             748:   36(fvec3) VectorTimesScalar 747 268
+                              Store 745(r045) 748
              750:   36(fvec3) Load 41(inF0)
-             751:   36(fvec3) CompositeConstruct 283 283 283
-             752:   36(fvec3) FDiv 751 750
-                              Store 749(r052) 752
-             754:   36(fvec3) Load 41(inF0)
-             755:   36(fvec3) Load 42(inF1)
-             756:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 754 755
-                              Store 753(r053) 756
-             758:   36(fvec3) Load 41(inF0)
-             759:   36(fvec3) Load 42(inF1)
-             760:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 758 759 516
-                              Store 757(r054) 760
-             763:   38(ivec3) BitReverse 762
-                              Store 761(r055) 763
-             765:   36(fvec3) Load 41(inF0)
-             766:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 765
-                              Store 764(r056) 766
+             751:   36(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 750
+                              Store 749(r046) 751
+             753:   36(fvec3) Load 41(inF0)
+             754:   36(fvec3) Load 42(inF1)
+             755:   36(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 753 754
+                              Store 752(r047) 755
+             757:   36(fvec3) Load 41(inF0)
+             758:   36(fvec3) Load 42(inF1)
+             759:   36(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 757 758
+                              Store 756(r048) 759
+             761:   36(fvec3) Load 41(inF0)
+             762:   36(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 761
+                              Store 760(r049) 762
+             764:   36(fvec3) Load 41(inF0)
+             765:   36(fvec3) Load 42(inF1)
+             766:   36(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 764 765
+                              Store 763(r050) 766
              768:   36(fvec3) Load 41(inF0)
-             769:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 768
-                              Store 767(r057) 769
+             769:   36(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 768
+                              Store 767(r051) 769
              771:   36(fvec3) Load 41(inF0)
-             772:   36(fvec3) CompositeConstruct 139 139 139
-             773:   36(fvec3) CompositeConstruct 283 283 283
-             774:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 771 772 773
-                              Store 770(r058) 774
-             776:   36(fvec3) Load 41(inF0)
-             777:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 776
-                              Store 775(r059) 777
+             772:   36(fvec3) CompositeConstruct 289 289 289
+             773:   36(fvec3) FDiv 772 771
+                              Store 770(r052) 773
+             775:   36(fvec3) Load 41(inF0)
+             776:   36(fvec3) Load 42(inF1)
+             777:   36(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 775 776
+                              Store 774(r053) 777
              779:   36(fvec3) Load 41(inF0)
-             780:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 779
-                              Store 778(r060) 780
-             781:   36(fvec3) Load 41(inF0)
-             782:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 781
-                              Store 42(inF1) 782
-             783:   36(fvec3) Load 41(inF0)
-             784:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 783
-                              Store 43(inF2) 784
+             780:   36(fvec3) Load 42(inF1)
+             781:   36(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 779 780 530
+                              Store 778(r054) 781
+             784:   38(ivec3) BitReverse 783
+                              Store 782(r055) 784
              786:   36(fvec3) Load 41(inF0)
-             787:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 786
-                              Store 785(r061) 787
+             787:   36(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 786
+                              Store 785(r056) 787
              789:   36(fvec3) Load 41(inF0)
-             790:   36(fvec3) Load 42(inF1)
-             791:   36(fvec3) Load 43(inF2)
-             792:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 789 790 791
-                              Store 788(r062) 792
-             794:   36(fvec3) Load 41(inF0)
-             795:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 794
-                              Store 793(r063) 795
+             790:   36(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 789
+                              Store 788(r057) 790
+             792:   36(fvec3) Load 41(inF0)
+             793:   36(fvec3) CompositeConstruct 139 139 139
+             794:   36(fvec3) CompositeConstruct 289 289 289
+             795:   36(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 792 793 794
+                              Store 791(r058) 795
              797:   36(fvec3) Load 41(inF0)
-             798:   36(fvec3) Load 42(inF1)
-             799:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 797 798
-                              Store 796(r064) 799
-             801:   36(fvec3) Load 41(inF0)
-             802:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 801
-                              Store 800(r065) 802
+             798:   36(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 797
+                              Store 796(r059) 798
+             800:   36(fvec3) Load 41(inF0)
+             801:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 800
+                              Store 799(r060) 801
+             802:   36(fvec3) Load 41(inF0)
+             803:   36(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 802
+                              Store 42(inF1) 803
              804:   36(fvec3) Load 41(inF0)
-             805:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 804
-                              Store 803(r066) 805
+             805:   36(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 804
+                              Store 43(inF2) 805
              807:   36(fvec3) Load 41(inF0)
-             808:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 807
-                              Store 806(r067) 808
-                              ReturnValue 810
+             808:   36(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 807
+                              Store 806(r061) 808
+             810:   36(fvec3) Load 41(inF0)
+             811:   36(fvec3) Load 42(inF1)
+             812:   36(fvec3) Load 43(inF2)
+             813:   36(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 810 811 812
+                              Store 809(r062) 813
+             815:   36(fvec3) Load 41(inF0)
+             816:   36(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 815
+                              Store 814(r063) 816
+             818:   36(fvec3) Load 41(inF0)
+             819:   36(fvec3) Load 42(inF1)
+             820:   36(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 818 819
+                              Store 817(r064) 820
+             822:   36(fvec3) Load 41(inF0)
+             823:   36(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 822
+                              Store 821(r065) 823
+             825:   36(fvec3) Load 41(inF0)
+             826:   36(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 825
+                              Store 824(r066) 826
+             828:   36(fvec3) Load 41(inF0)
+             829:   36(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 828
+                              Store 827(r067) 829
+                              ReturnValue 831
                               FunctionEnd
 58(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;):   48(fvec4) Function None 52
         53(inF0):     49(ptr) FunctionParameter
@@ -7075,998 +7184,1006 @@
         56(inU0):     51(ptr) FunctionParameter
         57(inU1):     51(ptr) FunctionParameter
               59:             Label
-       813(r000):    136(ptr) Variable Function
-       819(r001):     49(ptr) Variable Function
-       822(r002):     49(ptr) Variable Function
-       825(r003):    136(ptr) Variable Function
-       829(r004):     49(ptr) Variable Function
-       834(r005):    833(ptr) Variable Function
-       837(r006):     51(ptr) Variable Function
-       840(r007):     49(ptr) Variable Function
-       843(r009):     49(ptr) Variable Function
-       846(r010):     49(ptr) Variable Function
-       850(r011):     49(ptr) Variable Function
-       853(r012):     49(ptr) Variable Function
-       864(r013):     49(ptr) Variable Function
-       867(r014):     49(ptr) Variable Function
-       870(r015):     51(ptr) Variable Function
-       873(r016):     49(ptr) Variable Function
-       876(r017):     49(ptr) Variable Function
-       879(r018):     49(ptr) Variable Function
-       882(r019):     49(ptr) Variable Function
-       885(r020):     49(ptr) Variable Function
-       888(r021):     49(ptr) Variable Function
-       891(r022):     49(ptr) Variable Function
-       894(r023):      7(ptr) Variable Function
-       898(r024):      7(ptr) Variable Function
-       902(r025):     49(ptr) Variable Function
-       913(r029):     49(ptr) Variable Function
-       916(r030):     49(ptr) Variable Function
-       919(r031):     49(ptr) Variable Function
-       924(r032):     51(ptr) Variable Function
-       929(r033):     51(ptr) Variable Function
-       931(r034):     49(ptr) Variable Function
-       934(r036):     49(ptr) Variable Function
-       938(r037):     49(ptr) Variable Function
-       941(r039):     49(ptr) Variable Function
-       945(r040):    944(ptr) Variable Function
-       948(r041):    944(ptr) Variable Function
-       951(r042):     49(ptr) Variable Function
-      955(r039a):     49(ptr) Variable Function
-       960(r043):      7(ptr) Variable Function
-       963(r044):     49(ptr) Variable Function
-       966(r045):     49(ptr) Variable Function
-       970(r046):     49(ptr) Variable Function
-       973(r047):     49(ptr) Variable Function
-       977(r048):     49(ptr) Variable Function
-       981(r049):     49(ptr) Variable Function
-       984(r050):     49(ptr) Variable Function
-       988(r051):     49(ptr) Variable Function
-       991(r052):     49(ptr) Variable Function
-       995(r053):     49(ptr) Variable Function
-       999(r054):     49(ptr) Variable Function
-      1003(r055):     51(ptr) Variable Function
-      1006(r056):     49(ptr) Variable Function
-      1009(r057):     49(ptr) Variable Function
-      1012(r058):     49(ptr) Variable Function
-      1017(r059):     49(ptr) Variable Function
-      1020(r060):     49(ptr) Variable Function
-      1027(r061):     49(ptr) Variable Function
-      1030(r062):     49(ptr) Variable Function
-      1035(r063):     49(ptr) Variable Function
-      1038(r064):     49(ptr) Variable Function
-      1042(r065):     49(ptr) Variable Function
-      1045(r066):     49(ptr) Variable Function
-      1048(r067):     49(ptr) Variable Function
-             814:   48(fvec4) Load 53(inF0)
-             817:  815(bvec4) FOrdNotEqual 814 816
-             818:   135(bool) All 817
-                              Store 813(r000) 818
-             820:   48(fvec4) Load 53(inF0)
-             821:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 820
-                              Store 819(r001) 821
-             823:   48(fvec4) Load 53(inF0)
-             824:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 823
-                              Store 822(r002) 824
-             826:   48(fvec4) Load 53(inF0)
-             827:  815(bvec4) FOrdNotEqual 826 816
-             828:   135(bool) Any 827
-                              Store 825(r003) 828
-             830:   48(fvec4) Load 53(inF0)
-             831:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 830
-                              Store 829(r004) 831
+       834(r000):    136(ptr) Variable Function
+       840(r001):     49(ptr) Variable Function
+       843(r002):     49(ptr) Variable Function
+       846(r003):    136(ptr) Variable Function
+       850(r004):     49(ptr) Variable Function
+       855(r005):    854(ptr) Variable Function
+       858(r006):     51(ptr) Variable Function
+       861(r007):     49(ptr) Variable Function
+       864(r009):     49(ptr) Variable Function
+       867(r010):     49(ptr) Variable Function
+       871(r011):     49(ptr) Variable Function
+       874(r012):     49(ptr) Variable Function
+       892(r013):     49(ptr) Variable Function
+       895(r014):     49(ptr) Variable Function
+       898(r015):     51(ptr) Variable Function
+       901(r016):     49(ptr) Variable Function
+       904(r017):     49(ptr) Variable Function
+       907(r018):     49(ptr) Variable Function
+       910(r019):     49(ptr) Variable Function
+       913(r020):     49(ptr) Variable Function
+       916(r021):     49(ptr) Variable Function
+       919(r022):     49(ptr) Variable Function
+       922(r023):      7(ptr) Variable Function
+       926(r024):      7(ptr) Variable Function
+       930(r025):     49(ptr) Variable Function
+       941(r029):     49(ptr) Variable Function
+       944(r030):     49(ptr) Variable Function
+       947(r031):     49(ptr) Variable Function
+       952(r032):     51(ptr) Variable Function
+       957(r033):     51(ptr) Variable Function
+       959(r034):     49(ptr) Variable Function
+       962(r036):     49(ptr) Variable Function
+       966(r037):     49(ptr) Variable Function
+       969(r039):     49(ptr) Variable Function
+       973(r040):    972(ptr) Variable Function
+       976(r041):    972(ptr) Variable Function
+       979(r042):     49(ptr) Variable Function
+      983(r039a):     49(ptr) Variable Function
+       988(r043):      7(ptr) Variable Function
+       991(r044):     49(ptr) Variable Function
+       994(r045):     49(ptr) Variable Function
+       998(r046):     49(ptr) Variable Function
+      1001(r047):     49(ptr) Variable Function
+      1005(r048):     49(ptr) Variable Function
+      1009(r049):     49(ptr) Variable Function
+      1012(r050):     49(ptr) Variable Function
+      1016(r051):     49(ptr) Variable Function
+      1019(r052):     49(ptr) Variable Function
+      1023(r053):     49(ptr) Variable Function
+      1027(r054):     49(ptr) Variable Function
+      1031(r055):     51(ptr) Variable Function
+      1034(r056):     49(ptr) Variable Function
+      1037(r057):     49(ptr) Variable Function
+      1040(r058):     49(ptr) Variable Function
+      1045(r059):     49(ptr) Variable Function
+      1048(r060):     49(ptr) Variable Function
+      1055(r061):     49(ptr) Variable Function
+      1058(r062):     49(ptr) Variable Function
+      1063(r063):     49(ptr) Variable Function
+      1066(r064):     49(ptr) Variable Function
+      1070(r065):     49(ptr) Variable Function
+      1073(r066):     49(ptr) Variable Function
+      1076(r067):     49(ptr) Variable Function
              835:   48(fvec4) Load 53(inF0)
-             836:  832(ivec4) Bitcast 835
-                              Store 834(r005) 836
-             838:   48(fvec4) Load 53(inF0)
-             839:   50(ivec4) Bitcast 838
-                              Store 837(r006) 839
-             841:   50(ivec4) Load 56(inU0)
-             842:   48(fvec4) Bitcast 841
-                              Store 840(r007) 842
+             838:  836(bvec4) FOrdNotEqual 835 837
+             839:   135(bool) All 838
+                              Store 834(r000) 839
+             841:   48(fvec4) Load 53(inF0)
+             842:   48(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 841
+                              Store 840(r001) 842
              844:   48(fvec4) Load 53(inF0)
-             845:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 844
-                              Store 843(r009) 845
+             845:   48(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 844
+                              Store 843(r002) 845
              847:   48(fvec4) Load 53(inF0)
-             848:   48(fvec4) Load 54(inF1)
-             849:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 847 848
-                              Store 846(r010) 849
+             848:  836(bvec4) FOrdNotEqual 847 837
+             849:   135(bool) Any 848
+                              Store 846(r003) 849
              851:   48(fvec4) Load 53(inF0)
-             852:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 851
-                              Store 850(r011) 852
-             854:   48(fvec4) Load 53(inF0)
-             855:   48(fvec4) Load 54(inF1)
-             856:   48(fvec4) Load 55(inF2)
-             857:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 854 855 856
-                              Store 853(r012) 857
-             858:   48(fvec4) Load 53(inF0)
-             859:  815(bvec4) FOrdLessThan 858 816
-             860:   135(bool) Any 859
-                              SelectionMerge 862 None
-                              BranchConditional 860 861 862
-             861:               Label
-                                Kill
-             862:             Label
+             852:   48(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 851
+                              Store 850(r004) 852
+             856:   48(fvec4) Load 53(inF0)
+             857:  853(ivec4) Bitcast 856
+                              Store 855(r005) 857
+             859:   48(fvec4) Load 53(inF0)
+             860:   50(ivec4) Bitcast 859
+                              Store 858(r006) 860
+             862:   50(ivec4) Load 56(inU0)
+             863:   48(fvec4) Bitcast 862
+                              Store 861(r007) 863
              865:   48(fvec4) Load 53(inF0)
-             866:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 865
-                              Store 864(r013) 866
+             866:   48(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 865
+                              Store 864(r009) 866
              868:   48(fvec4) Load 53(inF0)
-             869:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 868
-                              Store 867(r014) 869
-             872:   50(ivec4) BitCount 871
-                              Store 870(r015) 872
-             874:   48(fvec4) Load 53(inF0)
-             875:   48(fvec4) DPdx 874
-                              Store 873(r016) 875
-             877:   48(fvec4) Load 53(inF0)
-             878:   48(fvec4) DPdxCoarse 877
-                              Store 876(r017) 878
-             880:   48(fvec4) Load 53(inF0)
-             881:   48(fvec4) DPdxFine 880
-                              Store 879(r018) 881
-             883:   48(fvec4) Load 53(inF0)
-             884:   48(fvec4) DPdy 883
-                              Store 882(r019) 884
-             886:   48(fvec4) Load 53(inF0)
-             887:   48(fvec4) DPdyCoarse 886
-                              Store 885(r020) 887
-             889:   48(fvec4) Load 53(inF0)
-             890:   48(fvec4) DPdyFine 889
-                              Store 888(r021) 890
-             892:   48(fvec4) Load 53(inF0)
-             893:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 892
-                              Store 891(r022) 893
-             895:   48(fvec4) Load 53(inF0)
-             896:   48(fvec4) Load 54(inF1)
-             897:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 895 896
-                              Store 894(r023) 897
-             899:   48(fvec4) Load 53(inF0)
-             900:   48(fvec4) Load 54(inF1)
-             901:    6(float) Dot 899 900
-                              Store 898(r024) 901
-             903:      7(ptr) AccessChain 53(inF0) 519
-             904:    6(float) Load 903
-             905:      7(ptr) AccessChain 54(inF1) 519
-             906:    6(float) Load 905
-             907:    6(float) FMul 904 906
-             908:      7(ptr) AccessChain 53(inF0) 520
-             909:    6(float) Load 908
-             910:      7(ptr) AccessChain 54(inF1) 629
-             911:    6(float) Load 910
-             912:   48(fvec4) CompositeConstruct 283 907 909 911
-                              Store 902(r025) 912
+             869:   48(fvec4) Load 54(inF1)
+             870:   48(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 868 869
+                              Store 867(r010) 870
+             872:   48(fvec4) Load 53(inF0)
+             873:   48(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 872
+                              Store 871(r011) 873
+             875:   48(fvec4) Load 53(inF0)
+             876:   48(fvec4) Load 54(inF1)
+             877:   48(fvec4) Load 55(inF2)
+             878:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 875 876 877
+                              Store 874(r012) 878
+             879:   48(fvec4) Load 53(inF0)
+             880:  836(bvec4) FOrdLessThan 879 837
+             881:   135(bool) Any 880
+                              SelectionMerge 883 None
+                              BranchConditional 881 882 883
+             882:               Label
+                                Kill
+             883:             Label
+             885:   50(ivec4) Load 56(inU0)
+             887:  836(bvec4) ULessThan 885 886
+             888:   135(bool) Any 887
+                              SelectionMerge 890 None
+                              BranchConditional 888 889 890
+             889:               Label
+                                Kill
+             890:             Label
+             893:   48(fvec4) Load 53(inF0)
+             894:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 893
+                              Store 892(r013) 894
+             896:   48(fvec4) Load 53(inF0)
+             897:   48(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 896
+                              Store 895(r014) 897
+             900:   50(ivec4) BitCount 899
+                              Store 898(r015) 900
+             902:   48(fvec4) Load 53(inF0)
+             903:   48(fvec4) DPdx 902
+                              Store 901(r016) 903
+             905:   48(fvec4) Load 53(inF0)
+             906:   48(fvec4) DPdxCoarse 905
+                              Store 904(r017) 906
+             908:   48(fvec4) Load 53(inF0)
+             909:   48(fvec4) DPdxFine 908
+                              Store 907(r018) 909
+             911:   48(fvec4) Load 53(inF0)
+             912:   48(fvec4) DPdy 911
+                              Store 910(r019) 912
              914:   48(fvec4) Load 53(inF0)
-             915:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 914
-                              Store 913(r029) 915
+             915:   48(fvec4) DPdyCoarse 914
+                              Store 913(r020) 915
              917:   48(fvec4) Load 53(inF0)
-             918:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 917
-                              Store 916(r030) 918
+             918:   48(fvec4) DPdyFine 917
+                              Store 916(r021) 918
              920:   48(fvec4) Load 53(inF0)
-             921:   48(fvec4) Load 54(inF1)
-             922:   48(fvec4) Load 55(inF2)
-             923:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 920 921 922
-                              Store 919(r031) 923
-             928:   50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 927
-                              Store 924(r032) 928
-             930:   50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 927
-                              Store 929(r033) 930
-             932:   48(fvec4) Load 53(inF0)
-             933:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 932
-                              Store 931(r034) 933
-             935:   48(fvec4) Load 53(inF0)
-             936:   48(fvec4) Load 54(inF1)
-             937:   48(fvec4) FMod 935 936
-                              Store 934(r036) 937
-             939:   48(fvec4) Load 53(inF0)
-             940:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 939
-                              Store 938(r037) 940
+             921:   48(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 920
+                              Store 919(r022) 921
+             923:   48(fvec4) Load 53(inF0)
+             924:   48(fvec4) Load 54(inF1)
+             925:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 923 924
+                              Store 922(r023) 925
+             927:   48(fvec4) Load 53(inF0)
+             928:   48(fvec4) Load 54(inF1)
+             929:    6(float) Dot 927 928
+                              Store 926(r024) 929
+             931:      7(ptr) AccessChain 53(inF0) 533
+             932:    6(float) Load 931
+             933:      7(ptr) AccessChain 54(inF1) 533
+             934:    6(float) Load 933
+             935:    6(float) FMul 932 934
+             936:      7(ptr) AccessChain 53(inF0) 534
+             937:    6(float) Load 936
+             938:      7(ptr) AccessChain 54(inF1) 650
+             939:    6(float) Load 938
+             940:   48(fvec4) CompositeConstruct 289 935 937 939
+                              Store 930(r025) 940
              942:   48(fvec4) Load 53(inF0)
-             943:   48(fvec4) Fwidth 942
-                              Store 941(r039) 943
-             946:   48(fvec4) Load 53(inF0)
-             947:  815(bvec4) IsInf 946
-                              Store 945(r040) 947
-             949:   48(fvec4) Load 53(inF0)
-             950:  815(bvec4) IsNan 949
-                              Store 948(r041) 950
-             952:   48(fvec4) Load 53(inF0)
-             953:   48(fvec4) Load 54(inF1)
-             954:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 952 953
-                              Store 951(r042) 954
-             956:   48(fvec4) Load 53(inF0)
-             957:   48(fvec4) Load 54(inF1)
-             958:   48(fvec4) Load 55(inF2)
-             959:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 956 957 958
-                              Store 955(r039a) 959
-             961:   48(fvec4) Load 53(inF0)
-             962:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 961
-                              Store 960(r043) 962
-             964:   48(fvec4) Load 53(inF0)
-             965:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 964
-                              Store 963(r044) 965
+             943:   48(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 942
+                              Store 941(r029) 943
+             945:   48(fvec4) Load 53(inF0)
+             946:   48(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 945
+                              Store 944(r030) 946
+             948:   48(fvec4) Load 53(inF0)
+             949:   48(fvec4) Load 54(inF1)
+             950:   48(fvec4) Load 55(inF2)
+             951:   48(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 948 949 950
+                              Store 947(r031) 951
+             956:   50(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 955
+                              Store 952(r032) 956
+             958:   50(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 955
+                              Store 957(r033) 958
+             960:   48(fvec4) Load 53(inF0)
+             961:   48(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 960
+                              Store 959(r034) 961
+             963:   48(fvec4) Load 53(inF0)
+             964:   48(fvec4) Load 54(inF1)
+             965:   48(fvec4) FMod 963 964
+                              Store 962(r036) 965
              967:   48(fvec4) Load 53(inF0)
-             968:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 967
-             969:   48(fvec4) VectorTimesScalar 968 262
-                              Store 966(r045) 969
-             971:   48(fvec4) Load 53(inF0)
-             972:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 971
-                              Store 970(r046) 972
+             968:   48(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 967
+                              Store 966(r037) 968
+             970:   48(fvec4) Load 53(inF0)
+             971:   48(fvec4) Fwidth 970
+                              Store 969(r039) 971
              974:   48(fvec4) Load 53(inF0)
-             975:   48(fvec4) Load 54(inF1)
-             976:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 974 975
-                              Store 973(r047) 976
-             978:   48(fvec4) Load 53(inF0)
-             979:   48(fvec4) Load 54(inF1)
-             980:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 978 979
-                              Store 977(r048) 980
-             982:   48(fvec4) Load 53(inF0)
-             983:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 982
-                              Store 981(r049) 983
-             985:   48(fvec4) Load 53(inF0)
-             986:   48(fvec4) Load 54(inF1)
-             987:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 985 986
-                              Store 984(r050) 987
+             975:  836(bvec4) IsInf 974
+                              Store 973(r040) 975
+             977:   48(fvec4) Load 53(inF0)
+             978:  836(bvec4) IsNan 977
+                              Store 976(r041) 978
+             980:   48(fvec4) Load 53(inF0)
+             981:   48(fvec4) Load 54(inF1)
+             982:   48(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 980 981
+                              Store 979(r042) 982
+             984:   48(fvec4) Load 53(inF0)
+             985:   48(fvec4) Load 54(inF1)
+             986:   48(fvec4) Load 55(inF2)
+             987:   48(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 984 985 986
+                              Store 983(r039a) 987
              989:   48(fvec4) Load 53(inF0)
-             990:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 989
-                              Store 988(r051) 990
+             990:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 989
+                              Store 988(r043) 990
              992:   48(fvec4) Load 53(inF0)
-             993:   48(fvec4) CompositeConstruct 283 283 283 283
-             994:   48(fvec4) FDiv 993 992
-                              Store 991(r052) 994
-             996:   48(fvec4) Load 53(inF0)
-             997:   48(fvec4) Load 54(inF1)
-             998:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 996 997
-                              Store 995(r053) 998
-            1000:   48(fvec4) Load 53(inF0)
-            1001:   48(fvec4) Load 54(inF1)
-            1002:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1000 1001 516
-                              Store 999(r054) 1002
-            1005:   50(ivec4) BitReverse 1004
-                              Store 1003(r055) 1005
-            1007:   48(fvec4) Load 53(inF0)
-            1008:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1007
-                              Store 1006(r056) 1008
+             993:   48(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 992
+                              Store 991(r044) 993
+             995:   48(fvec4) Load 53(inF0)
+             996:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 995
+             997:   48(fvec4) VectorTimesScalar 996 268
+                              Store 994(r045) 997
+             999:   48(fvec4) Load 53(inF0)
+            1000:   48(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 999
+                              Store 998(r046) 1000
+            1002:   48(fvec4) Load 53(inF0)
+            1003:   48(fvec4) Load 54(inF1)
+            1004:   48(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 1002 1003
+                              Store 1001(r047) 1004
+            1006:   48(fvec4) Load 53(inF0)
+            1007:   48(fvec4) Load 54(inF1)
+            1008:   48(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 1006 1007
+                              Store 1005(r048) 1008
             1010:   48(fvec4) Load 53(inF0)
-            1011:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1010
-                              Store 1009(r057) 1011
+            1011:   48(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 1010
+                              Store 1009(r049) 1011
             1013:   48(fvec4) Load 53(inF0)
-            1014:   48(fvec4) CompositeConstruct 139 139 139 139
-            1015:   48(fvec4) CompositeConstruct 283 283 283 283
-            1016:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1013 1014 1015
-                              Store 1012(r058) 1016
-            1018:   48(fvec4) Load 53(inF0)
-            1019:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1018
-                              Store 1017(r059) 1019
-            1021:   48(fvec4) Load 53(inF0)
-            1022:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1021
-                              Store 1020(r060) 1022
-            1023:   48(fvec4) Load 53(inF0)
-            1024:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1023
-                              Store 54(inF1) 1024
-            1025:   48(fvec4) Load 53(inF0)
-            1026:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1025
-                              Store 55(inF2) 1026
+            1014:   48(fvec4) Load 54(inF1)
+            1015:   48(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1013 1014
+                              Store 1012(r050) 1015
+            1017:   48(fvec4) Load 53(inF0)
+            1018:   48(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1017
+                              Store 1016(r051) 1018
+            1020:   48(fvec4) Load 53(inF0)
+            1021:   48(fvec4) CompositeConstruct 289 289 289 289
+            1022:   48(fvec4) FDiv 1021 1020
+                              Store 1019(r052) 1022
+            1024:   48(fvec4) Load 53(inF0)
+            1025:   48(fvec4) Load 54(inF1)
+            1026:   48(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1024 1025
+                              Store 1023(r053) 1026
             1028:   48(fvec4) Load 53(inF0)
-            1029:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1028
-                              Store 1027(r061) 1029
-            1031:   48(fvec4) Load 53(inF0)
-            1032:   48(fvec4) Load 54(inF1)
-            1033:   48(fvec4) Load 55(inF2)
-            1034:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1031 1032 1033
-                              Store 1030(r062) 1034
-            1036:   48(fvec4) Load 53(inF0)
-            1037:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1036
-                              Store 1035(r063) 1037
-            1039:   48(fvec4) Load 53(inF0)
-            1040:   48(fvec4) Load 54(inF1)
-            1041:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1039 1040
-                              Store 1038(r064) 1041
-            1043:   48(fvec4) Load 53(inF0)
-            1044:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1043
-                              Store 1042(r065) 1044
+            1029:   48(fvec4) Load 54(inF1)
+            1030:   48(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1028 1029 530
+                              Store 1027(r054) 1030
+            1033:   50(ivec4) BitReverse 1032
+                              Store 1031(r055) 1033
+            1035:   48(fvec4) Load 53(inF0)
+            1036:   48(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1035
+                              Store 1034(r056) 1036
+            1038:   48(fvec4) Load 53(inF0)
+            1039:   48(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1038
+                              Store 1037(r057) 1039
+            1041:   48(fvec4) Load 53(inF0)
+            1042:   48(fvec4) CompositeConstruct 139 139 139 139
+            1043:   48(fvec4) CompositeConstruct 289 289 289 289
+            1044:   48(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1041 1042 1043
+                              Store 1040(r058) 1044
             1046:   48(fvec4) Load 53(inF0)
-            1047:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1046
-                              Store 1045(r066) 1047
+            1047:   48(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1046
+                              Store 1045(r059) 1047
             1049:   48(fvec4) Load 53(inF0)
-            1050:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1049
-                              Store 1048(r067) 1050
-                              ReturnValue 1052
+            1050:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1049
+                              Store 1048(r060) 1050
+            1051:   48(fvec4) Load 53(inF0)
+            1052:   48(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1051
+                              Store 54(inF1) 1052
+            1053:   48(fvec4) Load 53(inF0)
+            1054:   48(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1053
+                              Store 55(inF2) 1054
+            1056:   48(fvec4) Load 53(inF0)
+            1057:   48(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1056
+                              Store 1055(r061) 1057
+            1059:   48(fvec4) Load 53(inF0)
+            1060:   48(fvec4) Load 54(inF1)
+            1061:   48(fvec4) Load 55(inF2)
+            1062:   48(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1059 1060 1061
+                              Store 1058(r062) 1062
+            1064:   48(fvec4) Load 53(inF0)
+            1065:   48(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1064
+                              Store 1063(r063) 1065
+            1067:   48(fvec4) Load 53(inF0)
+            1068:   48(fvec4) Load 54(inF1)
+            1069:   48(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1067 1068
+                              Store 1066(r064) 1069
+            1071:   48(fvec4) Load 53(inF0)
+            1072:   48(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1071
+                              Store 1070(r065) 1072
+            1074:   48(fvec4) Load 53(inF0)
+            1075:   48(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1074
+                              Store 1073(r066) 1075
+            1077:   48(fvec4) Load 53(inF0)
+            1078:   48(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1077
+                              Store 1076(r067) 1078
+                              ReturnValue 1080
                               FunctionEnd
 66(PixelShaderFunction2x2(mf22;mf22;mf22;):          60 Function None 62
         63(inF0):     61(ptr) FunctionParameter
         64(inF1):     61(ptr) FunctionParameter
         65(inF2):     61(ptr) FunctionParameter
               67:             Label
-      1055(r000):    136(ptr) Variable Function
-      1060(r001):     61(ptr) Variable Function
-      1065(r003):    136(ptr) Variable Function
-      1069(r004):     61(ptr) Variable Function
-      1072(r005):     61(ptr) Variable Function
-      1075(r006):     61(ptr) Variable Function
-      1079(r007):     61(ptr) Variable Function
-      1089(r008):     61(ptr) Variable Function
-      1094(r009):     61(ptr) Variable Function
-      1097(r010):     61(ptr) Variable Function
-      1100(r011):     61(ptr) Variable Function
-      1103(r012):     61(ptr) Variable Function
-      1106(r013):     61(ptr) Variable Function
-      1109(r014):     61(ptr) Variable Function
-      1112(r015):     61(ptr) Variable Function
-      1115(r016):     61(ptr) Variable Function
-      1118(r017):     61(ptr) Variable Function
-      1121(r018):      7(ptr) Variable Function
-      1124(r019):     61(ptr) Variable Function
-      1127(R020):     61(ptr) Variable Function
-      1130(r021):     61(ptr) Variable Function
-      1133(r022):     61(ptr) Variable Function
-      1143(r023):     61(ptr) Variable Function
-      1146(r025):     61(ptr) Variable Function
-      1149(r026):     61(ptr) Variable Function
-     1153(r026a):     61(ptr) Variable Function
-      1158(r027):     61(ptr) Variable Function
-      1161(r028):     61(ptr) Variable Function
-      1165(r029):     61(ptr) Variable Function
-      1168(r030):     61(ptr) Variable Function
-      1172(r031):     61(ptr) Variable Function
-      1176(r032):     61(ptr) Variable Function
-      1180(r033):     61(ptr) Variable Function
-      1183(r034):     61(ptr) Variable Function
-      1186(r035):     61(ptr) Variable Function
-      1189(r036):     61(ptr) Variable Function
-      1194(r037):     61(ptr) Variable Function
-      1197(r038):     61(ptr) Variable Function
-      1204(r039):     61(ptr) Variable Function
-      1207(r049):     61(ptr) Variable Function
-      1212(r041):     61(ptr) Variable Function
-      1215(r042):     61(ptr) Variable Function
-      1219(r043):     61(ptr) Variable Function
-      1222(r044):     61(ptr) Variable Function
-      1227(r046):     61(ptr) Variable Function
-            1056:          60 Load 63(inF0)
-            1058:        1057 FOrdNotEqual 1056 139
-            1059:   135(bool) All 1058
-                              Store 1055(r000) 1059
-            1061:          60 Load 63(inF0)
-            1062:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 1061
-                              Store 1060(r001) 1062
-            1063:          60 Load 63(inF0)
-            1064:          60 ExtInst 1(GLSL.std.450) 17(Acos) 1063
-            1066:          60 Load 63(inF0)
-            1067:        1057 FOrdNotEqual 1066 139
-            1068:   135(bool) Any 1067
-                              Store 1065(r003) 1068
-            1070:          60 Load 63(inF0)
-            1071:          60 ExtInst 1(GLSL.std.450) 16(Asin) 1070
-                              Store 1069(r004) 1071
-            1073:          60 Load 63(inF0)
-            1074:          60 ExtInst 1(GLSL.std.450) 18(Atan) 1073
-                              Store 1072(r005) 1074
-            1076:          60 Load 63(inF0)
-            1077:          60 Load 64(inF1)
-            1078:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 1076 1077
-                              Store 1075(r006) 1078
-            1080:          60 Load 63(inF0)
-            1081:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 1080
-                              Store 1079(r007) 1081
-            1082:          60 Load 63(inF0)
-            1084:        1057 FOrdLessThan 1082 1083
-            1085:   135(bool) Any 1084
-                              SelectionMerge 1087 None
-                              BranchConditional 1085 1086 1087
-            1086:               Label
-                                Kill
-            1087:             Label
-            1090:          60 Load 63(inF0)
-            1091:          60 Load 64(inF1)
-            1092:          60 Load 65(inF2)
-            1093:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1090 1091 1092
-                              Store 1089(r008) 1093
-            1095:          60 Load 63(inF0)
-            1096:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1095
-                              Store 1094(r009) 1096
+      1083(r000):    136(ptr) Variable Function
+      1088(r001):     61(ptr) Variable Function
+      1093(r003):    136(ptr) Variable Function
+      1097(r004):     61(ptr) Variable Function
+      1100(r005):     61(ptr) Variable Function
+      1103(r006):     61(ptr) Variable Function
+      1107(r007):     61(ptr) Variable Function
+      1117(r008):     61(ptr) Variable Function
+      1122(r009):     61(ptr) Variable Function
+      1125(r010):     61(ptr) Variable Function
+      1128(r011):     61(ptr) Variable Function
+      1131(r012):     61(ptr) Variable Function
+      1134(r013):     61(ptr) Variable Function
+      1137(r014):     61(ptr) Variable Function
+      1140(r015):     61(ptr) Variable Function
+      1143(r016):     61(ptr) Variable Function
+      1146(r017):     61(ptr) Variable Function
+      1149(r018):      7(ptr) Variable Function
+      1152(r019):     61(ptr) Variable Function
+      1155(R020):     61(ptr) Variable Function
+      1158(r021):     61(ptr) Variable Function
+      1161(r022):     61(ptr) Variable Function
+      1171(r023):     61(ptr) Variable Function
+      1174(r025):     61(ptr) Variable Function
+      1177(r026):     61(ptr) Variable Function
+     1181(r026a):     61(ptr) Variable Function
+      1186(r027):     61(ptr) Variable Function
+      1189(r028):     61(ptr) Variable Function
+      1193(r029):     61(ptr) Variable Function
+      1196(r030):     61(ptr) Variable Function
+      1200(r031):     61(ptr) Variable Function
+      1204(r032):     61(ptr) Variable Function
+      1208(r033):     61(ptr) Variable Function
+      1211(r034):     61(ptr) Variable Function
+      1214(r035):     61(ptr) Variable Function
+      1217(r036):     61(ptr) Variable Function
+      1222(r037):     61(ptr) Variable Function
+      1225(r038):     61(ptr) Variable Function
+      1232(r039):     61(ptr) Variable Function
+      1235(r049):     61(ptr) Variable Function
+      1240(r041):     61(ptr) Variable Function
+      1243(r042):     61(ptr) Variable Function
+      1247(r043):     61(ptr) Variable Function
+      1250(r044):     61(ptr) Variable Function
+      1255(r046):     61(ptr) Variable Function
+            1084:          60 Load 63(inF0)
+            1086:        1085 FOrdNotEqual 1084 139
+            1087:   135(bool) All 1086
+                              Store 1083(r000) 1087
+            1089:          60 Load 63(inF0)
+            1090:          60 ExtInst 1(GLSL.std.450) 4(FAbs) 1089
+                              Store 1088(r001) 1090
+            1091:          60 Load 63(inF0)
+            1092:          60 ExtInst 1(GLSL.std.450) 17(Acos) 1091
+            1094:          60 Load 63(inF0)
+            1095:        1085 FOrdNotEqual 1094 139
+            1096:   135(bool) Any 1095
+                              Store 1093(r003) 1096
             1098:          60 Load 63(inF0)
-            1099:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 1098
-                              Store 1097(r010) 1099
+            1099:          60 ExtInst 1(GLSL.std.450) 16(Asin) 1098
+                              Store 1097(r004) 1099
             1101:          60 Load 63(inF0)
-            1102:          60 DPdx 1101
-                              Store 1100(r011) 1102
+            1102:          60 ExtInst 1(GLSL.std.450) 18(Atan) 1101
+                              Store 1100(r005) 1102
             1104:          60 Load 63(inF0)
-            1105:          60 DPdxCoarse 1104
-                              Store 1103(r012) 1105
-            1107:          60 Load 63(inF0)
-            1108:          60 DPdxFine 1107
-                              Store 1106(r013) 1108
+            1105:          60 Load 64(inF1)
+            1106:          60 ExtInst 1(GLSL.std.450) 25(Atan2) 1104 1105
+                              Store 1103(r006) 1106
+            1108:          60 Load 63(inF0)
+            1109:          60 ExtInst 1(GLSL.std.450) 9(Ceil) 1108
+                              Store 1107(r007) 1109
             1110:          60 Load 63(inF0)
-            1111:          60 DPdy 1110
-                              Store 1109(r014) 1111
-            1113:          60 Load 63(inF0)
-            1114:          60 DPdyCoarse 1113
-                              Store 1112(r015) 1114
-            1116:          60 Load 63(inF0)
-            1117:          60 DPdyFine 1116
-                              Store 1115(r016) 1117
-            1119:          60 Load 63(inF0)
-            1120:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 1119
-                              Store 1118(r017) 1120
-            1122:          60 Load 63(inF0)
-            1123:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1122
-                              Store 1121(r018) 1123
-            1125:          60 Load 63(inF0)
-            1126:          60 ExtInst 1(GLSL.std.450) 27(Exp) 1125
-                              Store 1124(r019) 1126
-            1128:          60 Load 63(inF0)
-            1129:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 1128
-                              Store 1127(R020) 1129
-            1131:          60 Load 63(inF0)
-            1132:          60 ExtInst 1(GLSL.std.450) 8(Floor) 1131
-                              Store 1130(r021) 1132
-            1134:          60 Load 63(inF0)
-            1135:          60 Load 64(inF1)
-            1136:   24(fvec2) CompositeExtract 1134 0
-            1137:   24(fvec2) CompositeExtract 1135 0
-            1138:   24(fvec2) FMod 1136 1137
-            1139:   24(fvec2) CompositeExtract 1134 1
-            1140:   24(fvec2) CompositeExtract 1135 1
-            1141:   24(fvec2) FMod 1139 1140
-            1142:          60 CompositeConstruct 1138 1141
-                              Store 1133(r022) 1142
+            1112:        1085 FOrdLessThan 1110 1111
+            1113:   135(bool) Any 1112
+                              SelectionMerge 1115 None
+                              BranchConditional 1113 1114 1115
+            1114:               Label
+                                Kill
+            1115:             Label
+            1118:          60 Load 63(inF0)
+            1119:          60 Load 64(inF1)
+            1120:          60 Load 65(inF2)
+            1121:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1118 1119 1120
+                              Store 1117(r008) 1121
+            1123:          60 Load 63(inF0)
+            1124:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1123
+                              Store 1122(r009) 1124
+            1126:          60 Load 63(inF0)
+            1127:          60 ExtInst 1(GLSL.std.450) 20(Cosh) 1126
+                              Store 1125(r010) 1127
+            1129:          60 Load 63(inF0)
+            1130:          60 DPdx 1129
+                              Store 1128(r011) 1130
+            1132:          60 Load 63(inF0)
+            1133:          60 DPdxCoarse 1132
+                              Store 1131(r012) 1133
+            1135:          60 Load 63(inF0)
+            1136:          60 DPdxFine 1135
+                              Store 1134(r013) 1136
+            1138:          60 Load 63(inF0)
+            1139:          60 DPdy 1138
+                              Store 1137(r014) 1139
+            1141:          60 Load 63(inF0)
+            1142:          60 DPdyCoarse 1141
+                              Store 1140(r015) 1142
             1144:          60 Load 63(inF0)
-            1145:          60 ExtInst 1(GLSL.std.450) 10(Fract) 1144
-                              Store 1143(r023) 1145
+            1145:          60 DPdyFine 1144
+                              Store 1143(r016) 1145
             1147:          60 Load 63(inF0)
-            1148:          60 Fwidth 1147
-                              Store 1146(r025) 1148
+            1148:          60 ExtInst 1(GLSL.std.450) 12(Degrees) 1147
+                              Store 1146(r017) 1148
             1150:          60 Load 63(inF0)
-            1151:          60 Load 64(inF1)
-            1152:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1150 1151
-                              Store 1149(r026) 1152
-            1154:          60 Load 63(inF0)
-            1155:          60 Load 64(inF1)
-            1156:          60 Load 65(inF2)
-            1157:          60 ExtInst 1(GLSL.std.450) 46(FMix) 1154 1155 1156
-                              Store 1153(r026a) 1157
+            1151:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1150
+                              Store 1149(r018) 1151
+            1153:          60 Load 63(inF0)
+            1154:          60 ExtInst 1(GLSL.std.450) 27(Exp) 1153
+                              Store 1152(r019) 1154
+            1156:          60 Load 63(inF0)
+            1157:          60 ExtInst 1(GLSL.std.450) 29(Exp2) 1156
+                              Store 1155(R020) 1157
             1159:          60 Load 63(inF0)
-            1160:          60 ExtInst 1(GLSL.std.450) 28(Log) 1159
-                              Store 1158(r027) 1160
+            1160:          60 ExtInst 1(GLSL.std.450) 8(Floor) 1159
+                              Store 1158(r021) 1160
             1162:          60 Load 63(inF0)
-            1163:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1162
-            1164:          60 MatrixTimesScalar 1163 262
-                              Store 1161(r028) 1164
-            1166:          60 Load 63(inF0)
-            1167:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1166
-                              Store 1165(r029) 1167
-            1169:          60 Load 63(inF0)
-            1170:          60 Load 64(inF1)
-            1171:          60 ExtInst 1(GLSL.std.450) 40(FMax) 1169 1170
-                              Store 1168(r030) 1171
-            1173:          60 Load 63(inF0)
-            1174:          60 Load 64(inF1)
-            1175:          60 ExtInst 1(GLSL.std.450) 37(FMin) 1173 1174
-                              Store 1172(r031) 1175
-            1177:          60 Load 63(inF0)
-            1178:          60 Load 64(inF1)
-            1179:          60 ExtInst 1(GLSL.std.450) 26(Pow) 1177 1178
-                              Store 1176(r032) 1179
-            1181:          60 Load 63(inF0)
-            1182:          60 ExtInst 1(GLSL.std.450) 11(Radians) 1181
-                              Store 1180(r033) 1182
-            1184:          60 Load 63(inF0)
-            1185:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1184
-                              Store 1183(r034) 1185
+            1163:          60 Load 64(inF1)
+            1164:   24(fvec2) CompositeExtract 1162 0
+            1165:   24(fvec2) CompositeExtract 1163 0
+            1166:   24(fvec2) FMod 1164 1165
+            1167:   24(fvec2) CompositeExtract 1162 1
+            1168:   24(fvec2) CompositeExtract 1163 1
+            1169:   24(fvec2) FMod 1167 1168
+            1170:          60 CompositeConstruct 1166 1169
+                              Store 1161(r022) 1170
+            1172:          60 Load 63(inF0)
+            1173:          60 ExtInst 1(GLSL.std.450) 10(Fract) 1172
+                              Store 1171(r023) 1173
+            1175:          60 Load 63(inF0)
+            1176:          60 Fwidth 1175
+                              Store 1174(r025) 1176
+            1178:          60 Load 63(inF0)
+            1179:          60 Load 64(inF1)
+            1180:          60 ExtInst 1(GLSL.std.450) 53(Ldexp) 1178 1179
+                              Store 1177(r026) 1180
+            1182:          60 Load 63(inF0)
+            1183:          60 Load 64(inF1)
+            1184:          60 Load 65(inF2)
+            1185:          60 ExtInst 1(GLSL.std.450) 46(FMix) 1182 1183 1184
+                              Store 1181(r026a) 1185
             1187:          60 Load 63(inF0)
-            1188:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1187
-                              Store 1186(r035) 1188
+            1188:          60 ExtInst 1(GLSL.std.450) 28(Log) 1187
+                              Store 1186(r027) 1188
             1190:          60 Load 63(inF0)
-            1191:   24(fvec2) CompositeConstruct 139 139
-            1192:   24(fvec2) CompositeConstruct 283 283
-            1193:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1190 1191 1192
-                              Store 1189(r036) 1193
-            1195:          60 Load 63(inF0)
-            1196:          60 ExtInst 1(GLSL.std.450) 6(FSign) 1195
-                              Store 1194(r037) 1196
-            1198:          60 Load 63(inF0)
-            1199:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1198
-                              Store 1197(r038) 1199
-            1200:          60 Load 63(inF0)
-            1201:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1200
-                              Store 64(inF1) 1201
-            1202:          60 Load 63(inF0)
-            1203:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1202
-                              Store 65(inF2) 1203
+            1191:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1190
+            1192:          60 MatrixTimesScalar 1191 268
+                              Store 1189(r028) 1192
+            1194:          60 Load 63(inF0)
+            1195:          60 ExtInst 1(GLSL.std.450) 30(Log2) 1194
+                              Store 1193(r029) 1195
+            1197:          60 Load 63(inF0)
+            1198:          60 Load 64(inF1)
+            1199:          60 ExtInst 1(GLSL.std.450) 40(FMax) 1197 1198
+                              Store 1196(r030) 1199
+            1201:          60 Load 63(inF0)
+            1202:          60 Load 64(inF1)
+            1203:          60 ExtInst 1(GLSL.std.450) 37(FMin) 1201 1202
+                              Store 1200(r031) 1203
             1205:          60 Load 63(inF0)
-            1206:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 1205
-                              Store 1204(r039) 1206
-            1208:          60 Load 63(inF0)
-            1209:          60 Load 64(inF1)
-            1210:          60 Load 65(inF2)
-            1211:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1208 1209 1210
-                              Store 1207(r049) 1211
-            1213:          60 Load 63(inF0)
-            1214:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1213
-                              Store 1212(r041) 1214
-            1216:          60 Load 63(inF0)
-            1217:          60 Load 64(inF1)
-            1218:          60 ExtInst 1(GLSL.std.450) 48(Step) 1216 1217
-                              Store 1215(r042) 1218
-            1220:          60 Load 63(inF0)
-            1221:          60 ExtInst 1(GLSL.std.450) 15(Tan) 1220
-                              Store 1219(r043) 1221
+            1206:          60 Load 64(inF1)
+            1207:          60 ExtInst 1(GLSL.std.450) 26(Pow) 1205 1206
+                              Store 1204(r032) 1207
+            1209:          60 Load 63(inF0)
+            1210:          60 ExtInst 1(GLSL.std.450) 11(Radians) 1209
+                              Store 1208(r033) 1210
+            1212:          60 Load 63(inF0)
+            1213:          60 ExtInst 1(GLSL.std.450) 2(RoundEven) 1212
+                              Store 1211(r034) 1213
+            1215:          60 Load 63(inF0)
+            1216:          60 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1215
+                              Store 1214(r035) 1216
+            1218:          60 Load 63(inF0)
+            1219:   24(fvec2) CompositeConstruct 139 139
+            1220:   24(fvec2) CompositeConstruct 289 289
+            1221:          60 ExtInst 1(GLSL.std.450) 43(FClamp) 1218 1219 1220
+                              Store 1217(r036) 1221
             1223:          60 Load 63(inF0)
-            1224:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 1223
-                              Store 1222(r044) 1224
-            1225:          60 Load 63(inF0)
-            1226:          60 Transpose 1225
+            1224:          60 ExtInst 1(GLSL.std.450) 6(FSign) 1223
+                              Store 1222(r037) 1224
+            1226:          60 Load 63(inF0)
+            1227:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1226
+                              Store 1225(r038) 1227
             1228:          60 Load 63(inF0)
-            1229:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 1228
-                              Store 1227(r046) 1229
-                              ReturnValue 1231
+            1229:          60 ExtInst 1(GLSL.std.450) 13(Sin) 1228
+                              Store 64(inF1) 1229
+            1230:          60 Load 63(inF0)
+            1231:          60 ExtInst 1(GLSL.std.450) 14(Cos) 1230
+                              Store 65(inF2) 1231
+            1233:          60 Load 63(inF0)
+            1234:          60 ExtInst 1(GLSL.std.450) 19(Sinh) 1233
+                              Store 1232(r039) 1234
+            1236:          60 Load 63(inF0)
+            1237:          60 Load 64(inF1)
+            1238:          60 Load 65(inF2)
+            1239:          60 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1236 1237 1238
+                              Store 1235(r049) 1239
+            1241:          60 Load 63(inF0)
+            1242:          60 ExtInst 1(GLSL.std.450) 31(Sqrt) 1241
+                              Store 1240(r041) 1242
+            1244:          60 Load 63(inF0)
+            1245:          60 Load 64(inF1)
+            1246:          60 ExtInst 1(GLSL.std.450) 48(Step) 1244 1245
+                              Store 1243(r042) 1246
+            1248:          60 Load 63(inF0)
+            1249:          60 ExtInst 1(GLSL.std.450) 15(Tan) 1248
+                              Store 1247(r043) 1249
+            1251:          60 Load 63(inF0)
+            1252:          60 ExtInst 1(GLSL.std.450) 21(Tanh) 1251
+                              Store 1250(r044) 1252
+            1253:          60 Load 63(inF0)
+            1254:          60 Transpose 1253
+            1256:          60 Load 63(inF0)
+            1257:          60 ExtInst 1(GLSL.std.450) 3(Trunc) 1256
+                              Store 1255(r046) 1257
+                              ReturnValue 1259
                               FunctionEnd
 74(PixelShaderFunction3x3(mf33;mf33;mf33;):          68 Function None 70
         71(inF0):     69(ptr) FunctionParameter
         72(inF1):     69(ptr) FunctionParameter
         73(inF2):     69(ptr) FunctionParameter
               75:             Label
-      1234(r000):    136(ptr) Variable Function
-      1239(r001):     69(ptr) Variable Function
-      1244(r003):    136(ptr) Variable Function
-      1248(r004):     69(ptr) Variable Function
-      1251(r005):     69(ptr) Variable Function
-      1254(r006):     69(ptr) Variable Function
-      1258(r007):     69(ptr) Variable Function
-      1268(r008):     69(ptr) Variable Function
-      1273(r009):     69(ptr) Variable Function
-      1276(r010):     69(ptr) Variable Function
-      1279(r011):     69(ptr) Variable Function
-      1282(r012):     69(ptr) Variable Function
-      1285(r013):     69(ptr) Variable Function
-      1288(r014):     69(ptr) Variable Function
-      1291(r015):     69(ptr) Variable Function
-      1294(r016):     69(ptr) Variable Function
-      1297(r017):     69(ptr) Variable Function
-      1300(r018):      7(ptr) Variable Function
-      1303(r019):     69(ptr) Variable Function
-      1306(R020):     69(ptr) Variable Function
-      1309(r021):     69(ptr) Variable Function
-      1312(r022):     69(ptr) Variable Function
-      1325(r023):     69(ptr) Variable Function
-      1328(r025):     69(ptr) Variable Function
-      1331(r026):     69(ptr) Variable Function
-     1335(r026a):     69(ptr) Variable Function
-      1340(r027):     69(ptr) Variable Function
-      1343(r028):     69(ptr) Variable Function
-      1347(r029):     69(ptr) Variable Function
-      1350(r030):     69(ptr) Variable Function
-      1354(r031):     69(ptr) Variable Function
-      1358(r032):     69(ptr) Variable Function
-      1362(r033):     69(ptr) Variable Function
-      1365(r034):     69(ptr) Variable Function
-      1368(r035):     69(ptr) Variable Function
-      1371(r036):     69(ptr) Variable Function
-      1376(r037):     69(ptr) Variable Function
-      1379(r038):     69(ptr) Variable Function
-      1386(r039):     69(ptr) Variable Function
-      1389(r049):     69(ptr) Variable Function
-      1394(r041):     69(ptr) Variable Function
-      1397(r042):     69(ptr) Variable Function
-      1401(r043):     69(ptr) Variable Function
-      1404(r044):     69(ptr) Variable Function
-      1409(r046):     69(ptr) Variable Function
-            1235:          68 Load 71(inF0)
-            1237:        1236 FOrdNotEqual 1235 139
-            1238:   135(bool) All 1237
-                              Store 1234(r000) 1238
-            1240:          68 Load 71(inF0)
-            1241:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 1240
-                              Store 1239(r001) 1241
-            1242:          68 Load 71(inF0)
-            1243:          68 ExtInst 1(GLSL.std.450) 17(Acos) 1242
-            1245:          68 Load 71(inF0)
-            1246:        1236 FOrdNotEqual 1245 139
-            1247:   135(bool) Any 1246
-                              Store 1244(r003) 1247
-            1249:          68 Load 71(inF0)
-            1250:          68 ExtInst 1(GLSL.std.450) 16(Asin) 1249
-                              Store 1248(r004) 1250
-            1252:          68 Load 71(inF0)
-            1253:          68 ExtInst 1(GLSL.std.450) 18(Atan) 1252
-                              Store 1251(r005) 1253
-            1255:          68 Load 71(inF0)
-            1256:          68 Load 72(inF1)
-            1257:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 1255 1256
-                              Store 1254(r006) 1257
-            1259:          68 Load 71(inF0)
-            1260:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 1259
-                              Store 1258(r007) 1260
-            1261:          68 Load 71(inF0)
-            1263:        1236 FOrdLessThan 1261 1262
-            1264:   135(bool) Any 1263
-                              SelectionMerge 1266 None
-                              BranchConditional 1264 1265 1266
-            1265:               Label
-                                Kill
-            1266:             Label
-            1269:          68 Load 71(inF0)
-            1270:          68 Load 72(inF1)
-            1271:          68 Load 73(inF2)
-            1272:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1269 1270 1271
-                              Store 1268(r008) 1272
-            1274:          68 Load 71(inF0)
-            1275:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1274
-                              Store 1273(r009) 1275
+      1262(r000):    136(ptr) Variable Function
+      1267(r001):     69(ptr) Variable Function
+      1272(r003):    136(ptr) Variable Function
+      1276(r004):     69(ptr) Variable Function
+      1279(r005):     69(ptr) Variable Function
+      1282(r006):     69(ptr) Variable Function
+      1286(r007):     69(ptr) Variable Function
+      1296(r008):     69(ptr) Variable Function
+      1301(r009):     69(ptr) Variable Function
+      1304(r010):     69(ptr) Variable Function
+      1307(r011):     69(ptr) Variable Function
+      1310(r012):     69(ptr) Variable Function
+      1313(r013):     69(ptr) Variable Function
+      1316(r014):     69(ptr) Variable Function
+      1319(r015):     69(ptr) Variable Function
+      1322(r016):     69(ptr) Variable Function
+      1325(r017):     69(ptr) Variable Function
+      1328(r018):      7(ptr) Variable Function
+      1331(r019):     69(ptr) Variable Function
+      1334(R020):     69(ptr) Variable Function
+      1337(r021):     69(ptr) Variable Function
+      1340(r022):     69(ptr) Variable Function
+      1353(r023):     69(ptr) Variable Function
+      1356(r025):     69(ptr) Variable Function
+      1359(r026):     69(ptr) Variable Function
+     1363(r026a):     69(ptr) Variable Function
+      1368(r027):     69(ptr) Variable Function
+      1371(r028):     69(ptr) Variable Function
+      1375(r029):     69(ptr) Variable Function
+      1378(r030):     69(ptr) Variable Function
+      1382(r031):     69(ptr) Variable Function
+      1386(r032):     69(ptr) Variable Function
+      1390(r033):     69(ptr) Variable Function
+      1393(r034):     69(ptr) Variable Function
+      1396(r035):     69(ptr) Variable Function
+      1399(r036):     69(ptr) Variable Function
+      1404(r037):     69(ptr) Variable Function
+      1407(r038):     69(ptr) Variable Function
+      1414(r039):     69(ptr) Variable Function
+      1417(r049):     69(ptr) Variable Function
+      1422(r041):     69(ptr) Variable Function
+      1425(r042):     69(ptr) Variable Function
+      1429(r043):     69(ptr) Variable Function
+      1432(r044):     69(ptr) Variable Function
+      1437(r046):     69(ptr) Variable Function
+            1263:          68 Load 71(inF0)
+            1265:        1264 FOrdNotEqual 1263 139
+            1266:   135(bool) All 1265
+                              Store 1262(r000) 1266
+            1268:          68 Load 71(inF0)
+            1269:          68 ExtInst 1(GLSL.std.450) 4(FAbs) 1268
+                              Store 1267(r001) 1269
+            1270:          68 Load 71(inF0)
+            1271:          68 ExtInst 1(GLSL.std.450) 17(Acos) 1270
+            1273:          68 Load 71(inF0)
+            1274:        1264 FOrdNotEqual 1273 139
+            1275:   135(bool) Any 1274
+                              Store 1272(r003) 1275
             1277:          68 Load 71(inF0)
-            1278:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 1277
-                              Store 1276(r010) 1278
+            1278:          68 ExtInst 1(GLSL.std.450) 16(Asin) 1277
+                              Store 1276(r004) 1278
             1280:          68 Load 71(inF0)
-            1281:          68 DPdx 1280
-                              Store 1279(r011) 1281
+            1281:          68 ExtInst 1(GLSL.std.450) 18(Atan) 1280
+                              Store 1279(r005) 1281
             1283:          68 Load 71(inF0)
-            1284:          68 DPdxCoarse 1283
-                              Store 1282(r012) 1284
-            1286:          68 Load 71(inF0)
-            1287:          68 DPdxFine 1286
-                              Store 1285(r013) 1287
+            1284:          68 Load 72(inF1)
+            1285:          68 ExtInst 1(GLSL.std.450) 25(Atan2) 1283 1284
+                              Store 1282(r006) 1285
+            1287:          68 Load 71(inF0)
+            1288:          68 ExtInst 1(GLSL.std.450) 9(Ceil) 1287
+                              Store 1286(r007) 1288
             1289:          68 Load 71(inF0)
-            1290:          68 DPdy 1289
-                              Store 1288(r014) 1290
-            1292:          68 Load 71(inF0)
-            1293:          68 DPdyCoarse 1292
-                              Store 1291(r015) 1293
-            1295:          68 Load 71(inF0)
-            1296:          68 DPdyFine 1295
-                              Store 1294(r016) 1296
-            1298:          68 Load 71(inF0)
-            1299:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 1298
-                              Store 1297(r017) 1299
-            1301:          68 Load 71(inF0)
-            1302:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1301
-                              Store 1300(r018) 1302
-            1304:          68 Load 71(inF0)
-            1305:          68 ExtInst 1(GLSL.std.450) 27(Exp) 1304
-                              Store 1303(r019) 1305
-            1307:          68 Load 71(inF0)
-            1308:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 1307
-                              Store 1306(R020) 1308
-            1310:          68 Load 71(inF0)
-            1311:          68 ExtInst 1(GLSL.std.450) 8(Floor) 1310
-                              Store 1309(r021) 1311
-            1313:          68 Load 71(inF0)
-            1314:          68 Load 72(inF1)
-            1315:   36(fvec3) CompositeExtract 1313 0
-            1316:   36(fvec3) CompositeExtract 1314 0
-            1317:   36(fvec3) FMod 1315 1316
-            1318:   36(fvec3) CompositeExtract 1313 1
-            1319:   36(fvec3) CompositeExtract 1314 1
-            1320:   36(fvec3) FMod 1318 1319
-            1321:   36(fvec3) CompositeExtract 1313 2
-            1322:   36(fvec3) CompositeExtract 1314 2
-            1323:   36(fvec3) FMod 1321 1322
-            1324:          68 CompositeConstruct 1317 1320 1323
-                              Store 1312(r022) 1324
+            1291:        1264 FOrdLessThan 1289 1290
+            1292:   135(bool) Any 1291
+                              SelectionMerge 1294 None
+                              BranchConditional 1292 1293 1294
+            1293:               Label
+                                Kill
+            1294:             Label
+            1297:          68 Load 71(inF0)
+            1298:          68 Load 72(inF1)
+            1299:          68 Load 73(inF2)
+            1300:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1297 1298 1299
+                              Store 1296(r008) 1300
+            1302:          68 Load 71(inF0)
+            1303:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1302
+                              Store 1301(r009) 1303
+            1305:          68 Load 71(inF0)
+            1306:          68 ExtInst 1(GLSL.std.450) 20(Cosh) 1305
+                              Store 1304(r010) 1306
+            1308:          68 Load 71(inF0)
+            1309:          68 DPdx 1308
+                              Store 1307(r011) 1309
+            1311:          68 Load 71(inF0)
+            1312:          68 DPdxCoarse 1311
+                              Store 1310(r012) 1312
+            1314:          68 Load 71(inF0)
+            1315:          68 DPdxFine 1314
+                              Store 1313(r013) 1315
+            1317:          68 Load 71(inF0)
+            1318:          68 DPdy 1317
+                              Store 1316(r014) 1318
+            1320:          68 Load 71(inF0)
+            1321:          68 DPdyCoarse 1320
+                              Store 1319(r015) 1321
+            1323:          68 Load 71(inF0)
+            1324:          68 DPdyFine 1323
+                              Store 1322(r016) 1324
             1326:          68 Load 71(inF0)
-            1327:          68 ExtInst 1(GLSL.std.450) 10(Fract) 1326
-                              Store 1325(r023) 1327
+            1327:          68 ExtInst 1(GLSL.std.450) 12(Degrees) 1326
+                              Store 1325(r017) 1327
             1329:          68 Load 71(inF0)
-            1330:          68 Fwidth 1329
-                              Store 1328(r025) 1330
+            1330:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1329
+                              Store 1328(r018) 1330
             1332:          68 Load 71(inF0)
-            1333:          68 Load 72(inF1)
-            1334:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1332 1333
-                              Store 1331(r026) 1334
-            1336:          68 Load 71(inF0)
-            1337:          68 Load 72(inF1)
-            1338:          68 Load 73(inF2)
-            1339:          68 ExtInst 1(GLSL.std.450) 46(FMix) 1336 1337 1338
-                              Store 1335(r026a) 1339
+            1333:          68 ExtInst 1(GLSL.std.450) 27(Exp) 1332
+                              Store 1331(r019) 1333
+            1335:          68 Load 71(inF0)
+            1336:          68 ExtInst 1(GLSL.std.450) 29(Exp2) 1335
+                              Store 1334(R020) 1336
+            1338:          68 Load 71(inF0)
+            1339:          68 ExtInst 1(GLSL.std.450) 8(Floor) 1338
+                              Store 1337(r021) 1339
             1341:          68 Load 71(inF0)
-            1342:          68 ExtInst 1(GLSL.std.450) 28(Log) 1341
-                              Store 1340(r027) 1342
-            1344:          68 Load 71(inF0)
-            1345:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1344
-            1346:          68 MatrixTimesScalar 1345 262
-                              Store 1343(r028) 1346
-            1348:          68 Load 71(inF0)
-            1349:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1348
-                              Store 1347(r029) 1349
-            1351:          68 Load 71(inF0)
-            1352:          68 Load 72(inF1)
-            1353:          68 ExtInst 1(GLSL.std.450) 40(FMax) 1351 1352
-                              Store 1350(r030) 1353
-            1355:          68 Load 71(inF0)
-            1356:          68 Load 72(inF1)
-            1357:          68 ExtInst 1(GLSL.std.450) 37(FMin) 1355 1356
-                              Store 1354(r031) 1357
-            1359:          68 Load 71(inF0)
-            1360:          68 Load 72(inF1)
-            1361:          68 ExtInst 1(GLSL.std.450) 26(Pow) 1359 1360
-                              Store 1358(r032) 1361
-            1363:          68 Load 71(inF0)
-            1364:          68 ExtInst 1(GLSL.std.450) 11(Radians) 1363
-                              Store 1362(r033) 1364
-            1366:          68 Load 71(inF0)
-            1367:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1366
-                              Store 1365(r034) 1367
+            1342:          68 Load 72(inF1)
+            1343:   36(fvec3) CompositeExtract 1341 0
+            1344:   36(fvec3) CompositeExtract 1342 0
+            1345:   36(fvec3) FMod 1343 1344
+            1346:   36(fvec3) CompositeExtract 1341 1
+            1347:   36(fvec3) CompositeExtract 1342 1
+            1348:   36(fvec3) FMod 1346 1347
+            1349:   36(fvec3) CompositeExtract 1341 2
+            1350:   36(fvec3) CompositeExtract 1342 2
+            1351:   36(fvec3) FMod 1349 1350
+            1352:          68 CompositeConstruct 1345 1348 1351
+                              Store 1340(r022) 1352
+            1354:          68 Load 71(inF0)
+            1355:          68 ExtInst 1(GLSL.std.450) 10(Fract) 1354
+                              Store 1353(r023) 1355
+            1357:          68 Load 71(inF0)
+            1358:          68 Fwidth 1357
+                              Store 1356(r025) 1358
+            1360:          68 Load 71(inF0)
+            1361:          68 Load 72(inF1)
+            1362:          68 ExtInst 1(GLSL.std.450) 53(Ldexp) 1360 1361
+                              Store 1359(r026) 1362
+            1364:          68 Load 71(inF0)
+            1365:          68 Load 72(inF1)
+            1366:          68 Load 73(inF2)
+            1367:          68 ExtInst 1(GLSL.std.450) 46(FMix) 1364 1365 1366
+                              Store 1363(r026a) 1367
             1369:          68 Load 71(inF0)
-            1370:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1369
-                              Store 1368(r035) 1370
+            1370:          68 ExtInst 1(GLSL.std.450) 28(Log) 1369
+                              Store 1368(r027) 1370
             1372:          68 Load 71(inF0)
-            1373:   36(fvec3) CompositeConstruct 139 139 139
-            1374:   36(fvec3) CompositeConstruct 283 283 283
-            1375:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1372 1373 1374
-                              Store 1371(r036) 1375
-            1377:          68 Load 71(inF0)
-            1378:          68 ExtInst 1(GLSL.std.450) 6(FSign) 1377
-                              Store 1376(r037) 1378
-            1380:          68 Load 71(inF0)
-            1381:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1380
-                              Store 1379(r038) 1381
-            1382:          68 Load 71(inF0)
-            1383:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1382
-                              Store 72(inF1) 1383
-            1384:          68 Load 71(inF0)
-            1385:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1384
-                              Store 73(inF2) 1385
+            1373:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1372
+            1374:          68 MatrixTimesScalar 1373 268
+                              Store 1371(r028) 1374
+            1376:          68 Load 71(inF0)
+            1377:          68 ExtInst 1(GLSL.std.450) 30(Log2) 1376
+                              Store 1375(r029) 1377
+            1379:          68 Load 71(inF0)
+            1380:          68 Load 72(inF1)
+            1381:          68 ExtInst 1(GLSL.std.450) 40(FMax) 1379 1380
+                              Store 1378(r030) 1381
+            1383:          68 Load 71(inF0)
+            1384:          68 Load 72(inF1)
+            1385:          68 ExtInst 1(GLSL.std.450) 37(FMin) 1383 1384
+                              Store 1382(r031) 1385
             1387:          68 Load 71(inF0)
-            1388:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 1387
-                              Store 1386(r039) 1388
-            1390:          68 Load 71(inF0)
-            1391:          68 Load 72(inF1)
-            1392:          68 Load 73(inF2)
-            1393:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1390 1391 1392
-                              Store 1389(r049) 1393
-            1395:          68 Load 71(inF0)
-            1396:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1395
-                              Store 1394(r041) 1396
-            1398:          68 Load 71(inF0)
-            1399:          68 Load 72(inF1)
-            1400:          68 ExtInst 1(GLSL.std.450) 48(Step) 1398 1399
-                              Store 1397(r042) 1400
-            1402:          68 Load 71(inF0)
-            1403:          68 ExtInst 1(GLSL.std.450) 15(Tan) 1402
-                              Store 1401(r043) 1403
+            1388:          68 Load 72(inF1)
+            1389:          68 ExtInst 1(GLSL.std.450) 26(Pow) 1387 1388
+                              Store 1386(r032) 1389
+            1391:          68 Load 71(inF0)
+            1392:          68 ExtInst 1(GLSL.std.450) 11(Radians) 1391
+                              Store 1390(r033) 1392
+            1394:          68 Load 71(inF0)
+            1395:          68 ExtInst 1(GLSL.std.450) 2(RoundEven) 1394
+                              Store 1393(r034) 1395
+            1397:          68 Load 71(inF0)
+            1398:          68 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1397
+                              Store 1396(r035) 1398
+            1400:          68 Load 71(inF0)
+            1401:   36(fvec3) CompositeConstruct 139 139 139
+            1402:   36(fvec3) CompositeConstruct 289 289 289
+            1403:          68 ExtInst 1(GLSL.std.450) 43(FClamp) 1400 1401 1402
+                              Store 1399(r036) 1403
             1405:          68 Load 71(inF0)
-            1406:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 1405
-                              Store 1404(r044) 1406
-            1407:          68 Load 71(inF0)
-            1408:          68 Transpose 1407
+            1406:          68 ExtInst 1(GLSL.std.450) 6(FSign) 1405
+                              Store 1404(r037) 1406
+            1408:          68 Load 71(inF0)
+            1409:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1408
+                              Store 1407(r038) 1409
             1410:          68 Load 71(inF0)
-            1411:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 1410
-                              Store 1409(r046) 1411
-                              ReturnValue 1413
+            1411:          68 ExtInst 1(GLSL.std.450) 13(Sin) 1410
+                              Store 72(inF1) 1411
+            1412:          68 Load 71(inF0)
+            1413:          68 ExtInst 1(GLSL.std.450) 14(Cos) 1412
+                              Store 73(inF2) 1413
+            1415:          68 Load 71(inF0)
+            1416:          68 ExtInst 1(GLSL.std.450) 19(Sinh) 1415
+                              Store 1414(r039) 1416
+            1418:          68 Load 71(inF0)
+            1419:          68 Load 72(inF1)
+            1420:          68 Load 73(inF2)
+            1421:          68 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1418 1419 1420
+                              Store 1417(r049) 1421
+            1423:          68 Load 71(inF0)
+            1424:          68 ExtInst 1(GLSL.std.450) 31(Sqrt) 1423
+                              Store 1422(r041) 1424
+            1426:          68 Load 71(inF0)
+            1427:          68 Load 72(inF1)
+            1428:          68 ExtInst 1(GLSL.std.450) 48(Step) 1426 1427
+                              Store 1425(r042) 1428
+            1430:          68 Load 71(inF0)
+            1431:          68 ExtInst 1(GLSL.std.450) 15(Tan) 1430
+                              Store 1429(r043) 1431
+            1433:          68 Load 71(inF0)
+            1434:          68 ExtInst 1(GLSL.std.450) 21(Tanh) 1433
+                              Store 1432(r044) 1434
+            1435:          68 Load 71(inF0)
+            1436:          68 Transpose 1435
+            1438:          68 Load 71(inF0)
+            1439:          68 ExtInst 1(GLSL.std.450) 3(Trunc) 1438
+                              Store 1437(r046) 1439
+                              ReturnValue 1441
                               FunctionEnd
 82(PixelShaderFunction4x4(mf44;mf44;mf44;):          76 Function None 78
         79(inF0):     77(ptr) FunctionParameter
         80(inF1):     77(ptr) FunctionParameter
         81(inF2):     77(ptr) FunctionParameter
               83:             Label
-      1416(r000):    136(ptr) Variable Function
-      1421(r001):     77(ptr) Variable Function
-      1426(r003):    136(ptr) Variable Function
-      1430(r004):     77(ptr) Variable Function
-      1433(r005):     77(ptr) Variable Function
-      1436(r006):     77(ptr) Variable Function
-      1440(r007):     77(ptr) Variable Function
-      1450(r008):     77(ptr) Variable Function
-      1455(r009):     77(ptr) Variable Function
-      1458(r010):     77(ptr) Variable Function
-      1461(r011):     77(ptr) Variable Function
-      1464(r012):     77(ptr) Variable Function
-      1467(r013):     77(ptr) Variable Function
-      1470(r014):     77(ptr) Variable Function
-      1473(r015):     77(ptr) Variable Function
-      1476(r016):     77(ptr) Variable Function
-      1479(r017):     77(ptr) Variable Function
-      1482(r018):      7(ptr) Variable Function
-      1485(r019):     77(ptr) Variable Function
-      1488(R020):     77(ptr) Variable Function
-      1491(r021):     77(ptr) Variable Function
-      1494(r022):     77(ptr) Variable Function
-      1510(r023):     77(ptr) Variable Function
-      1513(r025):     77(ptr) Variable Function
-      1516(r026):     77(ptr) Variable Function
-     1520(r026a):     77(ptr) Variable Function
-      1525(r027):     77(ptr) Variable Function
-      1528(r028):     77(ptr) Variable Function
-      1532(r029):     77(ptr) Variable Function
-      1535(r030):     77(ptr) Variable Function
-      1539(r031):     77(ptr) Variable Function
-      1543(r032):     77(ptr) Variable Function
-      1547(r033):     77(ptr) Variable Function
-      1550(r034):     77(ptr) Variable Function
-      1553(r035):     77(ptr) Variable Function
-      1556(r036):     77(ptr) Variable Function
-      1561(r037):     77(ptr) Variable Function
-      1564(r038):     77(ptr) Variable Function
-      1571(r039):     77(ptr) Variable Function
-      1574(r049):     77(ptr) Variable Function
-      1579(r041):     77(ptr) Variable Function
-      1582(r042):     77(ptr) Variable Function
-      1586(r043):     77(ptr) Variable Function
-      1589(r044):     77(ptr) Variable Function
-      1594(r046):     77(ptr) Variable Function
-            1417:          76 Load 79(inF0)
-            1419:        1418 FOrdNotEqual 1417 139
-            1420:   135(bool) All 1419
-                              Store 1416(r000) 1420
-            1422:          76 Load 79(inF0)
-            1423:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 1422
-                              Store 1421(r001) 1423
-            1424:          76 Load 79(inF0)
-            1425:          76 ExtInst 1(GLSL.std.450) 17(Acos) 1424
-            1427:          76 Load 79(inF0)
-            1428:        1418 FOrdNotEqual 1427 139
-            1429:   135(bool) Any 1428
-                              Store 1426(r003) 1429
-            1431:          76 Load 79(inF0)
-            1432:          76 ExtInst 1(GLSL.std.450) 16(Asin) 1431
-                              Store 1430(r004) 1432
-            1434:          76 Load 79(inF0)
-            1435:          76 ExtInst 1(GLSL.std.450) 18(Atan) 1434
-                              Store 1433(r005) 1435
-            1437:          76 Load 79(inF0)
-            1438:          76 Load 80(inF1)
-            1439:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 1437 1438
-                              Store 1436(r006) 1439
-            1441:          76 Load 79(inF0)
-            1442:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 1441
-                              Store 1440(r007) 1442
-            1443:          76 Load 79(inF0)
-            1445:        1418 FOrdLessThan 1443 1444
-            1446:   135(bool) Any 1445
-                              SelectionMerge 1448 None
-                              BranchConditional 1446 1447 1448
-            1447:               Label
-                                Kill
-            1448:             Label
-            1451:          76 Load 79(inF0)
-            1452:          76 Load 80(inF1)
-            1453:          76 Load 81(inF2)
-            1454:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1451 1452 1453
-                              Store 1450(r008) 1454
-            1456:          76 Load 79(inF0)
-            1457:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1456
-                              Store 1455(r009) 1457
+      1444(r000):    136(ptr) Variable Function
+      1449(r001):     77(ptr) Variable Function
+      1454(r003):    136(ptr) Variable Function
+      1458(r004):     77(ptr) Variable Function
+      1461(r005):     77(ptr) Variable Function
+      1464(r006):     77(ptr) Variable Function
+      1468(r007):     77(ptr) Variable Function
+      1478(r008):     77(ptr) Variable Function
+      1483(r009):     77(ptr) Variable Function
+      1486(r010):     77(ptr) Variable Function
+      1489(r011):     77(ptr) Variable Function
+      1492(r012):     77(ptr) Variable Function
+      1495(r013):     77(ptr) Variable Function
+      1498(r014):     77(ptr) Variable Function
+      1501(r015):     77(ptr) Variable Function
+      1504(r016):     77(ptr) Variable Function
+      1507(r017):     77(ptr) Variable Function
+      1510(r018):      7(ptr) Variable Function
+      1513(r019):     77(ptr) Variable Function
+      1516(R020):     77(ptr) Variable Function
+      1519(r021):     77(ptr) Variable Function
+      1522(r022):     77(ptr) Variable Function
+      1538(r023):     77(ptr) Variable Function
+      1541(r025):     77(ptr) Variable Function
+      1544(r026):     77(ptr) Variable Function
+     1548(r026a):     77(ptr) Variable Function
+      1553(r027):     77(ptr) Variable Function
+      1556(r028):     77(ptr) Variable Function
+      1560(r029):     77(ptr) Variable Function
+      1563(r030):     77(ptr) Variable Function
+      1567(r031):     77(ptr) Variable Function
+      1571(r032):     77(ptr) Variable Function
+      1575(r033):     77(ptr) Variable Function
+      1578(r034):     77(ptr) Variable Function
+      1581(r035):     77(ptr) Variable Function
+      1584(r036):     77(ptr) Variable Function
+      1589(r037):     77(ptr) Variable Function
+      1592(r038):     77(ptr) Variable Function
+      1599(r039):     77(ptr) Variable Function
+      1602(r049):     77(ptr) Variable Function
+      1607(r041):     77(ptr) Variable Function
+      1610(r042):     77(ptr) Variable Function
+      1614(r043):     77(ptr) Variable Function
+      1617(r044):     77(ptr) Variable Function
+      1622(r046):     77(ptr) Variable Function
+            1445:          76 Load 79(inF0)
+            1447:        1446 FOrdNotEqual 1445 139
+            1448:   135(bool) All 1447
+                              Store 1444(r000) 1448
+            1450:          76 Load 79(inF0)
+            1451:          76 ExtInst 1(GLSL.std.450) 4(FAbs) 1450
+                              Store 1449(r001) 1451
+            1452:          76 Load 79(inF0)
+            1453:          76 ExtInst 1(GLSL.std.450) 17(Acos) 1452
+            1455:          76 Load 79(inF0)
+            1456:        1446 FOrdNotEqual 1455 139
+            1457:   135(bool) Any 1456
+                              Store 1454(r003) 1457
             1459:          76 Load 79(inF0)
-            1460:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 1459
-                              Store 1458(r010) 1460
+            1460:          76 ExtInst 1(GLSL.std.450) 16(Asin) 1459
+                              Store 1458(r004) 1460
             1462:          76 Load 79(inF0)
-            1463:          76 DPdx 1462
-                              Store 1461(r011) 1463
+            1463:          76 ExtInst 1(GLSL.std.450) 18(Atan) 1462
+                              Store 1461(r005) 1463
             1465:          76 Load 79(inF0)
-            1466:          76 DPdxCoarse 1465
-                              Store 1464(r012) 1466
-            1468:          76 Load 79(inF0)
-            1469:          76 DPdxFine 1468
-                              Store 1467(r013) 1469
+            1466:          76 Load 80(inF1)
+            1467:          76 ExtInst 1(GLSL.std.450) 25(Atan2) 1465 1466
+                              Store 1464(r006) 1467
+            1469:          76 Load 79(inF0)
+            1470:          76 ExtInst 1(GLSL.std.450) 9(Ceil) 1469
+                              Store 1468(r007) 1470
             1471:          76 Load 79(inF0)
-            1472:          76 DPdy 1471
-                              Store 1470(r014) 1472
-            1474:          76 Load 79(inF0)
-            1475:          76 DPdyCoarse 1474
-                              Store 1473(r015) 1475
-            1477:          76 Load 79(inF0)
-            1478:          76 DPdyFine 1477
-                              Store 1476(r016) 1478
-            1480:          76 Load 79(inF0)
-            1481:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 1480
-                              Store 1479(r017) 1481
-            1483:          76 Load 79(inF0)
-            1484:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1483
-                              Store 1482(r018) 1484
-            1486:          76 Load 79(inF0)
-            1487:          76 ExtInst 1(GLSL.std.450) 27(Exp) 1486
-                              Store 1485(r019) 1487
-            1489:          76 Load 79(inF0)
-            1490:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 1489
-                              Store 1488(R020) 1490
-            1492:          76 Load 79(inF0)
-            1493:          76 ExtInst 1(GLSL.std.450) 8(Floor) 1492
-                              Store 1491(r021) 1493
-            1495:          76 Load 79(inF0)
-            1496:          76 Load 80(inF1)
-            1497:   48(fvec4) CompositeExtract 1495 0
-            1498:   48(fvec4) CompositeExtract 1496 0
-            1499:   48(fvec4) FMod 1497 1498
-            1500:   48(fvec4) CompositeExtract 1495 1
-            1501:   48(fvec4) CompositeExtract 1496 1
-            1502:   48(fvec4) FMod 1500 1501
-            1503:   48(fvec4) CompositeExtract 1495 2
-            1504:   48(fvec4) CompositeExtract 1496 2
-            1505:   48(fvec4) FMod 1503 1504
-            1506:   48(fvec4) CompositeExtract 1495 3
-            1507:   48(fvec4) CompositeExtract 1496 3
-            1508:   48(fvec4) FMod 1506 1507
-            1509:          76 CompositeConstruct 1499 1502 1505 1508
-                              Store 1494(r022) 1509
+            1473:        1446 FOrdLessThan 1471 1472
+            1474:   135(bool) Any 1473
+                              SelectionMerge 1476 None
+                              BranchConditional 1474 1475 1476
+            1475:               Label
+                                Kill
+            1476:             Label
+            1479:          76 Load 79(inF0)
+            1480:          76 Load 80(inF1)
+            1481:          76 Load 81(inF2)
+            1482:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1479 1480 1481
+                              Store 1478(r008) 1482
+            1484:          76 Load 79(inF0)
+            1485:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1484
+                              Store 1483(r009) 1485
+            1487:          76 Load 79(inF0)
+            1488:          76 ExtInst 1(GLSL.std.450) 20(Cosh) 1487
+                              Store 1486(r010) 1488
+            1490:          76 Load 79(inF0)
+            1491:          76 DPdx 1490
+                              Store 1489(r011) 1491
+            1493:          76 Load 79(inF0)
+            1494:          76 DPdxCoarse 1493
+                              Store 1492(r012) 1494
+            1496:          76 Load 79(inF0)
+            1497:          76 DPdxFine 1496
+                              Store 1495(r013) 1497
+            1499:          76 Load 79(inF0)
+            1500:          76 DPdy 1499
+                              Store 1498(r014) 1500
+            1502:          76 Load 79(inF0)
+            1503:          76 DPdyCoarse 1502
+                              Store 1501(r015) 1503
+            1505:          76 Load 79(inF0)
+            1506:          76 DPdyFine 1505
+                              Store 1504(r016) 1506
+            1508:          76 Load 79(inF0)
+            1509:          76 ExtInst 1(GLSL.std.450) 12(Degrees) 1508
+                              Store 1507(r017) 1509
             1511:          76 Load 79(inF0)
-            1512:          76 ExtInst 1(GLSL.std.450) 10(Fract) 1511
-                              Store 1510(r023) 1512
+            1512:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1511
+                              Store 1510(r018) 1512
             1514:          76 Load 79(inF0)
-            1515:          76 Fwidth 1514
-                              Store 1513(r025) 1515
+            1515:          76 ExtInst 1(GLSL.std.450) 27(Exp) 1514
+                              Store 1513(r019) 1515
             1517:          76 Load 79(inF0)
-            1518:          76 Load 80(inF1)
-            1519:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1517 1518
-                              Store 1516(r026) 1519
-            1521:          76 Load 79(inF0)
-            1522:          76 Load 80(inF1)
-            1523:          76 Load 81(inF2)
-            1524:          76 ExtInst 1(GLSL.std.450) 46(FMix) 1521 1522 1523
-                              Store 1520(r026a) 1524
-            1526:          76 Load 79(inF0)
-            1527:          76 ExtInst 1(GLSL.std.450) 28(Log) 1526
-                              Store 1525(r027) 1527
-            1529:          76 Load 79(inF0)
-            1530:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1529
-            1531:          76 MatrixTimesScalar 1530 262
-                              Store 1528(r028) 1531
-            1533:          76 Load 79(inF0)
-            1534:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1533
-                              Store 1532(r029) 1534
-            1536:          76 Load 79(inF0)
-            1537:          76 Load 80(inF1)
-            1538:          76 ExtInst 1(GLSL.std.450) 40(FMax) 1536 1537
-                              Store 1535(r030) 1538
-            1540:          76 Load 79(inF0)
-            1541:          76 Load 80(inF1)
-            1542:          76 ExtInst 1(GLSL.std.450) 37(FMin) 1540 1541
-                              Store 1539(r031) 1542
-            1544:          76 Load 79(inF0)
-            1545:          76 Load 80(inF1)
-            1546:          76 ExtInst 1(GLSL.std.450) 26(Pow) 1544 1545
-                              Store 1543(r032) 1546
-            1548:          76 Load 79(inF0)
-            1549:          76 ExtInst 1(GLSL.std.450) 11(Radians) 1548
-                              Store 1547(r033) 1549
-            1551:          76 Load 79(inF0)
-            1552:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1551
-                              Store 1550(r034) 1552
+            1518:          76 ExtInst 1(GLSL.std.450) 29(Exp2) 1517
+                              Store 1516(R020) 1518
+            1520:          76 Load 79(inF0)
+            1521:          76 ExtInst 1(GLSL.std.450) 8(Floor) 1520
+                              Store 1519(r021) 1521
+            1523:          76 Load 79(inF0)
+            1524:          76 Load 80(inF1)
+            1525:   48(fvec4) CompositeExtract 1523 0
+            1526:   48(fvec4) CompositeExtract 1524 0
+            1527:   48(fvec4) FMod 1525 1526
+            1528:   48(fvec4) CompositeExtract 1523 1
+            1529:   48(fvec4) CompositeExtract 1524 1
+            1530:   48(fvec4) FMod 1528 1529
+            1531:   48(fvec4) CompositeExtract 1523 2
+            1532:   48(fvec4) CompositeExtract 1524 2
+            1533:   48(fvec4) FMod 1531 1532
+            1534:   48(fvec4) CompositeExtract 1523 3
+            1535:   48(fvec4) CompositeExtract 1524 3
+            1536:   48(fvec4) FMod 1534 1535
+            1537:          76 CompositeConstruct 1527 1530 1533 1536
+                              Store 1522(r022) 1537
+            1539:          76 Load 79(inF0)
+            1540:          76 ExtInst 1(GLSL.std.450) 10(Fract) 1539
+                              Store 1538(r023) 1540
+            1542:          76 Load 79(inF0)
+            1543:          76 Fwidth 1542
+                              Store 1541(r025) 1543
+            1545:          76 Load 79(inF0)
+            1546:          76 Load 80(inF1)
+            1547:          76 ExtInst 1(GLSL.std.450) 53(Ldexp) 1545 1546
+                              Store 1544(r026) 1547
+            1549:          76 Load 79(inF0)
+            1550:          76 Load 80(inF1)
+            1551:          76 Load 81(inF2)
+            1552:          76 ExtInst 1(GLSL.std.450) 46(FMix) 1549 1550 1551
+                              Store 1548(r026a) 1552
             1554:          76 Load 79(inF0)
-            1555:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1554
-                              Store 1553(r035) 1555
+            1555:          76 ExtInst 1(GLSL.std.450) 28(Log) 1554
+                              Store 1553(r027) 1555
             1557:          76 Load 79(inF0)
-            1558:   48(fvec4) CompositeConstruct 139 139 139 139
-            1559:   48(fvec4) CompositeConstruct 283 283 283 283
-            1560:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1557 1558 1559
-                              Store 1556(r036) 1560
-            1562:          76 Load 79(inF0)
-            1563:          76 ExtInst 1(GLSL.std.450) 6(FSign) 1562
-                              Store 1561(r037) 1563
-            1565:          76 Load 79(inF0)
-            1566:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1565
-                              Store 1564(r038) 1566
-            1567:          76 Load 79(inF0)
-            1568:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1567
-                              Store 80(inF1) 1568
-            1569:          76 Load 79(inF0)
-            1570:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1569
-                              Store 81(inF2) 1570
+            1558:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1557
+            1559:          76 MatrixTimesScalar 1558 268
+                              Store 1556(r028) 1559
+            1561:          76 Load 79(inF0)
+            1562:          76 ExtInst 1(GLSL.std.450) 30(Log2) 1561
+                              Store 1560(r029) 1562
+            1564:          76 Load 79(inF0)
+            1565:          76 Load 80(inF1)
+            1566:          76 ExtInst 1(GLSL.std.450) 40(FMax) 1564 1565
+                              Store 1563(r030) 1566
+            1568:          76 Load 79(inF0)
+            1569:          76 Load 80(inF1)
+            1570:          76 ExtInst 1(GLSL.std.450) 37(FMin) 1568 1569
+                              Store 1567(r031) 1570
             1572:          76 Load 79(inF0)
-            1573:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1572
-                              Store 1571(r039) 1573
-            1575:          76 Load 79(inF0)
-            1576:          76 Load 80(inF1)
-            1577:          76 Load 81(inF2)
-            1578:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1575 1576 1577
-                              Store 1574(r049) 1578
-            1580:          76 Load 79(inF0)
-            1581:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1580
-                              Store 1579(r041) 1581
-            1583:          76 Load 79(inF0)
-            1584:          76 Load 80(inF1)
-            1585:          76 ExtInst 1(GLSL.std.450) 48(Step) 1583 1584
-                              Store 1582(r042) 1585
-            1587:          76 Load 79(inF0)
-            1588:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1587
-                              Store 1586(r043) 1588
+            1573:          76 Load 80(inF1)
+            1574:          76 ExtInst 1(GLSL.std.450) 26(Pow) 1572 1573
+                              Store 1571(r032) 1574
+            1576:          76 Load 79(inF0)
+            1577:          76 ExtInst 1(GLSL.std.450) 11(Radians) 1576
+                              Store 1575(r033) 1577
+            1579:          76 Load 79(inF0)
+            1580:          76 ExtInst 1(GLSL.std.450) 2(RoundEven) 1579
+                              Store 1578(r034) 1580
+            1582:          76 Load 79(inF0)
+            1583:          76 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1582
+                              Store 1581(r035) 1583
+            1585:          76 Load 79(inF0)
+            1586:   48(fvec4) CompositeConstruct 139 139 139 139
+            1587:   48(fvec4) CompositeConstruct 289 289 289 289
+            1588:          76 ExtInst 1(GLSL.std.450) 43(FClamp) 1585 1586 1587
+                              Store 1584(r036) 1588
             1590:          76 Load 79(inF0)
-            1591:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1590
-                              Store 1589(r044) 1591
-            1592:          76 Load 79(inF0)
-            1593:          76 Transpose 1592
+            1591:          76 ExtInst 1(GLSL.std.450) 6(FSign) 1590
+                              Store 1589(r037) 1591
+            1593:          76 Load 79(inF0)
+            1594:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1593
+                              Store 1592(r038) 1594
             1595:          76 Load 79(inF0)
-            1596:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1595
-                              Store 1594(r046) 1596
-                              ReturnValue 1598
+            1596:          76 ExtInst 1(GLSL.std.450) 13(Sin) 1595
+                              Store 80(inF1) 1596
+            1597:          76 Load 79(inF0)
+            1598:          76 ExtInst 1(GLSL.std.450) 14(Cos) 1597
+                              Store 81(inF2) 1598
+            1600:          76 Load 79(inF0)
+            1601:          76 ExtInst 1(GLSL.std.450) 19(Sinh) 1600
+                              Store 1599(r039) 1601
+            1603:          76 Load 79(inF0)
+            1604:          76 Load 80(inF1)
+            1605:          76 Load 81(inF2)
+            1606:          76 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1603 1604 1605
+                              Store 1602(r049) 1606
+            1608:          76 Load 79(inF0)
+            1609:          76 ExtInst 1(GLSL.std.450) 31(Sqrt) 1608
+                              Store 1607(r041) 1609
+            1611:          76 Load 79(inF0)
+            1612:          76 Load 80(inF1)
+            1613:          76 ExtInst 1(GLSL.std.450) 48(Step) 1611 1612
+                              Store 1610(r042) 1613
+            1615:          76 Load 79(inF0)
+            1616:          76 ExtInst 1(GLSL.std.450) 15(Tan) 1615
+                              Store 1614(r043) 1616
+            1618:          76 Load 79(inF0)
+            1619:          76 ExtInst 1(GLSL.std.450) 21(Tanh) 1618
+                              Store 1617(r044) 1619
+            1620:          76 Load 79(inF0)
+            1621:          76 Transpose 1620
+            1623:          76 Load 79(inF0)
+            1624:          76 ExtInst 1(GLSL.std.450) 3(Trunc) 1623
+                              Store 1622(r046) 1624
+                              ReturnValue 1626
                               FunctionEnd
 91(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 84
         85(inF0):      7(ptr) FunctionParameter
@@ -8076,51 +8193,51 @@
        89(inFM0):     61(ptr) FunctionParameter
        90(inFM1):     61(ptr) FunctionParameter
               92:             Label
-        1601(r0):      7(ptr) Variable Function
-        1605(r1):     25(ptr) Variable Function
-        1609(r2):     25(ptr) Variable Function
-        1613(r3):      7(ptr) Variable Function
-        1617(r4):     25(ptr) Variable Function
-        1621(r5):     25(ptr) Variable Function
-        1625(r6):     61(ptr) Variable Function
-        1629(r7):     61(ptr) Variable Function
-        1633(r8):     61(ptr) Variable Function
-            1602:    6(float) Load 86(inF1)
-            1603:    6(float) Load 85(inF0)
-            1604:    6(float) FMul 1602 1603
-                              Store 1601(r0) 1604
-            1606:    6(float) Load 85(inF0)
-            1607:   24(fvec2) Load 87(inFV0)
-            1608:   24(fvec2) VectorTimesScalar 1607 1606
-                              Store 1605(r1) 1608
-            1610:   24(fvec2) Load 87(inFV0)
-            1611:    6(float) Load 85(inF0)
-            1612:   24(fvec2) VectorTimesScalar 1610 1611
-                              Store 1609(r2) 1612
-            1614:   24(fvec2) Load 87(inFV0)
-            1615:   24(fvec2) Load 88(inFV1)
-            1616:    6(float) Dot 1614 1615
-                              Store 1613(r3) 1616
-            1618:   24(fvec2) Load 87(inFV0)
-            1619:          60 Load 89(inFM0)
-            1620:   24(fvec2) VectorTimesMatrix 1618 1619
-                              Store 1617(r4) 1620
-            1622:          60 Load 89(inFM0)
-            1623:   24(fvec2) Load 87(inFV0)
-            1624:   24(fvec2) MatrixTimesVector 1622 1623
-                              Store 1621(r5) 1624
-            1626:    6(float) Load 85(inF0)
-            1627:          60 Load 89(inFM0)
-            1628:          60 MatrixTimesScalar 1627 1626
-                              Store 1625(r6) 1628
-            1630:          60 Load 89(inFM0)
+        1629(r0):      7(ptr) Variable Function
+        1633(r1):     25(ptr) Variable Function
+        1637(r2):     25(ptr) Variable Function
+        1641(r3):      7(ptr) Variable Function
+        1645(r4):     25(ptr) Variable Function
+        1649(r5):     25(ptr) Variable Function
+        1653(r6):     61(ptr) Variable Function
+        1657(r7):     61(ptr) Variable Function
+        1661(r8):     61(ptr) Variable Function
+            1630:    6(float) Load 86(inF1)
             1631:    6(float) Load 85(inF0)
-            1632:          60 MatrixTimesScalar 1630 1631
-                              Store 1629(r7) 1632
-            1634:          60 Load 90(inFM1)
-            1635:          60 Load 89(inFM0)
-            1636:          60 MatrixTimesMatrix 1634 1635
-                              Store 1633(r8) 1636
+            1632:    6(float) FMul 1630 1631
+                              Store 1629(r0) 1632
+            1634:    6(float) Load 85(inF0)
+            1635:   24(fvec2) Load 87(inFV0)
+            1636:   24(fvec2) VectorTimesScalar 1635 1634
+                              Store 1633(r1) 1636
+            1638:   24(fvec2) Load 87(inFV0)
+            1639:    6(float) Load 85(inF0)
+            1640:   24(fvec2) VectorTimesScalar 1638 1639
+                              Store 1637(r2) 1640
+            1642:   24(fvec2) Load 87(inFV0)
+            1643:   24(fvec2) Load 88(inFV1)
+            1644:    6(float) Dot 1642 1643
+                              Store 1641(r3) 1644
+            1646:   24(fvec2) Load 87(inFV0)
+            1647:          60 Load 89(inFM0)
+            1648:   24(fvec2) VectorTimesMatrix 1646 1647
+                              Store 1645(r4) 1648
+            1650:          60 Load 89(inFM0)
+            1651:   24(fvec2) Load 87(inFV0)
+            1652:   24(fvec2) MatrixTimesVector 1650 1651
+                              Store 1649(r5) 1652
+            1654:    6(float) Load 85(inF0)
+            1655:          60 Load 89(inFM0)
+            1656:          60 MatrixTimesScalar 1655 1654
+                              Store 1653(r6) 1656
+            1658:          60 Load 89(inFM0)
+            1659:    6(float) Load 85(inF0)
+            1660:          60 MatrixTimesScalar 1658 1659
+                              Store 1657(r7) 1660
+            1662:          60 Load 90(inFM1)
+            1663:          60 Load 89(inFM0)
+            1664:          60 MatrixTimesMatrix 1662 1663
+                              Store 1661(r8) 1664
                               Return
                               FunctionEnd
 100(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 93
@@ -8131,51 +8248,51 @@
        98(inFM0):     69(ptr) FunctionParameter
        99(inFM1):     69(ptr) FunctionParameter
              101:             Label
-        1637(r0):      7(ptr) Variable Function
-        1641(r1):     37(ptr) Variable Function
-        1645(r2):     37(ptr) Variable Function
-        1649(r3):      7(ptr) Variable Function
-        1653(r4):     37(ptr) Variable Function
-        1657(r5):     37(ptr) Variable Function
-        1661(r6):     69(ptr) Variable Function
-        1665(r7):     69(ptr) Variable Function
-        1669(r8):     69(ptr) Variable Function
-            1638:    6(float) Load 95(inF1)
-            1639:    6(float) Load 94(inF0)
-            1640:    6(float) FMul 1638 1639
-                              Store 1637(r0) 1640
-            1642:    6(float) Load 94(inF0)
-            1643:   36(fvec3) Load 96(inFV0)
-            1644:   36(fvec3) VectorTimesScalar 1643 1642
-                              Store 1641(r1) 1644
-            1646:   36(fvec3) Load 96(inFV0)
-            1647:    6(float) Load 94(inF0)
-            1648:   36(fvec3) VectorTimesScalar 1646 1647
-                              Store 1645(r2) 1648
-            1650:   36(fvec3) Load 96(inFV0)
-            1651:   36(fvec3) Load 97(inFV1)
-            1652:    6(float) Dot 1650 1651
-                              Store 1649(r3) 1652
-            1654:   36(fvec3) Load 96(inFV0)
-            1655:          68 Load 98(inFM0)
-            1656:   36(fvec3) VectorTimesMatrix 1654 1655
-                              Store 1653(r4) 1656
-            1658:          68 Load 98(inFM0)
-            1659:   36(fvec3) Load 96(inFV0)
-            1660:   36(fvec3) MatrixTimesVector 1658 1659
-                              Store 1657(r5) 1660
-            1662:    6(float) Load 94(inF0)
-            1663:          68 Load 98(inFM0)
-            1664:          68 MatrixTimesScalar 1663 1662
-                              Store 1661(r6) 1664
-            1666:          68 Load 98(inFM0)
+        1665(r0):      7(ptr) Variable Function
+        1669(r1):     37(ptr) Variable Function
+        1673(r2):     37(ptr) Variable Function
+        1677(r3):      7(ptr) Variable Function
+        1681(r4):     37(ptr) Variable Function
+        1685(r5):     37(ptr) Variable Function
+        1689(r6):     69(ptr) Variable Function
+        1693(r7):     69(ptr) Variable Function
+        1697(r8):     69(ptr) Variable Function
+            1666:    6(float) Load 95(inF1)
             1667:    6(float) Load 94(inF0)
-            1668:          68 MatrixTimesScalar 1666 1667
-                              Store 1665(r7) 1668
-            1670:          68 Load 99(inFM1)
-            1671:          68 Load 98(inFM0)
-            1672:          68 MatrixTimesMatrix 1670 1671
-                              Store 1669(r8) 1672
+            1668:    6(float) FMul 1666 1667
+                              Store 1665(r0) 1668
+            1670:    6(float) Load 94(inF0)
+            1671:   36(fvec3) Load 96(inFV0)
+            1672:   36(fvec3) VectorTimesScalar 1671 1670
+                              Store 1669(r1) 1672
+            1674:   36(fvec3) Load 96(inFV0)
+            1675:    6(float) Load 94(inF0)
+            1676:   36(fvec3) VectorTimesScalar 1674 1675
+                              Store 1673(r2) 1676
+            1678:   36(fvec3) Load 96(inFV0)
+            1679:   36(fvec3) Load 97(inFV1)
+            1680:    6(float) Dot 1678 1679
+                              Store 1677(r3) 1680
+            1682:   36(fvec3) Load 96(inFV0)
+            1683:          68 Load 98(inFM0)
+            1684:   36(fvec3) VectorTimesMatrix 1682 1683
+                              Store 1681(r4) 1684
+            1686:          68 Load 98(inFM0)
+            1687:   36(fvec3) Load 96(inFV0)
+            1688:   36(fvec3) MatrixTimesVector 1686 1687
+                              Store 1685(r5) 1688
+            1690:    6(float) Load 94(inF0)
+            1691:          68 Load 98(inFM0)
+            1692:          68 MatrixTimesScalar 1691 1690
+                              Store 1689(r6) 1692
+            1694:          68 Load 98(inFM0)
+            1695:    6(float) Load 94(inF0)
+            1696:          68 MatrixTimesScalar 1694 1695
+                              Store 1693(r7) 1696
+            1698:          68 Load 99(inFM1)
+            1699:          68 Load 98(inFM0)
+            1700:          68 MatrixTimesMatrix 1698 1699
+                              Store 1697(r8) 1700
                               Return
                               FunctionEnd
 109(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 102
@@ -8186,51 +8303,51 @@
       107(inFM0):     77(ptr) FunctionParameter
       108(inFM1):     77(ptr) FunctionParameter
              110:             Label
-        1673(r0):      7(ptr) Variable Function
-        1677(r1):     49(ptr) Variable Function
-        1681(r2):     49(ptr) Variable Function
-        1685(r3):      7(ptr) Variable Function
-        1689(r4):     49(ptr) Variable Function
-        1693(r5):     49(ptr) Variable Function
-        1697(r6):     77(ptr) Variable Function
-        1701(r7):     77(ptr) Variable Function
-        1705(r8):     77(ptr) Variable Function
-            1674:    6(float) Load 104(inF1)
-            1675:    6(float) Load 103(inF0)
-            1676:    6(float) FMul 1674 1675
-                              Store 1673(r0) 1676
-            1678:    6(float) Load 103(inF0)
-            1679:   48(fvec4) Load 105(inFV0)
-            1680:   48(fvec4) VectorTimesScalar 1679 1678
-                              Store 1677(r1) 1680
-            1682:   48(fvec4) Load 105(inFV0)
-            1683:    6(float) Load 103(inF0)
-            1684:   48(fvec4) VectorTimesScalar 1682 1683
-                              Store 1681(r2) 1684
-            1686:   48(fvec4) Load 105(inFV0)
-            1687:   48(fvec4) Load 106(inFV1)
-            1688:    6(float) Dot 1686 1687
-                              Store 1685(r3) 1688
-            1690:   48(fvec4) Load 105(inFV0)
-            1691:          76 Load 107(inFM0)
-            1692:   48(fvec4) VectorTimesMatrix 1690 1691
-                              Store 1689(r4) 1692
-            1694:          76 Load 107(inFM0)
-            1695:   48(fvec4) Load 105(inFV0)
-            1696:   48(fvec4) MatrixTimesVector 1694 1695
-                              Store 1693(r5) 1696
-            1698:    6(float) Load 103(inF0)
-            1699:          76 Load 107(inFM0)
-            1700:          76 MatrixTimesScalar 1699 1698
-                              Store 1697(r6) 1700
-            1702:          76 Load 107(inFM0)
+        1701(r0):      7(ptr) Variable Function
+        1705(r1):     49(ptr) Variable Function
+        1709(r2):     49(ptr) Variable Function
+        1713(r3):      7(ptr) Variable Function
+        1717(r4):     49(ptr) Variable Function
+        1721(r5):     49(ptr) Variable Function
+        1725(r6):     77(ptr) Variable Function
+        1729(r7):     77(ptr) Variable Function
+        1733(r8):     77(ptr) Variable Function
+            1702:    6(float) Load 104(inF1)
             1703:    6(float) Load 103(inF0)
-            1704:          76 MatrixTimesScalar 1702 1703
-                              Store 1701(r7) 1704
-            1706:          76 Load 108(inFM1)
-            1707:          76 Load 107(inFM0)
-            1708:          76 MatrixTimesMatrix 1706 1707
-                              Store 1705(r8) 1708
+            1704:    6(float) FMul 1702 1703
+                              Store 1701(r0) 1704
+            1706:    6(float) Load 103(inF0)
+            1707:   48(fvec4) Load 105(inFV0)
+            1708:   48(fvec4) VectorTimesScalar 1707 1706
+                              Store 1705(r1) 1708
+            1710:   48(fvec4) Load 105(inFV0)
+            1711:    6(float) Load 103(inF0)
+            1712:   48(fvec4) VectorTimesScalar 1710 1711
+                              Store 1709(r2) 1712
+            1714:   48(fvec4) Load 105(inFV0)
+            1715:   48(fvec4) Load 106(inFV1)
+            1716:    6(float) Dot 1714 1715
+                              Store 1713(r3) 1716
+            1718:   48(fvec4) Load 105(inFV0)
+            1719:          76 Load 107(inFM0)
+            1720:   48(fvec4) VectorTimesMatrix 1718 1719
+                              Store 1717(r4) 1720
+            1722:          76 Load 107(inFM0)
+            1723:   48(fvec4) Load 105(inFV0)
+            1724:   48(fvec4) MatrixTimesVector 1722 1723
+                              Store 1721(r5) 1724
+            1726:    6(float) Load 103(inF0)
+            1727:          76 Load 107(inFM0)
+            1728:          76 MatrixTimesScalar 1727 1726
+                              Store 1725(r6) 1728
+            1730:          76 Load 107(inFM0)
+            1731:    6(float) Load 103(inF0)
+            1732:          76 MatrixTimesScalar 1730 1731
+                              Store 1729(r7) 1732
+            1734:          76 Load 108(inFM1)
+            1735:          76 Load 107(inFM0)
+            1736:          76 MatrixTimesMatrix 1734 1735
+                              Store 1733(r8) 1736
                               Return
                               FunctionEnd
 129(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;):           2 Function None 119
@@ -8244,98 +8361,98 @@
     127(inFM3x4):    116(ptr) FunctionParameter
     128(inFM2x4):    118(ptr) FunctionParameter
              130:             Label
-       1709(r00):      7(ptr) Variable Function
-       1713(r01):     25(ptr) Variable Function
-       1717(r02):     37(ptr) Variable Function
-       1721(r03):     25(ptr) Variable Function
-       1725(r04):     37(ptr) Variable Function
-       1729(r05):      7(ptr) Variable Function
-       1733(r06):      7(ptr) Variable Function
-       1737(r07):     37(ptr) Variable Function
-       1741(r08):     25(ptr) Variable Function
-       1745(r09):     25(ptr) Variable Function
-       1749(r10):     37(ptr) Variable Function
-       1753(r11):    112(ptr) Variable Function
-       1757(r12):    114(ptr) Variable Function
-       1761(r13):     61(ptr) Variable Function
-       1765(r14):    112(ptr) Variable Function
-       1769(r15):    118(ptr) Variable Function
-       1773(r16):    116(ptr) Variable Function
-            1710:    6(float) Load 121(inF1)
-            1711:    6(float) Load 120(inF0)
-            1712:    6(float) FMul 1710 1711
-                              Store 1709(r00) 1712
-            1714:    6(float) Load 120(inF0)
-            1715:   24(fvec2) Load 122(inFV2)
-            1716:   24(fvec2) VectorTimesScalar 1715 1714
-                              Store 1713(r01) 1716
-            1718:    6(float) Load 120(inF0)
-            1719:   36(fvec3) Load 123(inFV3)
-            1720:   36(fvec3) VectorTimesScalar 1719 1718
-                              Store 1717(r02) 1720
-            1722:   24(fvec2) Load 122(inFV2)
-            1723:    6(float) Load 120(inF0)
-            1724:   24(fvec2) VectorTimesScalar 1722 1723
-                              Store 1721(r03) 1724
-            1726:   36(fvec3) Load 123(inFV3)
-            1727:    6(float) Load 120(inF0)
-            1728:   36(fvec3) VectorTimesScalar 1726 1727
-                              Store 1725(r04) 1728
-            1730:   24(fvec2) Load 122(inFV2)
-            1731:   24(fvec2) Load 122(inFV2)
-            1732:    6(float) Dot 1730 1731
-                              Store 1729(r05) 1732
-            1734:   36(fvec3) Load 123(inFV3)
-            1735:   36(fvec3) Load 123(inFV3)
-            1736:    6(float) Dot 1734 1735
-                              Store 1733(r06) 1736
-            1738:         111 Load 124(inFM2x3)
-            1739:   24(fvec2) Load 122(inFV2)
-            1740:   36(fvec3) MatrixTimesVector 1738 1739
-                              Store 1737(r07) 1740
-            1742:         113 Load 125(inFM3x2)
-            1743:   36(fvec3) Load 123(inFV3)
-            1744:   24(fvec2) MatrixTimesVector 1742 1743
-                              Store 1741(r08) 1744
-            1746:   36(fvec3) Load 123(inFV3)
-            1747:         111 Load 124(inFM2x3)
-            1748:   24(fvec2) VectorTimesMatrix 1746 1747
-                              Store 1745(r09) 1748
+       1737(r00):      7(ptr) Variable Function
+       1741(r01):     25(ptr) Variable Function
+       1745(r02):     37(ptr) Variable Function
+       1749(r03):     25(ptr) Variable Function
+       1753(r04):     37(ptr) Variable Function
+       1757(r05):      7(ptr) Variable Function
+       1761(r06):      7(ptr) Variable Function
+       1765(r07):     37(ptr) Variable Function
+       1769(r08):     25(ptr) Variable Function
+       1773(r09):     25(ptr) Variable Function
+       1777(r10):     37(ptr) Variable Function
+       1781(r11):    112(ptr) Variable Function
+       1785(r12):    114(ptr) Variable Function
+       1789(r13):     61(ptr) Variable Function
+       1793(r14):    112(ptr) Variable Function
+       1797(r15):    118(ptr) Variable Function
+       1801(r16):    116(ptr) Variable Function
+            1738:    6(float) Load 121(inF1)
+            1739:    6(float) Load 120(inF0)
+            1740:    6(float) FMul 1738 1739
+                              Store 1737(r00) 1740
+            1742:    6(float) Load 120(inF0)
+            1743:   24(fvec2) Load 122(inFV2)
+            1744:   24(fvec2) VectorTimesScalar 1743 1742
+                              Store 1741(r01) 1744
+            1746:    6(float) Load 120(inF0)
+            1747:   36(fvec3) Load 123(inFV3)
+            1748:   36(fvec3) VectorTimesScalar 1747 1746
+                              Store 1745(r02) 1748
             1750:   24(fvec2) Load 122(inFV2)
-            1751:         113 Load 125(inFM3x2)
-            1752:   36(fvec3) VectorTimesMatrix 1750 1751
-                              Store 1749(r10) 1752
-            1754:    6(float) Load 120(inF0)
-            1755:         111 Load 124(inFM2x3)
-            1756:         111 MatrixTimesScalar 1755 1754
-                              Store 1753(r11) 1756
-            1758:    6(float) Load 120(inF0)
-            1759:         113 Load 125(inFM3x2)
-            1760:         113 MatrixTimesScalar 1759 1758
-                              Store 1757(r12) 1760
-            1762:         113 Load 125(inFM3x2)
-            1763:         111 Load 124(inFM2x3)
-            1764:          60 MatrixTimesMatrix 1762 1763
-                              Store 1761(r13) 1764
-            1766:          68 Load 126(inFM3x3)
-            1767:         111 Load 124(inFM2x3)
-            1768:         111 MatrixTimesMatrix 1766 1767
-                              Store 1765(r14) 1768
-            1770:         115 Load 127(inFM3x4)
-            1771:         111 Load 124(inFM2x3)
-            1772:         117 MatrixTimesMatrix 1770 1771
-                              Store 1769(r15) 1772
-            1774:         117 Load 128(inFM2x4)
-            1775:         113 Load 125(inFM3x2)
-            1776:         115 MatrixTimesMatrix 1774 1775
-                              Store 1773(r16) 1776
+            1751:    6(float) Load 120(inF0)
+            1752:   24(fvec2) VectorTimesScalar 1750 1751
+                              Store 1749(r03) 1752
+            1754:   36(fvec3) Load 123(inFV3)
+            1755:    6(float) Load 120(inF0)
+            1756:   36(fvec3) VectorTimesScalar 1754 1755
+                              Store 1753(r04) 1756
+            1758:   24(fvec2) Load 122(inFV2)
+            1759:   24(fvec2) Load 122(inFV2)
+            1760:    6(float) Dot 1758 1759
+                              Store 1757(r05) 1760
+            1762:   36(fvec3) Load 123(inFV3)
+            1763:   36(fvec3) Load 123(inFV3)
+            1764:    6(float) Dot 1762 1763
+                              Store 1761(r06) 1764
+            1766:         111 Load 124(inFM2x3)
+            1767:   24(fvec2) Load 122(inFV2)
+            1768:   36(fvec3) MatrixTimesVector 1766 1767
+                              Store 1765(r07) 1768
+            1770:         113 Load 125(inFM3x2)
+            1771:   36(fvec3) Load 123(inFV3)
+            1772:   24(fvec2) MatrixTimesVector 1770 1771
+                              Store 1769(r08) 1772
+            1774:   36(fvec3) Load 123(inFV3)
+            1775:         111 Load 124(inFM2x3)
+            1776:   24(fvec2) VectorTimesMatrix 1774 1775
+                              Store 1773(r09) 1776
+            1778:   24(fvec2) Load 122(inFV2)
+            1779:         113 Load 125(inFM3x2)
+            1780:   36(fvec3) VectorTimesMatrix 1778 1779
+                              Store 1777(r10) 1780
+            1782:    6(float) Load 120(inF0)
+            1783:         111 Load 124(inFM2x3)
+            1784:         111 MatrixTimesScalar 1783 1782
+                              Store 1781(r11) 1784
+            1786:    6(float) Load 120(inF0)
+            1787:         113 Load 125(inFM3x2)
+            1788:         113 MatrixTimesScalar 1787 1786
+                              Store 1785(r12) 1788
+            1790:         113 Load 125(inFM3x2)
+            1791:         111 Load 124(inFM2x3)
+            1792:          60 MatrixTimesMatrix 1790 1791
+                              Store 1789(r13) 1792
+            1794:          68 Load 126(inFM3x3)
+            1795:         111 Load 124(inFM2x3)
+            1796:         111 MatrixTimesMatrix 1794 1795
+                              Store 1793(r14) 1796
+            1798:         115 Load 127(inFM3x4)
+            1799:         111 Load 124(inFM2x3)
+            1800:         117 MatrixTimesMatrix 1798 1799
+                              Store 1797(r15) 1800
+            1802:         117 Load 128(inFM2x4)
+            1803:         113 Load 125(inFM3x2)
+            1804:         115 MatrixTimesMatrix 1802 1803
+                              Store 1801(r16) 1804
                               Return
                               FunctionEnd
      133(@main():131(PS_OUTPUT) Function None 132
              134:             Label
- 1778(ps_output):   1777(ptr) Variable Function
-            1781:     49(ptr) AccessChain 1778(ps_output) 1779
-                              Store 1781 1780
-            1782:131(PS_OUTPUT) Load 1778(ps_output)
-                              ReturnValue 1782
+ 1806(ps_output):   1805(ptr) Variable Function
+            1808:     49(ptr) AccessChain 1806(ps_output) 187
+                              Store 1808 1807
+            1809:131(PS_OUTPUT) Load 1806(ps_output)
+                              ReturnValue 1809
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.intrinsics.lit.frag.out b/Test/baseResults/hlsl.intrinsics.lit.frag.out
index 61024f4..a280db1 100644
--- a/Test/baseResults/hlsl.intrinsics.lit.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.lit.frag.out
@@ -118,7 +118,7 @@
 0:?     'm' (layout( location=2) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 52
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.negative.comp.out b/Test/baseResults/hlsl.intrinsics.negative.comp.out
index 176cf23..ce8947d 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.comp.out
@@ -180,7 +180,7 @@
 0:?     'inI0' (layout( location=3) in 4-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 99
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.negative.vert.out b/Test/baseResults/hlsl.intrinsics.negative.vert.out
index aabcda8..31e3ec4 100644
--- a/Test/baseResults/hlsl.intrinsics.negative.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.negative.vert.out
@@ -308,7 +308,7 @@
 0:?     'inI0' (layout( location=3) in 4-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 155
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
index d6bd3df..8df57aa 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.down.frag.out
@@ -104,7 +104,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.promote.frag.out b/Test/baseResults/hlsl.intrinsics.promote.frag.out
index 107de38..6df1915 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.frag.out
@@ -888,7 +888,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 322
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
index 649f7ca..703d9f6 100644
--- a/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.promote.outputs.frag.out
@@ -204,7 +204,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 80
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out
index ee85a9d..e92a8a7 100644
--- a/Test/baseResults/hlsl.intrinsics.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.vert.out
@@ -2779,7 +2779,7 @@
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 1225
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.isfinite.frag.out b/Test/baseResults/hlsl.isfinite.frag.out
index 7eebb85..9968e6b 100644
--- a/Test/baseResults/hlsl.isfinite.frag.out
+++ b/Test/baseResults/hlsl.isfinite.frag.out
@@ -172,7 +172,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 85
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out
index bfbfaaf..de614d2 100755
--- a/Test/baseResults/hlsl.layout.frag.out
+++ b/Test/baseResults/hlsl.layout.frag.out
@@ -67,7 +67,7 @@
 0:?     'anon@2' (layout( set=4 binding=7 row_major std430) readonly buffer block{layout( row_major std430 offset=16) buffer 4-component vector of float v1PostLayout})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.2dms.dx10.frag.out b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
index b5d0466..634b6e8 100644
--- a/Test/baseResults/hlsl.load.2dms.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.2dms.dx10.frag.out
@@ -356,7 +356,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 130
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.array.dx10.frag.out b/Test/baseResults/hlsl.load.array.dx10.frag.out
index 9bfc678..09c05d8 100644
--- a/Test/baseResults/hlsl.load.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.array.dx10.frag.out
@@ -386,7 +386,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 159
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.basic.dx10.frag.out b/Test/baseResults/hlsl.load.basic.dx10.frag.out
index 20110a5..144d1a8 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.frag.out
@@ -488,7 +488,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 179
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.basic.dx10.vert.out b/Test/baseResults/hlsl.load.basic.dx10.vert.out
index 619bfda..e8bcd66 100644
--- a/Test/baseResults/hlsl.load.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.load.basic.dx10.vert.out
@@ -452,7 +452,7 @@
 0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 171
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.buffer.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
index 0e876ab..9f873af 100644
--- a/Test/baseResults/hlsl.load.buffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.dx10.frag.out
@@ -164,7 +164,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 72
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
index 2b7440f..085778d 100644
--- a/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.buffer.float.dx10.frag.out
@@ -170,7 +170,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 75
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.offset.dx10.frag.out b/Test/baseResults/hlsl.load.offset.dx10.frag.out
index 9f77ec0..7cd6b01 100644
--- a/Test/baseResults/hlsl.load.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offset.dx10.frag.out
@@ -560,7 +560,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 201
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
index 2e4eca9..df03bfc 100644
--- a/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.offsetarray.dx10.frag.out
@@ -434,7 +434,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 174
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
index 851f824..4bfc56a 100644
--- a/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwbuffer.dx10.frag.out
@@ -110,7 +110,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 57
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
index 1093100..d4960ad 100644
--- a/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.array.dx10.frag.out
@@ -206,7 +206,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 119
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
index 1347a51..e86fc35 100644
--- a/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
+++ b/Test/baseResults/hlsl.load.rwtexture.dx10.frag.out
@@ -242,7 +242,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 132
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.localStructuredBuffer.comp.out b/Test/baseResults/hlsl.localStructuredBuffer.comp.out
new file mode 100644
index 0000000..98257f4
--- /dev/null
+++ b/Test/baseResults/hlsl.localStructuredBuffer.comp.out
@@ -0,0 +1,64 @@
+hlsl.localStructuredBuffer.comp
+Shader version: 500
+local_size = (1, 1, 1)
+0:? Sequence
+0:2  Function Definition: @main( ( temp void)
+0:2    Function Parameters: 
+0:2  Function Definition: main( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      Function Call: @main( ( temp void)
+0:?   Linker Objects
+0:?     'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+
+Linked compute stage:
+
+
+Shader version: 500
+local_size = (1, 1, 1)
+0:? Sequence
+0:2  Function Definition: @main( ( temp void)
+0:2    Function Parameters: 
+0:2  Function Definition: main( ( temp void)
+0:2    Function Parameters: 
+0:?     Sequence
+0:2      Function Call: @main( ( temp void)
+0:?   Linker Objects
+0:?     'srt0' (layout( row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 14
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 1 1 1
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 6  "@main("
+                              Name 11  "srt0"
+                              MemberName 11(srt0) 0  "@data"
+                              Name 13  "srt0"
+                              Decorate 10 ArrayStride 4
+                              MemberDecorate 11(srt0) 0 Offset 0
+                              Decorate 11(srt0) BufferBlock
+                              Decorate 13(srt0) DescriptorSet 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               9:             TypeInt 32 0
+              10:             TypeRuntimeArray 9(int)
+        11(srt0):             TypeStruct 10
+              12:             TypePointer Uniform 11(srt0)
+        13(srt0):     12(ptr) Variable Uniform
+         4(main):           2 Function None 3
+               5:             Label
+               8:           2 FunctionCall 6(@main()
+                              Return
+                              FunctionEnd
+       6(@main():           2 Function None 3
+               7:             Label
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.logical.binary.frag.out b/Test/baseResults/hlsl.logical.binary.frag.out
index 1df6ae4..de1b3f3 100644
--- a/Test/baseResults/hlsl.logical.binary.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.frag.out
@@ -128,7 +128,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 57
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.logical.binary.vec.frag.out b/Test/baseResults/hlsl.logical.binary.vec.frag.out
index 53fa2c1..2409b0e 100644
--- a/Test/baseResults/hlsl.logical.binary.vec.frag.out
+++ b/Test/baseResults/hlsl.logical.binary.vec.frag.out
@@ -254,7 +254,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 115
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.logical.unary.frag.out b/Test/baseResults/hlsl.logical.unary.frag.out
index a27b0bd..7d7cbf7 100644
--- a/Test/baseResults/hlsl.logical.unary.frag.out
+++ b/Test/baseResults/hlsl.logical.unary.frag.out
@@ -184,7 +184,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 84
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.logicalConvert.frag.out b/Test/baseResults/hlsl.logicalConvert.frag.out
index b51a43c..733ca26 100755
--- a/Test/baseResults/hlsl.logicalConvert.frag.out
+++ b/Test/baseResults/hlsl.logicalConvert.frag.out
@@ -254,7 +254,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.loopattr.frag.out b/Test/baseResults/hlsl.loopattr.frag.out
index 81b6c29..38282a5 100644
--- a/Test/baseResults/hlsl.loopattr.frag.out
+++ b/Test/baseResults/hlsl.loopattr.frag.out
@@ -136,7 +136,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 54
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matNx1.frag.out b/Test/baseResults/hlsl.matNx1.frag.out
index f3b5dd2..74c4fb6 100644
--- a/Test/baseResults/hlsl.matNx1.frag.out
+++ b/Test/baseResults/hlsl.matNx1.frag.out
@@ -152,7 +152,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 77
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out
index 894f203..aff329b 100644
--- a/Test/baseResults/hlsl.matType.bool.frag.out
+++ b/Test/baseResults/hlsl.matType.bool.frag.out
@@ -232,7 +232,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 130
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
index d76d55c..1d892b5 100755
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -31,7 +31,7 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform 1-component vector of float f1,  uniform 1X1 matrix of float fmat11,  uniform 4X1 matrix of float fmat41,  uniform 1X2 matrix of float fmat12,  uniform 2X3 matrix of double dmat23,  uniform 4X4 matrix of int int44})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 30
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out
index 7aa3a5d..807b8b9 100644
--- a/Test/baseResults/hlsl.matType.int.frag.out
+++ b/Test/baseResults/hlsl.matType.int.frag.out
@@ -398,7 +398,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 232
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matpack-1.frag.out b/Test/baseResults/hlsl.matpack-1.frag.out
index 761c8c3..1370c19 100644
--- a/Test/baseResults/hlsl.matpack-1.frag.out
+++ b/Test/baseResults/hlsl.matpack-1.frag.out
@@ -100,7 +100,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matpack-pragma.frag.out b/Test/baseResults/hlsl.matpack-pragma.frag.out
index 761ab9a..187f5d0 100644
--- a/Test/baseResults/hlsl.matpack-pragma.frag.out
+++ b/Test/baseResults/hlsl.matpack-pragma.frag.out
@@ -170,7 +170,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 44
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matrixSwizzle.vert.out b/Test/baseResults/hlsl.matrixSwizzle.vert.out
index 7e792b4..64c21cd 100755
--- a/Test/baseResults/hlsl.matrixSwizzle.vert.out
+++ b/Test/baseResults/hlsl.matrixSwizzle.vert.out
@@ -677,7 +677,7 @@
 
 Missing functionality: matrix swizzle
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 118
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.matrixindex.frag.out b/Test/baseResults/hlsl.matrixindex.frag.out
index c5c96a3..8d3910c 100644
--- a/Test/baseResults/hlsl.matrixindex.frag.out
+++ b/Test/baseResults/hlsl.matrixindex.frag.out
@@ -272,7 +272,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 83
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out
index 2c74d72..4200373 100755
--- a/Test/baseResults/hlsl.max.frag.out
+++ b/Test/baseResults/hlsl.max.frag.out
@@ -66,7 +66,7 @@
 0:?     'input2' (layout( location=1) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 33
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.memberFunCall.frag.out b/Test/baseResults/hlsl.memberFunCall.frag.out
index 9774360..0a0219b 100755
--- a/Test/baseResults/hlsl.memberFunCall.frag.out
+++ b/Test/baseResults/hlsl.memberFunCall.frag.out
@@ -152,7 +152,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 73
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.mintypes.frag.out b/Test/baseResults/hlsl.mintypes.frag.out
index 74bb655..3c058ea 100644
--- a/Test/baseResults/hlsl.mintypes.frag.out
+++ b/Test/baseResults/hlsl.mintypes.frag.out
@@ -98,7 +98,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 70
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.mip.operator.frag.out b/Test/baseResults/hlsl.mip.operator.frag.out
index 3c68fd9..804f3b2 100644
--- a/Test/baseResults/hlsl.mip.operator.frag.out
+++ b/Test/baseResults/hlsl.mip.operator.frag.out
@@ -128,7 +128,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 61
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.multiDescriptorSet.frag.out b/Test/baseResults/hlsl.multiDescriptorSet.frag.out
index 1c0e503..8311338 100644
--- a/Test/baseResults/hlsl.multiDescriptorSet.frag.out
+++ b/Test/baseResults/hlsl.multiDescriptorSet.frag.out
@@ -1,6 +1,6 @@
 hlsl.multiDescriptorSet.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 92
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
index 8a309da..5ee84b3 100755
--- a/Test/baseResults/hlsl.multiEntry.vert.out
+++ b/Test/baseResults/hlsl.multiEntry.vert.out
@@ -70,7 +70,7 @@
 0:?     'Index' ( in uint VertexIndex)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 41
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out
index 588645c..d00c35e 100755
--- a/Test/baseResults/hlsl.multiReturn.frag.out
+++ b/Test/baseResults/hlsl.multiReturn.frag.out
@@ -48,7 +48,7 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform structure{ temp float f,  temp 3-component vector of float v,  temp 3X3 matrix of float m} s})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 42
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.namespace.frag.out b/Test/baseResults/hlsl.namespace.frag.out
index 82fbb6e..f86a0a0 100755
--- a/Test/baseResults/hlsl.namespace.frag.out
+++ b/Test/baseResults/hlsl.namespace.frag.out
@@ -102,7 +102,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 54
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.nonint-index.frag.out b/Test/baseResults/hlsl.nonint-index.frag.out
index 3684cf3..f512dbe 100644
--- a/Test/baseResults/hlsl.nonint-index.frag.out
+++ b/Test/baseResults/hlsl.nonint-index.frag.out
@@ -88,7 +88,7 @@
 0:?     'input' (layout( location=0) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
index 27326c6..d1d99ca 100755
--- a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
+++ b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
@@ -268,7 +268,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 111
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.numericsuffixes.frag.out b/Test/baseResults/hlsl.numericsuffixes.frag.out
index 6b7b88c..9fcceac 100644
--- a/Test/baseResults/hlsl.numericsuffixes.frag.out
+++ b/Test/baseResults/hlsl.numericsuffixes.frag.out
@@ -192,7 +192,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 54
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.numthreads.comp.out b/Test/baseResults/hlsl.numthreads.comp.out
index fc1345f..3d69af4 100644
--- a/Test/baseResults/hlsl.numthreads.comp.out
+++ b/Test/baseResults/hlsl.numthreads.comp.out
@@ -44,7 +44,7 @@
 0:?     'tid' ( in 3-component vector of uint GlobalInvocationID)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 23
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.opaque-type-bug.frag.out b/Test/baseResults/hlsl.opaque-type-bug.frag.out
new file mode 100644
index 0000000..95b39b3
--- /dev/null
+++ b/Test/baseResults/hlsl.opaque-type-bug.frag.out
@@ -0,0 +1,112 @@
+hlsl.opaque-type-bug.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:6  Function Definition: TexFunc(t21;vf3; ( temp void)
+0:6    Function Parameters: 
+0:6      't2D' ( const (read only) texture2D)
+0:6      'RGB' ( out 3-component vector of float)
+0:?     Sequence
+0:7      move second child to first child ( temp 3-component vector of float)
+0:7        'RGB' ( out 3-component vector of float)
+0:7        Constant:
+0:7          0.000000
+0:7          0.000000
+0:7          0.000000
+0:12  Function Definition: @main( ( temp void)
+0:12    Function Parameters: 
+0:?     Sequence
+0:15      Function Call: TexFunc(t21;vf3; ( temp void)
+0:15        'MyTexture' (layout( binding=0) uniform texture2D)
+0:15        'final_RGB' ( temp 3-component vector of float)
+0:12  Function Definition: main( ( temp void)
+0:12    Function Parameters: 
+0:?     Sequence
+0:12      Function Call: @main( ( temp void)
+0:?   Linker Objects
+0:?     'MyTexture' (layout( binding=0) uniform texture2D)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:6  Function Definition: TexFunc(t21;vf3; ( temp void)
+0:6    Function Parameters: 
+0:6      't2D' ( const (read only) texture2D)
+0:6      'RGB' ( out 3-component vector of float)
+0:?     Sequence
+0:7      move second child to first child ( temp 3-component vector of float)
+0:7        'RGB' ( out 3-component vector of float)
+0:7        Constant:
+0:7          0.000000
+0:7          0.000000
+0:7          0.000000
+0:12  Function Definition: @main( ( temp void)
+0:12    Function Parameters: 
+0:?     Sequence
+0:15      Function Call: TexFunc(t21;vf3; ( temp void)
+0:15        'MyTexture' (layout( binding=0) uniform texture2D)
+0:15        'final_RGB' ( temp 3-component vector of float)
+0:12  Function Definition: main( ( temp void)
+0:12    Function Parameters: 
+0:?     Sequence
+0:12      Function Call: @main( ( temp void)
+0:?   Linker Objects
+0:?     'MyTexture' (layout( binding=0) uniform texture2D)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 27
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main"
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 13  "TexFunc(t21;vf3;"
+                              Name 11  "t2D"
+                              Name 12  "RGB"
+                              Name 15  "@main("
+                              Name 20  "MyTexture"
+                              Name 22  "final_RGB"
+                              Name 23  "param"
+                              Decorate 20(MyTexture) DescriptorSet 0
+                              Decorate 20(MyTexture) Binding 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeImage 6(float) 2D sampled format:Unknown
+               8:             TypeVector 6(float) 3
+               9:             TypePointer Function 8(fvec3)
+              10:             TypeFunction 2 7 9(ptr)
+              17:    6(float) Constant 0
+              18:    8(fvec3) ConstantComposite 17 17 17
+              19:             TypePointer UniformConstant 7
+   20(MyTexture):     19(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+              26:           2 FunctionCall 15(@main()
+                              Return
+                              FunctionEnd
+13(TexFunc(t21;vf3;):           2 Function None 10
+         11(t2D):           7 FunctionParameter
+         12(RGB):      9(ptr) FunctionParameter
+              14:             Label
+                              Store 12(RGB) 18
+                              Return
+                              FunctionEnd
+      15(@main():           2 Function None 3
+              16:             Label
+   22(final_RGB):      9(ptr) Variable Function
+       23(param):      9(ptr) Variable Function
+              21:           7 Load 20(MyTexture)
+              24:           2 FunctionCall 13(TexFunc(t21;vf3;) 21 23(param)
+              25:    8(fvec3) Load 23(param)
+                              Store 22(final_RGB) 25
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.overload.frag.out b/Test/baseResults/hlsl.overload.frag.out
index b390526..e2f6773 100755
--- a/Test/baseResults/hlsl.overload.frag.out
+++ b/Test/baseResults/hlsl.overload.frag.out
@@ -734,7 +734,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 520
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.params.default.frag.out b/Test/baseResults/hlsl.params.default.frag.out
index 3643c23..ae67f1e 100644
--- a/Test/baseResults/hlsl.params.default.frag.out
+++ b/Test/baseResults/hlsl.params.default.frag.out
@@ -376,7 +376,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 178
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
new file mode 100755
index 0000000..7847c08
--- /dev/null
+++ b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
@@ -0,0 +1,366 @@
+hlsl.partialFlattenLocal.vert
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+Shader version: 500
+0:? Sequence
+0:12  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:12    Function Parameters: 
+0:12      'pos' ( in 4-component vector of float)
+0:?     Sequence
+0:14      move second child to first child ( temp texture2D)
+0:?         'packed.tex' ( temp texture2D)
+0:14        'tex' ( uniform texture2D)
+0:15      move second child to first child ( temp 3-component vector of float)
+0:15        direct index ( temp 3-component vector of float)
+0:?           'packed.pos' ( temp 3-element array of 3-component vector of float)
+0:15          Constant:
+0:15            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:16      move second child to first child ( temp 2-component vector of float)
+0:16        direct index ( temp 2-component vector of float)
+0:?           'packed.uv' ( temp 2-element array of 2-component vector of float)
+0:16          Constant:
+0:16            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           1.000000
+0:17      move second child to first child ( temp float)
+0:?         'packed.x' ( temp float)
+0:17        Constant:
+0:17          1.000000
+0:18      move second child to first child ( temp int)
+0:?         'packed.n' ( temp int)
+0:18        Constant:
+0:18          3 (const int)
+0:20      Sequence
+0:20        move second child to first child ( temp int)
+0:20          'i' ( temp int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        Loop with condition tested first
+0:20          Loop Condition
+0:20          Compare Less Than ( temp bool)
+0:20            'i' ( temp int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Loop Body
+0:?           Sequence
+0:21            add second child into first child ( temp 2-component vector of float)
+0:21              vector swizzle ( temp 2-component vector of float)
+0:21                indirect index ( temp 3-component vector of float)
+0:?                   'packed.pos' ( temp 3-element array of 3-component vector of float)
+0:21                  'i' ( temp int)
+0:21                Sequence
+0:21                  Constant:
+0:21                    0 (const int)
+0:21                  Constant:
+0:21                    1 (const int)
+0:21              indirect index ( temp 2-component vector of float)
+0:?                 'packed.uv' ( temp 2-element array of 2-component vector of float)
+0:21                'i' ( temp int)
+0:20          Loop Terminal Expression
+0:20          Pre-Increment ( temp int)
+0:20            'i' ( temp int)
+0:24      Sequence
+0:24        Sequence
+0:24          move second child to first child ( temp texture2D)
+0:?             'packed2.tex' ( temp texture2D)
+0:?             'packed.tex' ( temp texture2D)
+0:24          move second child to first child ( temp 3-element array of 3-component vector of float)
+0:?             'packed2.pos' ( temp 3-element array of 3-component vector of float)
+0:?             'packed.pos' ( temp 3-element array of 3-component vector of float)
+0:24          move second child to first child ( temp 2-element array of 2-component vector of float)
+0:?             'packed2.uv' ( temp 2-element array of 2-component vector of float)
+0:?             'packed.uv' ( temp 2-element array of 2-component vector of float)
+0:24          move second child to first child ( temp float)
+0:?             'packed2.x' ( temp float)
+0:?             'packed.x' ( temp float)
+0:24          move second child to first child ( temp int)
+0:?             'packed2.n' ( temp int)
+0:?             'packed.n' ( temp int)
+0:26      Branch: Return with expression
+0:26        add ( temp 4-component vector of float)
+0:26          'pos' ( in 4-component vector of float)
+0:?           Construct vec4 ( temp 4-component vector of float)
+0:26            direct index ( temp 3-component vector of float)
+0:?               'packed2.pos' ( temp 3-element array of 3-component vector of float)
+0:26              Constant:
+0:26                0 (const int)
+0:26            Constant:
+0:26              0.000000
+0:12  Function Definition: main( ( temp void)
+0:12    Function Parameters: 
+0:?     Sequence
+0:12      move second child to first child ( temp 4-component vector of float)
+0:?         'pos' ( temp 4-component vector of float)
+0:?         'pos' (layout( location=0) in 4-component vector of float)
+0:12      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' ( out 4-component vector of float Position)
+0:12        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'pos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'tex' ( uniform texture2D)
+0:?     '@entryPointOutput' ( out 4-component vector of float Position)
+0:?     'pos' (layout( location=0) in 4-component vector of float)
+
+
+Linked vertex stage:
+
+
+Shader version: 500
+0:? Sequence
+0:12  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:12    Function Parameters: 
+0:12      'pos' ( in 4-component vector of float)
+0:?     Sequence
+0:14      move second child to first child ( temp texture2D)
+0:?         'packed.tex' ( temp texture2D)
+0:14        'tex' ( uniform texture2D)
+0:15      move second child to first child ( temp 3-component vector of float)
+0:15        direct index ( temp 3-component vector of float)
+0:?           'packed.pos' ( temp 3-element array of 3-component vector of float)
+0:15          Constant:
+0:15            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           0.000000
+0:?           0.000000
+0:16      move second child to first child ( temp 2-component vector of float)
+0:16        direct index ( temp 2-component vector of float)
+0:?           'packed.uv' ( temp 2-element array of 2-component vector of float)
+0:16          Constant:
+0:16            0 (const int)
+0:?         Constant:
+0:?           0.000000
+0:?           1.000000
+0:17      move second child to first child ( temp float)
+0:?         'packed.x' ( temp float)
+0:17        Constant:
+0:17          1.000000
+0:18      move second child to first child ( temp int)
+0:?         'packed.n' ( temp int)
+0:18        Constant:
+0:18          3 (const int)
+0:20      Sequence
+0:20        move second child to first child ( temp int)
+0:20          'i' ( temp int)
+0:20          Constant:
+0:20            0 (const int)
+0:20        Loop with condition tested first
+0:20          Loop Condition
+0:20          Compare Less Than ( temp bool)
+0:20            'i' ( temp int)
+0:20            Constant:
+0:20              1 (const int)
+0:20          Loop Body
+0:?           Sequence
+0:21            add second child into first child ( temp 2-component vector of float)
+0:21              vector swizzle ( temp 2-component vector of float)
+0:21                indirect index ( temp 3-component vector of float)
+0:?                   'packed.pos' ( temp 3-element array of 3-component vector of float)
+0:21                  'i' ( temp int)
+0:21                Sequence
+0:21                  Constant:
+0:21                    0 (const int)
+0:21                  Constant:
+0:21                    1 (const int)
+0:21              indirect index ( temp 2-component vector of float)
+0:?                 'packed.uv' ( temp 2-element array of 2-component vector of float)
+0:21                'i' ( temp int)
+0:20          Loop Terminal Expression
+0:20          Pre-Increment ( temp int)
+0:20            'i' ( temp int)
+0:24      Sequence
+0:24        Sequence
+0:24          move second child to first child ( temp texture2D)
+0:?             'packed2.tex' ( temp texture2D)
+0:?             'packed.tex' ( temp texture2D)
+0:24          move second child to first child ( temp 3-element array of 3-component vector of float)
+0:?             'packed2.pos' ( temp 3-element array of 3-component vector of float)
+0:?             'packed.pos' ( temp 3-element array of 3-component vector of float)
+0:24          move second child to first child ( temp 2-element array of 2-component vector of float)
+0:?             'packed2.uv' ( temp 2-element array of 2-component vector of float)
+0:?             'packed.uv' ( temp 2-element array of 2-component vector of float)
+0:24          move second child to first child ( temp float)
+0:?             'packed2.x' ( temp float)
+0:?             'packed.x' ( temp float)
+0:24          move second child to first child ( temp int)
+0:?             'packed2.n' ( temp int)
+0:?             'packed.n' ( temp int)
+0:26      Branch: Return with expression
+0:26        add ( temp 4-component vector of float)
+0:26          'pos' ( in 4-component vector of float)
+0:?           Construct vec4 ( temp 4-component vector of float)
+0:26            direct index ( temp 3-component vector of float)
+0:?               'packed2.pos' ( temp 3-element array of 3-component vector of float)
+0:26              Constant:
+0:26                0 (const int)
+0:26            Constant:
+0:26              0.000000
+0:12  Function Definition: main( ( temp void)
+0:12    Function Parameters: 
+0:?     Sequence
+0:12      move second child to first child ( temp 4-component vector of float)
+0:?         'pos' ( temp 4-component vector of float)
+0:?         'pos' (layout( location=0) in 4-component vector of float)
+0:12      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' ( out 4-component vector of float Position)
+0:12        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'pos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'tex' ( uniform texture2D)
+0:?     '@entryPointOutput' ( out 4-component vector of float Position)
+0:?     'pos' (layout( location=0) in 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 97
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 90 93
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 11  "@main(vf4;"
+                              Name 10  "pos"
+                              Name 15  "packed.tex"
+                              Name 17  "tex"
+                              Name 24  "packed.pos"
+                              Name 35  "packed.uv"
+                              Name 41  "packed.x"
+                              Name 43  "packed.n"
+                              Name 45  "i"
+                              Name 68  "packed2.tex"
+                              Name 70  "packed2.pos"
+                              Name 72  "packed2.uv"
+                              Name 74  "packed2.x"
+                              Name 76  "packed2.n"
+                              Name 88  "pos"
+                              Name 90  "pos"
+                              Name 93  "@entryPointOutput"
+                              Name 94  "param"
+                              Decorate 17(tex) DescriptorSet 0
+                              Decorate 90(pos) Location 0
+                              Decorate 93(@entryPointOutput) BuiltIn Position
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 7(fvec4) 8(ptr)
+              13:             TypeImage 6(float) 2D sampled format:Unknown
+              14:             TypePointer Function 13
+              16:             TypePointer UniformConstant 13
+         17(tex):     16(ptr) Variable UniformConstant
+              19:             TypeVector 6(float) 3
+              20:             TypeInt 32 0
+              21:     20(int) Constant 3
+              22:             TypeArray 19(fvec3) 21
+              23:             TypePointer Function 22
+              25:             TypeInt 32 1
+              26:     25(int) Constant 0
+              27:    6(float) Constant 0
+              28:   19(fvec3) ConstantComposite 27 27 27
+              29:             TypePointer Function 19(fvec3)
+              31:             TypeVector 6(float) 2
+              32:     20(int) Constant 2
+              33:             TypeArray 31(fvec2) 32
+              34:             TypePointer Function 33
+              36:    6(float) Constant 1065353216
+              37:   31(fvec2) ConstantComposite 27 36
+              38:             TypePointer Function 31(fvec2)
+              40:             TypePointer Function 6(float)
+              42:             TypePointer Function 25(int)
+              44:     25(int) Constant 3
+              52:     25(int) Constant 1
+              53:             TypeBool
+              89:             TypePointer Input 7(fvec4)
+         90(pos):     89(ptr) Variable Input
+              92:             TypePointer Output 7(fvec4)
+93(@entryPointOutput):     92(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+         88(pos):      8(ptr) Variable Function
+       94(param):      8(ptr) Variable Function
+              91:    7(fvec4) Load 90(pos)
+                              Store 88(pos) 91
+              95:    7(fvec4) Load 88(pos)
+                              Store 94(param) 95
+              96:    7(fvec4) FunctionCall 11(@main(vf4;) 94(param)
+                              Store 93(@entryPointOutput) 96
+                              Return
+                              FunctionEnd
+  11(@main(vf4;):    7(fvec4) Function None 9
+         10(pos):      8(ptr) FunctionParameter
+              12:             Label
+  15(packed.tex):     14(ptr) Variable Function
+  24(packed.pos):     23(ptr) Variable Function
+   35(packed.uv):     34(ptr) Variable Function
+    41(packed.x):     40(ptr) Variable Function
+    43(packed.n):     42(ptr) Variable Function
+           45(i):     42(ptr) Variable Function
+ 68(packed2.tex):     14(ptr) Variable Function
+ 70(packed2.pos):     23(ptr) Variable Function
+  72(packed2.uv):     34(ptr) Variable Function
+   74(packed2.x):     40(ptr) Variable Function
+   76(packed2.n):     42(ptr) Variable Function
+              18:          13 Load 17(tex)
+                              Store 15(packed.tex) 18
+              30:     29(ptr) AccessChain 24(packed.pos) 26
+                              Store 30 28
+              39:     38(ptr) AccessChain 35(packed.uv) 26
+                              Store 39 37
+                              Store 41(packed.x) 36
+                              Store 43(packed.n) 44
+                              Store 45(i) 26
+                              Branch 46
+              46:             Label
+                              LoopMerge 48 49 None
+                              Branch 50
+              50:             Label
+              51:     25(int) Load 45(i)
+              54:    53(bool) SLessThan 51 52
+                              BranchConditional 54 47 48
+              47:               Label
+              55:     25(int)   Load 45(i)
+              56:     25(int)   Load 45(i)
+              57:     38(ptr)   AccessChain 35(packed.uv) 56
+              58:   31(fvec2)   Load 57
+              59:     29(ptr)   AccessChain 24(packed.pos) 55
+              60:   19(fvec3)   Load 59
+              61:   31(fvec2)   VectorShuffle 60 60 0 1
+              62:   31(fvec2)   FAdd 61 58
+              63:     29(ptr)   AccessChain 24(packed.pos) 55
+              64:   19(fvec3)   Load 63
+              65:   19(fvec3)   VectorShuffle 64 62 3 4 2
+                                Store 63 65
+                                Branch 49
+              49:               Label
+              66:     25(int)   Load 45(i)
+              67:     25(int)   IAdd 66 52
+                                Store 45(i) 67
+                                Branch 46
+              48:             Label
+              69:          13 Load 15(packed.tex)
+                              Store 68(packed2.tex) 69
+              71:          22 Load 24(packed.pos)
+                              Store 70(packed2.pos) 71
+              73:          33 Load 35(packed.uv)
+                              Store 72(packed2.uv) 73
+              75:    6(float) Load 41(packed.x)
+                              Store 74(packed2.x) 75
+              77:     25(int) Load 43(packed.n)
+                              Store 76(packed2.n) 77
+              78:    7(fvec4) Load 10(pos)
+              79:     29(ptr) AccessChain 70(packed2.pos) 26
+              80:   19(fvec3) Load 79
+              81:    6(float) CompositeExtract 80 0
+              82:    6(float) CompositeExtract 80 1
+              83:    6(float) CompositeExtract 80 2
+              84:    7(fvec4) CompositeConstruct 81 82 83 27
+              85:    7(fvec4) FAdd 78 84
+                              ReturnValue 85
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.partialFlattenMixed.vert.out b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
new file mode 100755
index 0000000..50c8cb9
--- /dev/null
+++ b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
@@ -0,0 +1,150 @@
+hlsl.partialFlattenMixed.vert
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+Shader version: 500
+0:? Sequence
+0:10  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:10    Function Parameters: 
+0:10      'pos' ( in 4-component vector of float)
+0:?     Sequence
+0:13      Sequence
+0:13        move second child to first child ( temp texture2D)
+0:13          direct index ( temp texture2D)
+0:?             'packed.membTex' ( temp 2-element array of texture2D)
+0:13            Constant:
+0:13              0 (const int)
+0:?           'tex[0]' ( uniform texture2D)
+0:13        move second child to first child ( temp texture2D)
+0:13          direct index ( temp texture2D)
+0:?             'packed.membTex' ( temp 2-element array of texture2D)
+0:13            Constant:
+0:13              1 (const int)
+0:?           'tex[1]' ( uniform texture2D)
+0:15      Branch: Return with expression
+0:15        'pos' ( in 4-component vector of float)
+0:10  Function Definition: main( ( temp void)
+0:10    Function Parameters: 
+0:?     Sequence
+0:10      move second child to first child ( temp 4-component vector of float)
+0:?         'pos' ( temp 4-component vector of float)
+0:?         'pos' (layout( location=0) in 4-component vector of float)
+0:10      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' ( out 4-component vector of float Position)
+0:10        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'pos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'tex[0]' ( uniform texture2D)
+0:?     'tex[1]' ( uniform texture2D)
+0:?     '@entryPointOutput' ( out 4-component vector of float Position)
+0:?     'pos' (layout( location=0) in 4-component vector of float)
+
+
+Linked vertex stage:
+
+
+Shader version: 500
+0:? Sequence
+0:10  Function Definition: @main(vf4; ( temp 4-component vector of float)
+0:10    Function Parameters: 
+0:10      'pos' ( in 4-component vector of float)
+0:?     Sequence
+0:13      Sequence
+0:13        move second child to first child ( temp texture2D)
+0:13          direct index ( temp texture2D)
+0:?             'packed.membTex' ( temp 2-element array of texture2D)
+0:13            Constant:
+0:13              0 (const int)
+0:?           'tex[0]' ( uniform texture2D)
+0:13        move second child to first child ( temp texture2D)
+0:13          direct index ( temp texture2D)
+0:?             'packed.membTex' ( temp 2-element array of texture2D)
+0:13            Constant:
+0:13              1 (const int)
+0:?           'tex[1]' ( uniform texture2D)
+0:15      Branch: Return with expression
+0:15        'pos' ( in 4-component vector of float)
+0:10  Function Definition: main( ( temp void)
+0:10    Function Parameters: 
+0:?     Sequence
+0:10      move second child to first child ( temp 4-component vector of float)
+0:?         'pos' ( temp 4-component vector of float)
+0:?         'pos' (layout( location=0) in 4-component vector of float)
+0:10      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' ( out 4-component vector of float Position)
+0:10        Function Call: @main(vf4; ( temp 4-component vector of float)
+0:?           'pos' ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'tex[0]' ( uniform texture2D)
+0:?     'tex[1]' ( uniform texture2D)
+0:?     '@entryPointOutput' ( out 4-component vector of float Position)
+0:?     'pos' (layout( location=0) in 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 42
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Vertex 4  "main" 35 38
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 11  "@main(vf4;"
+                              Name 10  "pos"
+                              Name 18  "packed.membTex"
+                              Name 22  "tex[0]"
+                              Name 27  "tex[1]"
+                              Name 33  "pos"
+                              Name 35  "pos"
+                              Name 38  "@entryPointOutput"
+                              Name 39  "param"
+                              Decorate 22(tex[0]) DescriptorSet 0
+                              Decorate 27(tex[1]) DescriptorSet 0
+                              Decorate 35(pos) Location 0
+                              Decorate 38(@entryPointOutput) BuiltIn Position
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+               9:             TypeFunction 7(fvec4) 8(ptr)
+              13:             TypeImage 6(float) 2D sampled format:Unknown
+              14:             TypeInt 32 0
+              15:     14(int) Constant 2
+              16:             TypeArray 13 15
+              17:             TypePointer Function 16
+              19:             TypeInt 32 1
+              20:     19(int) Constant 0
+              21:             TypePointer UniformConstant 13
+      22(tex[0]):     21(ptr) Variable UniformConstant
+              24:             TypePointer Function 13
+              26:     19(int) Constant 1
+      27(tex[1]):     21(ptr) Variable UniformConstant
+              34:             TypePointer Input 7(fvec4)
+         35(pos):     34(ptr) Variable Input
+              37:             TypePointer Output 7(fvec4)
+38(@entryPointOutput):     37(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+         33(pos):      8(ptr) Variable Function
+       39(param):      8(ptr) Variable Function
+              36:    7(fvec4) Load 35(pos)
+                              Store 33(pos) 36
+              40:    7(fvec4) Load 33(pos)
+                              Store 39(param) 40
+              41:    7(fvec4) FunctionCall 11(@main(vf4;) 39(param)
+                              Store 38(@entryPointOutput) 41
+                              Return
+                              FunctionEnd
+  11(@main(vf4;):    7(fvec4) Function None 9
+         10(pos):      8(ptr) FunctionParameter
+              12:             Label
+18(packed.membTex):     17(ptr) Variable Function
+              23:          13 Load 22(tex[0])
+              25:     24(ptr) AccessChain 18(packed.membTex) 20
+                              Store 25 23
+              28:          13 Load 27(tex[1])
+              29:     24(ptr) AccessChain 18(packed.membTex) 26
+                              Store 29 28
+              30:    7(fvec4) Load 10(pos)
+                              ReturnValue 30
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.partialInit.frag.out b/Test/baseResults/hlsl.partialInit.frag.out
index db70518..c0882fd 100755
--- a/Test/baseResults/hlsl.partialInit.frag.out
+++ b/Test/baseResults/hlsl.partialInit.frag.out
@@ -399,7 +399,7 @@
 0:?       0 (const int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 104
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.pp.line.frag.out b/Test/baseResults/hlsl.pp.line.frag.out
index 638e7b0..864df87 100644
--- a/Test/baseResults/hlsl.pp.line.frag.out
+++ b/Test/baseResults/hlsl.pp.line.frag.out
@@ -118,7 +118,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 42
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.pp.vert.out b/Test/baseResults/hlsl.pp.vert.out
index 5518636..4282184 100755
--- a/Test/baseResults/hlsl.pp.vert.out
+++ b/Test/baseResults/hlsl.pp.vert.out
@@ -26,7 +26,7 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{ uniform int goodGlobal1,  uniform int goodGlobal2})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 13
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out
index a46c6fb..0c898cc 100755
--- a/Test/baseResults/hlsl.precedence.frag.out
+++ b/Test/baseResults/hlsl.precedence.frag.out
@@ -148,7 +148,7 @@
 0:?     'a4' (layout( location=3) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 65
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.precedence2.frag.out b/Test/baseResults/hlsl.precedence2.frag.out
index cd223a6..343240f 100755
--- a/Test/baseResults/hlsl.precedence2.frag.out
+++ b/Test/baseResults/hlsl.precedence2.frag.out
@@ -114,7 +114,7 @@
 0:?     'a4' (layout( location=3) flat in int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 56
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.precise.frag.out b/Test/baseResults/hlsl.precise.frag.out
index 72f9cec..66da1d6 100644
--- a/Test/baseResults/hlsl.precise.frag.out
+++ b/Test/baseResults/hlsl.precise.frag.out
@@ -76,7 +76,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) noContraction out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 37
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.preprocessor.frag.out b/Test/baseResults/hlsl.preprocessor.frag.out
index 1db7c24..cbcd66f 100644
--- a/Test/baseResults/hlsl.preprocessor.frag.out
+++ b/Test/baseResults/hlsl.preprocessor.frag.out
@@ -94,7 +94,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 40
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.promote.atomic.frag.out b/Test/baseResults/hlsl.promote.atomic.frag.out
index ead4fe3..2d4bd6e 100644
--- a/Test/baseResults/hlsl.promote.atomic.frag.out
+++ b/Test/baseResults/hlsl.promote.atomic.frag.out
@@ -64,7 +64,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 36
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.promote.binary.frag.out b/Test/baseResults/hlsl.promote.binary.frag.out
index 50ba644..bc91ad9 100644
--- a/Test/baseResults/hlsl.promote.binary.frag.out
+++ b/Test/baseResults/hlsl.promote.binary.frag.out
@@ -172,7 +172,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 83
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.promote.vec1.frag.out b/Test/baseResults/hlsl.promote.vec1.frag.out
index b0536bd..ac0e44e 100644
--- a/Test/baseResults/hlsl.promote.vec1.frag.out
+++ b/Test/baseResults/hlsl.promote.vec1.frag.out
@@ -80,7 +80,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.promotions.frag.out b/Test/baseResults/hlsl.promotions.frag.out
index 6270715..5383959 100644
--- a/Test/baseResults/hlsl.promotions.frag.out
+++ b/Test/baseResults/hlsl.promotions.frag.out
@@ -1582,7 +1582,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 596
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.rw.atomics.frag.out b/Test/baseResults/hlsl.rw.atomics.frag.out
index 99c4174..ae84db0 100644
--- a/Test/baseResults/hlsl.rw.atomics.frag.out
+++ b/Test/baseResults/hlsl.rw.atomics.frag.out
@@ -3946,7 +3946,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 1147
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.rw.bracket.frag.out b/Test/baseResults/hlsl.rw.bracket.frag.out
index 7804e33..c92eedc 100644
--- a/Test/baseResults/hlsl.rw.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.bracket.frag.out
@@ -1744,7 +1744,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 607
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.rw.register.frag.out b/Test/baseResults/hlsl.rw.register.frag.out
index 5464ac2..f8409f7 100644
--- a/Test/baseResults/hlsl.rw.register.frag.out
+++ b/Test/baseResults/hlsl.rw.register.frag.out
@@ -98,7 +98,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 42
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
index 7ff34fa..484fd90 100644
--- a/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.scalar.bracket.frag.out
@@ -1690,7 +1690,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 571
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.rw.swizzle.frag.out b/Test/baseResults/hlsl.rw.swizzle.frag.out
index 4d804e9..f8098a5 100644
--- a/Test/baseResults/hlsl.rw.swizzle.frag.out
+++ b/Test/baseResults/hlsl.rw.swizzle.frag.out
@@ -202,7 +202,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 63
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
index 980c82b..42e45fc 100644
--- a/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
+++ b/Test/baseResults/hlsl.rw.vec2.bracket.frag.out
@@ -1708,7 +1708,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 605
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.sample.array.dx10.frag.out b/Test/baseResults/hlsl.sample.array.dx10.frag.out
index c470134..57f2e5f 100644
--- a/Test/baseResults/hlsl.sample.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.array.dx10.frag.out
@@ -320,7 +320,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 146
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.sample.basic.dx10.frag.out b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
index 11ce999..56bb39a 100644
--- a/Test/baseResults/hlsl.sample.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.basic.dx10.frag.out
@@ -548,7 +548,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 198
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.sample.offset.dx10.frag.out b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
index abc7362..e57f839 100644
--- a/Test/baseResults/hlsl.sample.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offset.dx10.frag.out
@@ -362,7 +362,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 161
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
index 6d1d67d..ad07c15 100644
--- a/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.offsetarray.dx10.frag.out
@@ -272,7 +272,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 118
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
index ffb6a49..5213a03 100644
--- a/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
+++ b/Test/baseResults/hlsl.sample.sub-vec4.dx10.frag.out
@@ -154,7 +154,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 72
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
index dd99697..8535c2c 100644
--- a/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.array.dx10.frag.out
@@ -356,7 +356,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 146
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
index 18441e6..919fb80 100644
--- a/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.basic.dx10.frag.out
@@ -422,7 +422,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 170
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 59ecdb7..7972bff 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -398,7 +398,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 161
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index a18c80e..6e2bc7d 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -296,7 +296,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 118
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index 299cade..5a61639 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r10' ( temp float)
 0:42          texture ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -23,7 +23,7 @@
 0:43          'r12' ( temp float)
 0:43          texture ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -36,7 +36,7 @@
 0:44          'r14' ( temp float)
 0:44          texture ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -49,7 +49,7 @@
 0:47          'r30' ( temp float)
 0:47          texture ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -63,7 +63,7 @@
 0:48          'r32' ( temp float)
 0:48          texture ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -77,7 +77,7 @@
 0:49          'r34' ( temp float)
 0:49          texture ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -91,7 +91,7 @@
 0:52          'r60' ( temp float)
 0:52          texture ( temp float)
 0:52            Construct combined texture-sampler ( temp samplerCubeArrayShadow)
-0:52              'g_tTexcdf4a' ( uniform textureCubeArray)
+0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -106,7 +106,7 @@
 0:53          'r62' ( temp float)
 0:53          texture ( temp float)
 0:53            Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
-0:53              'g_tTexcdi4a' ( uniform itextureCubeArray)
+0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -121,7 +121,7 @@
 0:54          'r64' ( temp float)
 0:54          texture ( temp float)
 0:54            Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
-0:54              'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -183,15 +183,15 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
-0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
-0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
-0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
+0:?     'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
+0:?     'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
+0:?     'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
@@ -210,7 +210,7 @@
 0:42          'r10' ( temp float)
 0:42          texture ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -223,7 +223,7 @@
 0:43          'r12' ( temp float)
 0:43          texture ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -236,7 +236,7 @@
 0:44          'r14' ( temp float)
 0:44          texture ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -249,7 +249,7 @@
 0:47          'r30' ( temp float)
 0:47          texture ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -263,7 +263,7 @@
 0:48          'r32' ( temp float)
 0:48          texture ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -277,7 +277,7 @@
 0:49          'r34' ( temp float)
 0:49          texture ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -291,7 +291,7 @@
 0:52          'r60' ( temp float)
 0:52          texture ( temp float)
 0:52            Construct combined texture-sampler ( temp samplerCubeArrayShadow)
-0:52              'g_tTexcdf4a' ( uniform textureCubeArray)
+0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -306,7 +306,7 @@
 0:53          'r62' ( temp float)
 0:53          texture ( temp float)
 0:53            Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
-0:53              'g_tTexcdi4a' ( uniform itextureCubeArray)
+0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -321,7 +321,7 @@
 0:54          'r64' ( temp float)
 0:54          texture ( temp float)
 0:54            Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
-0:54              'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -383,28 +383,28 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
-0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
-0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
-0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
+0:?     'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
+0:?     'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
+0:?     'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 218
+// Generated by (magic number): 80002
+// Id's are bound by 209
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 175 179
+                              EntryPoint Fragment 4  "main" 166 170
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -415,64 +415,64 @@
                               Name 13  "r10"
                               Name 16  "g_tTex1df4a"
                               Name 20  "g_sSamp"
-                              Name 36  "r12"
-                              Name 40  "g_tTex1di4a"
-                              Name 51  "r14"
-                              Name 55  "g_tTex1du4a"
-                              Name 66  "r30"
-                              Name 69  "g_tTex2df4a"
-                              Name 83  "r32"
-                              Name 86  "g_tTex2di4a"
-                              Name 98  "r34"
-                              Name 101  "g_tTex2du4a"
-                              Name 113  "r60"
-                              Name 116  "g_tTexcdf4a"
-                              Name 130  "r62"
-                              Name 133  "g_tTexcdi4a"
-                              Name 145  "r64"
-                              Name 148  "g_tTexcdu4a"
-                              Name 161  "psout"
-                              Name 172  "flattenTemp"
-                              Name 175  "@entryPointOutput.Color"
-                              Name 179  "@entryPointOutput.Depth"
-                              Name 184  "g_tTex1df4"
-                              Name 187  "g_tTex1di4"
-                              Name 190  "g_tTex1du4"
-                              Name 193  "g_tTex2df4"
-                              Name 196  "g_tTex2di4"
-                              Name 199  "g_tTex2du4"
-                              Name 202  "g_tTex3df4"
-                              Name 205  "g_tTex3di4"
-                              Name 208  "g_tTex3du4"
-                              Name 211  "g_tTexcdf4"
-                              Name 214  "g_tTexcdi4"
-                              Name 217  "g_tTexcdu4"
+                              Name 35  "r12"
+                              Name 39  "g_tTex1di4a"
+                              Name 49  "r14"
+                              Name 53  "g_tTex1du4a"
+                              Name 63  "r30"
+                              Name 66  "g_tTex2df4a"
+                              Name 79  "r32"
+                              Name 82  "g_tTex2di4a"
+                              Name 93  "r34"
+                              Name 96  "g_tTex2du4a"
+                              Name 107  "r60"
+                              Name 110  "g_tTexcdf4a"
+                              Name 123  "r62"
+                              Name 126  "g_tTexcdi4a"
+                              Name 137  "r64"
+                              Name 140  "g_tTexcdu4a"
+                              Name 152  "psout"
+                              Name 163  "flattenTemp"
+                              Name 166  "@entryPointOutput.Color"
+                              Name 170  "@entryPointOutput.Depth"
+                              Name 175  "g_tTex1df4"
+                              Name 178  "g_tTex1di4"
+                              Name 181  "g_tTex1du4"
+                              Name 184  "g_tTex2df4"
+                              Name 187  "g_tTex2di4"
+                              Name 190  "g_tTex2du4"
+                              Name 193  "g_tTex3df4"
+                              Name 196  "g_tTex3di4"
+                              Name 199  "g_tTex3du4"
+                              Name 202  "g_tTexcdf4"
+                              Name 205  "g_tTexcdi4"
+                              Name 208  "g_tTexcdu4"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 40(g_tTex1di4a) DescriptorSet 0
-                              Decorate 55(g_tTex1du4a) DescriptorSet 0
-                              Decorate 69(g_tTex2df4a) DescriptorSet 0
-                              Decorate 86(g_tTex2di4a) DescriptorSet 0
-                              Decorate 101(g_tTex2du4a) DescriptorSet 0
-                              Decorate 116(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 133(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 148(g_tTexcdu4a) DescriptorSet 0
-                              Decorate 175(@entryPointOutput.Color) Location 0
-                              Decorate 179(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 184(g_tTex1df4) DescriptorSet 0
-                              Decorate 184(g_tTex1df4) Binding 0
-                              Decorate 187(g_tTex1di4) DescriptorSet 0
-                              Decorate 190(g_tTex1du4) DescriptorSet 0
-                              Decorate 193(g_tTex2df4) DescriptorSet 0
-                              Decorate 196(g_tTex2di4) DescriptorSet 0
-                              Decorate 199(g_tTex2du4) DescriptorSet 0
-                              Decorate 202(g_tTex3df4) DescriptorSet 0
-                              Decorate 205(g_tTex3di4) DescriptorSet 0
-                              Decorate 208(g_tTex3du4) DescriptorSet 0
-                              Decorate 211(g_tTexcdf4) DescriptorSet 0
-                              Decorate 214(g_tTexcdi4) DescriptorSet 0
-                              Decorate 217(g_tTexcdu4) DescriptorSet 0
+                              Decorate 39(g_tTex1di4a) DescriptorSet 0
+                              Decorate 53(g_tTex1du4a) DescriptorSet 0
+                              Decorate 66(g_tTex2df4a) DescriptorSet 0
+                              Decorate 82(g_tTex2di4a) DescriptorSet 0
+                              Decorate 96(g_tTex2du4a) DescriptorSet 0
+                              Decorate 110(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 126(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 140(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 166(@entryPointOutput.Color) Location 0
+                              Decorate 170(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 175(g_tTex1df4) DescriptorSet 0
+                              Decorate 175(g_tTex1df4) Binding 0
+                              Decorate 178(g_tTex1di4) DescriptorSet 0
+                              Decorate 181(g_tTex1du4) DescriptorSet 0
+                              Decorate 184(g_tTex2df4) DescriptorSet 0
+                              Decorate 187(g_tTex2di4) DescriptorSet 0
+                              Decorate 190(g_tTex2du4) DescriptorSet 0
+                              Decorate 193(g_tTex3df4) DescriptorSet 0
+                              Decorate 196(g_tTex3di4) DescriptorSet 0
+                              Decorate 199(g_tTex3du4) DescriptorSet 0
+                              Decorate 202(g_tTexcdf4) DescriptorSet 0
+                              Decorate 205(g_tTexcdi4) DescriptorSet 0
+                              Decorate 208(g_tTexcdu4) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -480,228 +480,219 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D array sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth array sampled format:Unknown
               15:             TypePointer UniformConstant 14
  16(g_tTex1df4a):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth array sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:             TypeVector 6(float) 2
-              26:    6(float) Constant 1036831949
-              27:    6(float) Constant 1045220557
-              28:   25(fvec2) ConstantComposite 26 27
-              29:    6(float) Constant 1061158912
-              30:             TypeVector 6(float) 3
-              37:             TypeInt 32 1
-              38:             TypeImage 37(int) 1D array sampled format:Unknown
-              39:             TypePointer UniformConstant 38
- 40(g_tTex1di4a):     39(ptr) Variable UniformConstant
-              43:             TypeImage 37(int) 1D depth array sampled format:Unknown
-              44:             TypeSampledImage 43
-              52:             TypeInt 32 0
-              53:             TypeImage 52(int) 1D array sampled format:Unknown
-              54:             TypePointer UniformConstant 53
- 55(g_tTex1du4a):     54(ptr) Variable UniformConstant
-              58:             TypeImage 52(int) 1D depth array sampled format:Unknown
-              59:             TypeSampledImage 58
-              67:             TypeImage 6(float) 2D array sampled format:Unknown
-              68:             TypePointer UniformConstant 67
- 69(g_tTex2df4a):     68(ptr) Variable UniformConstant
-              72:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              73:             TypeSampledImage 72
-              75:    6(float) Constant 1050253722
-              76:   30(fvec3) ConstantComposite 26 27 75
-              84:             TypeImage 37(int) 2D array sampled format:Unknown
-              85:             TypePointer UniformConstant 84
- 86(g_tTex2di4a):     85(ptr) Variable UniformConstant
-              89:             TypeImage 37(int) 2D depth array sampled format:Unknown
-              90:             TypeSampledImage 89
-              99:             TypeImage 52(int) 2D array sampled format:Unknown
-             100:             TypePointer UniformConstant 99
-101(g_tTex2du4a):    100(ptr) Variable UniformConstant
-             104:             TypeImage 52(int) 2D depth array sampled format:Unknown
-             105:             TypeSampledImage 104
-             114:             TypeImage 6(float) Cube array sampled format:Unknown
-             115:             TypePointer UniformConstant 114
-116(g_tTexcdf4a):    115(ptr) Variable UniformConstant
-             119:             TypeImage 6(float) Cube depth array sampled format:Unknown
-             120:             TypeSampledImage 119
-             122:    6(float) Constant 1053609165
-             123:    7(fvec4) ConstantComposite 26 27 75 122
-             131:             TypeImage 37(int) Cube array sampled format:Unknown
-             132:             TypePointer UniformConstant 131
-133(g_tTexcdi4a):    132(ptr) Variable UniformConstant
-             136:             TypeImage 37(int) Cube depth array sampled format:Unknown
-             137:             TypeSampledImage 136
-             146:             TypeImage 52(int) Cube array sampled format:Unknown
-             147:             TypePointer UniformConstant 146
-148(g_tTexcdu4a):    147(ptr) Variable UniformConstant
-             151:             TypeImage 52(int) Cube depth array sampled format:Unknown
-             152:             TypeSampledImage 151
-             160:             TypePointer Function 8(PS_OUTPUT)
-             162:     37(int) Constant 0
-             163:    6(float) Constant 1065353216
-             164:    7(fvec4) ConstantComposite 163 163 163 163
-             165:             TypePointer Function 7(fvec4)
-             167:     37(int) Constant 1
-             174:             TypePointer Output 7(fvec4)
-175(@entryPointOutput.Color):    174(ptr) Variable Output
-             178:             TypePointer Output 6(float)
-179(@entryPointOutput.Depth):    178(ptr) Variable Output
-             182:             TypeImage 6(float) 1D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:             TypeVector 6(float) 2
+              25:    6(float) Constant 1036831949
+              26:    6(float) Constant 1045220557
+              27:   24(fvec2) ConstantComposite 25 26
+              28:    6(float) Constant 1061158912
+              29:             TypeVector 6(float) 3
+              36:             TypeInt 32 1
+              37:             TypeImage 36(int) 1D depth array sampled format:Unknown
+              38:             TypePointer UniformConstant 37
+ 39(g_tTex1di4a):     38(ptr) Variable UniformConstant
+              42:             TypeSampledImage 37
+              50:             TypeInt 32 0
+              51:             TypeImage 50(int) 1D depth array sampled format:Unknown
+              52:             TypePointer UniformConstant 51
+ 53(g_tTex1du4a):     52(ptr) Variable UniformConstant
+              56:             TypeSampledImage 51
+              64:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              65:             TypePointer UniformConstant 64
+ 66(g_tTex2df4a):     65(ptr) Variable UniformConstant
+              69:             TypeSampledImage 64
+              71:    6(float) Constant 1050253722
+              72:   29(fvec3) ConstantComposite 25 26 71
+              80:             TypeImage 36(int) 2D depth array sampled format:Unknown
+              81:             TypePointer UniformConstant 80
+ 82(g_tTex2di4a):     81(ptr) Variable UniformConstant
+              85:             TypeSampledImage 80
+              94:             TypeImage 50(int) 2D depth array sampled format:Unknown
+              95:             TypePointer UniformConstant 94
+ 96(g_tTex2du4a):     95(ptr) Variable UniformConstant
+              99:             TypeSampledImage 94
+             108:             TypeImage 6(float) Cube depth array sampled format:Unknown
+             109:             TypePointer UniformConstant 108
+110(g_tTexcdf4a):    109(ptr) Variable UniformConstant
+             113:             TypeSampledImage 108
+             115:    6(float) Constant 1053609165
+             116:    7(fvec4) ConstantComposite 25 26 71 115
+             124:             TypeImage 36(int) Cube depth array sampled format:Unknown
+             125:             TypePointer UniformConstant 124
+126(g_tTexcdi4a):    125(ptr) Variable UniformConstant
+             129:             TypeSampledImage 124
+             138:             TypeImage 50(int) Cube depth array sampled format:Unknown
+             139:             TypePointer UniformConstant 138
+140(g_tTexcdu4a):    139(ptr) Variable UniformConstant
+             143:             TypeSampledImage 138
+             151:             TypePointer Function 8(PS_OUTPUT)
+             153:     36(int) Constant 0
+             154:    6(float) Constant 1065353216
+             155:    7(fvec4) ConstantComposite 154 154 154 154
+             156:             TypePointer Function 7(fvec4)
+             158:     36(int) Constant 1
+             165:             TypePointer Output 7(fvec4)
+166(@entryPointOutput.Color):    165(ptr) Variable Output
+             169:             TypePointer Output 6(float)
+170(@entryPointOutput.Depth):    169(ptr) Variable Output
+             173:             TypeImage 6(float) 1D sampled format:Unknown
+             174:             TypePointer UniformConstant 173
+ 175(g_tTex1df4):    174(ptr) Variable UniformConstant
+             176:             TypeImage 36(int) 1D sampled format:Unknown
+             177:             TypePointer UniformConstant 176
+ 178(g_tTex1di4):    177(ptr) Variable UniformConstant
+             179:             TypeImage 50(int) 1D sampled format:Unknown
+             180:             TypePointer UniformConstant 179
+ 181(g_tTex1du4):    180(ptr) Variable UniformConstant
+             182:             TypeImage 6(float) 2D sampled format:Unknown
              183:             TypePointer UniformConstant 182
- 184(g_tTex1df4):    183(ptr) Variable UniformConstant
-             185:             TypeImage 37(int) 1D sampled format:Unknown
+ 184(g_tTex2df4):    183(ptr) Variable UniformConstant
+             185:             TypeImage 36(int) 2D sampled format:Unknown
              186:             TypePointer UniformConstant 185
- 187(g_tTex1di4):    186(ptr) Variable UniformConstant
-             188:             TypeImage 52(int) 1D sampled format:Unknown
+ 187(g_tTex2di4):    186(ptr) Variable UniformConstant
+             188:             TypeImage 50(int) 2D sampled format:Unknown
              189:             TypePointer UniformConstant 188
- 190(g_tTex1du4):    189(ptr) Variable UniformConstant
-             191:             TypeImage 6(float) 2D sampled format:Unknown
+ 190(g_tTex2du4):    189(ptr) Variable UniformConstant
+             191:             TypeImage 6(float) 3D sampled format:Unknown
              192:             TypePointer UniformConstant 191
- 193(g_tTex2df4):    192(ptr) Variable UniformConstant
-             194:             TypeImage 37(int) 2D sampled format:Unknown
+ 193(g_tTex3df4):    192(ptr) Variable UniformConstant
+             194:             TypeImage 36(int) 3D sampled format:Unknown
              195:             TypePointer UniformConstant 194
- 196(g_tTex2di4):    195(ptr) Variable UniformConstant
-             197:             TypeImage 52(int) 2D sampled format:Unknown
+ 196(g_tTex3di4):    195(ptr) Variable UniformConstant
+             197:             TypeImage 50(int) 3D sampled format:Unknown
              198:             TypePointer UniformConstant 197
- 199(g_tTex2du4):    198(ptr) Variable UniformConstant
-             200:             TypeImage 6(float) 3D sampled format:Unknown
+ 199(g_tTex3du4):    198(ptr) Variable UniformConstant
+             200:             TypeImage 6(float) Cube sampled format:Unknown
              201:             TypePointer UniformConstant 200
- 202(g_tTex3df4):    201(ptr) Variable UniformConstant
-             203:             TypeImage 37(int) 3D sampled format:Unknown
+ 202(g_tTexcdf4):    201(ptr) Variable UniformConstant
+             203:             TypeImage 36(int) Cube sampled format:Unknown
              204:             TypePointer UniformConstant 203
- 205(g_tTex3di4):    204(ptr) Variable UniformConstant
-             206:             TypeImage 52(int) 3D sampled format:Unknown
+ 205(g_tTexcdi4):    204(ptr) Variable UniformConstant
+             206:             TypeImage 50(int) Cube sampled format:Unknown
              207:             TypePointer UniformConstant 206
- 208(g_tTex3du4):    207(ptr) Variable UniformConstant
-             209:             TypeImage 6(float) Cube sampled format:Unknown
-             210:             TypePointer UniformConstant 209
- 211(g_tTexcdf4):    210(ptr) Variable UniformConstant
-             212:             TypeImage 37(int) Cube sampled format:Unknown
-             213:             TypePointer UniformConstant 212
- 214(g_tTexcdi4):    213(ptr) Variable UniformConstant
-             215:             TypeImage 52(int) Cube sampled format:Unknown
-             216:             TypePointer UniformConstant 215
- 217(g_tTexcdu4):    216(ptr) Variable UniformConstant
+ 208(g_tTexcdu4):    207(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-172(flattenTemp):    160(ptr) Variable Function
-             173:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 172(flattenTemp) 173
-             176:    165(ptr) AccessChain 172(flattenTemp) 162
-             177:    7(fvec4) Load 176
-                              Store 175(@entryPointOutput.Color) 177
-             180:     12(ptr) AccessChain 172(flattenTemp) 167
-             181:    6(float) Load 180
-                              Store 179(@entryPointOutput.Depth) 181
+163(flattenTemp):    151(ptr) Variable Function
+             164:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 163(flattenTemp) 164
+             167:    156(ptr) AccessChain 163(flattenTemp) 153
+             168:    7(fvec4) Load 167
+                              Store 166(@entryPointOutput.Color) 168
+             171:     12(ptr) AccessChain 163(flattenTemp) 158
+             172:    6(float) Load 171
+                              Store 170(@entryPointOutput.Depth) 172
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r10):     12(ptr) Variable Function
-         36(r12):     12(ptr) Variable Function
-         51(r14):     12(ptr) Variable Function
-         66(r30):     12(ptr) Variable Function
-         83(r32):     12(ptr) Variable Function
-         98(r34):     12(ptr) Variable Function
-        113(r60):     12(ptr) Variable Function
-        130(r62):     12(ptr) Variable Function
-        145(r64):     12(ptr) Variable Function
-      161(psout):    160(ptr) Variable Function
+         35(r12):     12(ptr) Variable Function
+         49(r14):     12(ptr) Variable Function
+         63(r30):     12(ptr) Variable Function
+         79(r32):     12(ptr) Variable Function
+         93(r34):     12(ptr) Variable Function
+        107(r60):     12(ptr) Variable Function
+        123(r62):     12(ptr) Variable Function
+        137(r64):     12(ptr) Variable Function
+      152(psout):    151(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4a)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              31:    6(float) CompositeExtract 28 0
-              32:    6(float) CompositeExtract 28 1
-              33:   30(fvec3) CompositeConstruct 31 32 29
-              34:    6(float) CompositeExtract 33 2
-              35:    6(float) ImageSampleDrefImplicitLod 24 33 34
-                              Store 13(r10) 35
-              41:          38 Load 40(g_tTex1di4a)
-              42:          18 Load 20(g_sSamp)
-              45:          44 SampledImage 41 42
-              46:    6(float) CompositeExtract 28 0
-              47:    6(float) CompositeExtract 28 1
-              48:   30(fvec3) CompositeConstruct 46 47 29
-              49:    6(float) CompositeExtract 48 2
-              50:    6(float) ImageSampleDrefImplicitLod 45 48 49
-                              Store 36(r12) 50
-              56:          53 Load 55(g_tTex1du4a)
-              57:          18 Load 20(g_sSamp)
-              60:          59 SampledImage 56 57
-              61:    6(float) CompositeExtract 28 0
-              62:    6(float) CompositeExtract 28 1
-              63:   30(fvec3) CompositeConstruct 61 62 29
-              64:    6(float) CompositeExtract 63 2
-              65:    6(float) ImageSampleDrefImplicitLod 60 63 64
-                              Store 51(r14) 65
-              70:          67 Load 69(g_tTex2df4a)
-              71:          18 Load 20(g_sSamp)
-              74:          73 SampledImage 70 71
-              77:    6(float) CompositeExtract 76 0
-              78:    6(float) CompositeExtract 76 1
-              79:    6(float) CompositeExtract 76 2
-              80:    7(fvec4) CompositeConstruct 77 78 79 29
-              81:    6(float) CompositeExtract 80 3
-              82:    6(float) ImageSampleDrefImplicitLod 74 80 81
-                              Store 66(r30) 82
-              87:          84 Load 86(g_tTex2di4a)
-              88:          18 Load 20(g_sSamp)
-              91:          90 SampledImage 87 88
-              92:    6(float) CompositeExtract 76 0
-              93:    6(float) CompositeExtract 76 1
-              94:    6(float) CompositeExtract 76 2
-              95:    7(fvec4) CompositeConstruct 92 93 94 29
-              96:    6(float) CompositeExtract 95 3
-              97:    6(float) ImageSampleDrefImplicitLod 91 95 96
-                              Store 83(r32) 97
-             102:          99 Load 101(g_tTex2du4a)
-             103:          18 Load 20(g_sSamp)
-             106:         105 SampledImage 102 103
-             107:    6(float) CompositeExtract 76 0
-             108:    6(float) CompositeExtract 76 1
-             109:    6(float) CompositeExtract 76 2
-             110:    7(fvec4) CompositeConstruct 107 108 109 29
-             111:    6(float) CompositeExtract 110 3
-             112:    6(float) ImageSampleDrefImplicitLod 106 110 111
-                              Store 98(r34) 112
-             117:         114 Load 116(g_tTexcdf4a)
-             118:          18 Load 20(g_sSamp)
-             121:         120 SampledImage 117 118
-             124:    6(float) CompositeExtract 123 0
-             125:    6(float) CompositeExtract 123 1
-             126:    6(float) CompositeExtract 123 2
-             127:    6(float) CompositeExtract 123 3
-             128:    7(fvec4) CompositeConstruct 124 125 126 127
-             129:    6(float) ImageSampleDrefImplicitLod 121 128 29
-                              Store 113(r60) 129
-             134:         131 Load 133(g_tTexcdi4a)
-             135:          18 Load 20(g_sSamp)
-             138:         137 SampledImage 134 135
-             139:    6(float) CompositeExtract 123 0
-             140:    6(float) CompositeExtract 123 1
-             141:    6(float) CompositeExtract 123 2
-             142:    6(float) CompositeExtract 123 3
-             143:    7(fvec4) CompositeConstruct 139 140 141 142
-             144:    6(float) ImageSampleDrefImplicitLod 138 143 29
-                              Store 130(r62) 144
-             149:         146 Load 148(g_tTexcdu4a)
-             150:          18 Load 20(g_sSamp)
-             153:         152 SampledImage 149 150
-             154:    6(float) CompositeExtract 123 0
-             155:    6(float) CompositeExtract 123 1
-             156:    6(float) CompositeExtract 123 2
-             157:    6(float) CompositeExtract 123 3
-             158:    7(fvec4) CompositeConstruct 154 155 156 157
-             159:    6(float) ImageSampleDrefImplicitLod 153 158 29
-                              Store 145(r64) 159
-             166:    165(ptr) AccessChain 161(psout) 162
-                              Store 166 164
-             168:     12(ptr) AccessChain 161(psout) 167
-                              Store 168 163
-             169:8(PS_OUTPUT) Load 161(psout)
-                              ReturnValue 169
+              23:          22 SampledImage 17 21
+              30:    6(float) CompositeExtract 27 0
+              31:    6(float) CompositeExtract 27 1
+              32:   29(fvec3) CompositeConstruct 30 31 28
+              33:    6(float) CompositeExtract 32 2
+              34:    6(float) ImageSampleDrefImplicitLod 23 32 33
+                              Store 13(r10) 34
+              40:          37 Load 39(g_tTex1di4a)
+              41:          18 Load 20(g_sSamp)
+              43:          42 SampledImage 40 41
+              44:    6(float) CompositeExtract 27 0
+              45:    6(float) CompositeExtract 27 1
+              46:   29(fvec3) CompositeConstruct 44 45 28
+              47:    6(float) CompositeExtract 46 2
+              48:    6(float) ImageSampleDrefImplicitLod 43 46 47
+                              Store 35(r12) 48
+              54:          51 Load 53(g_tTex1du4a)
+              55:          18 Load 20(g_sSamp)
+              57:          56 SampledImage 54 55
+              58:    6(float) CompositeExtract 27 0
+              59:    6(float) CompositeExtract 27 1
+              60:   29(fvec3) CompositeConstruct 58 59 28
+              61:    6(float) CompositeExtract 60 2
+              62:    6(float) ImageSampleDrefImplicitLod 57 60 61
+                              Store 49(r14) 62
+              67:          64 Load 66(g_tTex2df4a)
+              68:          18 Load 20(g_sSamp)
+              70:          69 SampledImage 67 68
+              73:    6(float) CompositeExtract 72 0
+              74:    6(float) CompositeExtract 72 1
+              75:    6(float) CompositeExtract 72 2
+              76:    7(fvec4) CompositeConstruct 73 74 75 28
+              77:    6(float) CompositeExtract 76 3
+              78:    6(float) ImageSampleDrefImplicitLod 70 76 77
+                              Store 63(r30) 78
+              83:          80 Load 82(g_tTex2di4a)
+              84:          18 Load 20(g_sSamp)
+              86:          85 SampledImage 83 84
+              87:    6(float) CompositeExtract 72 0
+              88:    6(float) CompositeExtract 72 1
+              89:    6(float) CompositeExtract 72 2
+              90:    7(fvec4) CompositeConstruct 87 88 89 28
+              91:    6(float) CompositeExtract 90 3
+              92:    6(float) ImageSampleDrefImplicitLod 86 90 91
+                              Store 79(r32) 92
+              97:          94 Load 96(g_tTex2du4a)
+              98:          18 Load 20(g_sSamp)
+             100:          99 SampledImage 97 98
+             101:    6(float) CompositeExtract 72 0
+             102:    6(float) CompositeExtract 72 1
+             103:    6(float) CompositeExtract 72 2
+             104:    7(fvec4) CompositeConstruct 101 102 103 28
+             105:    6(float) CompositeExtract 104 3
+             106:    6(float) ImageSampleDrefImplicitLod 100 104 105
+                              Store 93(r34) 106
+             111:         108 Load 110(g_tTexcdf4a)
+             112:          18 Load 20(g_sSamp)
+             114:         113 SampledImage 111 112
+             117:    6(float) CompositeExtract 116 0
+             118:    6(float) CompositeExtract 116 1
+             119:    6(float) CompositeExtract 116 2
+             120:    6(float) CompositeExtract 116 3
+             121:    7(fvec4) CompositeConstruct 117 118 119 120
+             122:    6(float) ImageSampleDrefImplicitLod 114 121 28
+                              Store 107(r60) 122
+             127:         124 Load 126(g_tTexcdi4a)
+             128:          18 Load 20(g_sSamp)
+             130:         129 SampledImage 127 128
+             131:    6(float) CompositeExtract 116 0
+             132:    6(float) CompositeExtract 116 1
+             133:    6(float) CompositeExtract 116 2
+             134:    6(float) CompositeExtract 116 3
+             135:    7(fvec4) CompositeConstruct 131 132 133 134
+             136:    6(float) ImageSampleDrefImplicitLod 130 135 28
+                              Store 123(r62) 136
+             141:         138 Load 140(g_tTexcdu4a)
+             142:          18 Load 20(g_sSamp)
+             144:         143 SampledImage 141 142
+             145:    6(float) CompositeExtract 116 0
+             146:    6(float) CompositeExtract 116 1
+             147:    6(float) CompositeExtract 116 2
+             148:    6(float) CompositeExtract 116 3
+             149:    7(fvec4) CompositeConstruct 145 146 147 148
+             150:    6(float) ImageSampleDrefImplicitLod 144 149 28
+                              Store 137(r64) 150
+             157:    156(ptr) AccessChain 152(psout) 153
+                              Store 157 155
+             159:     12(ptr) AccessChain 152(psout) 158
+                              Store 159 154
+             160:8(PS_OUTPUT) Load 152(psout)
+                              ReturnValue 160
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index d6579ba..729dc36 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -22,7 +22,7 @@
 0:43          'r02' ( temp float)
 0:43          texture ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -34,7 +34,7 @@
 0:44          'r04' ( temp float)
 0:44          texture ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -46,7 +46,7 @@
 0:47          'r20' ( temp float)
 0:47          texture ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -59,7 +59,7 @@
 0:48          'r22' ( temp float)
 0:48          texture ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -72,7 +72,7 @@
 0:49          'r24' ( temp float)
 0:49          texture ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -85,7 +85,7 @@
 0:53          'r50' ( temp float)
 0:53          texture ( temp float)
 0:53            Construct combined texture-sampler ( temp samplerCubeShadow)
-0:53              'g_tTexcdf4' ( uniform textureCube)
+0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -99,7 +99,7 @@
 0:54          'r52' ( temp float)
 0:54          texture ( temp float)
 0:54            Construct combined texture-sampler ( temp isamplerCubeShadow)
-0:54              'g_tTexcdi4' ( uniform itextureCube)
+0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -113,7 +113,7 @@
 0:55          'r54' ( temp float)
 0:55          texture ( temp float)
 0:55            Construct combined texture-sampler ( temp usamplerCubeShadow)
-0:55              'g_tTexcdu4' ( uniform utextureCube)
+0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -162,18 +162,18 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
-0:?     'g_tTexcdf4' ( uniform textureCube)
-0:?     'g_tTexcdi4' ( uniform itextureCube)
-0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'g_tTexcdf4' ( uniform textureCubeShadow)
+0:?     'g_tTexcdi4' ( uniform itextureCubeShadow)
+0:?     'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:?     'g_tTex1df4a' ( uniform texture1DArray)
 0:?     'g_tTex1di4a' ( uniform itexture1DArray)
 0:?     'g_tTex1du4a' ( uniform utexture1DArray)
@@ -201,7 +201,7 @@
 0:42          'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -213,7 +213,7 @@
 0:43          'r02' ( temp float)
 0:43          texture ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -225,7 +225,7 @@
 0:44          'r04' ( temp float)
 0:44          texture ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -237,7 +237,7 @@
 0:47          'r20' ( temp float)
 0:47          texture ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -250,7 +250,7 @@
 0:48          'r22' ( temp float)
 0:48          texture ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -263,7 +263,7 @@
 0:49          'r24' ( temp float)
 0:49          texture ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -276,7 +276,7 @@
 0:53          'r50' ( temp float)
 0:53          texture ( temp float)
 0:53            Construct combined texture-sampler ( temp samplerCubeShadow)
-0:53              'g_tTexcdf4' ( uniform textureCube)
+0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -290,7 +290,7 @@
 0:54          'r52' ( temp float)
 0:54          texture ( temp float)
 0:54            Construct combined texture-sampler ( temp isamplerCubeShadow)
-0:54              'g_tTexcdi4' ( uniform itextureCube)
+0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -304,7 +304,7 @@
 0:55          'r54' ( temp float)
 0:55          texture ( temp float)
 0:55            Construct combined texture-sampler ( temp usamplerCubeShadow)
-0:55              'g_tTexcdu4' ( uniform utextureCube)
+0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -353,18 +353,18 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
-0:?     'g_tTexcdf4' ( uniform textureCube)
-0:?     'g_tTexcdi4' ( uniform itextureCube)
-0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'g_tTexcdf4' ( uniform textureCubeShadow)
+0:?     'g_tTexcdi4' ( uniform itextureCubeShadow)
+0:?     'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:?     'g_tTex1df4a' ( uniform texture1DArray)
 0:?     'g_tTex1di4a' ( uniform itexture1DArray)
 0:?     'g_tTex1du4a' ( uniform utexture1DArray)
@@ -378,15 +378,15 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 207
+// Generated by (magic number): 80002
+// Id's are bound by 198
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 164 168
+                              EntryPoint Fragment 4  "main" 155 159
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -397,64 +397,64 @@
                               Name 13  "r00"
                               Name 16  "g_tTex1df4"
                               Name 20  "g_sSamp"
-                              Name 31  "r02"
-                              Name 35  "g_tTex1di4"
-                              Name 44  "r04"
-                              Name 48  "g_tTex1du4"
-                              Name 57  "r20"
-                              Name 60  "g_tTex2df4"
-                              Name 74  "r22"
-                              Name 77  "g_tTex2di4"
-                              Name 88  "r24"
-                              Name 91  "g_tTex2du4"
-                              Name 102  "r50"
-                              Name 105  "g_tTexcdf4"
-                              Name 119  "r52"
-                              Name 122  "g_tTexcdi4"
-                              Name 134  "r54"
-                              Name 137  "g_tTexcdu4"
-                              Name 150  "psout"
-                              Name 161  "flattenTemp"
-                              Name 164  "@entryPointOutput.Color"
-                              Name 168  "@entryPointOutput.Depth"
-                              Name 173  "g_tTex3df4"
-                              Name 176  "g_tTex3di4"
-                              Name 179  "g_tTex3du4"
-                              Name 182  "g_tTex1df4a"
-                              Name 185  "g_tTex1di4a"
-                              Name 188  "g_tTex1du4a"
-                              Name 191  "g_tTex2df4a"
-                              Name 194  "g_tTex2di4a"
-                              Name 197  "g_tTex2du4a"
-                              Name 200  "g_tTexcdf4a"
-                              Name 203  "g_tTexcdi4a"
-                              Name 206  "g_tTexcdu4a"
+                              Name 30  "r02"
+                              Name 34  "g_tTex1di4"
+                              Name 42  "r04"
+                              Name 46  "g_tTex1du4"
+                              Name 54  "r20"
+                              Name 57  "g_tTex2df4"
+                              Name 70  "r22"
+                              Name 73  "g_tTex2di4"
+                              Name 83  "r24"
+                              Name 86  "g_tTex2du4"
+                              Name 96  "r50"
+                              Name 99  "g_tTexcdf4"
+                              Name 112  "r52"
+                              Name 115  "g_tTexcdi4"
+                              Name 126  "r54"
+                              Name 129  "g_tTexcdu4"
+                              Name 141  "psout"
+                              Name 152  "flattenTemp"
+                              Name 155  "@entryPointOutput.Color"
+                              Name 159  "@entryPointOutput.Depth"
+                              Name 164  "g_tTex3df4"
+                              Name 167  "g_tTex3di4"
+                              Name 170  "g_tTex3du4"
+                              Name 173  "g_tTex1df4a"
+                              Name 176  "g_tTex1di4a"
+                              Name 179  "g_tTex1du4a"
+                              Name 182  "g_tTex2df4a"
+                              Name 185  "g_tTex2di4a"
+                              Name 188  "g_tTex2du4a"
+                              Name 191  "g_tTexcdf4a"
+                              Name 194  "g_tTexcdi4a"
+                              Name 197  "g_tTexcdu4a"
                               Decorate 16(g_tTex1df4) DescriptorSet 0
                               Decorate 16(g_tTex1df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 35(g_tTex1di4) DescriptorSet 0
-                              Decorate 48(g_tTex1du4) DescriptorSet 0
-                              Decorate 60(g_tTex2df4) DescriptorSet 0
-                              Decorate 77(g_tTex2di4) DescriptorSet 0
-                              Decorate 91(g_tTex2du4) DescriptorSet 0
-                              Decorate 105(g_tTexcdf4) DescriptorSet 0
-                              Decorate 122(g_tTexcdi4) DescriptorSet 0
-                              Decorate 137(g_tTexcdu4) DescriptorSet 0
-                              Decorate 164(@entryPointOutput.Color) Location 0
-                              Decorate 168(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 173(g_tTex3df4) DescriptorSet 0
-                              Decorate 176(g_tTex3di4) DescriptorSet 0
-                              Decorate 179(g_tTex3du4) DescriptorSet 0
-                              Decorate 182(g_tTex1df4a) DescriptorSet 0
-                              Decorate 185(g_tTex1di4a) DescriptorSet 0
-                              Decorate 188(g_tTex1du4a) DescriptorSet 0
-                              Decorate 191(g_tTex2df4a) DescriptorSet 0
-                              Decorate 194(g_tTex2di4a) DescriptorSet 0
-                              Decorate 197(g_tTex2du4a) DescriptorSet 0
-                              Decorate 200(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 203(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 206(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 34(g_tTex1di4) DescriptorSet 0
+                              Decorate 46(g_tTex1du4) DescriptorSet 0
+                              Decorate 57(g_tTex2df4) DescriptorSet 0
+                              Decorate 73(g_tTex2di4) DescriptorSet 0
+                              Decorate 86(g_tTex2du4) DescriptorSet 0
+                              Decorate 99(g_tTexcdf4) DescriptorSet 0
+                              Decorate 115(g_tTexcdi4) DescriptorSet 0
+                              Decorate 129(g_tTexcdu4) DescriptorSet 0
+                              Decorate 155(@entryPointOutput.Color) Location 0
+                              Decorate 159(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 164(g_tTex3df4) DescriptorSet 0
+                              Decorate 167(g_tTex3di4) DescriptorSet 0
+                              Decorate 170(g_tTex3du4) DescriptorSet 0
+                              Decorate 173(g_tTex1df4a) DescriptorSet 0
+                              Decorate 176(g_tTex1di4a) DescriptorSet 0
+                              Decorate 179(g_tTex1du4a) DescriptorSet 0
+                              Decorate 182(g_tTex2df4a) DescriptorSet 0
+                              Decorate 185(g_tTex2di4a) DescriptorSet 0
+                              Decorate 188(g_tTex2du4a) DescriptorSet 0
+                              Decorate 191(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 194(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 197(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -462,217 +462,208 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth sampled format:Unknown
               15:             TypePointer UniformConstant 14
   16(g_tTex1df4):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:    6(float) Constant 1036831949
-              26:    6(float) Constant 1061158912
-              27:             TypeVector 6(float) 2
-              32:             TypeInt 32 1
-              33:             TypeImage 32(int) 1D sampled format:Unknown
-              34:             TypePointer UniformConstant 33
-  35(g_tTex1di4):     34(ptr) Variable UniformConstant
-              38:             TypeImage 32(int) 1D depth sampled format:Unknown
-              39:             TypeSampledImage 38
-              45:             TypeInt 32 0
-              46:             TypeImage 45(int) 1D sampled format:Unknown
-              47:             TypePointer UniformConstant 46
-  48(g_tTex1du4):     47(ptr) Variable UniformConstant
-              51:             TypeImage 45(int) 1D depth sampled format:Unknown
-              52:             TypeSampledImage 51
-              58:             TypeImage 6(float) 2D sampled format:Unknown
-              59:             TypePointer UniformConstant 58
-  60(g_tTex2df4):     59(ptr) Variable UniformConstant
-              63:             TypeImage 6(float) 2D depth sampled format:Unknown
-              64:             TypeSampledImage 63
-              66:    6(float) Constant 1045220557
-              67:   27(fvec2) ConstantComposite 25 66
-              68:             TypeVector 6(float) 3
-              75:             TypeImage 32(int) 2D sampled format:Unknown
-              76:             TypePointer UniformConstant 75
-  77(g_tTex2di4):     76(ptr) Variable UniformConstant
-              80:             TypeImage 32(int) 2D depth sampled format:Unknown
-              81:             TypeSampledImage 80
-              89:             TypeImage 45(int) 2D sampled format:Unknown
-              90:             TypePointer UniformConstant 89
-  91(g_tTex2du4):     90(ptr) Variable UniformConstant
-              94:             TypeImage 45(int) 2D depth sampled format:Unknown
-              95:             TypeSampledImage 94
-             103:             TypeImage 6(float) Cube sampled format:Unknown
-             104:             TypePointer UniformConstant 103
- 105(g_tTexcdf4):    104(ptr) Variable UniformConstant
-             108:             TypeImage 6(float) Cube depth sampled format:Unknown
-             109:             TypeSampledImage 108
-             111:    6(float) Constant 1050253722
-             112:   68(fvec3) ConstantComposite 25 66 111
-             120:             TypeImage 32(int) Cube sampled format:Unknown
-             121:             TypePointer UniformConstant 120
- 122(g_tTexcdi4):    121(ptr) Variable UniformConstant
-             125:             TypeImage 32(int) Cube depth sampled format:Unknown
-             126:             TypeSampledImage 125
-             135:             TypeImage 45(int) Cube sampled format:Unknown
-             136:             TypePointer UniformConstant 135
- 137(g_tTexcdu4):    136(ptr) Variable UniformConstant
-             140:             TypeImage 45(int) Cube depth sampled format:Unknown
-             141:             TypeSampledImage 140
-             149:             TypePointer Function 8(PS_OUTPUT)
-             151:     32(int) Constant 0
-             152:    6(float) Constant 1065353216
-             153:    7(fvec4) ConstantComposite 152 152 152 152
-             154:             TypePointer Function 7(fvec4)
-             156:     32(int) Constant 1
-             163:             TypePointer Output 7(fvec4)
-164(@entryPointOutput.Color):    163(ptr) Variable Output
-             167:             TypePointer Output 6(float)
-168(@entryPointOutput.Depth):    167(ptr) Variable Output
-             171:             TypeImage 6(float) 3D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:    6(float) Constant 1036831949
+              25:    6(float) Constant 1061158912
+              26:             TypeVector 6(float) 2
+              31:             TypeInt 32 1
+              32:             TypeImage 31(int) 1D depth sampled format:Unknown
+              33:             TypePointer UniformConstant 32
+  34(g_tTex1di4):     33(ptr) Variable UniformConstant
+              37:             TypeSampledImage 32
+              43:             TypeInt 32 0
+              44:             TypeImage 43(int) 1D depth sampled format:Unknown
+              45:             TypePointer UniformConstant 44
+  46(g_tTex1du4):     45(ptr) Variable UniformConstant
+              49:             TypeSampledImage 44
+              55:             TypeImage 6(float) 2D depth sampled format:Unknown
+              56:             TypePointer UniformConstant 55
+  57(g_tTex2df4):     56(ptr) Variable UniformConstant
+              60:             TypeSampledImage 55
+              62:    6(float) Constant 1045220557
+              63:   26(fvec2) ConstantComposite 24 62
+              64:             TypeVector 6(float) 3
+              71:             TypeImage 31(int) 2D depth sampled format:Unknown
+              72:             TypePointer UniformConstant 71
+  73(g_tTex2di4):     72(ptr) Variable UniformConstant
+              76:             TypeSampledImage 71
+              84:             TypeImage 43(int) 2D depth sampled format:Unknown
+              85:             TypePointer UniformConstant 84
+  86(g_tTex2du4):     85(ptr) Variable UniformConstant
+              89:             TypeSampledImage 84
+              97:             TypeImage 6(float) Cube depth sampled format:Unknown
+              98:             TypePointer UniformConstant 97
+  99(g_tTexcdf4):     98(ptr) Variable UniformConstant
+             102:             TypeSampledImage 97
+             104:    6(float) Constant 1050253722
+             105:   64(fvec3) ConstantComposite 24 62 104
+             113:             TypeImage 31(int) Cube depth sampled format:Unknown
+             114:             TypePointer UniformConstant 113
+ 115(g_tTexcdi4):    114(ptr) Variable UniformConstant
+             118:             TypeSampledImage 113
+             127:             TypeImage 43(int) Cube depth sampled format:Unknown
+             128:             TypePointer UniformConstant 127
+ 129(g_tTexcdu4):    128(ptr) Variable UniformConstant
+             132:             TypeSampledImage 127
+             140:             TypePointer Function 8(PS_OUTPUT)
+             142:     31(int) Constant 0
+             143:    6(float) Constant 1065353216
+             144:    7(fvec4) ConstantComposite 143 143 143 143
+             145:             TypePointer Function 7(fvec4)
+             147:     31(int) Constant 1
+             154:             TypePointer Output 7(fvec4)
+155(@entryPointOutput.Color):    154(ptr) Variable Output
+             158:             TypePointer Output 6(float)
+159(@entryPointOutput.Depth):    158(ptr) Variable Output
+             162:             TypeImage 6(float) 3D sampled format:Unknown
+             163:             TypePointer UniformConstant 162
+ 164(g_tTex3df4):    163(ptr) Variable UniformConstant
+             165:             TypeImage 31(int) 3D sampled format:Unknown
+             166:             TypePointer UniformConstant 165
+ 167(g_tTex3di4):    166(ptr) Variable UniformConstant
+             168:             TypeImage 43(int) 3D sampled format:Unknown
+             169:             TypePointer UniformConstant 168
+ 170(g_tTex3du4):    169(ptr) Variable UniformConstant
+             171:             TypeImage 6(float) 1D array sampled format:Unknown
              172:             TypePointer UniformConstant 171
- 173(g_tTex3df4):    172(ptr) Variable UniformConstant
-             174:             TypeImage 32(int) 3D sampled format:Unknown
+173(g_tTex1df4a):    172(ptr) Variable UniformConstant
+             174:             TypeImage 31(int) 1D array sampled format:Unknown
              175:             TypePointer UniformConstant 174
- 176(g_tTex3di4):    175(ptr) Variable UniformConstant
-             177:             TypeImage 45(int) 3D sampled format:Unknown
+176(g_tTex1di4a):    175(ptr) Variable UniformConstant
+             177:             TypeImage 43(int) 1D array sampled format:Unknown
              178:             TypePointer UniformConstant 177
- 179(g_tTex3du4):    178(ptr) Variable UniformConstant
-             180:             TypeImage 6(float) 1D array sampled format:Unknown
+179(g_tTex1du4a):    178(ptr) Variable UniformConstant
+             180:             TypeImage 6(float) 2D array sampled format:Unknown
              181:             TypePointer UniformConstant 180
-182(g_tTex1df4a):    181(ptr) Variable UniformConstant
-             183:             TypeImage 32(int) 1D array sampled format:Unknown
+182(g_tTex2df4a):    181(ptr) Variable UniformConstant
+             183:             TypeImage 31(int) 2D array sampled format:Unknown
              184:             TypePointer UniformConstant 183
-185(g_tTex1di4a):    184(ptr) Variable UniformConstant
-             186:             TypeImage 45(int) 1D array sampled format:Unknown
+185(g_tTex2di4a):    184(ptr) Variable UniformConstant
+             186:             TypeImage 43(int) 2D array sampled format:Unknown
              187:             TypePointer UniformConstant 186
-188(g_tTex1du4a):    187(ptr) Variable UniformConstant
-             189:             TypeImage 6(float) 2D array sampled format:Unknown
+188(g_tTex2du4a):    187(ptr) Variable UniformConstant
+             189:             TypeImage 6(float) Cube array sampled format:Unknown
              190:             TypePointer UniformConstant 189
-191(g_tTex2df4a):    190(ptr) Variable UniformConstant
-             192:             TypeImage 32(int) 2D array sampled format:Unknown
+191(g_tTexcdf4a):    190(ptr) Variable UniformConstant
+             192:             TypeImage 31(int) Cube array sampled format:Unknown
              193:             TypePointer UniformConstant 192
-194(g_tTex2di4a):    193(ptr) Variable UniformConstant
-             195:             TypeImage 45(int) 2D array sampled format:Unknown
+194(g_tTexcdi4a):    193(ptr) Variable UniformConstant
+             195:             TypeImage 43(int) Cube array sampled format:Unknown
              196:             TypePointer UniformConstant 195
-197(g_tTex2du4a):    196(ptr) Variable UniformConstant
-             198:             TypeImage 6(float) Cube array sampled format:Unknown
-             199:             TypePointer UniformConstant 198
-200(g_tTexcdf4a):    199(ptr) Variable UniformConstant
-             201:             TypeImage 32(int) Cube array sampled format:Unknown
-             202:             TypePointer UniformConstant 201
-203(g_tTexcdi4a):    202(ptr) Variable UniformConstant
-             204:             TypeImage 45(int) Cube array sampled format:Unknown
-             205:             TypePointer UniformConstant 204
-206(g_tTexcdu4a):    205(ptr) Variable UniformConstant
+197(g_tTexcdu4a):    196(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-161(flattenTemp):    149(ptr) Variable Function
-             162:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 161(flattenTemp) 162
-             165:    154(ptr) AccessChain 161(flattenTemp) 151
-             166:    7(fvec4) Load 165
-                              Store 164(@entryPointOutput.Color) 166
-             169:     12(ptr) AccessChain 161(flattenTemp) 156
-             170:    6(float) Load 169
-                              Store 168(@entryPointOutput.Depth) 170
+152(flattenTemp):    140(ptr) Variable Function
+             153:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 152(flattenTemp) 153
+             156:    145(ptr) AccessChain 152(flattenTemp) 142
+             157:    7(fvec4) Load 156
+                              Store 155(@entryPointOutput.Color) 157
+             160:     12(ptr) AccessChain 152(flattenTemp) 147
+             161:    6(float) Load 160
+                              Store 159(@entryPointOutput.Depth) 161
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r00):     12(ptr) Variable Function
-         31(r02):     12(ptr) Variable Function
-         44(r04):     12(ptr) Variable Function
-         57(r20):     12(ptr) Variable Function
-         74(r22):     12(ptr) Variable Function
-         88(r24):     12(ptr) Variable Function
-        102(r50):     12(ptr) Variable Function
-        119(r52):     12(ptr) Variable Function
-        134(r54):     12(ptr) Variable Function
-      150(psout):    149(ptr) Variable Function
+         30(r02):     12(ptr) Variable Function
+         42(r04):     12(ptr) Variable Function
+         54(r20):     12(ptr) Variable Function
+         70(r22):     12(ptr) Variable Function
+         83(r24):     12(ptr) Variable Function
+         96(r50):     12(ptr) Variable Function
+        112(r52):     12(ptr) Variable Function
+        126(r54):     12(ptr) Variable Function
+      141(psout):    140(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              28:   27(fvec2) CompositeConstruct 25 26
-              29:    6(float) CompositeExtract 28 1
-              30:    6(float) ImageSampleDrefImplicitLod 24 28 29
-                              Store 13(r00) 30
-              36:          33 Load 35(g_tTex1di4)
-              37:          18 Load 20(g_sSamp)
-              40:          39 SampledImage 36 37
-              41:   27(fvec2) CompositeConstruct 25 26
-              42:    6(float) CompositeExtract 41 1
-              43:    6(float) ImageSampleDrefImplicitLod 40 41 42
-                              Store 31(r02) 43
-              49:          46 Load 48(g_tTex1du4)
-              50:          18 Load 20(g_sSamp)
-              53:          52 SampledImage 49 50
-              54:   27(fvec2) CompositeConstruct 25 26
-              55:    6(float) CompositeExtract 54 1
-              56:    6(float) ImageSampleDrefImplicitLod 53 54 55
-                              Store 44(r04) 56
-              61:          58 Load 60(g_tTex2df4)
-              62:          18 Load 20(g_sSamp)
-              65:          64 SampledImage 61 62
-              69:    6(float) CompositeExtract 67 0
-              70:    6(float) CompositeExtract 67 1
-              71:   68(fvec3) CompositeConstruct 69 70 26
-              72:    6(float) CompositeExtract 71 2
-              73:    6(float) ImageSampleDrefImplicitLod 65 71 72
-                              Store 57(r20) 73
-              78:          75 Load 77(g_tTex2di4)
-              79:          18 Load 20(g_sSamp)
-              82:          81 SampledImage 78 79
-              83:    6(float) CompositeExtract 67 0
-              84:    6(float) CompositeExtract 67 1
-              85:   68(fvec3) CompositeConstruct 83 84 26
-              86:    6(float) CompositeExtract 85 2
-              87:    6(float) ImageSampleDrefImplicitLod 82 85 86
-                              Store 74(r22) 87
-              92:          89 Load 91(g_tTex2du4)
-              93:          18 Load 20(g_sSamp)
-              96:          95 SampledImage 92 93
-              97:    6(float) CompositeExtract 67 0
-              98:    6(float) CompositeExtract 67 1
-              99:   68(fvec3) CompositeConstruct 97 98 26
-             100:    6(float) CompositeExtract 99 2
-             101:    6(float) ImageSampleDrefImplicitLod 96 99 100
-                              Store 88(r24) 101
-             106:         103 Load 105(g_tTexcdf4)
-             107:          18 Load 20(g_sSamp)
-             110:         109 SampledImage 106 107
-             113:    6(float) CompositeExtract 112 0
-             114:    6(float) CompositeExtract 112 1
-             115:    6(float) CompositeExtract 112 2
-             116:    7(fvec4) CompositeConstruct 113 114 115 26
-             117:    6(float) CompositeExtract 116 3
-             118:    6(float) ImageSampleDrefImplicitLod 110 116 117
-                              Store 102(r50) 118
-             123:         120 Load 122(g_tTexcdi4)
-             124:          18 Load 20(g_sSamp)
-             127:         126 SampledImage 123 124
-             128:    6(float) CompositeExtract 112 0
-             129:    6(float) CompositeExtract 112 1
-             130:    6(float) CompositeExtract 112 2
-             131:    7(fvec4) CompositeConstruct 128 129 130 26
-             132:    6(float) CompositeExtract 131 3
-             133:    6(float) ImageSampleDrefImplicitLod 127 131 132
-                              Store 119(r52) 133
-             138:         135 Load 137(g_tTexcdu4)
-             139:          18 Load 20(g_sSamp)
-             142:         141 SampledImage 138 139
-             143:    6(float) CompositeExtract 112 0
-             144:    6(float) CompositeExtract 112 1
-             145:    6(float) CompositeExtract 112 2
-             146:    7(fvec4) CompositeConstruct 143 144 145 26
-             147:    6(float) CompositeExtract 146 3
-             148:    6(float) ImageSampleDrefImplicitLod 142 146 147
-                              Store 134(r54) 148
-             155:    154(ptr) AccessChain 150(psout) 151
-                              Store 155 153
-             157:     12(ptr) AccessChain 150(psout) 156
-                              Store 157 152
-             158:8(PS_OUTPUT) Load 150(psout)
-                              ReturnValue 158
+              23:          22 SampledImage 17 21
+              27:   26(fvec2) CompositeConstruct 24 25
+              28:    6(float) CompositeExtract 27 1
+              29:    6(float) ImageSampleDrefImplicitLod 23 27 28
+                              Store 13(r00) 29
+              35:          32 Load 34(g_tTex1di4)
+              36:          18 Load 20(g_sSamp)
+              38:          37 SampledImage 35 36
+              39:   26(fvec2) CompositeConstruct 24 25
+              40:    6(float) CompositeExtract 39 1
+              41:    6(float) ImageSampleDrefImplicitLod 38 39 40
+                              Store 30(r02) 41
+              47:          44 Load 46(g_tTex1du4)
+              48:          18 Load 20(g_sSamp)
+              50:          49 SampledImage 47 48
+              51:   26(fvec2) CompositeConstruct 24 25
+              52:    6(float) CompositeExtract 51 1
+              53:    6(float) ImageSampleDrefImplicitLod 50 51 52
+                              Store 42(r04) 53
+              58:          55 Load 57(g_tTex2df4)
+              59:          18 Load 20(g_sSamp)
+              61:          60 SampledImage 58 59
+              65:    6(float) CompositeExtract 63 0
+              66:    6(float) CompositeExtract 63 1
+              67:   64(fvec3) CompositeConstruct 65 66 25
+              68:    6(float) CompositeExtract 67 2
+              69:    6(float) ImageSampleDrefImplicitLod 61 67 68
+                              Store 54(r20) 69
+              74:          71 Load 73(g_tTex2di4)
+              75:          18 Load 20(g_sSamp)
+              77:          76 SampledImage 74 75
+              78:    6(float) CompositeExtract 63 0
+              79:    6(float) CompositeExtract 63 1
+              80:   64(fvec3) CompositeConstruct 78 79 25
+              81:    6(float) CompositeExtract 80 2
+              82:    6(float) ImageSampleDrefImplicitLod 77 80 81
+                              Store 70(r22) 82
+              87:          84 Load 86(g_tTex2du4)
+              88:          18 Load 20(g_sSamp)
+              90:          89 SampledImage 87 88
+              91:    6(float) CompositeExtract 63 0
+              92:    6(float) CompositeExtract 63 1
+              93:   64(fvec3) CompositeConstruct 91 92 25
+              94:    6(float) CompositeExtract 93 2
+              95:    6(float) ImageSampleDrefImplicitLod 90 93 94
+                              Store 83(r24) 95
+             100:          97 Load 99(g_tTexcdf4)
+             101:          18 Load 20(g_sSamp)
+             103:         102 SampledImage 100 101
+             106:    6(float) CompositeExtract 105 0
+             107:    6(float) CompositeExtract 105 1
+             108:    6(float) CompositeExtract 105 2
+             109:    7(fvec4) CompositeConstruct 106 107 108 25
+             110:    6(float) CompositeExtract 109 3
+             111:    6(float) ImageSampleDrefImplicitLod 103 109 110
+                              Store 96(r50) 111
+             116:         113 Load 115(g_tTexcdi4)
+             117:          18 Load 20(g_sSamp)
+             119:         118 SampledImage 116 117
+             120:    6(float) CompositeExtract 105 0
+             121:    6(float) CompositeExtract 105 1
+             122:    6(float) CompositeExtract 105 2
+             123:    7(fvec4) CompositeConstruct 120 121 122 25
+             124:    6(float) CompositeExtract 123 3
+             125:    6(float) ImageSampleDrefImplicitLod 119 123 124
+                              Store 112(r52) 125
+             130:         127 Load 129(g_tTexcdu4)
+             131:          18 Load 20(g_sSamp)
+             133:         132 SampledImage 130 131
+             134:    6(float) CompositeExtract 105 0
+             135:    6(float) CompositeExtract 105 1
+             136:    6(float) CompositeExtract 105 2
+             137:    7(fvec4) CompositeConstruct 134 135 136 25
+             138:    6(float) CompositeExtract 137 3
+             139:    6(float) ImageSampleDrefImplicitLod 133 137 138
+                              Store 126(r54) 139
+             146:    145(ptr) AccessChain 141(psout) 142
+                              Store 146 144
+             148:     12(ptr) AccessChain 141(psout) 147
+                              Store 148 143
+             149:8(PS_OUTPUT) Load 141(psout)
+                              ReturnValue 149
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.dualmode.frag.out b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out
new file mode 100644
index 0000000..4ac0d77
--- /dev/null
+++ b/Test/baseResults/hlsl.samplecmp.dualmode.frag.out
@@ -0,0 +1,157 @@
+hlsl.samplecmp.dualmode.frag
+WARNING: AST will form illegal SPIR-V; need to transform to legalize
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7  Function Definition: @main( ( temp 4-component vector of float)
+0:7    Function Parameters: 
+0:?     Sequence
+0:10      texture ( temp float)
+0:10        Construct combined texture-sampler ( temp sampler1DShadow)
+0:10          'g_tTex' (layout( binding=3) uniform texture1DShadow)
+0:10          'g_sSampCmp' (layout( binding=1) uniform sampler)
+0:10        Construct vec2 ( temp 2-component vector of float)
+0:10          Constant:
+0:10            0.100000
+0:10          Constant:
+0:10            0.750000
+0:11      texture ( temp 4-component vector of float)
+0:11        Construct combined texture-sampler ( temp sampler1D)
+0:11          'g_tTex' (layout( binding=3) uniform texture1D)
+0:11          'g_sSamp' (layout( binding=0) uniform sampler)
+0:11        Constant:
+0:11          0.100000
+0:13      Branch: Return with expression
+0:13        Constant:
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:7  Function Definition: main( ( temp void)
+0:7    Function Parameters: 
+0:?     Sequence
+0:7      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:7        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'g_sSamp' (layout( binding=0) uniform sampler)
+0:?     'g_sSampCmp' (layout( binding=1) uniform sampler)
+0:?     'g_tTex' (layout( binding=3) uniform texture1DShadow)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'g_tTex' (layout( binding=3) uniform texture1D)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:7  Function Definition: @main( ( temp 4-component vector of float)
+0:7    Function Parameters: 
+0:?     Sequence
+0:10      texture ( temp float)
+0:10        Construct combined texture-sampler ( temp sampler1DShadow)
+0:10          'g_tTex' (layout( binding=3) uniform texture1DShadow)
+0:10          'g_sSampCmp' (layout( binding=1) uniform sampler)
+0:10        Construct vec2 ( temp 2-component vector of float)
+0:10          Constant:
+0:10            0.100000
+0:10          Constant:
+0:10            0.750000
+0:11      texture ( temp 4-component vector of float)
+0:11        Construct combined texture-sampler ( temp sampler1D)
+0:11          'g_tTex' (layout( binding=3) uniform texture1D)
+0:11          'g_sSamp' (layout( binding=0) uniform sampler)
+0:11        Constant:
+0:11          0.100000
+0:13      Branch: Return with expression
+0:13        Constant:
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:13          0.000000
+0:7  Function Definition: main( ( temp void)
+0:7    Function Parameters: 
+0:?     Sequence
+0:7      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:7        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'g_sSamp' (layout( binding=0) uniform sampler)
+0:?     'g_sSampCmp' (layout( binding=1) uniform sampler)
+0:?     'g_tTex' (layout( binding=3) uniform texture1DShadow)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:?     'g_tTex' (layout( binding=3) uniform texture1D)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 43
+
+                              Capability Shader
+                              Capability Sampled1D
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 41
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 9  "@main("
+                              Name 13  "g_tTex"
+                              Name 17  "g_sSampCmp"
+                              Name 29  "g_tTex"
+                              Name 31  "g_sSamp"
+                              Name 41  "@entryPointOutput"
+                              Decorate 13(g_tTex) DescriptorSet 0
+                              Decorate 13(g_tTex) Binding 3
+                              Decorate 17(g_sSampCmp) DescriptorSet 0
+                              Decorate 17(g_sSampCmp) Binding 1
+                              Decorate 29(g_tTex) DescriptorSet 0
+                              Decorate 29(g_tTex) Binding 3
+                              Decorate 31(g_sSamp) DescriptorSet 0
+                              Decorate 31(g_sSamp) Binding 0
+                              Decorate 41(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeFunction 7(fvec4)
+              11:             TypeImage 6(float) 1D depth sampled format:Unknown
+              12:             TypePointer UniformConstant 11
+      13(g_tTex):     12(ptr) Variable UniformConstant
+              15:             TypeSampler
+              16:             TypePointer UniformConstant 15
+  17(g_sSampCmp):     16(ptr) Variable UniformConstant
+              19:             TypeSampledImage 11
+              21:    6(float) Constant 1036831949
+              22:    6(float) Constant 1061158912
+              23:             TypeVector 6(float) 2
+              27:             TypeImage 6(float) 1D sampled format:Unknown
+              28:             TypePointer UniformConstant 27
+      29(g_tTex):     28(ptr) Variable UniformConstant
+     31(g_sSamp):     16(ptr) Variable UniformConstant
+              33:             TypeSampledImage 27
+              36:    6(float) Constant 0
+              37:    7(fvec4) ConstantComposite 36 36 36 36
+              40:             TypePointer Output 7(fvec4)
+41(@entryPointOutput):     40(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              42:    7(fvec4) FunctionCall 9(@main()
+                              Store 41(@entryPointOutput) 42
+                              Return
+                              FunctionEnd
+       9(@main():    7(fvec4) Function None 8
+              10:             Label
+              14:          11 Load 13(g_tTex)
+              18:          15 Load 17(g_sSampCmp)
+              20:          19 SampledImage 14 18
+              24:   23(fvec2) CompositeConstruct 21 22
+              25:    6(float) CompositeExtract 24 1
+              26:    6(float) ImageSampleDrefImplicitLod 20 24 25
+              30:          27 Load 29(g_tTex)
+              32:          15 Load 31(g_sSamp)
+              34:          33 SampledImage 30 32
+              35:    7(fvec4) ImageSampleImplicitLod 34 21
+                              ReturnValue 37
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.negative.frag.out b/Test/baseResults/hlsl.samplecmp.negative.frag.out
index 99cfdbf..65a69e8 100644
--- a/Test/baseResults/hlsl.samplecmp.negative.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.negative.frag.out
@@ -1,47 +1,48 @@
 hlsl.samplecmp.negative.frag
-ERROR: 0:9: '' : expected: SamplerComparisonState 
+ERROR: 0:10: '' : expected: SamplerComparisonState 
 ERROR: 1 compilation errors.  No code generated.
 
 
 Shader version: 500
 gl_FragCoord origin is upper left
 ERROR: node is still EOpNull!
-0:7  Function Definition: @main( ( temp 4-component vector of float)
-0:7    Function Parameters: 
+0:8  Function Definition: @main( ( temp 4-component vector of float)
+0:8    Function Parameters: 
 0:?     Sequence
-0:8      texture ( temp float)
-0:8        Construct combined texture-sampler ( temp sampler2DShadow)
-0:8          'g_shadowTex' ( uniform texture2D)
-0:8          'g_shadowSamplerComp' ( uniform sampler)
-0:8        Construct vec3 ( temp 3-component vector of float)
+0:9      texture ( temp float)
+0:9        Construct combined texture-sampler ( temp sampler2DShadow)
+0:9          'g_shadowTex' ( uniform texture2DShadow)
+0:9          'g_shadowSamplerComp' ( uniform sampler)
+0:9        Construct vec3 ( temp 3-component vector of float)
 0:?           Constant:
 0:?             0.000000
 0:?             0.000000
-0:8          Constant:
-0:8            0.000000
-0:9      ERROR: Bad aggregation op
+0:9          Constant:
+0:9            0.000000
+0:10      ERROR: Bad aggregation op
  ( temp float)
-0:9        'g_shadowTex' ( uniform texture2D)
-0:9        'g_shadowSampler' ( uniform sampler)
+0:10        'g_nonShadowTex' ( uniform texture2D)
+0:10        'g_shadowSampler' ( uniform sampler)
 0:?         Constant:
 0:?           0.000000
 0:?           0.000000
-0:9        Constant:
-0:9          0.000000
-0:11      Branch: Return with expression
-0:11        Constant:
-0:11          0.000000
-0:11          0.000000
-0:11          0.000000
-0:11          0.000000
-0:7  Function Definition: main( ( temp void)
-0:7    Function Parameters: 
+0:10        Constant:
+0:10          0.000000
+0:12      Branch: Return with expression
+0:12        Constant:
+0:12          0.000000
+0:12          0.000000
+0:12          0.000000
+0:12          0.000000
+0:8  Function Definition: main( ( temp void)
+0:8    Function Parameters: 
 0:?     Sequence
-0:7      move second child to first child ( temp 4-component vector of float)
+0:8      move second child to first child ( temp 4-component vector of float)
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
-0:7        Function Call: @main( ( temp 4-component vector of float)
+0:8        Function Call: @main( ( temp 4-component vector of float)
 0:?   Linker Objects
-0:?     'g_shadowTex' ( uniform texture2D)
+0:?     'g_nonShadowTex' ( uniform texture2D)
+0:?     'g_shadowTex' ( uniform texture2DShadow)
 0:?     'g_shadowSampler' ( uniform sampler)
 0:?     'g_shadowSamplerComp' ( uniform sampler)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
@@ -53,42 +54,43 @@
 Shader version: 500
 gl_FragCoord origin is upper left
 ERROR: node is still EOpNull!
-0:7  Function Definition: @main( ( temp 4-component vector of float)
-0:7    Function Parameters: 
+0:8  Function Definition: @main( ( temp 4-component vector of float)
+0:8    Function Parameters: 
 0:?     Sequence
-0:8      texture ( temp float)
-0:8        Construct combined texture-sampler ( temp sampler2DShadow)
-0:8          'g_shadowTex' ( uniform texture2D)
-0:8          'g_shadowSamplerComp' ( uniform sampler)
-0:8        Construct vec3 ( temp 3-component vector of float)
+0:9      texture ( temp float)
+0:9        Construct combined texture-sampler ( temp sampler2DShadow)
+0:9          'g_shadowTex' ( uniform texture2DShadow)
+0:9          'g_shadowSamplerComp' ( uniform sampler)
+0:9        Construct vec3 ( temp 3-component vector of float)
 0:?           Constant:
 0:?             0.000000
 0:?             0.000000
-0:8          Constant:
-0:8            0.000000
-0:9      ERROR: Bad aggregation op
+0:9          Constant:
+0:9            0.000000
+0:10      ERROR: Bad aggregation op
  ( temp float)
-0:9        'g_shadowTex' ( uniform texture2D)
-0:9        'g_shadowSampler' ( uniform sampler)
+0:10        'g_nonShadowTex' ( uniform texture2D)
+0:10        'g_shadowSampler' ( uniform sampler)
 0:?         Constant:
 0:?           0.000000
 0:?           0.000000
-0:9        Constant:
-0:9          0.000000
-0:11      Branch: Return with expression
-0:11        Constant:
-0:11          0.000000
-0:11          0.000000
-0:11          0.000000
-0:11          0.000000
-0:7  Function Definition: main( ( temp void)
-0:7    Function Parameters: 
+0:10        Constant:
+0:10          0.000000
+0:12      Branch: Return with expression
+0:12        Constant:
+0:12          0.000000
+0:12          0.000000
+0:12          0.000000
+0:12          0.000000
+0:8  Function Definition: main( ( temp void)
+0:8    Function Parameters: 
 0:?     Sequence
-0:7      move second child to first child ( temp 4-component vector of float)
+0:8      move second child to first child ( temp 4-component vector of float)
 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
-0:7        Function Call: @main( ( temp 4-component vector of float)
+0:8        Function Call: @main( ( temp 4-component vector of float)
 0:?   Linker Objects
-0:?     'g_shadowTex' ( uniform texture2D)
+0:?     'g_nonShadowTex' ( uniform texture2D)
+0:?     'g_shadowTex' ( uniform texture2DShadow)
 0:?     'g_shadowSampler' ( uniform sampler)
 0:?     'g_shadowSamplerComp' ( uniform sampler)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index d9e1b77..5b59ab8 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -24,7 +24,7 @@
 0:43          'r03' ( temp float)
 0:43          textureOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -38,7 +38,7 @@
 0:44          'r05' ( temp float)
 0:44          textureOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -52,7 +52,7 @@
 0:47          'r21' ( temp float)
 0:47          textureOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -68,7 +68,7 @@
 0:48          'r23' ( temp float)
 0:48          textureOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -84,7 +84,7 @@
 0:49          'r25' ( temp float)
 0:49          textureOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -135,12 +135,12 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
@@ -174,7 +174,7 @@
 0:42          'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -188,7 +188,7 @@
 0:43          'r03' ( temp float)
 0:43          textureOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -202,7 +202,7 @@
 0:44          'r05' ( temp float)
 0:44          textureOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -216,7 +216,7 @@
 0:47          'r21' ( temp float)
 0:47          textureOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -232,7 +232,7 @@
 0:48          'r23' ( temp float)
 0:48          textureOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -248,7 +248,7 @@
 0:49          'r25' ( temp float)
 0:49          textureOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -299,12 +299,12 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
@@ -324,15 +324,15 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 173
+// Generated by (magic number): 80002
+// Id's are bound by 167
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 121 125
+                              EntryPoint Fragment 4  "main" 115 119
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -343,61 +343,61 @@
                               Name 13  "r01"
                               Name 16  "g_tTex1df4"
                               Name 20  "g_sSamp"
-                              Name 33  "r03"
-                              Name 36  "g_tTex1di4"
-                              Name 45  "r05"
-                              Name 49  "g_tTex1du4"
-                              Name 58  "r21"
-                              Name 61  "g_tTex2df4"
-                              Name 78  "r23"
-                              Name 81  "g_tTex2di4"
-                              Name 92  "r25"
-                              Name 95  "g_tTex2du4"
-                              Name 107  "psout"
-                              Name 118  "flattenTemp"
-                              Name 121  "@entryPointOutput.Color"
-                              Name 125  "@entryPointOutput.Depth"
-                              Name 130  "g_tTex3df4"
-                              Name 133  "g_tTex3di4"
-                              Name 136  "g_tTex3du4"
-                              Name 139  "g_tTexcdf4"
-                              Name 142  "g_tTexcdi4"
-                              Name 145  "g_tTexcdu4"
-                              Name 148  "g_tTex1df4a"
-                              Name 151  "g_tTex1di4a"
-                              Name 154  "g_tTex1du4a"
-                              Name 157  "g_tTex2df4a"
-                              Name 160  "g_tTex2di4a"
-                              Name 163  "g_tTex2du4a"
-                              Name 166  "g_tTexcdf4a"
-                              Name 169  "g_tTexcdi4a"
-                              Name 172  "g_tTexcdu4a"
+                              Name 32  "r03"
+                              Name 35  "g_tTex1di4"
+                              Name 43  "r05"
+                              Name 47  "g_tTex1du4"
+                              Name 55  "r21"
+                              Name 58  "g_tTex2df4"
+                              Name 74  "r23"
+                              Name 77  "g_tTex2di4"
+                              Name 87  "r25"
+                              Name 90  "g_tTex2du4"
+                              Name 101  "psout"
+                              Name 112  "flattenTemp"
+                              Name 115  "@entryPointOutput.Color"
+                              Name 119  "@entryPointOutput.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 16(g_tTex1df4) DescriptorSet 0
                               Decorate 16(g_tTex1df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 36(g_tTex1di4) DescriptorSet 0
-                              Decorate 49(g_tTex1du4) DescriptorSet 0
-                              Decorate 61(g_tTex2df4) DescriptorSet 0
-                              Decorate 81(g_tTex2di4) DescriptorSet 0
-                              Decorate 95(g_tTex2du4) DescriptorSet 0
-                              Decorate 121(@entryPointOutput.Color) Location 0
-                              Decorate 125(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 130(g_tTex3df4) DescriptorSet 0
-                              Decorate 133(g_tTex3di4) DescriptorSet 0
-                              Decorate 136(g_tTex3du4) DescriptorSet 0
-                              Decorate 139(g_tTexcdf4) DescriptorSet 0
-                              Decorate 142(g_tTexcdi4) DescriptorSet 0
-                              Decorate 145(g_tTexcdu4) DescriptorSet 0
-                              Decorate 148(g_tTex1df4a) DescriptorSet 0
-                              Decorate 151(g_tTex1di4a) DescriptorSet 0
-                              Decorate 154(g_tTex1du4a) DescriptorSet 0
-                              Decorate 157(g_tTex2df4a) DescriptorSet 0
-                              Decorate 160(g_tTex2di4a) DescriptorSet 0
-                              Decorate 163(g_tTex2du4a) DescriptorSet 0
-                              Decorate 166(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 169(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 172(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 58(g_tTex2df4) DescriptorSet 0
+                              Decorate 77(g_tTex2di4) DescriptorSet 0
+                              Decorate 90(g_tTex2du4) DescriptorSet 0
+                              Decorate 115(@entryPointOutput.Color) Location 0
+                              Decorate 119(@entryPointOutput.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
@@ -405,180 +405,174 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth sampled format:Unknown
               15:             TypePointer UniformConstant 14
   16(g_tTex1df4):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:    6(float) Constant 1036831949
-              26:    6(float) Constant 1061158912
-              27:             TypeVector 6(float) 2
-              29:             TypeInt 32 1
-              30:     29(int) Constant 2
-              34:             TypeImage 29(int) 1D sampled format:Unknown
-              35:             TypePointer UniformConstant 34
-  36(g_tTex1di4):     35(ptr) Variable UniformConstant
-              39:             TypeImage 29(int) 1D depth sampled format:Unknown
-              40:             TypeSampledImage 39
-              46:             TypeInt 32 0
-              47:             TypeImage 46(int) 1D sampled format:Unknown
-              48:             TypePointer UniformConstant 47
-  49(g_tTex1du4):     48(ptr) Variable UniformConstant
-              52:             TypeImage 46(int) 1D depth sampled format:Unknown
-              53:             TypeSampledImage 52
-              59:             TypeImage 6(float) 2D sampled format:Unknown
-              60:             TypePointer UniformConstant 59
-  61(g_tTex2df4):     60(ptr) Variable UniformConstant
-              64:             TypeImage 6(float) 2D depth sampled format:Unknown
-              65:             TypeSampledImage 64
-              67:    6(float) Constant 1045220557
-              68:   27(fvec2) ConstantComposite 25 67
-              69:             TypeVector 6(float) 3
-              73:             TypeVector 29(int) 2
-              74:     29(int) Constant 3
-              75:   73(ivec2) ConstantComposite 30 74
-              79:             TypeImage 29(int) 2D sampled format:Unknown
-              80:             TypePointer UniformConstant 79
-  81(g_tTex2di4):     80(ptr) Variable UniformConstant
-              84:             TypeImage 29(int) 2D depth sampled format:Unknown
-              85:             TypeSampledImage 84
-              93:             TypeImage 46(int) 2D sampled format:Unknown
-              94:             TypePointer UniformConstant 93
-  95(g_tTex2du4):     94(ptr) Variable UniformConstant
-              98:             TypeImage 46(int) 2D depth sampled format:Unknown
-              99:             TypeSampledImage 98
-             106:             TypePointer Function 8(PS_OUTPUT)
-             108:     29(int) Constant 0
-             109:    6(float) Constant 1065353216
-             110:    7(fvec4) ConstantComposite 109 109 109 109
-             111:             TypePointer Function 7(fvec4)
-             113:     29(int) Constant 1
-             120:             TypePointer Output 7(fvec4)
-121(@entryPointOutput.Color):    120(ptr) Variable Output
-             124:             TypePointer Output 6(float)
-125(@entryPointOutput.Depth):    124(ptr) Variable Output
-             128:             TypeImage 6(float) 3D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:    6(float) Constant 1036831949
+              25:    6(float) Constant 1061158912
+              26:             TypeVector 6(float) 2
+              28:             TypeInt 32 1
+              29:     28(int) Constant 2
+              33:             TypeImage 28(int) 1D depth sampled format:Unknown
+              34:             TypePointer UniformConstant 33
+  35(g_tTex1di4):     34(ptr) Variable UniformConstant
+              38:             TypeSampledImage 33
+              44:             TypeInt 32 0
+              45:             TypeImage 44(int) 1D depth sampled format:Unknown
+              46:             TypePointer UniformConstant 45
+  47(g_tTex1du4):     46(ptr) Variable UniformConstant
+              50:             TypeSampledImage 45
+              56:             TypeImage 6(float) 2D depth sampled format:Unknown
+              57:             TypePointer UniformConstant 56
+  58(g_tTex2df4):     57(ptr) Variable UniformConstant
+              61:             TypeSampledImage 56
+              63:    6(float) Constant 1045220557
+              64:   26(fvec2) ConstantComposite 24 63
+              65:             TypeVector 6(float) 3
+              69:             TypeVector 28(int) 2
+              70:     28(int) Constant 3
+              71:   69(ivec2) ConstantComposite 29 70
+              75:             TypeImage 28(int) 2D depth sampled format:Unknown
+              76:             TypePointer UniformConstant 75
+  77(g_tTex2di4):     76(ptr) Variable UniformConstant
+              80:             TypeSampledImage 75
+              88:             TypeImage 44(int) 2D depth sampled format:Unknown
+              89:             TypePointer UniformConstant 88
+  90(g_tTex2du4):     89(ptr) Variable UniformConstant
+              93:             TypeSampledImage 88
+             100:             TypePointer Function 8(PS_OUTPUT)
+             102:     28(int) Constant 0
+             103:    6(float) Constant 1065353216
+             104:    7(fvec4) ConstantComposite 103 103 103 103
+             105:             TypePointer Function 7(fvec4)
+             107:     28(int) Constant 1
+             114:             TypePointer Output 7(fvec4)
+115(@entryPointOutput.Color):    114(ptr) Variable Output
+             118:             TypePointer Output 6(float)
+119(@entryPointOutput.Depth):    118(ptr) Variable Output
+             122:             TypeImage 6(float) 3D sampled format:Unknown
+             123:             TypePointer UniformConstant 122
+ 124(g_tTex3df4):    123(ptr) Variable UniformConstant
+             125:             TypeImage 28(int) 3D sampled format:Unknown
+             126:             TypePointer UniformConstant 125
+ 127(g_tTex3di4):    126(ptr) Variable UniformConstant
+             128:             TypeImage 44(int) 3D sampled format:Unknown
              129:             TypePointer UniformConstant 128
- 130(g_tTex3df4):    129(ptr) Variable UniformConstant
-             131:             TypeImage 29(int) 3D sampled format:Unknown
+ 130(g_tTex3du4):    129(ptr) Variable UniformConstant
+             131:             TypeImage 6(float) Cube sampled format:Unknown
              132:             TypePointer UniformConstant 131
- 133(g_tTex3di4):    132(ptr) Variable UniformConstant
-             134:             TypeImage 46(int) 3D sampled format:Unknown
+ 133(g_tTexcdf4):    132(ptr) Variable UniformConstant
+             134:             TypeImage 28(int) Cube sampled format:Unknown
              135:             TypePointer UniformConstant 134
- 136(g_tTex3du4):    135(ptr) Variable UniformConstant
-             137:             TypeImage 6(float) Cube sampled format:Unknown
+ 136(g_tTexcdi4):    135(ptr) Variable UniformConstant
+             137:             TypeImage 44(int) Cube sampled format:Unknown
              138:             TypePointer UniformConstant 137
- 139(g_tTexcdf4):    138(ptr) Variable UniformConstant
-             140:             TypeImage 29(int) Cube sampled format:Unknown
+ 139(g_tTexcdu4):    138(ptr) Variable UniformConstant
+             140:             TypeImage 6(float) 1D array sampled format:Unknown
              141:             TypePointer UniformConstant 140
- 142(g_tTexcdi4):    141(ptr) Variable UniformConstant
-             143:             TypeImage 46(int) Cube sampled format:Unknown
+142(g_tTex1df4a):    141(ptr) Variable UniformConstant
+             143:             TypeImage 28(int) 1D array sampled format:Unknown
              144:             TypePointer UniformConstant 143
- 145(g_tTexcdu4):    144(ptr) Variable UniformConstant
-             146:             TypeImage 6(float) 1D array sampled format:Unknown
+145(g_tTex1di4a):    144(ptr) Variable UniformConstant
+             146:             TypeImage 44(int) 1D array sampled format:Unknown
              147:             TypePointer UniformConstant 146
-148(g_tTex1df4a):    147(ptr) Variable UniformConstant
-             149:             TypeImage 29(int) 1D array sampled format:Unknown
+148(g_tTex1du4a):    147(ptr) Variable UniformConstant
+             149:             TypeImage 6(float) 2D array sampled format:Unknown
              150:             TypePointer UniformConstant 149
-151(g_tTex1di4a):    150(ptr) Variable UniformConstant
-             152:             TypeImage 46(int) 1D array sampled format:Unknown
+151(g_tTex2df4a):    150(ptr) Variable UniformConstant
+             152:             TypeImage 28(int) 2D array sampled format:Unknown
              153:             TypePointer UniformConstant 152
-154(g_tTex1du4a):    153(ptr) Variable UniformConstant
-             155:             TypeImage 6(float) 2D array sampled format:Unknown
+154(g_tTex2di4a):    153(ptr) Variable UniformConstant
+             155:             TypeImage 44(int) 2D array sampled format:Unknown
              156:             TypePointer UniformConstant 155
-157(g_tTex2df4a):    156(ptr) Variable UniformConstant
-             158:             TypeImage 29(int) 2D array sampled format:Unknown
+157(g_tTex2du4a):    156(ptr) Variable UniformConstant
+             158:             TypeImage 6(float) Cube array sampled format:Unknown
              159:             TypePointer UniformConstant 158
-160(g_tTex2di4a):    159(ptr) Variable UniformConstant
-             161:             TypeImage 46(int) 2D array sampled format:Unknown
+160(g_tTexcdf4a):    159(ptr) Variable UniformConstant
+             161:             TypeImage 28(int) Cube array sampled format:Unknown
              162:             TypePointer UniformConstant 161
-163(g_tTex2du4a):    162(ptr) Variable UniformConstant
-             164:             TypeImage 6(float) Cube array sampled format:Unknown
+163(g_tTexcdi4a):    162(ptr) Variable UniformConstant
+             164:             TypeImage 44(int) Cube array sampled format:Unknown
              165:             TypePointer UniformConstant 164
-166(g_tTexcdf4a):    165(ptr) Variable UniformConstant
-             167:             TypeImage 29(int) Cube array sampled format:Unknown
-             168:             TypePointer UniformConstant 167
-169(g_tTexcdi4a):    168(ptr) Variable UniformConstant
-             170:             TypeImage 46(int) Cube array sampled format:Unknown
-             171:             TypePointer UniformConstant 170
-172(g_tTexcdu4a):    171(ptr) Variable UniformConstant
+166(g_tTexcdu4a):    165(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-118(flattenTemp):    106(ptr) Variable Function
-             119:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 118(flattenTemp) 119
-             122:    111(ptr) AccessChain 118(flattenTemp) 108
-             123:    7(fvec4) Load 122
-                              Store 121(@entryPointOutput.Color) 123
-             126:     12(ptr) AccessChain 118(flattenTemp) 113
-             127:    6(float) Load 126
-                              Store 125(@entryPointOutput.Depth) 127
+112(flattenTemp):    100(ptr) Variable Function
+             113:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 112(flattenTemp) 113
+             116:    105(ptr) AccessChain 112(flattenTemp) 102
+             117:    7(fvec4) Load 116
+                              Store 115(@entryPointOutput.Color) 117
+             120:     12(ptr) AccessChain 112(flattenTemp) 107
+             121:    6(float) Load 120
+                              Store 119(@entryPointOutput.Depth) 121
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r01):     12(ptr) Variable Function
-         33(r03):     12(ptr) Variable Function
-         45(r05):     12(ptr) Variable Function
-         58(r21):     12(ptr) Variable Function
-         78(r23):     12(ptr) Variable Function
-         92(r25):     12(ptr) Variable Function
-      107(psout):    106(ptr) Variable Function
+         32(r03):     12(ptr) Variable Function
+         43(r05):     12(ptr) Variable Function
+         55(r21):     12(ptr) Variable Function
+         74(r23):     12(ptr) Variable Function
+         87(r25):     12(ptr) Variable Function
+      101(psout):    100(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              28:   27(fvec2) CompositeConstruct 25 26
-              31:    6(float) CompositeExtract 28 1
-              32:    6(float) ImageSampleDrefImplicitLod 24 28 31 ConstOffset 30
-                              Store 13(r01) 32
-              37:          34 Load 36(g_tTex1di4)
-              38:          18 Load 20(g_sSamp)
-              41:          40 SampledImage 37 38
-              42:   27(fvec2) CompositeConstruct 25 26
-              43:    6(float) CompositeExtract 42 1
-              44:    6(float) ImageSampleDrefImplicitLod 41 42 43 ConstOffset 30
-                              Store 33(r03) 44
-              50:          47 Load 49(g_tTex1du4)
-              51:          18 Load 20(g_sSamp)
-              54:          53 SampledImage 50 51
-              55:   27(fvec2) CompositeConstruct 25 26
-              56:    6(float) CompositeExtract 55 1
-              57:    6(float) ImageSampleDrefImplicitLod 54 55 56 ConstOffset 30
-                              Store 45(r05) 57
-              62:          59 Load 61(g_tTex2df4)
-              63:          18 Load 20(g_sSamp)
-              66:          65 SampledImage 62 63
-              70:    6(float) CompositeExtract 68 0
-              71:    6(float) CompositeExtract 68 1
-              72:   69(fvec3) CompositeConstruct 70 71 26
-              76:    6(float) CompositeExtract 72 2
-              77:    6(float) ImageSampleDrefImplicitLod 66 72 76 ConstOffset 75
-                              Store 58(r21) 77
-              82:          79 Load 81(g_tTex2di4)
-              83:          18 Load 20(g_sSamp)
-              86:          85 SampledImage 82 83
-              87:    6(float) CompositeExtract 68 0
-              88:    6(float) CompositeExtract 68 1
-              89:   69(fvec3) CompositeConstruct 87 88 26
-              90:    6(float) CompositeExtract 89 2
-              91:    6(float) ImageSampleDrefImplicitLod 86 89 90 ConstOffset 75
-                              Store 78(r23) 91
-              96:          93 Load 95(g_tTex2du4)
-              97:          18 Load 20(g_sSamp)
-             100:          99 SampledImage 96 97
-             101:    6(float) CompositeExtract 68 0
-             102:    6(float) CompositeExtract 68 1
-             103:   69(fvec3) CompositeConstruct 101 102 26
-             104:    6(float) CompositeExtract 103 2
-             105:    6(float) ImageSampleDrefImplicitLod 100 103 104 ConstOffset 75
-                              Store 92(r25) 105
-             112:    111(ptr) AccessChain 107(psout) 108
-                              Store 112 110
-             114:     12(ptr) AccessChain 107(psout) 113
-                              Store 114 109
-             115:8(PS_OUTPUT) Load 107(psout)
-                              ReturnValue 115
+              23:          22 SampledImage 17 21
+              27:   26(fvec2) CompositeConstruct 24 25
+              30:    6(float) CompositeExtract 27 1
+              31:    6(float) ImageSampleDrefImplicitLod 23 27 30 ConstOffset 29
+                              Store 13(r01) 31
+              36:          33 Load 35(g_tTex1di4)
+              37:          18 Load 20(g_sSamp)
+              39:          38 SampledImage 36 37
+              40:   26(fvec2) CompositeConstruct 24 25
+              41:    6(float) CompositeExtract 40 1
+              42:    6(float) ImageSampleDrefImplicitLod 39 40 41 ConstOffset 29
+                              Store 32(r03) 42
+              48:          45 Load 47(g_tTex1du4)
+              49:          18 Load 20(g_sSamp)
+              51:          50 SampledImage 48 49
+              52:   26(fvec2) CompositeConstruct 24 25
+              53:    6(float) CompositeExtract 52 1
+              54:    6(float) ImageSampleDrefImplicitLod 51 52 53 ConstOffset 29
+                              Store 43(r05) 54
+              59:          56 Load 58(g_tTex2df4)
+              60:          18 Load 20(g_sSamp)
+              62:          61 SampledImage 59 60
+              66:    6(float) CompositeExtract 64 0
+              67:    6(float) CompositeExtract 64 1
+              68:   65(fvec3) CompositeConstruct 66 67 25
+              72:    6(float) CompositeExtract 68 2
+              73:    6(float) ImageSampleDrefImplicitLod 62 68 72 ConstOffset 71
+                              Store 55(r21) 73
+              78:          75 Load 77(g_tTex2di4)
+              79:          18 Load 20(g_sSamp)
+              81:          80 SampledImage 78 79
+              82:    6(float) CompositeExtract 64 0
+              83:    6(float) CompositeExtract 64 1
+              84:   65(fvec3) CompositeConstruct 82 83 25
+              85:    6(float) CompositeExtract 84 2
+              86:    6(float) ImageSampleDrefImplicitLod 81 84 85 ConstOffset 71
+                              Store 74(r23) 86
+              91:          88 Load 90(g_tTex2du4)
+              92:          18 Load 20(g_sSamp)
+              94:          93 SampledImage 91 92
+              95:    6(float) CompositeExtract 64 0
+              96:    6(float) CompositeExtract 64 1
+              97:   65(fvec3) CompositeConstruct 95 96 25
+              98:    6(float) CompositeExtract 97 2
+              99:    6(float) ImageSampleDrefImplicitLod 94 97 98 ConstOffset 71
+                              Store 87(r25) 99
+             106:    105(ptr) AccessChain 101(psout) 102
+                              Store 106 104
+             108:     12(ptr) AccessChain 101(psout) 107
+                              Store 108 103
+             109:8(PS_OUTPUT) Load 101(psout)
+                              ReturnValue 109
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index 067c8a6..a2a9904 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r11' ( temp float)
 0:42          textureOffset ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -25,7 +25,7 @@
 0:43          'r13' ( temp float)
 0:43          textureOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -40,7 +40,7 @@
 0:44          'r15' ( temp float)
 0:44          textureOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -55,7 +55,7 @@
 0:47          'r31' ( temp float)
 0:47          textureOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -72,7 +72,7 @@
 0:48          'r33' ( temp float)
 0:48          textureOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -89,7 +89,7 @@
 0:49          'r35' ( temp float)
 0:49          textureOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -153,12 +153,12 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
@@ -180,7 +180,7 @@
 0:42          'r11' ( temp float)
 0:42          textureOffset ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -195,7 +195,7 @@
 0:43          'r13' ( temp float)
 0:43          textureOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -210,7 +210,7 @@
 0:44          'r15' ( temp float)
 0:44          textureOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -225,7 +225,7 @@
 0:47          'r31' ( temp float)
 0:47          textureOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -242,7 +242,7 @@
 0:48          'r33' ( temp float)
 0:48          textureOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -259,7 +259,7 @@
 0:49          'r35' ( temp float)
 0:49          textureOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -323,12 +323,12 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
@@ -336,15 +336,15 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 184
+// Generated by (magic number): 80002
+// Id's are bound by 178
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 132 136
+                              EntryPoint Fragment 4  "main" 126 130
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -355,61 +355,61 @@
                               Name 13  "r11"
                               Name 16  "g_tTex1df4a"
                               Name 20  "g_sSamp"
-                              Name 38  "r13"
-                              Name 41  "g_tTex1di4a"
-                              Name 52  "r15"
-                              Name 56  "g_tTex1du4a"
-                              Name 67  "r31"
-                              Name 70  "g_tTex2df4a"
-                              Name 87  "r33"
-                              Name 90  "g_tTex2di4a"
-                              Name 102  "r35"
-                              Name 105  "g_tTex2du4a"
-                              Name 118  "psout"
-                              Name 129  "flattenTemp"
-                              Name 132  "@entryPointOutput.Color"
-                              Name 136  "@entryPointOutput.Depth"
-                              Name 141  "g_tTex1df4"
-                              Name 144  "g_tTex1di4"
-                              Name 147  "g_tTex1du4"
-                              Name 150  "g_tTex2df4"
-                              Name 153  "g_tTex2di4"
-                              Name 156  "g_tTex2du4"
-                              Name 159  "g_tTex3df4"
-                              Name 162  "g_tTex3di4"
-                              Name 165  "g_tTex3du4"
-                              Name 168  "g_tTexcdf4"
-                              Name 171  "g_tTexcdi4"
-                              Name 174  "g_tTexcdu4"
-                              Name 177  "g_tTexcdf4a"
-                              Name 180  "g_tTexcdi4a"
-                              Name 183  "g_tTexcdu4a"
+                              Name 37  "r13"
+                              Name 40  "g_tTex1di4a"
+                              Name 50  "r15"
+                              Name 54  "g_tTex1du4a"
+                              Name 64  "r31"
+                              Name 67  "g_tTex2df4a"
+                              Name 83  "r33"
+                              Name 86  "g_tTex2di4a"
+                              Name 97  "r35"
+                              Name 100  "g_tTex2du4a"
+                              Name 112  "psout"
+                              Name 123  "flattenTemp"
+                              Name 126  "@entryPointOutput.Color"
+                              Name 130  "@entryPointOutput.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 16(g_tTex1df4a) DescriptorSet 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 41(g_tTex1di4a) DescriptorSet 0
-                              Decorate 56(g_tTex1du4a) DescriptorSet 0
-                              Decorate 70(g_tTex2df4a) DescriptorSet 0
-                              Decorate 90(g_tTex2di4a) DescriptorSet 0
-                              Decorate 105(g_tTex2du4a) DescriptorSet 0
-                              Decorate 132(@entryPointOutput.Color) Location 0
-                              Decorate 136(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 141(g_tTex1df4) DescriptorSet 0
-                              Decorate 141(g_tTex1df4) Binding 0
-                              Decorate 144(g_tTex1di4) DescriptorSet 0
-                              Decorate 147(g_tTex1du4) DescriptorSet 0
-                              Decorate 150(g_tTex2df4) DescriptorSet 0
-                              Decorate 153(g_tTex2di4) DescriptorSet 0
-                              Decorate 156(g_tTex2du4) DescriptorSet 0
-                              Decorate 159(g_tTex3df4) DescriptorSet 0
-                              Decorate 162(g_tTex3di4) DescriptorSet 0
-                              Decorate 165(g_tTex3du4) DescriptorSet 0
-                              Decorate 168(g_tTexcdf4) DescriptorSet 0
-                              Decorate 171(g_tTexcdi4) DescriptorSet 0
-                              Decorate 174(g_tTexcdu4) DescriptorSet 0
-                              Decorate 177(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 180(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 183(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 40(g_tTex1di4a) DescriptorSet 0
+                              Decorate 54(g_tTex1du4a) DescriptorSet 0
+                              Decorate 67(g_tTex2df4a) DescriptorSet 0
+                              Decorate 86(g_tTex2di4a) DescriptorSet 0
+                              Decorate 100(g_tTex2du4a) DescriptorSet 0
+                              Decorate 126(@entryPointOutput.Color) Location 0
+                              Decorate 130(@entryPointOutput.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
@@ -417,191 +417,185 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D array sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth array sampled format:Unknown
               15:             TypePointer UniformConstant 14
  16(g_tTex1df4a):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth array sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:             TypeVector 6(float) 2
-              26:    6(float) Constant 1036831949
-              27:    6(float) Constant 1045220557
-              28:   25(fvec2) ConstantComposite 26 27
-              29:    6(float) Constant 1061158912
-              30:             TypeVector 6(float) 3
-              34:             TypeInt 32 1
-              35:     34(int) Constant 2
-              39:             TypeImage 34(int) 1D array sampled format:Unknown
-              40:             TypePointer UniformConstant 39
- 41(g_tTex1di4a):     40(ptr) Variable UniformConstant
-              44:             TypeImage 34(int) 1D depth array sampled format:Unknown
-              45:             TypeSampledImage 44
-              53:             TypeInt 32 0
-              54:             TypeImage 53(int) 1D array sampled format:Unknown
-              55:             TypePointer UniformConstant 54
- 56(g_tTex1du4a):     55(ptr) Variable UniformConstant
-              59:             TypeImage 53(int) 1D depth array sampled format:Unknown
-              60:             TypeSampledImage 59
-              68:             TypeImage 6(float) 2D array sampled format:Unknown
-              69:             TypePointer UniformConstant 68
- 70(g_tTex2df4a):     69(ptr) Variable UniformConstant
-              73:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              74:             TypeSampledImage 73
-              76:    6(float) Constant 1050253722
-              77:   30(fvec3) ConstantComposite 26 27 76
-              82:             TypeVector 34(int) 2
-              83:     34(int) Constant 3
-              84:   82(ivec2) ConstantComposite 35 83
-              88:             TypeImage 34(int) 2D array sampled format:Unknown
-              89:             TypePointer UniformConstant 88
- 90(g_tTex2di4a):     89(ptr) Variable UniformConstant
-              93:             TypeImage 34(int) 2D depth array sampled format:Unknown
-              94:             TypeSampledImage 93
-             103:             TypeImage 53(int) 2D array sampled format:Unknown
-             104:             TypePointer UniformConstant 103
-105(g_tTex2du4a):    104(ptr) Variable UniformConstant
-             108:             TypeImage 53(int) 2D depth array sampled format:Unknown
-             109:             TypeSampledImage 108
-             117:             TypePointer Function 8(PS_OUTPUT)
-             119:     34(int) Constant 0
-             120:    6(float) Constant 1065353216
-             121:    7(fvec4) ConstantComposite 120 120 120 120
-             122:             TypePointer Function 7(fvec4)
-             124:     34(int) Constant 1
-             131:             TypePointer Output 7(fvec4)
-132(@entryPointOutput.Color):    131(ptr) Variable Output
-             135:             TypePointer Output 6(float)
-136(@entryPointOutput.Depth):    135(ptr) Variable Output
-             139:             TypeImage 6(float) 1D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:             TypeVector 6(float) 2
+              25:    6(float) Constant 1036831949
+              26:    6(float) Constant 1045220557
+              27:   24(fvec2) ConstantComposite 25 26
+              28:    6(float) Constant 1061158912
+              29:             TypeVector 6(float) 3
+              33:             TypeInt 32 1
+              34:     33(int) Constant 2
+              38:             TypeImage 33(int) 1D depth array sampled format:Unknown
+              39:             TypePointer UniformConstant 38
+ 40(g_tTex1di4a):     39(ptr) Variable UniformConstant
+              43:             TypeSampledImage 38
+              51:             TypeInt 32 0
+              52:             TypeImage 51(int) 1D depth array sampled format:Unknown
+              53:             TypePointer UniformConstant 52
+ 54(g_tTex1du4a):     53(ptr) Variable UniformConstant
+              57:             TypeSampledImage 52
+              65:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              66:             TypePointer UniformConstant 65
+ 67(g_tTex2df4a):     66(ptr) Variable UniformConstant
+              70:             TypeSampledImage 65
+              72:    6(float) Constant 1050253722
+              73:   29(fvec3) ConstantComposite 25 26 72
+              78:             TypeVector 33(int) 2
+              79:     33(int) Constant 3
+              80:   78(ivec2) ConstantComposite 34 79
+              84:             TypeImage 33(int) 2D depth array sampled format:Unknown
+              85:             TypePointer UniformConstant 84
+ 86(g_tTex2di4a):     85(ptr) Variable UniformConstant
+              89:             TypeSampledImage 84
+              98:             TypeImage 51(int) 2D depth array sampled format:Unknown
+              99:             TypePointer UniformConstant 98
+100(g_tTex2du4a):     99(ptr) Variable UniformConstant
+             103:             TypeSampledImage 98
+             111:             TypePointer Function 8(PS_OUTPUT)
+             113:     33(int) Constant 0
+             114:    6(float) Constant 1065353216
+             115:    7(fvec4) ConstantComposite 114 114 114 114
+             116:             TypePointer Function 7(fvec4)
+             118:     33(int) Constant 1
+             125:             TypePointer Output 7(fvec4)
+126(@entryPointOutput.Color):    125(ptr) Variable Output
+             129:             TypePointer Output 6(float)
+130(@entryPointOutput.Depth):    129(ptr) Variable Output
+             133:             TypeImage 6(float) 1D sampled format:Unknown
+             134:             TypePointer UniformConstant 133
+ 135(g_tTex1df4):    134(ptr) Variable UniformConstant
+             136:             TypeImage 33(int) 1D sampled format:Unknown
+             137:             TypePointer UniformConstant 136
+ 138(g_tTex1di4):    137(ptr) Variable UniformConstant
+             139:             TypeImage 51(int) 1D sampled format:Unknown
              140:             TypePointer UniformConstant 139
- 141(g_tTex1df4):    140(ptr) Variable UniformConstant
-             142:             TypeImage 34(int) 1D sampled format:Unknown
+ 141(g_tTex1du4):    140(ptr) Variable UniformConstant
+             142:             TypeImage 6(float) 2D sampled format:Unknown
              143:             TypePointer UniformConstant 142
- 144(g_tTex1di4):    143(ptr) Variable UniformConstant
-             145:             TypeImage 53(int) 1D sampled format:Unknown
+ 144(g_tTex2df4):    143(ptr) Variable UniformConstant
+             145:             TypeImage 33(int) 2D sampled format:Unknown
              146:             TypePointer UniformConstant 145
- 147(g_tTex1du4):    146(ptr) Variable UniformConstant
-             148:             TypeImage 6(float) 2D sampled format:Unknown
+ 147(g_tTex2di4):    146(ptr) Variable UniformConstant
+             148:             TypeImage 51(int) 2D sampled format:Unknown
              149:             TypePointer UniformConstant 148
- 150(g_tTex2df4):    149(ptr) Variable UniformConstant
-             151:             TypeImage 34(int) 2D sampled format:Unknown
+ 150(g_tTex2du4):    149(ptr) Variable UniformConstant
+             151:             TypeImage 6(float) 3D sampled format:Unknown
              152:             TypePointer UniformConstant 151
- 153(g_tTex2di4):    152(ptr) Variable UniformConstant
-             154:             TypeImage 53(int) 2D sampled format:Unknown
+ 153(g_tTex3df4):    152(ptr) Variable UniformConstant
+             154:             TypeImage 33(int) 3D sampled format:Unknown
              155:             TypePointer UniformConstant 154
- 156(g_tTex2du4):    155(ptr) Variable UniformConstant
-             157:             TypeImage 6(float) 3D sampled format:Unknown
+ 156(g_tTex3di4):    155(ptr) Variable UniformConstant
+             157:             TypeImage 51(int) 3D sampled format:Unknown
              158:             TypePointer UniformConstant 157
- 159(g_tTex3df4):    158(ptr) Variable UniformConstant
-             160:             TypeImage 34(int) 3D sampled format:Unknown
+ 159(g_tTex3du4):    158(ptr) Variable UniformConstant
+             160:             TypeImage 6(float) Cube sampled format:Unknown
              161:             TypePointer UniformConstant 160
- 162(g_tTex3di4):    161(ptr) Variable UniformConstant
-             163:             TypeImage 53(int) 3D sampled format:Unknown
+ 162(g_tTexcdf4):    161(ptr) Variable UniformConstant
+             163:             TypeImage 33(int) Cube sampled format:Unknown
              164:             TypePointer UniformConstant 163
- 165(g_tTex3du4):    164(ptr) Variable UniformConstant
-             166:             TypeImage 6(float) Cube sampled format:Unknown
+ 165(g_tTexcdi4):    164(ptr) Variable UniformConstant
+             166:             TypeImage 51(int) Cube sampled format:Unknown
              167:             TypePointer UniformConstant 166
- 168(g_tTexcdf4):    167(ptr) Variable UniformConstant
-             169:             TypeImage 34(int) Cube sampled format:Unknown
+ 168(g_tTexcdu4):    167(ptr) Variable UniformConstant
+             169:             TypeImage 6(float) Cube array sampled format:Unknown
              170:             TypePointer UniformConstant 169
- 171(g_tTexcdi4):    170(ptr) Variable UniformConstant
-             172:             TypeImage 53(int) Cube sampled format:Unknown
+171(g_tTexcdf4a):    170(ptr) Variable UniformConstant
+             172:             TypeImage 33(int) Cube array sampled format:Unknown
              173:             TypePointer UniformConstant 172
- 174(g_tTexcdu4):    173(ptr) Variable UniformConstant
-             175:             TypeImage 6(float) Cube array sampled format:Unknown
+174(g_tTexcdi4a):    173(ptr) Variable UniformConstant
+             175:             TypeImage 51(int) Cube array sampled format:Unknown
              176:             TypePointer UniformConstant 175
-177(g_tTexcdf4a):    176(ptr) Variable UniformConstant
-             178:             TypeImage 34(int) Cube array sampled format:Unknown
-             179:             TypePointer UniformConstant 178
-180(g_tTexcdi4a):    179(ptr) Variable UniformConstant
-             181:             TypeImage 53(int) Cube array sampled format:Unknown
-             182:             TypePointer UniformConstant 181
-183(g_tTexcdu4a):    182(ptr) Variable UniformConstant
+177(g_tTexcdu4a):    176(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-129(flattenTemp):    117(ptr) Variable Function
-             130:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 129(flattenTemp) 130
-             133:    122(ptr) AccessChain 129(flattenTemp) 119
-             134:    7(fvec4) Load 133
-                              Store 132(@entryPointOutput.Color) 134
-             137:     12(ptr) AccessChain 129(flattenTemp) 124
-             138:    6(float) Load 137
-                              Store 136(@entryPointOutput.Depth) 138
+123(flattenTemp):    111(ptr) Variable Function
+             124:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 123(flattenTemp) 124
+             127:    116(ptr) AccessChain 123(flattenTemp) 113
+             128:    7(fvec4) Load 127
+                              Store 126(@entryPointOutput.Color) 128
+             131:     12(ptr) AccessChain 123(flattenTemp) 118
+             132:    6(float) Load 131
+                              Store 130(@entryPointOutput.Depth) 132
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r11):     12(ptr) Variable Function
-         38(r13):     12(ptr) Variable Function
-         52(r15):     12(ptr) Variable Function
-         67(r31):     12(ptr) Variable Function
-         87(r33):     12(ptr) Variable Function
-        102(r35):     12(ptr) Variable Function
-      118(psout):    117(ptr) Variable Function
+         37(r13):     12(ptr) Variable Function
+         50(r15):     12(ptr) Variable Function
+         64(r31):     12(ptr) Variable Function
+         83(r33):     12(ptr) Variable Function
+         97(r35):     12(ptr) Variable Function
+      112(psout):    111(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4a)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              31:    6(float) CompositeExtract 28 0
-              32:    6(float) CompositeExtract 28 1
-              33:   30(fvec3) CompositeConstruct 31 32 29
-              36:    6(float) CompositeExtract 33 2
-              37:    6(float) ImageSampleDrefImplicitLod 24 33 36 ConstOffset 35
-                              Store 13(r11) 37
-              42:          39 Load 41(g_tTex1di4a)
-              43:          18 Load 20(g_sSamp)
-              46:          45 SampledImage 42 43
-              47:    6(float) CompositeExtract 28 0
-              48:    6(float) CompositeExtract 28 1
-              49:   30(fvec3) CompositeConstruct 47 48 29
-              50:    6(float) CompositeExtract 49 2
-              51:    6(float) ImageSampleDrefImplicitLod 46 49 50 ConstOffset 35
-                              Store 38(r13) 51
-              57:          54 Load 56(g_tTex1du4a)
-              58:          18 Load 20(g_sSamp)
-              61:          60 SampledImage 57 58
-              62:    6(float) CompositeExtract 28 0
-              63:    6(float) CompositeExtract 28 1
-              64:   30(fvec3) CompositeConstruct 62 63 29
-              65:    6(float) CompositeExtract 64 2
-              66:    6(float) ImageSampleDrefImplicitLod 61 64 65 ConstOffset 35
-                              Store 52(r15) 66
-              71:          68 Load 70(g_tTex2df4a)
-              72:          18 Load 20(g_sSamp)
-              75:          74 SampledImage 71 72
-              78:    6(float) CompositeExtract 77 0
-              79:    6(float) CompositeExtract 77 1
-              80:    6(float) CompositeExtract 77 2
-              81:    7(fvec4) CompositeConstruct 78 79 80 29
-              85:    6(float) CompositeExtract 81 3
-              86:    6(float) ImageSampleDrefImplicitLod 75 81 85 ConstOffset 84
-                              Store 67(r31) 86
-              91:          88 Load 90(g_tTex2di4a)
-              92:          18 Load 20(g_sSamp)
-              95:          94 SampledImage 91 92
-              96:    6(float) CompositeExtract 77 0
-              97:    6(float) CompositeExtract 77 1
-              98:    6(float) CompositeExtract 77 2
-              99:    7(fvec4) CompositeConstruct 96 97 98 29
-             100:    6(float) CompositeExtract 99 3
-             101:    6(float) ImageSampleDrefImplicitLod 95 99 100 ConstOffset 84
-                              Store 87(r33) 101
-             106:         103 Load 105(g_tTex2du4a)
-             107:          18 Load 20(g_sSamp)
-             110:         109 SampledImage 106 107
-             111:    6(float) CompositeExtract 77 0
-             112:    6(float) CompositeExtract 77 1
-             113:    6(float) CompositeExtract 77 2
-             114:    7(fvec4) CompositeConstruct 111 112 113 29
-             115:    6(float) CompositeExtract 114 3
-             116:    6(float) ImageSampleDrefImplicitLod 110 114 115 ConstOffset 84
-                              Store 102(r35) 116
-             123:    122(ptr) AccessChain 118(psout) 119
-                              Store 123 121
-             125:     12(ptr) AccessChain 118(psout) 124
-                              Store 125 120
-             126:8(PS_OUTPUT) Load 118(psout)
-                              ReturnValue 126
+              23:          22 SampledImage 17 21
+              30:    6(float) CompositeExtract 27 0
+              31:    6(float) CompositeExtract 27 1
+              32:   29(fvec3) CompositeConstruct 30 31 28
+              35:    6(float) CompositeExtract 32 2
+              36:    6(float) ImageSampleDrefImplicitLod 23 32 35 ConstOffset 34
+                              Store 13(r11) 36
+              41:          38 Load 40(g_tTex1di4a)
+              42:          18 Load 20(g_sSamp)
+              44:          43 SampledImage 41 42
+              45:    6(float) CompositeExtract 27 0
+              46:    6(float) CompositeExtract 27 1
+              47:   29(fvec3) CompositeConstruct 45 46 28
+              48:    6(float) CompositeExtract 47 2
+              49:    6(float) ImageSampleDrefImplicitLod 44 47 48 ConstOffset 34
+                              Store 37(r13) 49
+              55:          52 Load 54(g_tTex1du4a)
+              56:          18 Load 20(g_sSamp)
+              58:          57 SampledImage 55 56
+              59:    6(float) CompositeExtract 27 0
+              60:    6(float) CompositeExtract 27 1
+              61:   29(fvec3) CompositeConstruct 59 60 28
+              62:    6(float) CompositeExtract 61 2
+              63:    6(float) ImageSampleDrefImplicitLod 58 61 62 ConstOffset 34
+                              Store 50(r15) 63
+              68:          65 Load 67(g_tTex2df4a)
+              69:          18 Load 20(g_sSamp)
+              71:          70 SampledImage 68 69
+              74:    6(float) CompositeExtract 73 0
+              75:    6(float) CompositeExtract 73 1
+              76:    6(float) CompositeExtract 73 2
+              77:    7(fvec4) CompositeConstruct 74 75 76 28
+              81:    6(float) CompositeExtract 77 3
+              82:    6(float) ImageSampleDrefImplicitLod 71 77 81 ConstOffset 80
+                              Store 64(r31) 82
+              87:          84 Load 86(g_tTex2di4a)
+              88:          18 Load 20(g_sSamp)
+              90:          89 SampledImage 87 88
+              91:    6(float) CompositeExtract 73 0
+              92:    6(float) CompositeExtract 73 1
+              93:    6(float) CompositeExtract 73 2
+              94:    7(fvec4) CompositeConstruct 91 92 93 28
+              95:    6(float) CompositeExtract 94 3
+              96:    6(float) ImageSampleDrefImplicitLod 90 94 95 ConstOffset 80
+                              Store 83(r33) 96
+             101:          98 Load 100(g_tTex2du4a)
+             102:          18 Load 20(g_sSamp)
+             104:         103 SampledImage 101 102
+             105:    6(float) CompositeExtract 73 0
+             106:    6(float) CompositeExtract 73 1
+             107:    6(float) CompositeExtract 73 2
+             108:    7(fvec4) CompositeConstruct 105 106 107 28
+             109:    6(float) CompositeExtract 108 3
+             110:    6(float) ImageSampleDrefImplicitLod 104 108 109 ConstOffset 80
+                              Store 97(r35) 110
+             117:    116(ptr) AccessChain 112(psout) 113
+                              Store 117 115
+             119:     12(ptr) AccessChain 112(psout) 118
+                              Store 119 114
+             120:8(PS_OUTPUT) Load 112(psout)
+                              ReturnValue 120
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index 40a8202..ea7cc5e 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r10' ( temp float)
 0:42          textureLod ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -25,7 +25,7 @@
 0:43          'r12' ( temp float)
 0:43          textureLod ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -40,7 +40,7 @@
 0:44          'r14' ( temp float)
 0:44          textureLod ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -55,7 +55,7 @@
 0:47          'r30' ( temp float)
 0:47          textureLod ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -71,7 +71,7 @@
 0:48          'r32' ( temp float)
 0:48          textureLod ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -87,7 +87,7 @@
 0:49          'r34' ( temp float)
 0:49          textureLod ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -103,7 +103,7 @@
 0:52          'r60' ( temp float)
 0:52          textureLod ( temp float)
 0:52            Construct combined texture-sampler ( temp samplerCubeArrayShadow)
-0:52              'g_tTexcdf4a' ( uniform textureCubeArray)
+0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -120,7 +120,7 @@
 0:53          'r62' ( temp float)
 0:53          textureLod ( temp float)
 0:53            Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
-0:53              'g_tTexcdi4a' ( uniform itextureCubeArray)
+0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -137,7 +137,7 @@
 0:54          'r64' ( temp float)
 0:54          textureLod ( temp float)
 0:54            Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
-0:54              'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -201,15 +201,15 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
-0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
-0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
-0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
+0:?     'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
+0:?     'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
+0:?     'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
@@ -228,7 +228,7 @@
 0:42          'r10' ( temp float)
 0:42          textureLod ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -243,7 +243,7 @@
 0:43          'r12' ( temp float)
 0:43          textureLod ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -258,7 +258,7 @@
 0:44          'r14' ( temp float)
 0:44          textureLod ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -273,7 +273,7 @@
 0:47          'r30' ( temp float)
 0:47          textureLod ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -289,7 +289,7 @@
 0:48          'r32' ( temp float)
 0:48          textureLod ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -305,7 +305,7 @@
 0:49          'r34' ( temp float)
 0:49          textureLod ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -321,7 +321,7 @@
 0:52          'r60' ( temp float)
 0:52          textureLod ( temp float)
 0:52            Construct combined texture-sampler ( temp samplerCubeArrayShadow)
-0:52              'g_tTexcdf4a' ( uniform textureCubeArray)
+0:52              'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
 0:52              'g_sSamp' (layout( binding=0) uniform sampler)
 0:52            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -338,7 +338,7 @@
 0:53          'r62' ( temp float)
 0:53          textureLod ( temp float)
 0:53            Construct combined texture-sampler ( temp isamplerCubeArrayShadow)
-0:53              'g_tTexcdi4a' ( uniform itextureCubeArray)
+0:53              'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -355,7 +355,7 @@
 0:54          'r64' ( temp float)
 0:54          textureLod ( temp float)
 0:54            Construct combined texture-sampler ( temp usamplerCubeArrayShadow)
-0:54              'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:54              'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -419,28 +419,28 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
-0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
-0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
-0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
+0:?     'g_tTexcdf4a' ( uniform textureCubeArrayShadow)
+0:?     'g_tTexcdi4a' ( uniform itextureCubeArrayShadow)
+0:?     'g_tTexcdu4a' ( uniform utextureCubeArrayShadow)
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 219
+// Generated by (magic number): 80002
+// Id's are bound by 210
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 176 180
+                              EntryPoint Fragment 4  "main" 167 171
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -451,64 +451,64 @@
                               Name 13  "r10"
                               Name 16  "g_tTex1df4a"
                               Name 20  "g_sSamp"
-                              Name 37  "r12"
-                              Name 41  "g_tTex1di4a"
-                              Name 52  "r14"
-                              Name 56  "g_tTex1du4a"
-                              Name 67  "r30"
-                              Name 70  "g_tTex2df4a"
-                              Name 84  "r32"
-                              Name 87  "g_tTex2di4a"
-                              Name 99  "r34"
-                              Name 102  "g_tTex2du4a"
-                              Name 114  "r60"
-                              Name 117  "g_tTexcdf4a"
-                              Name 131  "r62"
-                              Name 134  "g_tTexcdi4a"
-                              Name 146  "r64"
-                              Name 149  "g_tTexcdu4a"
-                              Name 162  "psout"
-                              Name 173  "flattenTemp"
-                              Name 176  "@entryPointOutput.Color"
-                              Name 180  "@entryPointOutput.Depth"
-                              Name 185  "g_tTex1df4"
-                              Name 188  "g_tTex1di4"
-                              Name 191  "g_tTex1du4"
-                              Name 194  "g_tTex2df4"
-                              Name 197  "g_tTex2di4"
-                              Name 200  "g_tTex2du4"
-                              Name 203  "g_tTex3df4"
-                              Name 206  "g_tTex3di4"
-                              Name 209  "g_tTex3du4"
-                              Name 212  "g_tTexcdf4"
-                              Name 215  "g_tTexcdi4"
-                              Name 218  "g_tTexcdu4"
+                              Name 36  "r12"
+                              Name 40  "g_tTex1di4a"
+                              Name 50  "r14"
+                              Name 54  "g_tTex1du4a"
+                              Name 64  "r30"
+                              Name 67  "g_tTex2df4a"
+                              Name 80  "r32"
+                              Name 83  "g_tTex2di4a"
+                              Name 94  "r34"
+                              Name 97  "g_tTex2du4a"
+                              Name 108  "r60"
+                              Name 111  "g_tTexcdf4a"
+                              Name 124  "r62"
+                              Name 127  "g_tTexcdi4a"
+                              Name 138  "r64"
+                              Name 141  "g_tTexcdu4a"
+                              Name 153  "psout"
+                              Name 164  "flattenTemp"
+                              Name 167  "@entryPointOutput.Color"
+                              Name 171  "@entryPointOutput.Depth"
+                              Name 176  "g_tTex1df4"
+                              Name 179  "g_tTex1di4"
+                              Name 182  "g_tTex1du4"
+                              Name 185  "g_tTex2df4"
+                              Name 188  "g_tTex2di4"
+                              Name 191  "g_tTex2du4"
+                              Name 194  "g_tTex3df4"
+                              Name 197  "g_tTex3di4"
+                              Name 200  "g_tTex3du4"
+                              Name 203  "g_tTexcdf4"
+                              Name 206  "g_tTexcdi4"
+                              Name 209  "g_tTexcdu4"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 41(g_tTex1di4a) DescriptorSet 0
-                              Decorate 56(g_tTex1du4a) DescriptorSet 0
-                              Decorate 70(g_tTex2df4a) DescriptorSet 0
-                              Decorate 87(g_tTex2di4a) DescriptorSet 0
-                              Decorate 102(g_tTex2du4a) DescriptorSet 0
-                              Decorate 117(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 134(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 149(g_tTexcdu4a) DescriptorSet 0
-                              Decorate 176(@entryPointOutput.Color) Location 0
-                              Decorate 180(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 185(g_tTex1df4) DescriptorSet 0
-                              Decorate 185(g_tTex1df4) Binding 0
-                              Decorate 188(g_tTex1di4) DescriptorSet 0
-                              Decorate 191(g_tTex1du4) DescriptorSet 0
-                              Decorate 194(g_tTex2df4) DescriptorSet 0
-                              Decorate 197(g_tTex2di4) DescriptorSet 0
-                              Decorate 200(g_tTex2du4) DescriptorSet 0
-                              Decorate 203(g_tTex3df4) DescriptorSet 0
-                              Decorate 206(g_tTex3di4) DescriptorSet 0
-                              Decorate 209(g_tTex3du4) DescriptorSet 0
-                              Decorate 212(g_tTexcdf4) DescriptorSet 0
-                              Decorate 215(g_tTexcdi4) DescriptorSet 0
-                              Decorate 218(g_tTexcdu4) DescriptorSet 0
+                              Decorate 40(g_tTex1di4a) DescriptorSet 0
+                              Decorate 54(g_tTex1du4a) DescriptorSet 0
+                              Decorate 67(g_tTex2df4a) DescriptorSet 0
+                              Decorate 83(g_tTex2di4a) DescriptorSet 0
+                              Decorate 97(g_tTex2du4a) DescriptorSet 0
+                              Decorate 111(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 127(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 141(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 167(@entryPointOutput.Color) Location 0
+                              Decorate 171(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 176(g_tTex1df4) DescriptorSet 0
+                              Decorate 176(g_tTex1df4) Binding 0
+                              Decorate 179(g_tTex1di4) DescriptorSet 0
+                              Decorate 182(g_tTex1du4) DescriptorSet 0
+                              Decorate 185(g_tTex2df4) DescriptorSet 0
+                              Decorate 188(g_tTex2di4) DescriptorSet 0
+                              Decorate 191(g_tTex2du4) DescriptorSet 0
+                              Decorate 194(g_tTex3df4) DescriptorSet 0
+                              Decorate 197(g_tTex3di4) DescriptorSet 0
+                              Decorate 200(g_tTex3du4) DescriptorSet 0
+                              Decorate 203(g_tTexcdf4) DescriptorSet 0
+                              Decorate 206(g_tTexcdi4) DescriptorSet 0
+                              Decorate 209(g_tTexcdu4) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -516,229 +516,220 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D array sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth array sampled format:Unknown
               15:             TypePointer UniformConstant 14
  16(g_tTex1df4a):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth array sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:             TypeVector 6(float) 2
-              26:    6(float) Constant 1036831949
-              27:    6(float) Constant 1045220557
-              28:   25(fvec2) ConstantComposite 26 27
-              29:    6(float) Constant 1061158912
-              30:             TypeVector 6(float) 3
-              34:    6(float) Constant 0
-              38:             TypeInt 32 1
-              39:             TypeImage 38(int) 1D array sampled format:Unknown
-              40:             TypePointer UniformConstant 39
- 41(g_tTex1di4a):     40(ptr) Variable UniformConstant
-              44:             TypeImage 38(int) 1D depth array sampled format:Unknown
-              45:             TypeSampledImage 44
-              53:             TypeInt 32 0
-              54:             TypeImage 53(int) 1D array sampled format:Unknown
-              55:             TypePointer UniformConstant 54
- 56(g_tTex1du4a):     55(ptr) Variable UniformConstant
-              59:             TypeImage 53(int) 1D depth array sampled format:Unknown
-              60:             TypeSampledImage 59
-              68:             TypeImage 6(float) 2D array sampled format:Unknown
-              69:             TypePointer UniformConstant 68
- 70(g_tTex2df4a):     69(ptr) Variable UniformConstant
-              73:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              74:             TypeSampledImage 73
-              76:    6(float) Constant 1050253722
-              77:   30(fvec3) ConstantComposite 26 27 76
-              85:             TypeImage 38(int) 2D array sampled format:Unknown
-              86:             TypePointer UniformConstant 85
- 87(g_tTex2di4a):     86(ptr) Variable UniformConstant
-              90:             TypeImage 38(int) 2D depth array sampled format:Unknown
-              91:             TypeSampledImage 90
-             100:             TypeImage 53(int) 2D array sampled format:Unknown
-             101:             TypePointer UniformConstant 100
-102(g_tTex2du4a):    101(ptr) Variable UniformConstant
-             105:             TypeImage 53(int) 2D depth array sampled format:Unknown
-             106:             TypeSampledImage 105
-             115:             TypeImage 6(float) Cube array sampled format:Unknown
-             116:             TypePointer UniformConstant 115
-117(g_tTexcdf4a):    116(ptr) Variable UniformConstant
-             120:             TypeImage 6(float) Cube depth array sampled format:Unknown
-             121:             TypeSampledImage 120
-             123:    6(float) Constant 1053609165
-             124:    7(fvec4) ConstantComposite 26 27 76 123
-             132:             TypeImage 38(int) Cube array sampled format:Unknown
-             133:             TypePointer UniformConstant 132
-134(g_tTexcdi4a):    133(ptr) Variable UniformConstant
-             137:             TypeImage 38(int) Cube depth array sampled format:Unknown
-             138:             TypeSampledImage 137
-             147:             TypeImage 53(int) Cube array sampled format:Unknown
-             148:             TypePointer UniformConstant 147
-149(g_tTexcdu4a):    148(ptr) Variable UniformConstant
-             152:             TypeImage 53(int) Cube depth array sampled format:Unknown
-             153:             TypeSampledImage 152
-             161:             TypePointer Function 8(PS_OUTPUT)
-             163:     38(int) Constant 0
-             164:    6(float) Constant 1065353216
-             165:    7(fvec4) ConstantComposite 164 164 164 164
-             166:             TypePointer Function 7(fvec4)
-             168:     38(int) Constant 1
-             175:             TypePointer Output 7(fvec4)
-176(@entryPointOutput.Color):    175(ptr) Variable Output
-             179:             TypePointer Output 6(float)
-180(@entryPointOutput.Depth):    179(ptr) Variable Output
-             183:             TypeImage 6(float) 1D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:             TypeVector 6(float) 2
+              25:    6(float) Constant 1036831949
+              26:    6(float) Constant 1045220557
+              27:   24(fvec2) ConstantComposite 25 26
+              28:    6(float) Constant 1061158912
+              29:             TypeVector 6(float) 3
+              33:    6(float) Constant 0
+              37:             TypeInt 32 1
+              38:             TypeImage 37(int) 1D depth array sampled format:Unknown
+              39:             TypePointer UniformConstant 38
+ 40(g_tTex1di4a):     39(ptr) Variable UniformConstant
+              43:             TypeSampledImage 38
+              51:             TypeInt 32 0
+              52:             TypeImage 51(int) 1D depth array sampled format:Unknown
+              53:             TypePointer UniformConstant 52
+ 54(g_tTex1du4a):     53(ptr) Variable UniformConstant
+              57:             TypeSampledImage 52
+              65:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              66:             TypePointer UniformConstant 65
+ 67(g_tTex2df4a):     66(ptr) Variable UniformConstant
+              70:             TypeSampledImage 65
+              72:    6(float) Constant 1050253722
+              73:   29(fvec3) ConstantComposite 25 26 72
+              81:             TypeImage 37(int) 2D depth array sampled format:Unknown
+              82:             TypePointer UniformConstant 81
+ 83(g_tTex2di4a):     82(ptr) Variable UniformConstant
+              86:             TypeSampledImage 81
+              95:             TypeImage 51(int) 2D depth array sampled format:Unknown
+              96:             TypePointer UniformConstant 95
+ 97(g_tTex2du4a):     96(ptr) Variable UniformConstant
+             100:             TypeSampledImage 95
+             109:             TypeImage 6(float) Cube depth array sampled format:Unknown
+             110:             TypePointer UniformConstant 109
+111(g_tTexcdf4a):    110(ptr) Variable UniformConstant
+             114:             TypeSampledImage 109
+             116:    6(float) Constant 1053609165
+             117:    7(fvec4) ConstantComposite 25 26 72 116
+             125:             TypeImage 37(int) Cube depth array sampled format:Unknown
+             126:             TypePointer UniformConstant 125
+127(g_tTexcdi4a):    126(ptr) Variable UniformConstant
+             130:             TypeSampledImage 125
+             139:             TypeImage 51(int) Cube depth array sampled format:Unknown
+             140:             TypePointer UniformConstant 139
+141(g_tTexcdu4a):    140(ptr) Variable UniformConstant
+             144:             TypeSampledImage 139
+             152:             TypePointer Function 8(PS_OUTPUT)
+             154:     37(int) Constant 0
+             155:    6(float) Constant 1065353216
+             156:    7(fvec4) ConstantComposite 155 155 155 155
+             157:             TypePointer Function 7(fvec4)
+             159:     37(int) Constant 1
+             166:             TypePointer Output 7(fvec4)
+167(@entryPointOutput.Color):    166(ptr) Variable Output
+             170:             TypePointer Output 6(float)
+171(@entryPointOutput.Depth):    170(ptr) Variable Output
+             174:             TypeImage 6(float) 1D sampled format:Unknown
+             175:             TypePointer UniformConstant 174
+ 176(g_tTex1df4):    175(ptr) Variable UniformConstant
+             177:             TypeImage 37(int) 1D sampled format:Unknown
+             178:             TypePointer UniformConstant 177
+ 179(g_tTex1di4):    178(ptr) Variable UniformConstant
+             180:             TypeImage 51(int) 1D sampled format:Unknown
+             181:             TypePointer UniformConstant 180
+ 182(g_tTex1du4):    181(ptr) Variable UniformConstant
+             183:             TypeImage 6(float) 2D sampled format:Unknown
              184:             TypePointer UniformConstant 183
- 185(g_tTex1df4):    184(ptr) Variable UniformConstant
-             186:             TypeImage 38(int) 1D sampled format:Unknown
+ 185(g_tTex2df4):    184(ptr) Variable UniformConstant
+             186:             TypeImage 37(int) 2D sampled format:Unknown
              187:             TypePointer UniformConstant 186
- 188(g_tTex1di4):    187(ptr) Variable UniformConstant
-             189:             TypeImage 53(int) 1D sampled format:Unknown
+ 188(g_tTex2di4):    187(ptr) Variable UniformConstant
+             189:             TypeImage 51(int) 2D sampled format:Unknown
              190:             TypePointer UniformConstant 189
- 191(g_tTex1du4):    190(ptr) Variable UniformConstant
-             192:             TypeImage 6(float) 2D sampled format:Unknown
+ 191(g_tTex2du4):    190(ptr) Variable UniformConstant
+             192:             TypeImage 6(float) 3D sampled format:Unknown
              193:             TypePointer UniformConstant 192
- 194(g_tTex2df4):    193(ptr) Variable UniformConstant
-             195:             TypeImage 38(int) 2D sampled format:Unknown
+ 194(g_tTex3df4):    193(ptr) Variable UniformConstant
+             195:             TypeImage 37(int) 3D sampled format:Unknown
              196:             TypePointer UniformConstant 195
- 197(g_tTex2di4):    196(ptr) Variable UniformConstant
-             198:             TypeImage 53(int) 2D sampled format:Unknown
+ 197(g_tTex3di4):    196(ptr) Variable UniformConstant
+             198:             TypeImage 51(int) 3D sampled format:Unknown
              199:             TypePointer UniformConstant 198
- 200(g_tTex2du4):    199(ptr) Variable UniformConstant
-             201:             TypeImage 6(float) 3D sampled format:Unknown
+ 200(g_tTex3du4):    199(ptr) Variable UniformConstant
+             201:             TypeImage 6(float) Cube sampled format:Unknown
              202:             TypePointer UniformConstant 201
- 203(g_tTex3df4):    202(ptr) Variable UniformConstant
-             204:             TypeImage 38(int) 3D sampled format:Unknown
+ 203(g_tTexcdf4):    202(ptr) Variable UniformConstant
+             204:             TypeImage 37(int) Cube sampled format:Unknown
              205:             TypePointer UniformConstant 204
- 206(g_tTex3di4):    205(ptr) Variable UniformConstant
-             207:             TypeImage 53(int) 3D sampled format:Unknown
+ 206(g_tTexcdi4):    205(ptr) Variable UniformConstant
+             207:             TypeImage 51(int) Cube sampled format:Unknown
              208:             TypePointer UniformConstant 207
- 209(g_tTex3du4):    208(ptr) Variable UniformConstant
-             210:             TypeImage 6(float) Cube sampled format:Unknown
-             211:             TypePointer UniformConstant 210
- 212(g_tTexcdf4):    211(ptr) Variable UniformConstant
-             213:             TypeImage 38(int) Cube sampled format:Unknown
-             214:             TypePointer UniformConstant 213
- 215(g_tTexcdi4):    214(ptr) Variable UniformConstant
-             216:             TypeImage 53(int) Cube sampled format:Unknown
-             217:             TypePointer UniformConstant 216
- 218(g_tTexcdu4):    217(ptr) Variable UniformConstant
+ 209(g_tTexcdu4):    208(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-173(flattenTemp):    161(ptr) Variable Function
-             174:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 173(flattenTemp) 174
-             177:    166(ptr) AccessChain 173(flattenTemp) 163
-             178:    7(fvec4) Load 177
-                              Store 176(@entryPointOutput.Color) 178
-             181:     12(ptr) AccessChain 173(flattenTemp) 168
-             182:    6(float) Load 181
-                              Store 180(@entryPointOutput.Depth) 182
+164(flattenTemp):    152(ptr) Variable Function
+             165:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 164(flattenTemp) 165
+             168:    157(ptr) AccessChain 164(flattenTemp) 154
+             169:    7(fvec4) Load 168
+                              Store 167(@entryPointOutput.Color) 169
+             172:     12(ptr) AccessChain 164(flattenTemp) 159
+             173:    6(float) Load 172
+                              Store 171(@entryPointOutput.Depth) 173
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r10):     12(ptr) Variable Function
-         37(r12):     12(ptr) Variable Function
-         52(r14):     12(ptr) Variable Function
-         67(r30):     12(ptr) Variable Function
-         84(r32):     12(ptr) Variable Function
-         99(r34):     12(ptr) Variable Function
-        114(r60):     12(ptr) Variable Function
-        131(r62):     12(ptr) Variable Function
-        146(r64):     12(ptr) Variable Function
-      162(psout):    161(ptr) Variable Function
+         36(r12):     12(ptr) Variable Function
+         50(r14):     12(ptr) Variable Function
+         64(r30):     12(ptr) Variable Function
+         80(r32):     12(ptr) Variable Function
+         94(r34):     12(ptr) Variable Function
+        108(r60):     12(ptr) Variable Function
+        124(r62):     12(ptr) Variable Function
+        138(r64):     12(ptr) Variable Function
+      153(psout):    152(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4a)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              31:    6(float) CompositeExtract 28 0
-              32:    6(float) CompositeExtract 28 1
-              33:   30(fvec3) CompositeConstruct 31 32 29
-              35:    6(float) CompositeExtract 33 2
-              36:    6(float) ImageSampleDrefExplicitLod 24 33 35 Lod 34
-                              Store 13(r10) 36
-              42:          39 Load 41(g_tTex1di4a)
-              43:          18 Load 20(g_sSamp)
-              46:          45 SampledImage 42 43
-              47:    6(float) CompositeExtract 28 0
-              48:    6(float) CompositeExtract 28 1
-              49:   30(fvec3) CompositeConstruct 47 48 29
-              50:    6(float) CompositeExtract 49 2
-              51:    6(float) ImageSampleDrefExplicitLod 46 49 50 Lod 34
-                              Store 37(r12) 51
-              57:          54 Load 56(g_tTex1du4a)
-              58:          18 Load 20(g_sSamp)
-              61:          60 SampledImage 57 58
-              62:    6(float) CompositeExtract 28 0
-              63:    6(float) CompositeExtract 28 1
-              64:   30(fvec3) CompositeConstruct 62 63 29
-              65:    6(float) CompositeExtract 64 2
-              66:    6(float) ImageSampleDrefExplicitLod 61 64 65 Lod 34
-                              Store 52(r14) 66
-              71:          68 Load 70(g_tTex2df4a)
-              72:          18 Load 20(g_sSamp)
-              75:          74 SampledImage 71 72
-              78:    6(float) CompositeExtract 77 0
-              79:    6(float) CompositeExtract 77 1
-              80:    6(float) CompositeExtract 77 2
-              81:    7(fvec4) CompositeConstruct 78 79 80 29
-              82:    6(float) CompositeExtract 81 3
-              83:    6(float) ImageSampleDrefExplicitLod 75 81 82 Lod 34
-                              Store 67(r30) 83
-              88:          85 Load 87(g_tTex2di4a)
-              89:          18 Load 20(g_sSamp)
-              92:          91 SampledImage 88 89
-              93:    6(float) CompositeExtract 77 0
-              94:    6(float) CompositeExtract 77 1
-              95:    6(float) CompositeExtract 77 2
-              96:    7(fvec4) CompositeConstruct 93 94 95 29
-              97:    6(float) CompositeExtract 96 3
-              98:    6(float) ImageSampleDrefExplicitLod 92 96 97 Lod 34
-                              Store 84(r32) 98
-             103:         100 Load 102(g_tTex2du4a)
-             104:          18 Load 20(g_sSamp)
-             107:         106 SampledImage 103 104
-             108:    6(float) CompositeExtract 77 0
-             109:    6(float) CompositeExtract 77 1
-             110:    6(float) CompositeExtract 77 2
-             111:    7(fvec4) CompositeConstruct 108 109 110 29
-             112:    6(float) CompositeExtract 111 3
-             113:    6(float) ImageSampleDrefExplicitLod 107 111 112 Lod 34
-                              Store 99(r34) 113
-             118:         115 Load 117(g_tTexcdf4a)
-             119:          18 Load 20(g_sSamp)
-             122:         121 SampledImage 118 119
-             125:    6(float) CompositeExtract 124 0
-             126:    6(float) CompositeExtract 124 1
-             127:    6(float) CompositeExtract 124 2
-             128:    6(float) CompositeExtract 124 3
-             129:    7(fvec4) CompositeConstruct 125 126 127 128
-             130:    6(float) ImageSampleDrefExplicitLod 122 129 29 Lod 34
-                              Store 114(r60) 130
-             135:         132 Load 134(g_tTexcdi4a)
-             136:          18 Load 20(g_sSamp)
-             139:         138 SampledImage 135 136
-             140:    6(float) CompositeExtract 124 0
-             141:    6(float) CompositeExtract 124 1
-             142:    6(float) CompositeExtract 124 2
-             143:    6(float) CompositeExtract 124 3
-             144:    7(fvec4) CompositeConstruct 140 141 142 143
-             145:    6(float) ImageSampleDrefExplicitLod 139 144 29 Lod 34
-                              Store 131(r62) 145
-             150:         147 Load 149(g_tTexcdu4a)
-             151:          18 Load 20(g_sSamp)
-             154:         153 SampledImage 150 151
-             155:    6(float) CompositeExtract 124 0
-             156:    6(float) CompositeExtract 124 1
-             157:    6(float) CompositeExtract 124 2
-             158:    6(float) CompositeExtract 124 3
-             159:    7(fvec4) CompositeConstruct 155 156 157 158
-             160:    6(float) ImageSampleDrefExplicitLod 154 159 29 Lod 34
-                              Store 146(r64) 160
-             167:    166(ptr) AccessChain 162(psout) 163
-                              Store 167 165
-             169:     12(ptr) AccessChain 162(psout) 168
-                              Store 169 164
-             170:8(PS_OUTPUT) Load 162(psout)
-                              ReturnValue 170
+              23:          22 SampledImage 17 21
+              30:    6(float) CompositeExtract 27 0
+              31:    6(float) CompositeExtract 27 1
+              32:   29(fvec3) CompositeConstruct 30 31 28
+              34:    6(float) CompositeExtract 32 2
+              35:    6(float) ImageSampleDrefExplicitLod 23 32 34 Lod 33
+                              Store 13(r10) 35
+              41:          38 Load 40(g_tTex1di4a)
+              42:          18 Load 20(g_sSamp)
+              44:          43 SampledImage 41 42
+              45:    6(float) CompositeExtract 27 0
+              46:    6(float) CompositeExtract 27 1
+              47:   29(fvec3) CompositeConstruct 45 46 28
+              48:    6(float) CompositeExtract 47 2
+              49:    6(float) ImageSampleDrefExplicitLod 44 47 48 Lod 33
+                              Store 36(r12) 49
+              55:          52 Load 54(g_tTex1du4a)
+              56:          18 Load 20(g_sSamp)
+              58:          57 SampledImage 55 56
+              59:    6(float) CompositeExtract 27 0
+              60:    6(float) CompositeExtract 27 1
+              61:   29(fvec3) CompositeConstruct 59 60 28
+              62:    6(float) CompositeExtract 61 2
+              63:    6(float) ImageSampleDrefExplicitLod 58 61 62 Lod 33
+                              Store 50(r14) 63
+              68:          65 Load 67(g_tTex2df4a)
+              69:          18 Load 20(g_sSamp)
+              71:          70 SampledImage 68 69
+              74:    6(float) CompositeExtract 73 0
+              75:    6(float) CompositeExtract 73 1
+              76:    6(float) CompositeExtract 73 2
+              77:    7(fvec4) CompositeConstruct 74 75 76 28
+              78:    6(float) CompositeExtract 77 3
+              79:    6(float) ImageSampleDrefExplicitLod 71 77 78 Lod 33
+                              Store 64(r30) 79
+              84:          81 Load 83(g_tTex2di4a)
+              85:          18 Load 20(g_sSamp)
+              87:          86 SampledImage 84 85
+              88:    6(float) CompositeExtract 73 0
+              89:    6(float) CompositeExtract 73 1
+              90:    6(float) CompositeExtract 73 2
+              91:    7(fvec4) CompositeConstruct 88 89 90 28
+              92:    6(float) CompositeExtract 91 3
+              93:    6(float) ImageSampleDrefExplicitLod 87 91 92 Lod 33
+                              Store 80(r32) 93
+              98:          95 Load 97(g_tTex2du4a)
+              99:          18 Load 20(g_sSamp)
+             101:         100 SampledImage 98 99
+             102:    6(float) CompositeExtract 73 0
+             103:    6(float) CompositeExtract 73 1
+             104:    6(float) CompositeExtract 73 2
+             105:    7(fvec4) CompositeConstruct 102 103 104 28
+             106:    6(float) CompositeExtract 105 3
+             107:    6(float) ImageSampleDrefExplicitLod 101 105 106 Lod 33
+                              Store 94(r34) 107
+             112:         109 Load 111(g_tTexcdf4a)
+             113:          18 Load 20(g_sSamp)
+             115:         114 SampledImage 112 113
+             118:    6(float) CompositeExtract 117 0
+             119:    6(float) CompositeExtract 117 1
+             120:    6(float) CompositeExtract 117 2
+             121:    6(float) CompositeExtract 117 3
+             122:    7(fvec4) CompositeConstruct 118 119 120 121
+             123:    6(float) ImageSampleDrefExplicitLod 115 122 28 Lod 33
+                              Store 108(r60) 123
+             128:         125 Load 127(g_tTexcdi4a)
+             129:          18 Load 20(g_sSamp)
+             131:         130 SampledImage 128 129
+             132:    6(float) CompositeExtract 117 0
+             133:    6(float) CompositeExtract 117 1
+             134:    6(float) CompositeExtract 117 2
+             135:    6(float) CompositeExtract 117 3
+             136:    7(fvec4) CompositeConstruct 132 133 134 135
+             137:    6(float) ImageSampleDrefExplicitLod 131 136 28 Lod 33
+                              Store 124(r62) 137
+             142:         139 Load 141(g_tTexcdu4a)
+             143:          18 Load 20(g_sSamp)
+             145:         144 SampledImage 142 143
+             146:    6(float) CompositeExtract 117 0
+             147:    6(float) CompositeExtract 117 1
+             148:    6(float) CompositeExtract 117 2
+             149:    6(float) CompositeExtract 117 3
+             150:    7(fvec4) CompositeConstruct 146 147 148 149
+             151:    6(float) ImageSampleDrefExplicitLod 145 150 28 Lod 33
+                              Store 138(r64) 151
+             158:    157(ptr) AccessChain 153(psout) 154
+                              Store 158 156
+             160:     12(ptr) AccessChain 153(psout) 159
+                              Store 160 155
+             161:8(PS_OUTPUT) Load 153(psout)
+                              ReturnValue 161
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index 87dee88..278aad5 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -24,7 +24,7 @@
 0:43          'r02' ( temp float)
 0:43          textureLod ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -38,7 +38,7 @@
 0:44          'r04' ( temp float)
 0:44          textureLod ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -52,7 +52,7 @@
 0:47          'r20' ( temp float)
 0:47          textureLod ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -67,7 +67,7 @@
 0:48          'r22' ( temp float)
 0:48          textureLod ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -82,7 +82,7 @@
 0:49          'r24' ( temp float)
 0:49          textureLod ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -97,7 +97,7 @@
 0:53          'r50' ( temp float)
 0:53          textureLod ( temp float)
 0:53            Construct combined texture-sampler ( temp samplerCubeShadow)
-0:53              'g_tTexcdf4' ( uniform textureCube)
+0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -113,7 +113,7 @@
 0:54          'r52' ( temp float)
 0:54          textureLod ( temp float)
 0:54            Construct combined texture-sampler ( temp isamplerCubeShadow)
-0:54              'g_tTexcdi4' ( uniform itextureCube)
+0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -129,7 +129,7 @@
 0:55          'r54' ( temp float)
 0:55          textureLod ( temp float)
 0:55            Construct combined texture-sampler ( temp usamplerCubeShadow)
-0:55              'g_tTexcdu4' ( uniform utextureCube)
+0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -180,18 +180,18 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
-0:?     'g_tTexcdf4' ( uniform textureCube)
-0:?     'g_tTexcdi4' ( uniform itextureCube)
-0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'g_tTexcdf4' ( uniform textureCubeShadow)
+0:?     'g_tTexcdi4' ( uniform itextureCubeShadow)
+0:?     'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:?     'g_tTex1df4a' ( uniform texture1DArray)
 0:?     'g_tTex1di4a' ( uniform itexture1DArray)
 0:?     'g_tTex1du4a' ( uniform utexture1DArray)
@@ -219,7 +219,7 @@
 0:42          'r00' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -233,7 +233,7 @@
 0:43          'r02' ( temp float)
 0:43          textureLod ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -247,7 +247,7 @@
 0:44          'r04' ( temp float)
 0:44          textureLod ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -261,7 +261,7 @@
 0:47          'r20' ( temp float)
 0:47          textureLod ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -276,7 +276,7 @@
 0:48          'r22' ( temp float)
 0:48          textureLod ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -291,7 +291,7 @@
 0:49          'r24' ( temp float)
 0:49          textureLod ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -306,7 +306,7 @@
 0:53          'r50' ( temp float)
 0:53          textureLod ( temp float)
 0:53            Construct combined texture-sampler ( temp samplerCubeShadow)
-0:53              'g_tTexcdf4' ( uniform textureCube)
+0:53              'g_tTexcdf4' ( uniform textureCubeShadow)
 0:53              'g_sSamp' (layout( binding=0) uniform sampler)
 0:53            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -322,7 +322,7 @@
 0:54          'r52' ( temp float)
 0:54          textureLod ( temp float)
 0:54            Construct combined texture-sampler ( temp isamplerCubeShadow)
-0:54              'g_tTexcdi4' ( uniform itextureCube)
+0:54              'g_tTexcdi4' ( uniform itextureCubeShadow)
 0:54              'g_sSamp' (layout( binding=0) uniform sampler)
 0:54            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -338,7 +338,7 @@
 0:55          'r54' ( temp float)
 0:55          textureLod ( temp float)
 0:55            Construct combined texture-sampler ( temp usamplerCubeShadow)
-0:55              'g_tTexcdu4' ( uniform utextureCube)
+0:55              'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:55              'g_sSamp' (layout( binding=0) uniform sampler)
 0:55            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -389,18 +389,18 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
-0:?     'g_tTexcdf4' ( uniform textureCube)
-0:?     'g_tTexcdi4' ( uniform itextureCube)
-0:?     'g_tTexcdu4' ( uniform utextureCube)
+0:?     'g_tTexcdf4' ( uniform textureCubeShadow)
+0:?     'g_tTexcdi4' ( uniform itextureCubeShadow)
+0:?     'g_tTexcdu4' ( uniform utextureCubeShadow)
 0:?     'g_tTex1df4a' ( uniform texture1DArray)
 0:?     'g_tTex1di4a' ( uniform itexture1DArray)
 0:?     'g_tTex1du4a' ( uniform utexture1DArray)
@@ -414,15 +414,15 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 208
+// Generated by (magic number): 80002
+// Id's are bound by 199
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 165 169
+                              EntryPoint Fragment 4  "main" 156 160
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -433,64 +433,64 @@
                               Name 13  "r00"
                               Name 16  "g_tTex1df4"
                               Name 20  "g_sSamp"
-                              Name 32  "r02"
-                              Name 36  "g_tTex1di4"
-                              Name 45  "r04"
-                              Name 49  "g_tTex1du4"
-                              Name 58  "r20"
-                              Name 61  "g_tTex2df4"
-                              Name 75  "r22"
-                              Name 78  "g_tTex2di4"
-                              Name 89  "r24"
-                              Name 92  "g_tTex2du4"
-                              Name 103  "r50"
-                              Name 106  "g_tTexcdf4"
-                              Name 120  "r52"
-                              Name 123  "g_tTexcdi4"
-                              Name 135  "r54"
-                              Name 138  "g_tTexcdu4"
-                              Name 151  "psout"
-                              Name 162  "flattenTemp"
-                              Name 165  "@entryPointOutput.Color"
-                              Name 169  "@entryPointOutput.Depth"
-                              Name 174  "g_tTex3df4"
-                              Name 177  "g_tTex3di4"
-                              Name 180  "g_tTex3du4"
-                              Name 183  "g_tTex1df4a"
-                              Name 186  "g_tTex1di4a"
-                              Name 189  "g_tTex1du4a"
-                              Name 192  "g_tTex2df4a"
-                              Name 195  "g_tTex2di4a"
-                              Name 198  "g_tTex2du4a"
-                              Name 201  "g_tTexcdf4a"
-                              Name 204  "g_tTexcdi4a"
-                              Name 207  "g_tTexcdu4a"
+                              Name 31  "r02"
+                              Name 35  "g_tTex1di4"
+                              Name 43  "r04"
+                              Name 47  "g_tTex1du4"
+                              Name 55  "r20"
+                              Name 58  "g_tTex2df4"
+                              Name 71  "r22"
+                              Name 74  "g_tTex2di4"
+                              Name 84  "r24"
+                              Name 87  "g_tTex2du4"
+                              Name 97  "r50"
+                              Name 100  "g_tTexcdf4"
+                              Name 113  "r52"
+                              Name 116  "g_tTexcdi4"
+                              Name 127  "r54"
+                              Name 130  "g_tTexcdu4"
+                              Name 142  "psout"
+                              Name 153  "flattenTemp"
+                              Name 156  "@entryPointOutput.Color"
+                              Name 160  "@entryPointOutput.Depth"
+                              Name 165  "g_tTex3df4"
+                              Name 168  "g_tTex3di4"
+                              Name 171  "g_tTex3du4"
+                              Name 174  "g_tTex1df4a"
+                              Name 177  "g_tTex1di4a"
+                              Name 180  "g_tTex1du4a"
+                              Name 183  "g_tTex2df4a"
+                              Name 186  "g_tTex2di4a"
+                              Name 189  "g_tTex2du4a"
+                              Name 192  "g_tTexcdf4a"
+                              Name 195  "g_tTexcdi4a"
+                              Name 198  "g_tTexcdu4a"
                               Decorate 16(g_tTex1df4) DescriptorSet 0
                               Decorate 16(g_tTex1df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 36(g_tTex1di4) DescriptorSet 0
-                              Decorate 49(g_tTex1du4) DescriptorSet 0
-                              Decorate 61(g_tTex2df4) DescriptorSet 0
-                              Decorate 78(g_tTex2di4) DescriptorSet 0
-                              Decorate 92(g_tTex2du4) DescriptorSet 0
-                              Decorate 106(g_tTexcdf4) DescriptorSet 0
-                              Decorate 123(g_tTexcdi4) DescriptorSet 0
-                              Decorate 138(g_tTexcdu4) DescriptorSet 0
-                              Decorate 165(@entryPointOutput.Color) Location 0
-                              Decorate 169(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 174(g_tTex3df4) DescriptorSet 0
-                              Decorate 177(g_tTex3di4) DescriptorSet 0
-                              Decorate 180(g_tTex3du4) DescriptorSet 0
-                              Decorate 183(g_tTex1df4a) DescriptorSet 0
-                              Decorate 186(g_tTex1di4a) DescriptorSet 0
-                              Decorate 189(g_tTex1du4a) DescriptorSet 0
-                              Decorate 192(g_tTex2df4a) DescriptorSet 0
-                              Decorate 195(g_tTex2di4a) DescriptorSet 0
-                              Decorate 198(g_tTex2du4a) DescriptorSet 0
-                              Decorate 201(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 204(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 207(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 35(g_tTex1di4) DescriptorSet 0
+                              Decorate 47(g_tTex1du4) DescriptorSet 0
+                              Decorate 58(g_tTex2df4) DescriptorSet 0
+                              Decorate 74(g_tTex2di4) DescriptorSet 0
+                              Decorate 87(g_tTex2du4) DescriptorSet 0
+                              Decorate 100(g_tTexcdf4) DescriptorSet 0
+                              Decorate 116(g_tTexcdi4) DescriptorSet 0
+                              Decorate 130(g_tTexcdu4) DescriptorSet 0
+                              Decorate 156(@entryPointOutput.Color) Location 0
+                              Decorate 160(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 165(g_tTex3df4) DescriptorSet 0
+                              Decorate 168(g_tTex3di4) DescriptorSet 0
+                              Decorate 171(g_tTex3du4) DescriptorSet 0
+                              Decorate 174(g_tTex1df4a) DescriptorSet 0
+                              Decorate 177(g_tTex1di4a) DescriptorSet 0
+                              Decorate 180(g_tTex1du4a) DescriptorSet 0
+                              Decorate 183(g_tTex2df4a) DescriptorSet 0
+                              Decorate 186(g_tTex2di4a) DescriptorSet 0
+                              Decorate 189(g_tTex2du4a) DescriptorSet 0
+                              Decorate 192(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 195(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 198(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -498,218 +498,209 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth sampled format:Unknown
               15:             TypePointer UniformConstant 14
   16(g_tTex1df4):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:    6(float) Constant 1036831949
-              26:    6(float) Constant 1061158912
-              27:             TypeVector 6(float) 2
-              29:    6(float) Constant 0
-              33:             TypeInt 32 1
-              34:             TypeImage 33(int) 1D sampled format:Unknown
-              35:             TypePointer UniformConstant 34
-  36(g_tTex1di4):     35(ptr) Variable UniformConstant
-              39:             TypeImage 33(int) 1D depth sampled format:Unknown
-              40:             TypeSampledImage 39
-              46:             TypeInt 32 0
-              47:             TypeImage 46(int) 1D sampled format:Unknown
-              48:             TypePointer UniformConstant 47
-  49(g_tTex1du4):     48(ptr) Variable UniformConstant
-              52:             TypeImage 46(int) 1D depth sampled format:Unknown
-              53:             TypeSampledImage 52
-              59:             TypeImage 6(float) 2D sampled format:Unknown
-              60:             TypePointer UniformConstant 59
-  61(g_tTex2df4):     60(ptr) Variable UniformConstant
-              64:             TypeImage 6(float) 2D depth sampled format:Unknown
-              65:             TypeSampledImage 64
-              67:    6(float) Constant 1045220557
-              68:   27(fvec2) ConstantComposite 25 67
-              69:             TypeVector 6(float) 3
-              76:             TypeImage 33(int) 2D sampled format:Unknown
-              77:             TypePointer UniformConstant 76
-  78(g_tTex2di4):     77(ptr) Variable UniformConstant
-              81:             TypeImage 33(int) 2D depth sampled format:Unknown
-              82:             TypeSampledImage 81
-              90:             TypeImage 46(int) 2D sampled format:Unknown
-              91:             TypePointer UniformConstant 90
-  92(g_tTex2du4):     91(ptr) Variable UniformConstant
-              95:             TypeImage 46(int) 2D depth sampled format:Unknown
-              96:             TypeSampledImage 95
-             104:             TypeImage 6(float) Cube sampled format:Unknown
-             105:             TypePointer UniformConstant 104
- 106(g_tTexcdf4):    105(ptr) Variable UniformConstant
-             109:             TypeImage 6(float) Cube depth sampled format:Unknown
-             110:             TypeSampledImage 109
-             112:    6(float) Constant 1050253722
-             113:   69(fvec3) ConstantComposite 25 67 112
-             121:             TypeImage 33(int) Cube sampled format:Unknown
-             122:             TypePointer UniformConstant 121
- 123(g_tTexcdi4):    122(ptr) Variable UniformConstant
-             126:             TypeImage 33(int) Cube depth sampled format:Unknown
-             127:             TypeSampledImage 126
-             136:             TypeImage 46(int) Cube sampled format:Unknown
-             137:             TypePointer UniformConstant 136
- 138(g_tTexcdu4):    137(ptr) Variable UniformConstant
-             141:             TypeImage 46(int) Cube depth sampled format:Unknown
-             142:             TypeSampledImage 141
-             150:             TypePointer Function 8(PS_OUTPUT)
-             152:     33(int) Constant 0
-             153:    6(float) Constant 1065353216
-             154:    7(fvec4) ConstantComposite 153 153 153 153
-             155:             TypePointer Function 7(fvec4)
-             157:     33(int) Constant 1
-             164:             TypePointer Output 7(fvec4)
-165(@entryPointOutput.Color):    164(ptr) Variable Output
-             168:             TypePointer Output 6(float)
-169(@entryPointOutput.Depth):    168(ptr) Variable Output
-             172:             TypeImage 6(float) 3D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:    6(float) Constant 1036831949
+              25:    6(float) Constant 1061158912
+              26:             TypeVector 6(float) 2
+              28:    6(float) Constant 0
+              32:             TypeInt 32 1
+              33:             TypeImage 32(int) 1D depth sampled format:Unknown
+              34:             TypePointer UniformConstant 33
+  35(g_tTex1di4):     34(ptr) Variable UniformConstant
+              38:             TypeSampledImage 33
+              44:             TypeInt 32 0
+              45:             TypeImage 44(int) 1D depth sampled format:Unknown
+              46:             TypePointer UniformConstant 45
+  47(g_tTex1du4):     46(ptr) Variable UniformConstant
+              50:             TypeSampledImage 45
+              56:             TypeImage 6(float) 2D depth sampled format:Unknown
+              57:             TypePointer UniformConstant 56
+  58(g_tTex2df4):     57(ptr) Variable UniformConstant
+              61:             TypeSampledImage 56
+              63:    6(float) Constant 1045220557
+              64:   26(fvec2) ConstantComposite 24 63
+              65:             TypeVector 6(float) 3
+              72:             TypeImage 32(int) 2D depth sampled format:Unknown
+              73:             TypePointer UniformConstant 72
+  74(g_tTex2di4):     73(ptr) Variable UniformConstant
+              77:             TypeSampledImage 72
+              85:             TypeImage 44(int) 2D depth sampled format:Unknown
+              86:             TypePointer UniformConstant 85
+  87(g_tTex2du4):     86(ptr) Variable UniformConstant
+              90:             TypeSampledImage 85
+              98:             TypeImage 6(float) Cube depth sampled format:Unknown
+              99:             TypePointer UniformConstant 98
+ 100(g_tTexcdf4):     99(ptr) Variable UniformConstant
+             103:             TypeSampledImage 98
+             105:    6(float) Constant 1050253722
+             106:   65(fvec3) ConstantComposite 24 63 105
+             114:             TypeImage 32(int) Cube depth sampled format:Unknown
+             115:             TypePointer UniformConstant 114
+ 116(g_tTexcdi4):    115(ptr) Variable UniformConstant
+             119:             TypeSampledImage 114
+             128:             TypeImage 44(int) Cube depth sampled format:Unknown
+             129:             TypePointer UniformConstant 128
+ 130(g_tTexcdu4):    129(ptr) Variable UniformConstant
+             133:             TypeSampledImage 128
+             141:             TypePointer Function 8(PS_OUTPUT)
+             143:     32(int) Constant 0
+             144:    6(float) Constant 1065353216
+             145:    7(fvec4) ConstantComposite 144 144 144 144
+             146:             TypePointer Function 7(fvec4)
+             148:     32(int) Constant 1
+             155:             TypePointer Output 7(fvec4)
+156(@entryPointOutput.Color):    155(ptr) Variable Output
+             159:             TypePointer Output 6(float)
+160(@entryPointOutput.Depth):    159(ptr) Variable Output
+             163:             TypeImage 6(float) 3D sampled format:Unknown
+             164:             TypePointer UniformConstant 163
+ 165(g_tTex3df4):    164(ptr) Variable UniformConstant
+             166:             TypeImage 32(int) 3D sampled format:Unknown
+             167:             TypePointer UniformConstant 166
+ 168(g_tTex3di4):    167(ptr) Variable UniformConstant
+             169:             TypeImage 44(int) 3D sampled format:Unknown
+             170:             TypePointer UniformConstant 169
+ 171(g_tTex3du4):    170(ptr) Variable UniformConstant
+             172:             TypeImage 6(float) 1D array sampled format:Unknown
              173:             TypePointer UniformConstant 172
- 174(g_tTex3df4):    173(ptr) Variable UniformConstant
-             175:             TypeImage 33(int) 3D sampled format:Unknown
+174(g_tTex1df4a):    173(ptr) Variable UniformConstant
+             175:             TypeImage 32(int) 1D array sampled format:Unknown
              176:             TypePointer UniformConstant 175
- 177(g_tTex3di4):    176(ptr) Variable UniformConstant
-             178:             TypeImage 46(int) 3D sampled format:Unknown
+177(g_tTex1di4a):    176(ptr) Variable UniformConstant
+             178:             TypeImage 44(int) 1D array sampled format:Unknown
              179:             TypePointer UniformConstant 178
- 180(g_tTex3du4):    179(ptr) Variable UniformConstant
-             181:             TypeImage 6(float) 1D array sampled format:Unknown
+180(g_tTex1du4a):    179(ptr) Variable UniformConstant
+             181:             TypeImage 6(float) 2D array sampled format:Unknown
              182:             TypePointer UniformConstant 181
-183(g_tTex1df4a):    182(ptr) Variable UniformConstant
-             184:             TypeImage 33(int) 1D array sampled format:Unknown
+183(g_tTex2df4a):    182(ptr) Variable UniformConstant
+             184:             TypeImage 32(int) 2D array sampled format:Unknown
              185:             TypePointer UniformConstant 184
-186(g_tTex1di4a):    185(ptr) Variable UniformConstant
-             187:             TypeImage 46(int) 1D array sampled format:Unknown
+186(g_tTex2di4a):    185(ptr) Variable UniformConstant
+             187:             TypeImage 44(int) 2D array sampled format:Unknown
              188:             TypePointer UniformConstant 187
-189(g_tTex1du4a):    188(ptr) Variable UniformConstant
-             190:             TypeImage 6(float) 2D array sampled format:Unknown
+189(g_tTex2du4a):    188(ptr) Variable UniformConstant
+             190:             TypeImage 6(float) Cube array sampled format:Unknown
              191:             TypePointer UniformConstant 190
-192(g_tTex2df4a):    191(ptr) Variable UniformConstant
-             193:             TypeImage 33(int) 2D array sampled format:Unknown
+192(g_tTexcdf4a):    191(ptr) Variable UniformConstant
+             193:             TypeImage 32(int) Cube array sampled format:Unknown
              194:             TypePointer UniformConstant 193
-195(g_tTex2di4a):    194(ptr) Variable UniformConstant
-             196:             TypeImage 46(int) 2D array sampled format:Unknown
+195(g_tTexcdi4a):    194(ptr) Variable UniformConstant
+             196:             TypeImage 44(int) Cube array sampled format:Unknown
              197:             TypePointer UniformConstant 196
-198(g_tTex2du4a):    197(ptr) Variable UniformConstant
-             199:             TypeImage 6(float) Cube array sampled format:Unknown
-             200:             TypePointer UniformConstant 199
-201(g_tTexcdf4a):    200(ptr) Variable UniformConstant
-             202:             TypeImage 33(int) Cube array sampled format:Unknown
-             203:             TypePointer UniformConstant 202
-204(g_tTexcdi4a):    203(ptr) Variable UniformConstant
-             205:             TypeImage 46(int) Cube array sampled format:Unknown
-             206:             TypePointer UniformConstant 205
-207(g_tTexcdu4a):    206(ptr) Variable UniformConstant
+198(g_tTexcdu4a):    197(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-162(flattenTemp):    150(ptr) Variable Function
-             163:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 162(flattenTemp) 163
-             166:    155(ptr) AccessChain 162(flattenTemp) 152
-             167:    7(fvec4) Load 166
-                              Store 165(@entryPointOutput.Color) 167
-             170:     12(ptr) AccessChain 162(flattenTemp) 157
-             171:    6(float) Load 170
-                              Store 169(@entryPointOutput.Depth) 171
+153(flattenTemp):    141(ptr) Variable Function
+             154:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 153(flattenTemp) 154
+             157:    146(ptr) AccessChain 153(flattenTemp) 143
+             158:    7(fvec4) Load 157
+                              Store 156(@entryPointOutput.Color) 158
+             161:     12(ptr) AccessChain 153(flattenTemp) 148
+             162:    6(float) Load 161
+                              Store 160(@entryPointOutput.Depth) 162
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r00):     12(ptr) Variable Function
-         32(r02):     12(ptr) Variable Function
-         45(r04):     12(ptr) Variable Function
-         58(r20):     12(ptr) Variable Function
-         75(r22):     12(ptr) Variable Function
-         89(r24):     12(ptr) Variable Function
-        103(r50):     12(ptr) Variable Function
-        120(r52):     12(ptr) Variable Function
-        135(r54):     12(ptr) Variable Function
-      151(psout):    150(ptr) Variable Function
+         31(r02):     12(ptr) Variable Function
+         43(r04):     12(ptr) Variable Function
+         55(r20):     12(ptr) Variable Function
+         71(r22):     12(ptr) Variable Function
+         84(r24):     12(ptr) Variable Function
+         97(r50):     12(ptr) Variable Function
+        113(r52):     12(ptr) Variable Function
+        127(r54):     12(ptr) Variable Function
+      142(psout):    141(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              28:   27(fvec2) CompositeConstruct 25 26
-              30:    6(float) CompositeExtract 28 1
-              31:    6(float) ImageSampleDrefExplicitLod 24 28 30 Lod 29
-                              Store 13(r00) 31
-              37:          34 Load 36(g_tTex1di4)
-              38:          18 Load 20(g_sSamp)
-              41:          40 SampledImage 37 38
-              42:   27(fvec2) CompositeConstruct 25 26
-              43:    6(float) CompositeExtract 42 1
-              44:    6(float) ImageSampleDrefExplicitLod 41 42 43 Lod 29
-                              Store 32(r02) 44
-              50:          47 Load 49(g_tTex1du4)
-              51:          18 Load 20(g_sSamp)
-              54:          53 SampledImage 50 51
-              55:   27(fvec2) CompositeConstruct 25 26
-              56:    6(float) CompositeExtract 55 1
-              57:    6(float) ImageSampleDrefExplicitLod 54 55 56 Lod 29
-                              Store 45(r04) 57
-              62:          59 Load 61(g_tTex2df4)
-              63:          18 Load 20(g_sSamp)
-              66:          65 SampledImage 62 63
-              70:    6(float) CompositeExtract 68 0
-              71:    6(float) CompositeExtract 68 1
-              72:   69(fvec3) CompositeConstruct 70 71 26
-              73:    6(float) CompositeExtract 72 2
-              74:    6(float) ImageSampleDrefExplicitLod 66 72 73 Lod 29
-                              Store 58(r20) 74
-              79:          76 Load 78(g_tTex2di4)
-              80:          18 Load 20(g_sSamp)
-              83:          82 SampledImage 79 80
-              84:    6(float) CompositeExtract 68 0
-              85:    6(float) CompositeExtract 68 1
-              86:   69(fvec3) CompositeConstruct 84 85 26
-              87:    6(float) CompositeExtract 86 2
-              88:    6(float) ImageSampleDrefExplicitLod 83 86 87 Lod 29
-                              Store 75(r22) 88
-              93:          90 Load 92(g_tTex2du4)
-              94:          18 Load 20(g_sSamp)
-              97:          96 SampledImage 93 94
-              98:    6(float) CompositeExtract 68 0
-              99:    6(float) CompositeExtract 68 1
-             100:   69(fvec3) CompositeConstruct 98 99 26
-             101:    6(float) CompositeExtract 100 2
-             102:    6(float) ImageSampleDrefExplicitLod 97 100 101 Lod 29
-                              Store 89(r24) 102
-             107:         104 Load 106(g_tTexcdf4)
-             108:          18 Load 20(g_sSamp)
-             111:         110 SampledImage 107 108
-             114:    6(float) CompositeExtract 113 0
-             115:    6(float) CompositeExtract 113 1
-             116:    6(float) CompositeExtract 113 2
-             117:    7(fvec4) CompositeConstruct 114 115 116 26
-             118:    6(float) CompositeExtract 117 3
-             119:    6(float) ImageSampleDrefExplicitLod 111 117 118 Lod 29
-                              Store 103(r50) 119
-             124:         121 Load 123(g_tTexcdi4)
-             125:          18 Load 20(g_sSamp)
-             128:         127 SampledImage 124 125
-             129:    6(float) CompositeExtract 113 0
-             130:    6(float) CompositeExtract 113 1
-             131:    6(float) CompositeExtract 113 2
-             132:    7(fvec4) CompositeConstruct 129 130 131 26
-             133:    6(float) CompositeExtract 132 3
-             134:    6(float) ImageSampleDrefExplicitLod 128 132 133 Lod 29
-                              Store 120(r52) 134
-             139:         136 Load 138(g_tTexcdu4)
-             140:          18 Load 20(g_sSamp)
-             143:         142 SampledImage 139 140
-             144:    6(float) CompositeExtract 113 0
-             145:    6(float) CompositeExtract 113 1
-             146:    6(float) CompositeExtract 113 2
-             147:    7(fvec4) CompositeConstruct 144 145 146 26
-             148:    6(float) CompositeExtract 147 3
-             149:    6(float) ImageSampleDrefExplicitLod 143 147 148 Lod 29
-                              Store 135(r54) 149
-             156:    155(ptr) AccessChain 151(psout) 152
-                              Store 156 154
-             158:     12(ptr) AccessChain 151(psout) 157
-                              Store 158 153
-             159:8(PS_OUTPUT) Load 151(psout)
-                              ReturnValue 159
+              23:          22 SampledImage 17 21
+              27:   26(fvec2) CompositeConstruct 24 25
+              29:    6(float) CompositeExtract 27 1
+              30:    6(float) ImageSampleDrefExplicitLod 23 27 29 Lod 28
+                              Store 13(r00) 30
+              36:          33 Load 35(g_tTex1di4)
+              37:          18 Load 20(g_sSamp)
+              39:          38 SampledImage 36 37
+              40:   26(fvec2) CompositeConstruct 24 25
+              41:    6(float) CompositeExtract 40 1
+              42:    6(float) ImageSampleDrefExplicitLod 39 40 41 Lod 28
+                              Store 31(r02) 42
+              48:          45 Load 47(g_tTex1du4)
+              49:          18 Load 20(g_sSamp)
+              51:          50 SampledImage 48 49
+              52:   26(fvec2) CompositeConstruct 24 25
+              53:    6(float) CompositeExtract 52 1
+              54:    6(float) ImageSampleDrefExplicitLod 51 52 53 Lod 28
+                              Store 43(r04) 54
+              59:          56 Load 58(g_tTex2df4)
+              60:          18 Load 20(g_sSamp)
+              62:          61 SampledImage 59 60
+              66:    6(float) CompositeExtract 64 0
+              67:    6(float) CompositeExtract 64 1
+              68:   65(fvec3) CompositeConstruct 66 67 25
+              69:    6(float) CompositeExtract 68 2
+              70:    6(float) ImageSampleDrefExplicitLod 62 68 69 Lod 28
+                              Store 55(r20) 70
+              75:          72 Load 74(g_tTex2di4)
+              76:          18 Load 20(g_sSamp)
+              78:          77 SampledImage 75 76
+              79:    6(float) CompositeExtract 64 0
+              80:    6(float) CompositeExtract 64 1
+              81:   65(fvec3) CompositeConstruct 79 80 25
+              82:    6(float) CompositeExtract 81 2
+              83:    6(float) ImageSampleDrefExplicitLod 78 81 82 Lod 28
+                              Store 71(r22) 83
+              88:          85 Load 87(g_tTex2du4)
+              89:          18 Load 20(g_sSamp)
+              91:          90 SampledImage 88 89
+              92:    6(float) CompositeExtract 64 0
+              93:    6(float) CompositeExtract 64 1
+              94:   65(fvec3) CompositeConstruct 92 93 25
+              95:    6(float) CompositeExtract 94 2
+              96:    6(float) ImageSampleDrefExplicitLod 91 94 95 Lod 28
+                              Store 84(r24) 96
+             101:          98 Load 100(g_tTexcdf4)
+             102:          18 Load 20(g_sSamp)
+             104:         103 SampledImage 101 102
+             107:    6(float) CompositeExtract 106 0
+             108:    6(float) CompositeExtract 106 1
+             109:    6(float) CompositeExtract 106 2
+             110:    7(fvec4) CompositeConstruct 107 108 109 25
+             111:    6(float) CompositeExtract 110 3
+             112:    6(float) ImageSampleDrefExplicitLod 104 110 111 Lod 28
+                              Store 97(r50) 112
+             117:         114 Load 116(g_tTexcdi4)
+             118:          18 Load 20(g_sSamp)
+             120:         119 SampledImage 117 118
+             121:    6(float) CompositeExtract 106 0
+             122:    6(float) CompositeExtract 106 1
+             123:    6(float) CompositeExtract 106 2
+             124:    7(fvec4) CompositeConstruct 121 122 123 25
+             125:    6(float) CompositeExtract 124 3
+             126:    6(float) ImageSampleDrefExplicitLod 120 124 125 Lod 28
+                              Store 113(r52) 126
+             131:         128 Load 130(g_tTexcdu4)
+             132:          18 Load 20(g_sSamp)
+             134:         133 SampledImage 131 132
+             135:    6(float) CompositeExtract 106 0
+             136:    6(float) CompositeExtract 106 1
+             137:    6(float) CompositeExtract 106 2
+             138:    7(fvec4) CompositeConstruct 135 136 137 25
+             139:    6(float) CompositeExtract 138 3
+             140:    6(float) ImageSampleDrefExplicitLod 134 138 139 Lod 28
+                              Store 127(r54) 140
+             147:    146(ptr) AccessChain 142(psout) 143
+                              Store 147 145
+             149:     12(ptr) AccessChain 142(psout) 148
+                              Store 149 144
+             150:8(PS_OUTPUT) Load 142(psout)
+                              ReturnValue 150
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index ad5225c..141f1f4 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -26,7 +26,7 @@
 0:43          'r03' ( temp float)
 0:43          textureLodOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -42,7 +42,7 @@
 0:44          'r05' ( temp float)
 0:44          textureLodOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -58,7 +58,7 @@
 0:47          'r21' ( temp float)
 0:47          textureLodOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -76,7 +76,7 @@
 0:48          'r23' ( temp float)
 0:48          textureLodOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -94,7 +94,7 @@
 0:49          'r25' ( temp float)
 0:49          textureLodOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -147,12 +147,12 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
@@ -186,7 +186,7 @@
 0:42          'r01' ( temp 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_tTex1df4' (layout( binding=0) uniform texture1DShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec2 ( temp 2-component vector of float)
 0:42              Constant:
@@ -202,7 +202,7 @@
 0:43          'r03' ( temp float)
 0:43          textureLodOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DShadow)
-0:43              'g_tTex1di4' ( uniform itexture1D)
+0:43              'g_tTex1di4' ( uniform itexture1DShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec2 ( temp 2-component vector of float)
 0:43              Constant:
@@ -218,7 +218,7 @@
 0:44          'r05' ( temp float)
 0:44          textureLodOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DShadow)
-0:44              'g_tTex1du4' ( uniform utexture1D)
+0:44              'g_tTex1du4' ( uniform utexture1DShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec2 ( temp 2-component vector of float)
 0:44              Constant:
@@ -234,7 +234,7 @@
 0:47          'r21' ( temp float)
 0:47          textureLodOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DShadow)
-0:47              'g_tTex2df4' ( uniform texture2D)
+0:47              'g_tTex2df4' ( uniform texture2DShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -252,7 +252,7 @@
 0:48          'r23' ( temp float)
 0:48          textureLodOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DShadow)
-0:48              'g_tTex2di4' ( uniform itexture2D)
+0:48              'g_tTex2di4' ( uniform itexture2DShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -270,7 +270,7 @@
 0:49          'r25' ( temp float)
 0:49          textureLodOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DShadow)
-0:49              'g_tTex2du4' ( uniform utexture2D)
+0:49              'g_tTex2du4' ( uniform utexture2DShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -323,12 +323,12 @@
 0:38              1 (const int)
 0:?   Linker Objects
 0:?     'g_sSamp' (layout( binding=0) uniform sampler)
-0:?     'g_tTex1df4' (layout( binding=0) uniform texture1D)
-0:?     'g_tTex1di4' ( uniform itexture1D)
-0:?     'g_tTex1du4' ( uniform utexture1D)
-0:?     'g_tTex2df4' ( uniform texture2D)
-0:?     'g_tTex2di4' ( uniform itexture2D)
-0:?     'g_tTex2du4' ( uniform utexture2D)
+0:?     'g_tTex1df4' (layout( binding=0) uniform texture1DShadow)
+0:?     'g_tTex1di4' ( uniform itexture1DShadow)
+0:?     'g_tTex1du4' ( uniform utexture1DShadow)
+0:?     'g_tTex2df4' ( uniform texture2DShadow)
+0:?     'g_tTex2di4' ( uniform itexture2DShadow)
+0:?     'g_tTex2du4' ( uniform utexture2DShadow)
 0:?     'g_tTex3df4' ( uniform texture3D)
 0:?     'g_tTex3di4' ( uniform itexture3D)
 0:?     'g_tTex3du4' ( uniform utexture3D)
@@ -348,15 +348,15 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 174
+// Generated by (magic number): 80002
+// Id's are bound by 168
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 122 126
+                              EntryPoint Fragment 4  "main" 116 120
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -367,61 +367,61 @@
                               Name 13  "r01"
                               Name 16  "g_tTex1df4"
                               Name 20  "g_sSamp"
-                              Name 34  "r03"
-                              Name 37  "g_tTex1di4"
-                              Name 46  "r05"
-                              Name 50  "g_tTex1du4"
-                              Name 59  "r21"
-                              Name 62  "g_tTex2df4"
-                              Name 79  "r23"
-                              Name 82  "g_tTex2di4"
-                              Name 93  "r25"
-                              Name 96  "g_tTex2du4"
-                              Name 108  "psout"
-                              Name 119  "flattenTemp"
-                              Name 122  "@entryPointOutput.Color"
-                              Name 126  "@entryPointOutput.Depth"
-                              Name 131  "g_tTex3df4"
-                              Name 134  "g_tTex3di4"
-                              Name 137  "g_tTex3du4"
-                              Name 140  "g_tTexcdf4"
-                              Name 143  "g_tTexcdi4"
-                              Name 146  "g_tTexcdu4"
-                              Name 149  "g_tTex1df4a"
-                              Name 152  "g_tTex1di4a"
-                              Name 155  "g_tTex1du4a"
-                              Name 158  "g_tTex2df4a"
-                              Name 161  "g_tTex2di4a"
-                              Name 164  "g_tTex2du4a"
-                              Name 167  "g_tTexcdf4a"
-                              Name 170  "g_tTexcdi4a"
-                              Name 173  "g_tTexcdu4a"
+                              Name 33  "r03"
+                              Name 36  "g_tTex1di4"
+                              Name 44  "r05"
+                              Name 48  "g_tTex1du4"
+                              Name 56  "r21"
+                              Name 59  "g_tTex2df4"
+                              Name 75  "r23"
+                              Name 78  "g_tTex2di4"
+                              Name 88  "r25"
+                              Name 91  "g_tTex2du4"
+                              Name 102  "psout"
+                              Name 113  "flattenTemp"
+                              Name 116  "@entryPointOutput.Color"
+                              Name 120  "@entryPointOutput.Depth"
+                              Name 125  "g_tTex3df4"
+                              Name 128  "g_tTex3di4"
+                              Name 131  "g_tTex3du4"
+                              Name 134  "g_tTexcdf4"
+                              Name 137  "g_tTexcdi4"
+                              Name 140  "g_tTexcdu4"
+                              Name 143  "g_tTex1df4a"
+                              Name 146  "g_tTex1di4a"
+                              Name 149  "g_tTex1du4a"
+                              Name 152  "g_tTex2df4a"
+                              Name 155  "g_tTex2di4a"
+                              Name 158  "g_tTex2du4a"
+                              Name 161  "g_tTexcdf4a"
+                              Name 164  "g_tTexcdi4a"
+                              Name 167  "g_tTexcdu4a"
                               Decorate 16(g_tTex1df4) DescriptorSet 0
                               Decorate 16(g_tTex1df4) Binding 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 37(g_tTex1di4) DescriptorSet 0
-                              Decorate 50(g_tTex1du4) DescriptorSet 0
-                              Decorate 62(g_tTex2df4) DescriptorSet 0
-                              Decorate 82(g_tTex2di4) DescriptorSet 0
-                              Decorate 96(g_tTex2du4) DescriptorSet 0
-                              Decorate 122(@entryPointOutput.Color) Location 0
-                              Decorate 126(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 131(g_tTex3df4) DescriptorSet 0
-                              Decorate 134(g_tTex3di4) DescriptorSet 0
-                              Decorate 137(g_tTex3du4) DescriptorSet 0
-                              Decorate 140(g_tTexcdf4) DescriptorSet 0
-                              Decorate 143(g_tTexcdi4) DescriptorSet 0
-                              Decorate 146(g_tTexcdu4) DescriptorSet 0
-                              Decorate 149(g_tTex1df4a) DescriptorSet 0
-                              Decorate 152(g_tTex1di4a) DescriptorSet 0
-                              Decorate 155(g_tTex1du4a) DescriptorSet 0
-                              Decorate 158(g_tTex2df4a) DescriptorSet 0
-                              Decorate 161(g_tTex2di4a) DescriptorSet 0
-                              Decorate 164(g_tTex2du4a) DescriptorSet 0
-                              Decorate 167(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 170(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 173(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 36(g_tTex1di4) DescriptorSet 0
+                              Decorate 48(g_tTex1du4) DescriptorSet 0
+                              Decorate 59(g_tTex2df4) DescriptorSet 0
+                              Decorate 78(g_tTex2di4) DescriptorSet 0
+                              Decorate 91(g_tTex2du4) DescriptorSet 0
+                              Decorate 116(@entryPointOutput.Color) Location 0
+                              Decorate 120(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 125(g_tTex3df4) DescriptorSet 0
+                              Decorate 128(g_tTex3di4) DescriptorSet 0
+                              Decorate 131(g_tTex3du4) DescriptorSet 0
+                              Decorate 134(g_tTexcdf4) DescriptorSet 0
+                              Decorate 137(g_tTexcdi4) DescriptorSet 0
+                              Decorate 140(g_tTexcdu4) DescriptorSet 0
+                              Decorate 143(g_tTex1df4a) DescriptorSet 0
+                              Decorate 146(g_tTex1di4a) DescriptorSet 0
+                              Decorate 149(g_tTex1du4a) DescriptorSet 0
+                              Decorate 152(g_tTex2df4a) DescriptorSet 0
+                              Decorate 155(g_tTex2di4a) DescriptorSet 0
+                              Decorate 158(g_tTex2du4a) DescriptorSet 0
+                              Decorate 161(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 164(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 167(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -429,181 +429,175 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth sampled format:Unknown
               15:             TypePointer UniformConstant 14
   16(g_tTex1df4):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:    6(float) Constant 1036831949
-              26:    6(float) Constant 1061158912
-              27:             TypeVector 6(float) 2
-              29:    6(float) Constant 0
-              30:             TypeInt 32 1
-              31:     30(int) Constant 2
-              35:             TypeImage 30(int) 1D sampled format:Unknown
-              36:             TypePointer UniformConstant 35
-  37(g_tTex1di4):     36(ptr) Variable UniformConstant
-              40:             TypeImage 30(int) 1D depth sampled format:Unknown
-              41:             TypeSampledImage 40
-              47:             TypeInt 32 0
-              48:             TypeImage 47(int) 1D sampled format:Unknown
-              49:             TypePointer UniformConstant 48
-  50(g_tTex1du4):     49(ptr) Variable UniformConstant
-              53:             TypeImage 47(int) 1D depth sampled format:Unknown
-              54:             TypeSampledImage 53
-              60:             TypeImage 6(float) 2D sampled format:Unknown
-              61:             TypePointer UniformConstant 60
-  62(g_tTex2df4):     61(ptr) Variable UniformConstant
-              65:             TypeImage 6(float) 2D depth sampled format:Unknown
-              66:             TypeSampledImage 65
-              68:    6(float) Constant 1045220557
-              69:   27(fvec2) ConstantComposite 25 68
-              70:             TypeVector 6(float) 3
-              74:             TypeVector 30(int) 2
-              75:     30(int) Constant 3
-              76:   74(ivec2) ConstantComposite 31 75
-              80:             TypeImage 30(int) 2D sampled format:Unknown
-              81:             TypePointer UniformConstant 80
-  82(g_tTex2di4):     81(ptr) Variable UniformConstant
-              85:             TypeImage 30(int) 2D depth sampled format:Unknown
-              86:             TypeSampledImage 85
-              94:             TypeImage 47(int) 2D sampled format:Unknown
-              95:             TypePointer UniformConstant 94
-  96(g_tTex2du4):     95(ptr) Variable UniformConstant
-              99:             TypeImage 47(int) 2D depth sampled format:Unknown
-             100:             TypeSampledImage 99
-             107:             TypePointer Function 8(PS_OUTPUT)
-             109:     30(int) Constant 0
-             110:    6(float) Constant 1065353216
-             111:    7(fvec4) ConstantComposite 110 110 110 110
-             112:             TypePointer Function 7(fvec4)
-             114:     30(int) Constant 1
-             121:             TypePointer Output 7(fvec4)
-122(@entryPointOutput.Color):    121(ptr) Variable Output
-             125:             TypePointer Output 6(float)
-126(@entryPointOutput.Depth):    125(ptr) Variable Output
-             129:             TypeImage 6(float) 3D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:    6(float) Constant 1036831949
+              25:    6(float) Constant 1061158912
+              26:             TypeVector 6(float) 2
+              28:    6(float) Constant 0
+              29:             TypeInt 32 1
+              30:     29(int) Constant 2
+              34:             TypeImage 29(int) 1D depth sampled format:Unknown
+              35:             TypePointer UniformConstant 34
+  36(g_tTex1di4):     35(ptr) Variable UniformConstant
+              39:             TypeSampledImage 34
+              45:             TypeInt 32 0
+              46:             TypeImage 45(int) 1D depth sampled format:Unknown
+              47:             TypePointer UniformConstant 46
+  48(g_tTex1du4):     47(ptr) Variable UniformConstant
+              51:             TypeSampledImage 46
+              57:             TypeImage 6(float) 2D depth sampled format:Unknown
+              58:             TypePointer UniformConstant 57
+  59(g_tTex2df4):     58(ptr) Variable UniformConstant
+              62:             TypeSampledImage 57
+              64:    6(float) Constant 1045220557
+              65:   26(fvec2) ConstantComposite 24 64
+              66:             TypeVector 6(float) 3
+              70:             TypeVector 29(int) 2
+              71:     29(int) Constant 3
+              72:   70(ivec2) ConstantComposite 30 71
+              76:             TypeImage 29(int) 2D depth sampled format:Unknown
+              77:             TypePointer UniformConstant 76
+  78(g_tTex2di4):     77(ptr) Variable UniformConstant
+              81:             TypeSampledImage 76
+              89:             TypeImage 45(int) 2D depth sampled format:Unknown
+              90:             TypePointer UniformConstant 89
+  91(g_tTex2du4):     90(ptr) Variable UniformConstant
+              94:             TypeSampledImage 89
+             101:             TypePointer Function 8(PS_OUTPUT)
+             103:     29(int) Constant 0
+             104:    6(float) Constant 1065353216
+             105:    7(fvec4) ConstantComposite 104 104 104 104
+             106:             TypePointer Function 7(fvec4)
+             108:     29(int) Constant 1
+             115:             TypePointer Output 7(fvec4)
+116(@entryPointOutput.Color):    115(ptr) Variable Output
+             119:             TypePointer Output 6(float)
+120(@entryPointOutput.Depth):    119(ptr) Variable Output
+             123:             TypeImage 6(float) 3D sampled format:Unknown
+             124:             TypePointer UniformConstant 123
+ 125(g_tTex3df4):    124(ptr) Variable UniformConstant
+             126:             TypeImage 29(int) 3D sampled format:Unknown
+             127:             TypePointer UniformConstant 126
+ 128(g_tTex3di4):    127(ptr) Variable UniformConstant
+             129:             TypeImage 45(int) 3D sampled format:Unknown
              130:             TypePointer UniformConstant 129
- 131(g_tTex3df4):    130(ptr) Variable UniformConstant
-             132:             TypeImage 30(int) 3D sampled format:Unknown
+ 131(g_tTex3du4):    130(ptr) Variable UniformConstant
+             132:             TypeImage 6(float) Cube sampled format:Unknown
              133:             TypePointer UniformConstant 132
- 134(g_tTex3di4):    133(ptr) Variable UniformConstant
-             135:             TypeImage 47(int) 3D sampled format:Unknown
+ 134(g_tTexcdf4):    133(ptr) Variable UniformConstant
+             135:             TypeImage 29(int) Cube sampled format:Unknown
              136:             TypePointer UniformConstant 135
- 137(g_tTex3du4):    136(ptr) Variable UniformConstant
-             138:             TypeImage 6(float) Cube sampled format:Unknown
+ 137(g_tTexcdi4):    136(ptr) Variable UniformConstant
+             138:             TypeImage 45(int) Cube sampled format:Unknown
              139:             TypePointer UniformConstant 138
- 140(g_tTexcdf4):    139(ptr) Variable UniformConstant
-             141:             TypeImage 30(int) Cube sampled format:Unknown
+ 140(g_tTexcdu4):    139(ptr) Variable UniformConstant
+             141:             TypeImage 6(float) 1D array sampled format:Unknown
              142:             TypePointer UniformConstant 141
- 143(g_tTexcdi4):    142(ptr) Variable UniformConstant
-             144:             TypeImage 47(int) Cube sampled format:Unknown
+143(g_tTex1df4a):    142(ptr) Variable UniformConstant
+             144:             TypeImage 29(int) 1D array sampled format:Unknown
              145:             TypePointer UniformConstant 144
- 146(g_tTexcdu4):    145(ptr) Variable UniformConstant
-             147:             TypeImage 6(float) 1D array sampled format:Unknown
+146(g_tTex1di4a):    145(ptr) Variable UniformConstant
+             147:             TypeImage 45(int) 1D array sampled format:Unknown
              148:             TypePointer UniformConstant 147
-149(g_tTex1df4a):    148(ptr) Variable UniformConstant
-             150:             TypeImage 30(int) 1D array sampled format:Unknown
+149(g_tTex1du4a):    148(ptr) Variable UniformConstant
+             150:             TypeImage 6(float) 2D array sampled format:Unknown
              151:             TypePointer UniformConstant 150
-152(g_tTex1di4a):    151(ptr) Variable UniformConstant
-             153:             TypeImage 47(int) 1D array sampled format:Unknown
+152(g_tTex2df4a):    151(ptr) Variable UniformConstant
+             153:             TypeImage 29(int) 2D array sampled format:Unknown
              154:             TypePointer UniformConstant 153
-155(g_tTex1du4a):    154(ptr) Variable UniformConstant
-             156:             TypeImage 6(float) 2D array sampled format:Unknown
+155(g_tTex2di4a):    154(ptr) Variable UniformConstant
+             156:             TypeImage 45(int) 2D array sampled format:Unknown
              157:             TypePointer UniformConstant 156
-158(g_tTex2df4a):    157(ptr) Variable UniformConstant
-             159:             TypeImage 30(int) 2D array sampled format:Unknown
+158(g_tTex2du4a):    157(ptr) Variable UniformConstant
+             159:             TypeImage 6(float) Cube array sampled format:Unknown
              160:             TypePointer UniformConstant 159
-161(g_tTex2di4a):    160(ptr) Variable UniformConstant
-             162:             TypeImage 47(int) 2D array sampled format:Unknown
+161(g_tTexcdf4a):    160(ptr) Variable UniformConstant
+             162:             TypeImage 29(int) Cube array sampled format:Unknown
              163:             TypePointer UniformConstant 162
-164(g_tTex2du4a):    163(ptr) Variable UniformConstant
-             165:             TypeImage 6(float) Cube array sampled format:Unknown
+164(g_tTexcdi4a):    163(ptr) Variable UniformConstant
+             165:             TypeImage 45(int) Cube array sampled format:Unknown
              166:             TypePointer UniformConstant 165
-167(g_tTexcdf4a):    166(ptr) Variable UniformConstant
-             168:             TypeImage 30(int) Cube array sampled format:Unknown
-             169:             TypePointer UniformConstant 168
-170(g_tTexcdi4a):    169(ptr) Variable UniformConstant
-             171:             TypeImage 47(int) Cube array sampled format:Unknown
-             172:             TypePointer UniformConstant 171
-173(g_tTexcdu4a):    172(ptr) Variable UniformConstant
+167(g_tTexcdu4a):    166(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-119(flattenTemp):    107(ptr) Variable Function
-             120:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 119(flattenTemp) 120
-             123:    112(ptr) AccessChain 119(flattenTemp) 109
-             124:    7(fvec4) Load 123
-                              Store 122(@entryPointOutput.Color) 124
-             127:     12(ptr) AccessChain 119(flattenTemp) 114
-             128:    6(float) Load 127
-                              Store 126(@entryPointOutput.Depth) 128
+113(flattenTemp):    101(ptr) Variable Function
+             114:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 113(flattenTemp) 114
+             117:    106(ptr) AccessChain 113(flattenTemp) 103
+             118:    7(fvec4) Load 117
+                              Store 116(@entryPointOutput.Color) 118
+             121:     12(ptr) AccessChain 113(flattenTemp) 108
+             122:    6(float) Load 121
+                              Store 120(@entryPointOutput.Depth) 122
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r01):     12(ptr) Variable Function
-         34(r03):     12(ptr) Variable Function
-         46(r05):     12(ptr) Variable Function
-         59(r21):     12(ptr) Variable Function
-         79(r23):     12(ptr) Variable Function
-         93(r25):     12(ptr) Variable Function
-      108(psout):    107(ptr) Variable Function
+         33(r03):     12(ptr) Variable Function
+         44(r05):     12(ptr) Variable Function
+         56(r21):     12(ptr) Variable Function
+         75(r23):     12(ptr) Variable Function
+         88(r25):     12(ptr) Variable Function
+      102(psout):    101(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              28:   27(fvec2) CompositeConstruct 25 26
-              32:    6(float) CompositeExtract 28 1
-              33:    6(float) ImageSampleDrefExplicitLod 24 28 32 Lod ConstOffset 29 31
-                              Store 13(r01) 33
-              38:          35 Load 37(g_tTex1di4)
-              39:          18 Load 20(g_sSamp)
-              42:          41 SampledImage 38 39
-              43:   27(fvec2) CompositeConstruct 25 26
-              44:    6(float) CompositeExtract 43 1
-              45:    6(float) ImageSampleDrefExplicitLod 42 43 44 Lod ConstOffset 29 31
-                              Store 34(r03) 45
-              51:          48 Load 50(g_tTex1du4)
-              52:          18 Load 20(g_sSamp)
-              55:          54 SampledImage 51 52
-              56:   27(fvec2) CompositeConstruct 25 26
-              57:    6(float) CompositeExtract 56 1
-              58:    6(float) ImageSampleDrefExplicitLod 55 56 57 Lod ConstOffset 29 31
-                              Store 46(r05) 58
-              63:          60 Load 62(g_tTex2df4)
-              64:          18 Load 20(g_sSamp)
-              67:          66 SampledImage 63 64
-              71:    6(float) CompositeExtract 69 0
-              72:    6(float) CompositeExtract 69 1
-              73:   70(fvec3) CompositeConstruct 71 72 26
-              77:    6(float) CompositeExtract 73 2
-              78:    6(float) ImageSampleDrefExplicitLod 67 73 77 Lod ConstOffset 29 76
-                              Store 59(r21) 78
-              83:          80 Load 82(g_tTex2di4)
-              84:          18 Load 20(g_sSamp)
-              87:          86 SampledImage 83 84
-              88:    6(float) CompositeExtract 69 0
-              89:    6(float) CompositeExtract 69 1
-              90:   70(fvec3) CompositeConstruct 88 89 26
-              91:    6(float) CompositeExtract 90 2
-              92:    6(float) ImageSampleDrefExplicitLod 87 90 91 Lod ConstOffset 29 76
-                              Store 79(r23) 92
-              97:          94 Load 96(g_tTex2du4)
-              98:          18 Load 20(g_sSamp)
-             101:         100 SampledImage 97 98
-             102:    6(float) CompositeExtract 69 0
-             103:    6(float) CompositeExtract 69 1
-             104:   70(fvec3) CompositeConstruct 102 103 26
-             105:    6(float) CompositeExtract 104 2
-             106:    6(float) ImageSampleDrefExplicitLod 101 104 105 Lod ConstOffset 29 76
-                              Store 93(r25) 106
-             113:    112(ptr) AccessChain 108(psout) 109
-                              Store 113 111
-             115:     12(ptr) AccessChain 108(psout) 114
-                              Store 115 110
-             116:8(PS_OUTPUT) Load 108(psout)
-                              ReturnValue 116
+              23:          22 SampledImage 17 21
+              27:   26(fvec2) CompositeConstruct 24 25
+              31:    6(float) CompositeExtract 27 1
+              32:    6(float) ImageSampleDrefExplicitLod 23 27 31 Lod ConstOffset 28 30
+                              Store 13(r01) 32
+              37:          34 Load 36(g_tTex1di4)
+              38:          18 Load 20(g_sSamp)
+              40:          39 SampledImage 37 38
+              41:   26(fvec2) CompositeConstruct 24 25
+              42:    6(float) CompositeExtract 41 1
+              43:    6(float) ImageSampleDrefExplicitLod 40 41 42 Lod ConstOffset 28 30
+                              Store 33(r03) 43
+              49:          46 Load 48(g_tTex1du4)
+              50:          18 Load 20(g_sSamp)
+              52:          51 SampledImage 49 50
+              53:   26(fvec2) CompositeConstruct 24 25
+              54:    6(float) CompositeExtract 53 1
+              55:    6(float) ImageSampleDrefExplicitLod 52 53 54 Lod ConstOffset 28 30
+                              Store 44(r05) 55
+              60:          57 Load 59(g_tTex2df4)
+              61:          18 Load 20(g_sSamp)
+              63:          62 SampledImage 60 61
+              67:    6(float) CompositeExtract 65 0
+              68:    6(float) CompositeExtract 65 1
+              69:   66(fvec3) CompositeConstruct 67 68 25
+              73:    6(float) CompositeExtract 69 2
+              74:    6(float) ImageSampleDrefExplicitLod 63 69 73 Lod ConstOffset 28 72
+                              Store 56(r21) 74
+              79:          76 Load 78(g_tTex2di4)
+              80:          18 Load 20(g_sSamp)
+              82:          81 SampledImage 79 80
+              83:    6(float) CompositeExtract 65 0
+              84:    6(float) CompositeExtract 65 1
+              85:   66(fvec3) CompositeConstruct 83 84 25
+              86:    6(float) CompositeExtract 85 2
+              87:    6(float) ImageSampleDrefExplicitLod 82 85 86 Lod ConstOffset 28 72
+                              Store 75(r23) 87
+              92:          89 Load 91(g_tTex2du4)
+              93:          18 Load 20(g_sSamp)
+              95:          94 SampledImage 92 93
+              96:    6(float) CompositeExtract 65 0
+              97:    6(float) CompositeExtract 65 1
+              98:   66(fvec3) CompositeConstruct 96 97 25
+              99:    6(float) CompositeExtract 98 2
+             100:    6(float) ImageSampleDrefExplicitLod 95 98 99 Lod ConstOffset 28 72
+                              Store 88(r25) 100
+             107:    106(ptr) AccessChain 102(psout) 103
+                              Store 107 105
+             109:     12(ptr) AccessChain 102(psout) 108
+                              Store 109 104
+             110:8(PS_OUTPUT) Load 102(psout)
+                              ReturnValue 110
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index 7246fe7..84b830c 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -10,7 +10,7 @@
 0:42          'r11' ( temp float)
 0:42          textureLodOffset ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -27,7 +27,7 @@
 0:43          'r13' ( temp float)
 0:43          textureLodOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -44,7 +44,7 @@
 0:44          'r15' ( temp float)
 0:44          textureLodOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -61,7 +61,7 @@
 0:47          'r31' ( temp float)
 0:47          textureLodOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -80,7 +80,7 @@
 0:48          'r33' ( temp float)
 0:48          textureLodOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -99,7 +99,7 @@
 0:49          'r35' ( temp float)
 0:49          textureLodOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -165,12 +165,12 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
@@ -192,7 +192,7 @@
 0:42          'r11' ( temp float)
 0:42          textureLodOffset ( temp float)
 0:42            Construct combined texture-sampler ( temp sampler1DArrayShadow)
-0:42              'g_tTex1df4a' ( uniform texture1DArray)
+0:42              'g_tTex1df4a' ( uniform texture1DArrayShadow)
 0:42              'g_sSamp' (layout( binding=0) uniform sampler)
 0:42            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -209,7 +209,7 @@
 0:43          'r13' ( temp float)
 0:43          textureLodOffset ( temp float)
 0:43            Construct combined texture-sampler ( temp isampler1DArrayShadow)
-0:43              'g_tTex1di4a' ( uniform itexture1DArray)
+0:43              'g_tTex1di4a' ( uniform itexture1DArrayShadow)
 0:43              'g_sSamp' (layout( binding=0) uniform sampler)
 0:43            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -226,7 +226,7 @@
 0:44          'r15' ( temp float)
 0:44          textureLodOffset ( temp float)
 0:44            Construct combined texture-sampler ( temp usampler1DArrayShadow)
-0:44              'g_tTex1du4a' ( uniform utexture1DArray)
+0:44              'g_tTex1du4a' ( uniform utexture1DArrayShadow)
 0:44              'g_sSamp' (layout( binding=0) uniform sampler)
 0:44            Construct vec3 ( temp 3-component vector of float)
 0:?               Constant:
@@ -243,7 +243,7 @@
 0:47          'r31' ( temp float)
 0:47          textureLodOffset ( temp float)
 0:47            Construct combined texture-sampler ( temp sampler2DArrayShadow)
-0:47              'g_tTex2df4a' ( uniform texture2DArray)
+0:47              'g_tTex2df4a' ( uniform texture2DArrayShadow)
 0:47              'g_sSamp' (layout( binding=0) uniform sampler)
 0:47            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -262,7 +262,7 @@
 0:48          'r33' ( temp float)
 0:48          textureLodOffset ( temp float)
 0:48            Construct combined texture-sampler ( temp isampler2DArrayShadow)
-0:48              'g_tTex2di4a' ( uniform itexture2DArray)
+0:48              'g_tTex2di4a' ( uniform itexture2DArrayShadow)
 0:48              'g_sSamp' (layout( binding=0) uniform sampler)
 0:48            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -281,7 +281,7 @@
 0:49          'r35' ( temp float)
 0:49          textureLodOffset ( temp float)
 0:49            Construct combined texture-sampler ( temp usampler2DArrayShadow)
-0:49              'g_tTex2du4a' ( uniform utexture2DArray)
+0:49              'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:49              'g_sSamp' (layout( binding=0) uniform sampler)
 0:49            Construct vec4 ( temp 4-component vector of float)
 0:?               Constant:
@@ -347,12 +347,12 @@
 0:?     'g_tTexcdf4' ( uniform textureCube)
 0:?     'g_tTexcdi4' ( uniform itextureCube)
 0:?     'g_tTexcdu4' ( uniform utextureCube)
-0:?     'g_tTex1df4a' ( uniform texture1DArray)
-0:?     'g_tTex1di4a' ( uniform itexture1DArray)
-0:?     'g_tTex1du4a' ( uniform utexture1DArray)
-0:?     'g_tTex2df4a' ( uniform texture2DArray)
-0:?     'g_tTex2di4a' ( uniform itexture2DArray)
-0:?     'g_tTex2du4a' ( uniform utexture2DArray)
+0:?     'g_tTex1df4a' ( uniform texture1DArrayShadow)
+0:?     'g_tTex1di4a' ( uniform itexture1DArrayShadow)
+0:?     'g_tTex1du4a' ( uniform utexture1DArrayShadow)
+0:?     'g_tTex2df4a' ( uniform texture2DArrayShadow)
+0:?     'g_tTex2di4a' ( uniform itexture2DArrayShadow)
+0:?     'g_tTex2du4a' ( uniform utexture2DArrayShadow)
 0:?     'g_tTexcdf4a' ( uniform textureCubeArray)
 0:?     'g_tTexcdi4a' ( uniform itextureCubeArray)
 0:?     'g_tTexcdu4a' ( uniform utextureCubeArray)
@@ -360,15 +360,15 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 185
+// Generated by (magic number): 80002
+// Id's are bound by 179
 
                               Capability Shader
                               Capability Sampled1D
                               Capability SampledCubeArray
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 133 137
+                              EntryPoint Fragment 4  "main" 127 131
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -379,61 +379,61 @@
                               Name 13  "r11"
                               Name 16  "g_tTex1df4a"
                               Name 20  "g_sSamp"
-                              Name 39  "r13"
-                              Name 42  "g_tTex1di4a"
-                              Name 53  "r15"
-                              Name 57  "g_tTex1du4a"
-                              Name 68  "r31"
-                              Name 71  "g_tTex2df4a"
-                              Name 88  "r33"
-                              Name 91  "g_tTex2di4a"
-                              Name 103  "r35"
-                              Name 106  "g_tTex2du4a"
-                              Name 119  "psout"
-                              Name 130  "flattenTemp"
-                              Name 133  "@entryPointOutput.Color"
-                              Name 137  "@entryPointOutput.Depth"
-                              Name 142  "g_tTex1df4"
-                              Name 145  "g_tTex1di4"
-                              Name 148  "g_tTex1du4"
-                              Name 151  "g_tTex2df4"
-                              Name 154  "g_tTex2di4"
-                              Name 157  "g_tTex2du4"
-                              Name 160  "g_tTex3df4"
-                              Name 163  "g_tTex3di4"
-                              Name 166  "g_tTex3du4"
-                              Name 169  "g_tTexcdf4"
-                              Name 172  "g_tTexcdi4"
-                              Name 175  "g_tTexcdu4"
-                              Name 178  "g_tTexcdf4a"
-                              Name 181  "g_tTexcdi4a"
-                              Name 184  "g_tTexcdu4a"
+                              Name 38  "r13"
+                              Name 41  "g_tTex1di4a"
+                              Name 51  "r15"
+                              Name 55  "g_tTex1du4a"
+                              Name 65  "r31"
+                              Name 68  "g_tTex2df4a"
+                              Name 84  "r33"
+                              Name 87  "g_tTex2di4a"
+                              Name 98  "r35"
+                              Name 101  "g_tTex2du4a"
+                              Name 113  "psout"
+                              Name 124  "flattenTemp"
+                              Name 127  "@entryPointOutput.Color"
+                              Name 131  "@entryPointOutput.Depth"
+                              Name 136  "g_tTex1df4"
+                              Name 139  "g_tTex1di4"
+                              Name 142  "g_tTex1du4"
+                              Name 145  "g_tTex2df4"
+                              Name 148  "g_tTex2di4"
+                              Name 151  "g_tTex2du4"
+                              Name 154  "g_tTex3df4"
+                              Name 157  "g_tTex3di4"
+                              Name 160  "g_tTex3du4"
+                              Name 163  "g_tTexcdf4"
+                              Name 166  "g_tTexcdi4"
+                              Name 169  "g_tTexcdu4"
+                              Name 172  "g_tTexcdf4a"
+                              Name 175  "g_tTexcdi4a"
+                              Name 178  "g_tTexcdu4a"
                               Decorate 16(g_tTex1df4a) DescriptorSet 0
                               Decorate 20(g_sSamp) DescriptorSet 0
                               Decorate 20(g_sSamp) Binding 0
-                              Decorate 42(g_tTex1di4a) DescriptorSet 0
-                              Decorate 57(g_tTex1du4a) DescriptorSet 0
-                              Decorate 71(g_tTex2df4a) DescriptorSet 0
-                              Decorate 91(g_tTex2di4a) DescriptorSet 0
-                              Decorate 106(g_tTex2du4a) DescriptorSet 0
-                              Decorate 133(@entryPointOutput.Color) Location 0
-                              Decorate 137(@entryPointOutput.Depth) BuiltIn FragDepth
-                              Decorate 142(g_tTex1df4) DescriptorSet 0
-                              Decorate 142(g_tTex1df4) Binding 0
-                              Decorate 145(g_tTex1di4) DescriptorSet 0
-                              Decorate 148(g_tTex1du4) DescriptorSet 0
-                              Decorate 151(g_tTex2df4) DescriptorSet 0
-                              Decorate 154(g_tTex2di4) DescriptorSet 0
-                              Decorate 157(g_tTex2du4) DescriptorSet 0
-                              Decorate 160(g_tTex3df4) DescriptorSet 0
-                              Decorate 163(g_tTex3di4) DescriptorSet 0
-                              Decorate 166(g_tTex3du4) DescriptorSet 0
-                              Decorate 169(g_tTexcdf4) DescriptorSet 0
-                              Decorate 172(g_tTexcdi4) DescriptorSet 0
-                              Decorate 175(g_tTexcdu4) DescriptorSet 0
-                              Decorate 178(g_tTexcdf4a) DescriptorSet 0
-                              Decorate 181(g_tTexcdi4a) DescriptorSet 0
-                              Decorate 184(g_tTexcdu4a) DescriptorSet 0
+                              Decorate 41(g_tTex1di4a) DescriptorSet 0
+                              Decorate 55(g_tTex1du4a) DescriptorSet 0
+                              Decorate 68(g_tTex2df4a) DescriptorSet 0
+                              Decorate 87(g_tTex2di4a) DescriptorSet 0
+                              Decorate 101(g_tTex2du4a) DescriptorSet 0
+                              Decorate 127(@entryPointOutput.Color) Location 0
+                              Decorate 131(@entryPointOutput.Depth) BuiltIn FragDepth
+                              Decorate 136(g_tTex1df4) DescriptorSet 0
+                              Decorate 136(g_tTex1df4) Binding 0
+                              Decorate 139(g_tTex1di4) DescriptorSet 0
+                              Decorate 142(g_tTex1du4) DescriptorSet 0
+                              Decorate 145(g_tTex2df4) DescriptorSet 0
+                              Decorate 148(g_tTex2di4) DescriptorSet 0
+                              Decorate 151(g_tTex2du4) DescriptorSet 0
+                              Decorate 154(g_tTex3df4) DescriptorSet 0
+                              Decorate 157(g_tTex3di4) DescriptorSet 0
+                              Decorate 160(g_tTex3du4) DescriptorSet 0
+                              Decorate 163(g_tTexcdf4) DescriptorSet 0
+                              Decorate 166(g_tTexcdi4) DescriptorSet 0
+                              Decorate 169(g_tTexcdu4) DescriptorSet 0
+                              Decorate 172(g_tTexcdf4a) DescriptorSet 0
+                              Decorate 175(g_tTexcdi4a) DescriptorSet 0
+                              Decorate 178(g_tTexcdu4a) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -441,192 +441,186 @@
     8(PS_OUTPUT):             TypeStruct 7(fvec4) 6(float)
                9:             TypeFunction 8(PS_OUTPUT)
               12:             TypePointer Function 6(float)
-              14:             TypeImage 6(float) 1D array sampled format:Unknown
+              14:             TypeImage 6(float) 1D depth array sampled format:Unknown
               15:             TypePointer UniformConstant 14
  16(g_tTex1df4a):     15(ptr) Variable UniformConstant
               18:             TypeSampler
               19:             TypePointer UniformConstant 18
      20(g_sSamp):     19(ptr) Variable UniformConstant
-              22:             TypeImage 6(float) 1D depth array sampled format:Unknown
-              23:             TypeSampledImage 22
-              25:             TypeVector 6(float) 2
-              26:    6(float) Constant 1036831949
-              27:    6(float) Constant 1045220557
-              28:   25(fvec2) ConstantComposite 26 27
-              29:    6(float) Constant 1061158912
-              30:             TypeVector 6(float) 3
-              34:    6(float) Constant 0
-              35:             TypeInt 32 1
-              36:     35(int) Constant 2
-              40:             TypeImage 35(int) 1D array sampled format:Unknown
-              41:             TypePointer UniformConstant 40
- 42(g_tTex1di4a):     41(ptr) Variable UniformConstant
-              45:             TypeImage 35(int) 1D depth array sampled format:Unknown
-              46:             TypeSampledImage 45
-              54:             TypeInt 32 0
-              55:             TypeImage 54(int) 1D array sampled format:Unknown
-              56:             TypePointer UniformConstant 55
- 57(g_tTex1du4a):     56(ptr) Variable UniformConstant
-              60:             TypeImage 54(int) 1D depth array sampled format:Unknown
-              61:             TypeSampledImage 60
-              69:             TypeImage 6(float) 2D array sampled format:Unknown
-              70:             TypePointer UniformConstant 69
- 71(g_tTex2df4a):     70(ptr) Variable UniformConstant
-              74:             TypeImage 6(float) 2D depth array sampled format:Unknown
-              75:             TypeSampledImage 74
-              77:    6(float) Constant 1050253722
-              78:   30(fvec3) ConstantComposite 26 27 77
-              83:             TypeVector 35(int) 2
-              84:     35(int) Constant 3
-              85:   83(ivec2) ConstantComposite 36 84
-              89:             TypeImage 35(int) 2D array sampled format:Unknown
-              90:             TypePointer UniformConstant 89
- 91(g_tTex2di4a):     90(ptr) Variable UniformConstant
-              94:             TypeImage 35(int) 2D depth array sampled format:Unknown
-              95:             TypeSampledImage 94
-             104:             TypeImage 54(int) 2D array sampled format:Unknown
-             105:             TypePointer UniformConstant 104
-106(g_tTex2du4a):    105(ptr) Variable UniformConstant
-             109:             TypeImage 54(int) 2D depth array sampled format:Unknown
-             110:             TypeSampledImage 109
-             118:             TypePointer Function 8(PS_OUTPUT)
-             120:     35(int) Constant 0
-             121:    6(float) Constant 1065353216
-             122:    7(fvec4) ConstantComposite 121 121 121 121
-             123:             TypePointer Function 7(fvec4)
-             125:     35(int) Constant 1
-             132:             TypePointer Output 7(fvec4)
-133(@entryPointOutput.Color):    132(ptr) Variable Output
-             136:             TypePointer Output 6(float)
-137(@entryPointOutput.Depth):    136(ptr) Variable Output
-             140:             TypeImage 6(float) 1D sampled format:Unknown
+              22:             TypeSampledImage 14
+              24:             TypeVector 6(float) 2
+              25:    6(float) Constant 1036831949
+              26:    6(float) Constant 1045220557
+              27:   24(fvec2) ConstantComposite 25 26
+              28:    6(float) Constant 1061158912
+              29:             TypeVector 6(float) 3
+              33:    6(float) Constant 0
+              34:             TypeInt 32 1
+              35:     34(int) Constant 2
+              39:             TypeImage 34(int) 1D depth array sampled format:Unknown
+              40:             TypePointer UniformConstant 39
+ 41(g_tTex1di4a):     40(ptr) Variable UniformConstant
+              44:             TypeSampledImage 39
+              52:             TypeInt 32 0
+              53:             TypeImage 52(int) 1D depth array sampled format:Unknown
+              54:             TypePointer UniformConstant 53
+ 55(g_tTex1du4a):     54(ptr) Variable UniformConstant
+              58:             TypeSampledImage 53
+              66:             TypeImage 6(float) 2D depth array sampled format:Unknown
+              67:             TypePointer UniformConstant 66
+ 68(g_tTex2df4a):     67(ptr) Variable UniformConstant
+              71:             TypeSampledImage 66
+              73:    6(float) Constant 1050253722
+              74:   29(fvec3) ConstantComposite 25 26 73
+              79:             TypeVector 34(int) 2
+              80:     34(int) Constant 3
+              81:   79(ivec2) ConstantComposite 35 80
+              85:             TypeImage 34(int) 2D depth array sampled format:Unknown
+              86:             TypePointer UniformConstant 85
+ 87(g_tTex2di4a):     86(ptr) Variable UniformConstant
+              90:             TypeSampledImage 85
+              99:             TypeImage 52(int) 2D depth array sampled format:Unknown
+             100:             TypePointer UniformConstant 99
+101(g_tTex2du4a):    100(ptr) Variable UniformConstant
+             104:             TypeSampledImage 99
+             112:             TypePointer Function 8(PS_OUTPUT)
+             114:     34(int) Constant 0
+             115:    6(float) Constant 1065353216
+             116:    7(fvec4) ConstantComposite 115 115 115 115
+             117:             TypePointer Function 7(fvec4)
+             119:     34(int) Constant 1
+             126:             TypePointer Output 7(fvec4)
+127(@entryPointOutput.Color):    126(ptr) Variable Output
+             130:             TypePointer Output 6(float)
+131(@entryPointOutput.Depth):    130(ptr) Variable Output
+             134:             TypeImage 6(float) 1D sampled format:Unknown
+             135:             TypePointer UniformConstant 134
+ 136(g_tTex1df4):    135(ptr) Variable UniformConstant
+             137:             TypeImage 34(int) 1D sampled format:Unknown
+             138:             TypePointer UniformConstant 137
+ 139(g_tTex1di4):    138(ptr) Variable UniformConstant
+             140:             TypeImage 52(int) 1D sampled format:Unknown
              141:             TypePointer UniformConstant 140
- 142(g_tTex1df4):    141(ptr) Variable UniformConstant
-             143:             TypeImage 35(int) 1D sampled format:Unknown
+ 142(g_tTex1du4):    141(ptr) Variable UniformConstant
+             143:             TypeImage 6(float) 2D sampled format:Unknown
              144:             TypePointer UniformConstant 143
- 145(g_tTex1di4):    144(ptr) Variable UniformConstant
-             146:             TypeImage 54(int) 1D sampled format:Unknown
+ 145(g_tTex2df4):    144(ptr) Variable UniformConstant
+             146:             TypeImage 34(int) 2D sampled format:Unknown
              147:             TypePointer UniformConstant 146
- 148(g_tTex1du4):    147(ptr) Variable UniformConstant
-             149:             TypeImage 6(float) 2D sampled format:Unknown
+ 148(g_tTex2di4):    147(ptr) Variable UniformConstant
+             149:             TypeImage 52(int) 2D sampled format:Unknown
              150:             TypePointer UniformConstant 149
- 151(g_tTex2df4):    150(ptr) Variable UniformConstant
-             152:             TypeImage 35(int) 2D sampled format:Unknown
+ 151(g_tTex2du4):    150(ptr) Variable UniformConstant
+             152:             TypeImage 6(float) 3D sampled format:Unknown
              153:             TypePointer UniformConstant 152
- 154(g_tTex2di4):    153(ptr) Variable UniformConstant
-             155:             TypeImage 54(int) 2D sampled format:Unknown
+ 154(g_tTex3df4):    153(ptr) Variable UniformConstant
+             155:             TypeImage 34(int) 3D sampled format:Unknown
              156:             TypePointer UniformConstant 155
- 157(g_tTex2du4):    156(ptr) Variable UniformConstant
-             158:             TypeImage 6(float) 3D sampled format:Unknown
+ 157(g_tTex3di4):    156(ptr) Variable UniformConstant
+             158:             TypeImage 52(int) 3D sampled format:Unknown
              159:             TypePointer UniformConstant 158
- 160(g_tTex3df4):    159(ptr) Variable UniformConstant
-             161:             TypeImage 35(int) 3D sampled format:Unknown
+ 160(g_tTex3du4):    159(ptr) Variable UniformConstant
+             161:             TypeImage 6(float) Cube sampled format:Unknown
              162:             TypePointer UniformConstant 161
- 163(g_tTex3di4):    162(ptr) Variable UniformConstant
-             164:             TypeImage 54(int) 3D sampled format:Unknown
+ 163(g_tTexcdf4):    162(ptr) Variable UniformConstant
+             164:             TypeImage 34(int) Cube sampled format:Unknown
              165:             TypePointer UniformConstant 164
- 166(g_tTex3du4):    165(ptr) Variable UniformConstant
-             167:             TypeImage 6(float) Cube sampled format:Unknown
+ 166(g_tTexcdi4):    165(ptr) Variable UniformConstant
+             167:             TypeImage 52(int) Cube sampled format:Unknown
              168:             TypePointer UniformConstant 167
- 169(g_tTexcdf4):    168(ptr) Variable UniformConstant
-             170:             TypeImage 35(int) Cube sampled format:Unknown
+ 169(g_tTexcdu4):    168(ptr) Variable UniformConstant
+             170:             TypeImage 6(float) Cube array sampled format:Unknown
              171:             TypePointer UniformConstant 170
- 172(g_tTexcdi4):    171(ptr) Variable UniformConstant
-             173:             TypeImage 54(int) Cube sampled format:Unknown
+172(g_tTexcdf4a):    171(ptr) Variable UniformConstant
+             173:             TypeImage 34(int) Cube array sampled format:Unknown
              174:             TypePointer UniformConstant 173
- 175(g_tTexcdu4):    174(ptr) Variable UniformConstant
-             176:             TypeImage 6(float) Cube array sampled format:Unknown
+175(g_tTexcdi4a):    174(ptr) Variable UniformConstant
+             176:             TypeImage 52(int) Cube array sampled format:Unknown
              177:             TypePointer UniformConstant 176
-178(g_tTexcdf4a):    177(ptr) Variable UniformConstant
-             179:             TypeImage 35(int) Cube array sampled format:Unknown
-             180:             TypePointer UniformConstant 179
-181(g_tTexcdi4a):    180(ptr) Variable UniformConstant
-             182:             TypeImage 54(int) Cube array sampled format:Unknown
-             183:             TypePointer UniformConstant 182
-184(g_tTexcdu4a):    183(ptr) Variable UniformConstant
+178(g_tTexcdu4a):    177(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-130(flattenTemp):    118(ptr) Variable Function
-             131:8(PS_OUTPUT) FunctionCall 10(@main()
-                              Store 130(flattenTemp) 131
-             134:    123(ptr) AccessChain 130(flattenTemp) 120
-             135:    7(fvec4) Load 134
-                              Store 133(@entryPointOutput.Color) 135
-             138:     12(ptr) AccessChain 130(flattenTemp) 125
-             139:    6(float) Load 138
-                              Store 137(@entryPointOutput.Depth) 139
+124(flattenTemp):    112(ptr) Variable Function
+             125:8(PS_OUTPUT) FunctionCall 10(@main()
+                              Store 124(flattenTemp) 125
+             128:    117(ptr) AccessChain 124(flattenTemp) 114
+             129:    7(fvec4) Load 128
+                              Store 127(@entryPointOutput.Color) 129
+             132:     12(ptr) AccessChain 124(flattenTemp) 119
+             133:    6(float) Load 132
+                              Store 131(@entryPointOutput.Depth) 133
                               Return
                               FunctionEnd
       10(@main():8(PS_OUTPUT) Function None 9
               11:             Label
          13(r11):     12(ptr) Variable Function
-         39(r13):     12(ptr) Variable Function
-         53(r15):     12(ptr) Variable Function
-         68(r31):     12(ptr) Variable Function
-         88(r33):     12(ptr) Variable Function
-        103(r35):     12(ptr) Variable Function
-      119(psout):    118(ptr) Variable Function
+         38(r13):     12(ptr) Variable Function
+         51(r15):     12(ptr) Variable Function
+         65(r31):     12(ptr) Variable Function
+         84(r33):     12(ptr) Variable Function
+         98(r35):     12(ptr) Variable Function
+      113(psout):    112(ptr) Variable Function
               17:          14 Load 16(g_tTex1df4a)
               21:          18 Load 20(g_sSamp)
-              24:          23 SampledImage 17 21
-              31:    6(float) CompositeExtract 28 0
-              32:    6(float) CompositeExtract 28 1
-              33:   30(fvec3) CompositeConstruct 31 32 29
-              37:    6(float) CompositeExtract 33 2
-              38:    6(float) ImageSampleDrefExplicitLod 24 33 37 Lod ConstOffset 34 36
-                              Store 13(r11) 38
-              43:          40 Load 42(g_tTex1di4a)
-              44:          18 Load 20(g_sSamp)
-              47:          46 SampledImage 43 44
-              48:    6(float) CompositeExtract 28 0
-              49:    6(float) CompositeExtract 28 1
-              50:   30(fvec3) CompositeConstruct 48 49 29
-              51:    6(float) CompositeExtract 50 2
-              52:    6(float) ImageSampleDrefExplicitLod 47 50 51 Lod ConstOffset 34 36
-                              Store 39(r13) 52
-              58:          55 Load 57(g_tTex1du4a)
-              59:          18 Load 20(g_sSamp)
-              62:          61 SampledImage 58 59
-              63:    6(float) CompositeExtract 28 0
-              64:    6(float) CompositeExtract 28 1
-              65:   30(fvec3) CompositeConstruct 63 64 29
-              66:    6(float) CompositeExtract 65 2
-              67:    6(float) ImageSampleDrefExplicitLod 62 65 66 Lod ConstOffset 34 36
-                              Store 53(r15) 67
-              72:          69 Load 71(g_tTex2df4a)
-              73:          18 Load 20(g_sSamp)
-              76:          75 SampledImage 72 73
-              79:    6(float) CompositeExtract 78 0
-              80:    6(float) CompositeExtract 78 1
-              81:    6(float) CompositeExtract 78 2
-              82:    7(fvec4) CompositeConstruct 79 80 81 29
-              86:    6(float) CompositeExtract 82 3
-              87:    6(float) ImageSampleDrefExplicitLod 76 82 86 Lod ConstOffset 34 85
-                              Store 68(r31) 87
-              92:          89 Load 91(g_tTex2di4a)
-              93:          18 Load 20(g_sSamp)
-              96:          95 SampledImage 92 93
-              97:    6(float) CompositeExtract 78 0
-              98:    6(float) CompositeExtract 78 1
-              99:    6(float) CompositeExtract 78 2
-             100:    7(fvec4) CompositeConstruct 97 98 99 29
-             101:    6(float) CompositeExtract 100 3
-             102:    6(float) ImageSampleDrefExplicitLod 96 100 101 Lod ConstOffset 34 85
-                              Store 88(r33) 102
-             107:         104 Load 106(g_tTex2du4a)
-             108:          18 Load 20(g_sSamp)
-             111:         110 SampledImage 107 108
-             112:    6(float) CompositeExtract 78 0
-             113:    6(float) CompositeExtract 78 1
-             114:    6(float) CompositeExtract 78 2
-             115:    7(fvec4) CompositeConstruct 112 113 114 29
-             116:    6(float) CompositeExtract 115 3
-             117:    6(float) ImageSampleDrefExplicitLod 111 115 116 Lod ConstOffset 34 85
-                              Store 103(r35) 117
-             124:    123(ptr) AccessChain 119(psout) 120
-                              Store 124 122
-             126:     12(ptr) AccessChain 119(psout) 125
-                              Store 126 121
-             127:8(PS_OUTPUT) Load 119(psout)
-                              ReturnValue 127
+              23:          22 SampledImage 17 21
+              30:    6(float) CompositeExtract 27 0
+              31:    6(float) CompositeExtract 27 1
+              32:   29(fvec3) CompositeConstruct 30 31 28
+              36:    6(float) CompositeExtract 32 2
+              37:    6(float) ImageSampleDrefExplicitLod 23 32 36 Lod ConstOffset 33 35
+                              Store 13(r11) 37
+              42:          39 Load 41(g_tTex1di4a)
+              43:          18 Load 20(g_sSamp)
+              45:          44 SampledImage 42 43
+              46:    6(float) CompositeExtract 27 0
+              47:    6(float) CompositeExtract 27 1
+              48:   29(fvec3) CompositeConstruct 46 47 28
+              49:    6(float) CompositeExtract 48 2
+              50:    6(float) ImageSampleDrefExplicitLod 45 48 49 Lod ConstOffset 33 35
+                              Store 38(r13) 50
+              56:          53 Load 55(g_tTex1du4a)
+              57:          18 Load 20(g_sSamp)
+              59:          58 SampledImage 56 57
+              60:    6(float) CompositeExtract 27 0
+              61:    6(float) CompositeExtract 27 1
+              62:   29(fvec3) CompositeConstruct 60 61 28
+              63:    6(float) CompositeExtract 62 2
+              64:    6(float) ImageSampleDrefExplicitLod 59 62 63 Lod ConstOffset 33 35
+                              Store 51(r15) 64
+              69:          66 Load 68(g_tTex2df4a)
+              70:          18 Load 20(g_sSamp)
+              72:          71 SampledImage 69 70
+              75:    6(float) CompositeExtract 74 0
+              76:    6(float) CompositeExtract 74 1
+              77:    6(float) CompositeExtract 74 2
+              78:    7(fvec4) CompositeConstruct 75 76 77 28
+              82:    6(float) CompositeExtract 78 3
+              83:    6(float) ImageSampleDrefExplicitLod 72 78 82 Lod ConstOffset 33 81
+                              Store 65(r31) 83
+              88:          85 Load 87(g_tTex2di4a)
+              89:          18 Load 20(g_sSamp)
+              91:          90 SampledImage 88 89
+              92:    6(float) CompositeExtract 74 0
+              93:    6(float) CompositeExtract 74 1
+              94:    6(float) CompositeExtract 74 2
+              95:    7(fvec4) CompositeConstruct 92 93 94 28
+              96:    6(float) CompositeExtract 95 3
+              97:    6(float) ImageSampleDrefExplicitLod 91 95 96 Lod ConstOffset 33 81
+                              Store 84(r33) 97
+             102:          99 Load 101(g_tTex2du4a)
+             103:          18 Load 20(g_sSamp)
+             105:         104 SampledImage 102 103
+             106:    6(float) CompositeExtract 74 0
+             107:    6(float) CompositeExtract 74 1
+             108:    6(float) CompositeExtract 74 2
+             109:    7(fvec4) CompositeConstruct 106 107 108 28
+             110:    6(float) CompositeExtract 109 3
+             111:    6(float) ImageSampleDrefExplicitLod 105 109 110 Lod ConstOffset 33 81
+                              Store 98(r35) 111
+             118:    117(ptr) AccessChain 113(psout) 114
+                              Store 118 116
+             120:     12(ptr) AccessChain 113(psout) 119
+                              Store 120 115
+             121:8(PS_OUTPUT) Load 113(psout)
+                              ReturnValue 121
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
index 244a70b..f9fabcc 100644
--- a/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.array.dx10.frag.out
@@ -428,7 +428,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 140
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
index 24c510c..cb40bce 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.frag.out
@@ -530,7 +530,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 175
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
index 8081913..e5605a1 100644
--- a/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplegrad.basic.dx10.vert.out
@@ -494,7 +494,7 @@
 0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 166
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
index 3a67807..2cc4742 100644
--- a/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offset.dx10.frag.out
@@ -470,7 +470,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 166
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
index 56532b8..5d3c065 100644
--- a/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplegrad.offsetarray.dx10.frag.out
@@ -338,7 +338,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 120
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
index f02dfd2..bf435df 100644
--- a/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.array.dx10.frag.out
@@ -356,7 +356,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 147
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
index 9a7cb9a..82c8b59 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.frag.out
@@ -424,7 +424,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 172
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
index aaaf05a..b7e3d57 100644
--- a/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
+++ b/Test/baseResults/hlsl.samplelevel.basic.dx10.vert.out
@@ -386,7 +386,7 @@
 0:?     '@entryPointOutput.Pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 162
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
index bb92ea7..2080066 100644
--- a/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offset.dx10.frag.out
@@ -398,7 +398,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 162
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
index adb4a8f..7905b75 100644
--- a/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplelevel.offsetarray.dx10.frag.out
@@ -296,7 +296,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 119
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.scalar-length.frag.out b/Test/baseResults/hlsl.scalar-length.frag.out
index 2854835..9a51962 100644
--- a/Test/baseResults/hlsl.scalar-length.frag.out
+++ b/Test/baseResults/hlsl.scalar-length.frag.out
@@ -64,7 +64,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 30
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.scalar2matrix.frag.out b/Test/baseResults/hlsl.scalar2matrix.frag.out
index f3024b7..6b799f4 100644
--- a/Test/baseResults/hlsl.scalar2matrix.frag.out
+++ b/Test/baseResults/hlsl.scalar2matrix.frag.out
@@ -374,7 +374,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 96
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.scalarCast.vert.out b/Test/baseResults/hlsl.scalarCast.vert.out
index 70a8512..a0b0aa2 100755
--- a/Test/baseResults/hlsl.scalarCast.vert.out
+++ b/Test/baseResults/hlsl.scalarCast.vert.out
@@ -322,7 +322,7 @@
 0:?     '@entryPointOutput.texCoord' (layout( location=0) out 2-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 120
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.scope.frag.out b/Test/baseResults/hlsl.scope.frag.out
index 32eeeef..b7cc2a2 100755
--- a/Test/baseResults/hlsl.scope.frag.out
+++ b/Test/baseResults/hlsl.scope.frag.out
@@ -102,7 +102,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 49
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.semantic-1.vert.out b/Test/baseResults/hlsl.semantic-1.vert.out
index 9678570..7e4885c 100644
--- a/Test/baseResults/hlsl.semantic-1.vert.out
+++ b/Test/baseResults/hlsl.semantic-1.vert.out
@@ -242,7 +242,7 @@
 0:?     'v' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 84
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.semantic.geom.out b/Test/baseResults/hlsl.semantic.geom.out
index 74f7a26..5e2214a 100755
--- a/Test/baseResults/hlsl.semantic.geom.out
+++ b/Test/baseResults/hlsl.semantic.geom.out
@@ -156,7 +156,7 @@
 0:?     'OutputStream.cull0' ( out 1-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 65
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.semantic.vert.out b/Test/baseResults/hlsl.semantic.vert.out
index 50a653d..3b4ac55 100755
--- a/Test/baseResults/hlsl.semantic.vert.out
+++ b/Test/baseResults/hlsl.semantic.vert.out
@@ -210,7 +210,7 @@
 0:?     '@entryPointOutput.cull1' ( out 2-element array of float CullDistance)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 70
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.semicolons.frag.out b/Test/baseResults/hlsl.semicolons.frag.out
index 87e0a4e..40bd128 100644
--- a/Test/baseResults/hlsl.semicolons.frag.out
+++ b/Test/baseResults/hlsl.semicolons.frag.out
@@ -74,7 +74,7 @@
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.shapeConv.frag.out b/Test/baseResults/hlsl.shapeConv.frag.out
index 773134c..1fee20c 100755
--- a/Test/baseResults/hlsl.shapeConv.frag.out
+++ b/Test/baseResults/hlsl.shapeConv.frag.out
@@ -321,7 +321,7 @@
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 127
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.shapeConvRet.frag.out b/Test/baseResults/hlsl.shapeConvRet.frag.out
index e9dba22..432cd6f 100755
--- a/Test/baseResults/hlsl.shapeConvRet.frag.out
+++ b/Test/baseResults/hlsl.shapeConvRet.frag.out
@@ -68,7 +68,7 @@
 0:?     'f' (layout( location=0) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 35
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.shift.per-set.frag.out b/Test/baseResults/hlsl.shift.per-set.frag.out
new file mode 100644
index 0000000..57b32e5
--- /dev/null
+++ b/Test/baseResults/hlsl.shift.per-set.frag.out
@@ -0,0 +1,225 @@
+hlsl.shift.per-set.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:34  Function Definition: @main( ( temp 4-component vector of float)
+0:34    Function Parameters: 
+0:?     Sequence
+0:35      't1' (layout( set=1 binding=1) uniform texture1D)
+0:36      't2' (layout( set=1 binding=2) uniform texture2D)
+0:37      't3' (layout( set=2 binding=1) uniform texture3D)
+0:38      direct index (layout( row_major std430) buffer 4-component vector of float)
+0:38        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
+0:38          't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
+0:38          Constant:
+0:38            0 (const uint)
+0:38        Constant:
+0:38          0 (const int)
+0:39      indirect index (layout( row_major std430) buffer uint)
+0:39        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:39          't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:39          Constant:
+0:39            0 (const uint)
+0:39        right-shift ( temp int)
+0:39          Constant:
+0:39            0 (const int)
+0:39          Constant:
+0:39            2 (const int)
+0:40      't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
+0:42      's1' (layout( set=1 binding=1) uniform sampler)
+0:43      's2' (layout( set=2 binding=2) uniform sampler)
+0:45      'u1' (layout( set=1 binding=1 rgba32f) uniform image1D)
+0:46      'u2' (layout( set=2 binding=2 rgba32f) uniform image2D)
+0:47      'u3' (layout( set=2 binding=3 rgba32f) uniform image3D)
+0:49      imageLoad ( temp float)
+0:49        'u4' (layout( set=1 binding=4 r32f) uniform imageBuffer)
+0:49        Constant:
+0:49          0 (const int)
+0:50      indirect index (layout( row_major std430) buffer uint)
+0:50        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:50          'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:50          Constant:
+0:50            0 (const uint)
+0:50        right-shift ( temp int)
+0:50          Constant:
+0:50            0 (const int)
+0:50          Constant:
+0:50            2 (const int)
+0:51      direct index (layout( row_major std430) buffer float)
+0:51        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
+0:51          'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:51          Constant:
+0:51            0 (const uint)
+0:51        Constant:
+0:51          0 (const int)
+0:52      'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:53      'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:55      cb1: direct index for structure (layout( row_major std140) uniform int)
+0:55        'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
+0:55        Constant:
+0:55          0 (const uint)
+0:56      tb1: direct index for structure (layout( row_major std430) buffer int)
+0:56        'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
+0:56        Constant:
+0:56          0 (const uint)
+0:58      Branch: Return with expression
+0:58        Constant:
+0:58          0.000000
+0:58          0.000000
+0:58          0.000000
+0:58          0.000000
+0:34  Function Definition: main( ( temp void)
+0:34    Function Parameters: 
+0:?     Sequence
+0:34      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:34        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     's1' (layout( set=1 binding=1) uniform sampler)
+0:?     's2' (layout( set=2 binding=2) uniform sampler)
+0:?     't1' (layout( set=1 binding=1) uniform texture1D)
+0:?     't2' (layout( set=1 binding=2) uniform texture2D)
+0:?     't3' (layout( set=2 binding=1) uniform texture3D)
+0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
+0:?     't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
+0:?     'u1' (layout( set=1 binding=1 rgba32f) uniform image1D)
+0:?     'u2' (layout( set=2 binding=2 rgba32f) uniform image2D)
+0:?     'u3' (layout( set=2 binding=3 rgba32f) uniform image3D)
+0:?     'u4' (layout( set=1 binding=4 r32f) uniform imageBuffer)
+0:?     'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:?     'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:?     'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:?     'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:?     'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
+0:?     'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:34  Function Definition: @main( ( temp 4-component vector of float)
+0:34    Function Parameters: 
+0:?     Sequence
+0:35      't1' (layout( set=1 binding=1) uniform texture1D)
+0:36      't2' (layout( set=1 binding=2) uniform texture2D)
+0:37      't3' (layout( set=2 binding=1) uniform texture3D)
+0:38      direct index (layout( row_major std430) buffer 4-component vector of float)
+0:38        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of 4-component vector of float)
+0:38          't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
+0:38          Constant:
+0:38            0 (const uint)
+0:38        Constant:
+0:38          0 (const int)
+0:39      indirect index (layout( row_major std430) buffer uint)
+0:39        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:39          't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:39          Constant:
+0:39            0 (const uint)
+0:39        right-shift ( temp int)
+0:39          Constant:
+0:39            0 (const int)
+0:39          Constant:
+0:39            2 (const int)
+0:40      't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
+0:42      's1' (layout( set=1 binding=1) uniform sampler)
+0:43      's2' (layout( set=2 binding=2) uniform sampler)
+0:45      'u1' (layout( set=1 binding=1 rgba32f) uniform image1D)
+0:46      'u2' (layout( set=2 binding=2 rgba32f) uniform image2D)
+0:47      'u3' (layout( set=2 binding=3 rgba32f) uniform image3D)
+0:49      imageLoad ( temp float)
+0:49        'u4' (layout( set=1 binding=4 r32f) uniform imageBuffer)
+0:49        Constant:
+0:49          0 (const int)
+0:50      indirect index (layout( row_major std430) buffer uint)
+0:50        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of uint)
+0:50          'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:50          Constant:
+0:50            0 (const uint)
+0:50        right-shift ( temp int)
+0:50          Constant:
+0:50            0 (const int)
+0:50          Constant:
+0:50            2 (const int)
+0:51      direct index (layout( row_major std430) buffer float)
+0:51        @data: direct index for structure (layout( row_major std430) buffer implicitly-sized array of float)
+0:51          'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:51          Constant:
+0:51            0 (const uint)
+0:51        Constant:
+0:51          0 (const int)
+0:52      'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:53      'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:55      cb1: direct index for structure (layout( row_major std140) uniform int)
+0:55        'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
+0:55        Constant:
+0:55          0 (const uint)
+0:56      tb1: direct index for structure (layout( row_major std430) buffer int)
+0:56        'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
+0:56        Constant:
+0:56          0 (const uint)
+0:58      Branch: Return with expression
+0:58        Constant:
+0:58          0.000000
+0:58          0.000000
+0:58          0.000000
+0:58          0.000000
+0:34  Function Definition: main( ( temp void)
+0:34    Function Parameters: 
+0:?     Sequence
+0:34      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:34        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     's1' (layout( set=1 binding=1) uniform sampler)
+0:?     's2' (layout( set=2 binding=2) uniform sampler)
+0:?     't1' (layout( set=1 binding=1) uniform texture1D)
+0:?     't2' (layout( set=1 binding=2) uniform texture2D)
+0:?     't3' (layout( set=2 binding=1) uniform texture3D)
+0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of 4-component vector of float @data})
+0:?     't5' (layout( set=3 binding=2 row_major std430) readonly buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
+0:?     'u1' (layout( set=1 binding=1 rgba32f) uniform image1D)
+0:?     'u2' (layout( set=2 binding=2 rgba32f) uniform image2D)
+0:?     'u3' (layout( set=2 binding=3 rgba32f) uniform image3D)
+0:?     'u4' (layout( set=1 binding=4 r32f) uniform imageBuffer)
+0:?     'u5' (layout( set=2 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of uint @data})
+0:?     'u6' (layout( set=3 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:?     'u7' (layout( set=4 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:?     'u8' (layout( set=5 binding=4 row_major std430) buffer block{layout( row_major std430) buffer implicitly-sized array of float @data})
+0:?     'anon@0' (layout( set=6 binding=1 row_major std140) uniform block{layout( row_major std140) uniform int cb1})
+0:?     'anon@1' (layout( binding=7 row_major std430) readonly buffer block{layout( row_major std430) buffer int tb1})
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+Uniform reflection:
+t1: offset -1, type 8b5d, size 1, index -1, binding 21
+t2: offset -1, type 8b5e, size 1, index -1, binding 22
+t3: offset -1, type 8b5f, size 1, index -1, binding 26
+t4.@data: offset 0, type 8b52, size 1, index 0, binding -1
+t5.@data: offset 0, type 1405, size 0, index 1, binding -1
+t6: offset -1, type 8dc2, size 1, index -1, binding 23
+s1: offset -1, type 0, size 1, index -1, binding 11
+s2: offset -1, type 0, size 1, index -1, binding 17
+u1: offset -1, type 904c, size 1, index -1, binding 31
+u2: offset -1, type 904d, size 1, index -1, binding 42
+u3: offset -1, type 904e, size 1, index -1, binding 43
+u4: offset -1, type 9051, size 1, index -1, binding 34
+u5.@data: offset 0, type 1405, size 0, index 2, binding -1
+u6.@data: offset 0, type 1406, size 1, index 3, binding -1
+cb1: offset 0, type 1404, size 1, index 4, binding -1
+tb1: offset 0, type 1404, size 1, index 5, binding -1
+
+Uniform block reflection:
+t4: offset -1, type ffffffff, size 0, index -1, binding 21
+t5: offset -1, type ffffffff, size 0, index -1, binding 22
+u5: offset -1, type ffffffff, size 0, index -1, binding 44
+u6: offset -1, type ffffffff, size 0, index -1, binding 34
+cb: offset -1, type ffffffff, size 4, index -1, binding 51
+tb: offset -1, type ffffffff, size 4, index -1, binding 27
+
+Vertex attribute reflection:
+
diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out
index 37baab0..51ee0a7 100755
--- a/Test/baseResults/hlsl.sin.frag.out
+++ b/Test/baseResults/hlsl.sin.frag.out
@@ -52,7 +52,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 26
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.staticMemberFunction.frag.out b/Test/baseResults/hlsl.staticMemberFunction.frag.out
index e313cbc..08d0d20 100755
--- a/Test/baseResults/hlsl.staticMemberFunction.frag.out
+++ b/Test/baseResults/hlsl.staticMemberFunction.frag.out
@@ -118,7 +118,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 54
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.string.frag.out b/Test/baseResults/hlsl.string.frag.out
index 1c6c542..893e49d 100755
--- a/Test/baseResults/hlsl.string.frag.out
+++ b/Test/baseResults/hlsl.string.frag.out
@@ -50,7 +50,7 @@
 0:?     'f' (layout( location=0) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.stringtoken.frag.out b/Test/baseResults/hlsl.stringtoken.frag.out
index d1f7522..dcc493d 100644
--- a/Test/baseResults/hlsl.stringtoken.frag.out
+++ b/Test/baseResults/hlsl.stringtoken.frag.out
@@ -70,7 +70,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 34
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
index d088164..c540c16 100755
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -212,7 +212,7 @@
 0:?     's.ff4' (layout( location=7) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 102
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split-1.vert.out b/Test/baseResults/hlsl.struct.split-1.vert.out
index 896e124..6086e32 100644
--- a/Test/baseResults/hlsl.struct.split-1.vert.out
+++ b/Test/baseResults/hlsl.struct.split-1.vert.out
@@ -196,7 +196,7 @@
 0:?     'Pos_loose' (layout( location=3) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 70
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split.array.geom.out b/Test/baseResults/hlsl.struct.split.array.geom.out
index 8aae6f3..42f45a8 100644
--- a/Test/baseResults/hlsl.struct.split.array.geom.out
+++ b/Test/baseResults/hlsl.struct.split.array.geom.out
@@ -160,7 +160,7 @@
 0:?     'OutputStream.VertexID' (layout( location=2) out uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 82
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.struct.split.assign.frag.out b/Test/baseResults/hlsl.struct.split.assign.frag.out
index fca9751..b426639 100644
--- a/Test/baseResults/hlsl.struct.split.assign.frag.out
+++ b/Test/baseResults/hlsl.struct.split.assign.frag.out
@@ -208,7 +208,7 @@
 0:?     'input[2].f' (layout( location=3) in float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 66
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split.call.vert.out b/Test/baseResults/hlsl.struct.split.call.vert.out
index bbbbe9a..dd6e38e 100644
--- a/Test/baseResults/hlsl.struct.split.call.vert.out
+++ b/Test/baseResults/hlsl.struct.split.call.vert.out
@@ -214,7 +214,7 @@
 0:?     'vsin.x1_in' (layout( location=2) in int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 77
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.struct.split.nested.geom.out b/Test/baseResults/hlsl.struct.split.nested.geom.out
index d01d9bd..0d83cdf 100644
--- a/Test/baseResults/hlsl.struct.split.nested.geom.out
+++ b/Test/baseResults/hlsl.struct.split.nested.geom.out
@@ -448,7 +448,7 @@
 0:?     'ts.contains_no_builtin_io.m1' (layout( location=3) out int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 100
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.struct.split.trivial.geom.out b/Test/baseResults/hlsl.struct.split.trivial.geom.out
index 25f2fdf..31b2cda 100644
--- a/Test/baseResults/hlsl.struct.split.trivial.geom.out
+++ b/Test/baseResults/hlsl.struct.split.trivial.geom.out
@@ -192,7 +192,7 @@
 0:?     'ts.pos' ( out 4-component vector of float Position)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 67
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.struct.split.trivial.vert.out b/Test/baseResults/hlsl.struct.split.trivial.vert.out
index 6711312..f3c10c4 100644
--- a/Test/baseResults/hlsl.struct.split.trivial.vert.out
+++ b/Test/baseResults/hlsl.struct.split.trivial.vert.out
@@ -98,7 +98,7 @@
 0:?     'Pos_loose' (layout( location=1) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 45
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out
index e0d9725..24c902f 100755
--- a/Test/baseResults/hlsl.structIoFourWay.frag.out
+++ b/Test/baseResults/hlsl.structIoFourWay.frag.out
@@ -162,7 +162,7 @@
 0:?     't.normal' (layout( location=3) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 65
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structStructName.frag.out b/Test/baseResults/hlsl.structStructName.frag.out
index 3b28805..dded13f 100755
--- a/Test/baseResults/hlsl.structStructName.frag.out
+++ b/Test/baseResults/hlsl.structStructName.frag.out
@@ -44,7 +44,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structarray.flatten.frag.out b/Test/baseResults/hlsl.structarray.flatten.frag.out
index 97ef7bb..534ea7c 100644
--- a/Test/baseResults/hlsl.structarray.flatten.frag.out
+++ b/Test/baseResults/hlsl.structarray.flatten.frag.out
@@ -27,8 +27,14 @@
 0:26                0.400000
 0:27          texture ( temp 4-component vector of float)
 0:27            Construct combined texture-sampler ( temp sampler1D)
-0:?               'g_texdata_array2[1].tex[0]' ( uniform texture1D)
-0:?               'g_texdata_array2[1].samp[0]' ( uniform sampler)
+0:27              direct index ( temp texture1D)
+0:?                 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
+0:27                Constant:
+0:27                  0 (const int)
+0:27              direct index ( temp sampler)
+0:?                 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
+0:27                Constant:
+0:27                  0 (const int)
 0:27            Constant:
 0:27              0.300000
 0:23  Function Definition: main( ( temp void)
@@ -58,20 +64,14 @@
 0:?     'g_texdata_array[2].samp' ( uniform sampler)
 0:?     'g_texdata_array[2].tex' ( uniform texture1D)
 0:?     'g_texdata_array[2].nonopaque_thing' ( uniform int)
-0:?     'g_texdata_array2[0].samp[0]' ( uniform sampler)
-0:?     'g_texdata_array2[0].samp[1]' ( uniform sampler)
-0:?     'g_texdata_array2[0].tex[0]' ( uniform texture1D)
-0:?     'g_texdata_array2[0].tex[1]' ( uniform texture1D)
+0:?     'g_texdata_array2[0].samp' ( uniform 2-element array of sampler)
+0:?     'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D)
 0:?     'g_texdata_array2[0].nonopaque_thing' ( uniform int)
-0:?     'g_texdata_array2[1].samp[0]' ( uniform sampler)
-0:?     'g_texdata_array2[1].samp[1]' ( uniform sampler)
-0:?     'g_texdata_array2[1].tex[0]' ( uniform texture1D)
-0:?     'g_texdata_array2[1].tex[1]' ( uniform texture1D)
+0:?     'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
+0:?     'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
 0:?     'g_texdata_array2[1].nonopaque_thing' ( uniform int)
-0:?     'g_texdata_array2[2].samp[0]' ( uniform sampler)
-0:?     'g_texdata_array2[2].samp[1]' ( uniform sampler)
-0:?     'g_texdata_array2[2].tex[0]' ( uniform texture1D)
-0:?     'g_texdata_array2[2].tex[1]' ( uniform texture1D)
+0:?     'g_texdata_array2[2].samp' ( uniform 2-element array of sampler)
+0:?     'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D)
 0:?     'g_texdata_array2[2].nonopaque_thing' ( uniform int)
 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
 
@@ -107,8 +107,14 @@
 0:26                0.400000
 0:27          texture ( temp 4-component vector of float)
 0:27            Construct combined texture-sampler ( temp sampler1D)
-0:?               'g_texdata_array2[1].tex[0]' ( uniform texture1D)
-0:?               'g_texdata_array2[1].samp[0]' ( uniform sampler)
+0:27              direct index ( temp texture1D)
+0:?                 'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
+0:27                Constant:
+0:27                  0 (const int)
+0:27              direct index ( temp sampler)
+0:?                 'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
+0:27                Constant:
+0:27                  0 (const int)
 0:27            Constant:
 0:27              0.300000
 0:23  Function Definition: main( ( temp void)
@@ -138,32 +144,26 @@
 0:?     'g_texdata_array[2].samp' ( uniform sampler)
 0:?     'g_texdata_array[2].tex' ( uniform texture1D)
 0:?     'g_texdata_array[2].nonopaque_thing' ( uniform int)
-0:?     'g_texdata_array2[0].samp[0]' ( uniform sampler)
-0:?     'g_texdata_array2[0].samp[1]' ( uniform sampler)
-0:?     'g_texdata_array2[0].tex[0]' ( uniform texture1D)
-0:?     'g_texdata_array2[0].tex[1]' ( uniform texture1D)
+0:?     'g_texdata_array2[0].samp' ( uniform 2-element array of sampler)
+0:?     'g_texdata_array2[0].tex' ( uniform 2-element array of texture1D)
 0:?     'g_texdata_array2[0].nonopaque_thing' ( uniform int)
-0:?     'g_texdata_array2[1].samp[0]' ( uniform sampler)
-0:?     'g_texdata_array2[1].samp[1]' ( uniform sampler)
-0:?     'g_texdata_array2[1].tex[0]' ( uniform texture1D)
-0:?     'g_texdata_array2[1].tex[1]' ( uniform texture1D)
+0:?     'g_texdata_array2[1].samp' ( uniform 2-element array of sampler)
+0:?     'g_texdata_array2[1].tex' ( uniform 2-element array of texture1D)
 0:?     'g_texdata_array2[1].nonopaque_thing' ( uniform int)
-0:?     'g_texdata_array2[2].samp[0]' ( uniform sampler)
-0:?     'g_texdata_array2[2].samp[1]' ( uniform sampler)
-0:?     'g_texdata_array2[2].tex[0]' ( uniform texture1D)
-0:?     'g_texdata_array2[2].tex[1]' ( uniform texture1D)
+0:?     'g_texdata_array2[2].samp' ( uniform 2-element array of sampler)
+0:?     'g_texdata_array2[2].tex' ( uniform 2-element array of texture1D)
 0:?     'g_texdata_array2[2].nonopaque_thing' ( uniform int)
 0:?     'ps_output.color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 78
+// Generated by (magic number): 80002
+// Id's are bound by 80
 
                               Capability Shader
                               Capability Sampled1D
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 51
+                              EntryPoint Fragment 4  "main" 59
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -175,57 +175,45 @@
                               Name 22  "g_texdata.samp"
                               Name 28  "g_texdata_array[1].tex"
                               Name 30  "g_texdata_array[1].samp"
-                              Name 36  "g_texdata_array2[1].tex[0]"
-                              Name 38  "g_texdata_array2[1].samp[0]"
-                              Name 46  "ps_output"
-                              Name 47  "param"
-                              Name 51  "ps_output.color"
-                              Name 54  "g_samp"
-                              Name 55  "g_tex"
-                              Name 57  "g_texdata.nonopaque_thing"
-                              Name 58  "g_texdata_array[0].samp"
-                              Name 59  "g_texdata_array[0].tex"
-                              Name 60  "g_texdata_array[0].nonopaque_thing"
-                              Name 61  "g_texdata_array[1].nonopaque_thing"
-                              Name 62  "g_texdata_array[2].samp"
-                              Name 63  "g_texdata_array[2].tex"
-                              Name 64  "g_texdata_array[2].nonopaque_thing"
-                              Name 65  "g_texdata_array2[0].samp[0]"
-                              Name 66  "g_texdata_array2[0].samp[1]"
-                              Name 67  "g_texdata_array2[0].tex[0]"
-                              Name 68  "g_texdata_array2[0].tex[1]"
-                              Name 69  "g_texdata_array2[0].nonopaque_thing"
-                              Name 70  "g_texdata_array2[1].samp[1]"
-                              Name 71  "g_texdata_array2[1].tex[1]"
-                              Name 72  "g_texdata_array2[1].nonopaque_thing"
-                              Name 73  "g_texdata_array2[2].samp[0]"
-                              Name 74  "g_texdata_array2[2].samp[1]"
-                              Name 75  "g_texdata_array2[2].tex[0]"
-                              Name 76  "g_texdata_array2[2].tex[1]"
-                              Name 77  "g_texdata_array2[2].nonopaque_thing"
+                              Name 40  "g_texdata_array2[1].tex"
+                              Name 45  "g_texdata_array2[1].samp"
+                              Name 54  "ps_output"
+                              Name 55  "param"
+                              Name 59  "ps_output.color"
+                              Name 62  "g_samp"
+                              Name 63  "g_tex"
+                              Name 65  "g_texdata.nonopaque_thing"
+                              Name 66  "g_texdata_array[0].samp"
+                              Name 67  "g_texdata_array[0].tex"
+                              Name 68  "g_texdata_array[0].nonopaque_thing"
+                              Name 69  "g_texdata_array[1].nonopaque_thing"
+                              Name 70  "g_texdata_array[2].samp"
+                              Name 71  "g_texdata_array[2].tex"
+                              Name 72  "g_texdata_array[2].nonopaque_thing"
+                              Name 73  "g_texdata_array2[0].samp"
+                              Name 74  "g_texdata_array2[0].tex"
+                              Name 75  "g_texdata_array2[0].nonopaque_thing"
+                              Name 76  "g_texdata_array2[1].nonopaque_thing"
+                              Name 77  "g_texdata_array2[2].samp"
+                              Name 78  "g_texdata_array2[2].tex"
+                              Name 79  "g_texdata_array2[2].nonopaque_thing"
                               Decorate 18(g_texdata.tex) DescriptorSet 0
                               Decorate 22(g_texdata.samp) DescriptorSet 0
                               Decorate 28(g_texdata_array[1].tex) DescriptorSet 0
                               Decorate 30(g_texdata_array[1].samp) DescriptorSet 0
-                              Decorate 36(g_texdata_array2[1].tex[0]) DescriptorSet 0
-                              Decorate 38(g_texdata_array2[1].samp[0]) DescriptorSet 0
-                              Decorate 51(ps_output.color) Location 0
-                              Decorate 54(g_samp) DescriptorSet 0
-                              Decorate 55(g_tex) DescriptorSet 0
-                              Decorate 58(g_texdata_array[0].samp) DescriptorSet 0
-                              Decorate 59(g_texdata_array[0].tex) DescriptorSet 0
-                              Decorate 62(g_texdata_array[2].samp) DescriptorSet 0
-                              Decorate 63(g_texdata_array[2].tex) DescriptorSet 0
-                              Decorate 65(g_texdata_array2[0].samp[0]) DescriptorSet 0
-                              Decorate 66(g_texdata_array2[0].samp[1]) DescriptorSet 0
-                              Decorate 67(g_texdata_array2[0].tex[0]) DescriptorSet 0
-                              Decorate 68(g_texdata_array2[0].tex[1]) DescriptorSet 0
-                              Decorate 70(g_texdata_array2[1].samp[1]) DescriptorSet 0
-                              Decorate 71(g_texdata_array2[1].tex[1]) DescriptorSet 0
-                              Decorate 73(g_texdata_array2[2].samp[0]) DescriptorSet 0
-                              Decorate 74(g_texdata_array2[2].samp[1]) DescriptorSet 0
-                              Decorate 75(g_texdata_array2[2].tex[0]) DescriptorSet 0
-                              Decorate 76(g_texdata_array2[2].tex[1]) DescriptorSet 0
+                              Decorate 40(g_texdata_array2[1].tex) DescriptorSet 0
+                              Decorate 45(g_texdata_array2[1].samp) DescriptorSet 0
+                              Decorate 59(ps_output.color) Location 0
+                              Decorate 62(g_samp) DescriptorSet 0
+                              Decorate 63(g_tex) DescriptorSet 0
+                              Decorate 66(g_texdata_array[0].samp) DescriptorSet 0
+                              Decorate 67(g_texdata_array[0].tex) DescriptorSet 0
+                              Decorate 70(g_texdata_array[2].samp) DescriptorSet 0
+                              Decorate 71(g_texdata_array[2].tex) DescriptorSet 0
+                              Decorate 73(g_texdata_array2[0].samp) DescriptorSet 0
+                              Decorate 74(g_texdata_array2[0].tex) DescriptorSet 0
+                              Decorate 77(g_texdata_array2[2].samp) DescriptorSet 0
+                              Decorate 78(g_texdata_array2[2].tex) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -246,46 +234,46 @@
 28(g_texdata_array[1].tex):     17(ptr) Variable UniformConstant
 30(g_texdata_array[1].samp):     21(ptr) Variable UniformConstant
               33:    6(float) Constant 1053609165
-36(g_texdata_array2[1].tex[0]):     17(ptr) Variable UniformConstant
-38(g_texdata_array2[1].samp[0]):     21(ptr) Variable UniformConstant
-              41:    6(float) Constant 1050253722
-              44:             TypePointer Function 7(fvec4)
-              50:             TypePointer Output 7(fvec4)
-51(ps_output.color):     50(ptr) Variable Output
-      54(g_samp):     21(ptr) Variable UniformConstant
-       55(g_tex):     17(ptr) Variable UniformConstant
-              56:             TypePointer UniformConstant 14(int)
-57(g_texdata.nonopaque_thing):     56(ptr) Variable UniformConstant
-58(g_texdata_array[0].samp):     21(ptr) Variable UniformConstant
-59(g_texdata_array[0].tex):     17(ptr) Variable UniformConstant
-60(g_texdata_array[0].nonopaque_thing):     56(ptr) Variable UniformConstant
-61(g_texdata_array[1].nonopaque_thing):     56(ptr) Variable UniformConstant
-62(g_texdata_array[2].samp):     21(ptr) Variable UniformConstant
-63(g_texdata_array[2].tex):     17(ptr) Variable UniformConstant
-64(g_texdata_array[2].nonopaque_thing):     56(ptr) Variable UniformConstant
-65(g_texdata_array2[0].samp[0]):     21(ptr) Variable UniformConstant
-66(g_texdata_array2[0].samp[1]):     21(ptr) Variable UniformConstant
-67(g_texdata_array2[0].tex[0]):     17(ptr) Variable UniformConstant
-68(g_texdata_array2[0].tex[1]):     17(ptr) Variable UniformConstant
-69(g_texdata_array2[0].nonopaque_thing):     56(ptr) Variable UniformConstant
-70(g_texdata_array2[1].samp[1]):     21(ptr) Variable UniformConstant
-71(g_texdata_array2[1].tex[1]):     17(ptr) Variable UniformConstant
-72(g_texdata_array2[1].nonopaque_thing):     56(ptr) Variable UniformConstant
-73(g_texdata_array2[2].samp[0]):     21(ptr) Variable UniformConstant
-74(g_texdata_array2[2].samp[1]):     21(ptr) Variable UniformConstant
-75(g_texdata_array2[2].tex[0]):     17(ptr) Variable UniformConstant
-76(g_texdata_array2[2].tex[1]):     17(ptr) Variable UniformConstant
-77(g_texdata_array2[2].nonopaque_thing):     56(ptr) Variable UniformConstant
+              36:             TypeInt 32 0
+              37:     36(int) Constant 2
+              38:             TypeArray 16 37
+              39:             TypePointer UniformConstant 38
+40(g_texdata_array2[1].tex):     39(ptr) Variable UniformConstant
+              43:             TypeArray 20 37
+              44:             TypePointer UniformConstant 43
+45(g_texdata_array2[1].samp):     44(ptr) Variable UniformConstant
+              49:    6(float) Constant 1050253722
+              52:             TypePointer Function 7(fvec4)
+              58:             TypePointer Output 7(fvec4)
+59(ps_output.color):     58(ptr) Variable Output
+      62(g_samp):     21(ptr) Variable UniformConstant
+       63(g_tex):     17(ptr) Variable UniformConstant
+              64:             TypePointer UniformConstant 14(int)
+65(g_texdata.nonopaque_thing):     64(ptr) Variable UniformConstant
+66(g_texdata_array[0].samp):     21(ptr) Variable UniformConstant
+67(g_texdata_array[0].tex):     17(ptr) Variable UniformConstant
+68(g_texdata_array[0].nonopaque_thing):     64(ptr) Variable UniformConstant
+69(g_texdata_array[1].nonopaque_thing):     64(ptr) Variable UniformConstant
+70(g_texdata_array[2].samp):     21(ptr) Variable UniformConstant
+71(g_texdata_array[2].tex):     17(ptr) Variable UniformConstant
+72(g_texdata_array[2].nonopaque_thing):     64(ptr) Variable UniformConstant
+73(g_texdata_array2[0].samp):     44(ptr) Variable UniformConstant
+74(g_texdata_array2[0].tex):     39(ptr) Variable UniformConstant
+75(g_texdata_array2[0].nonopaque_thing):     64(ptr) Variable UniformConstant
+76(g_texdata_array2[1].nonopaque_thing):     64(ptr) Variable UniformConstant
+77(g_texdata_array2[2].samp):     44(ptr) Variable UniformConstant
+78(g_texdata_array2[2].tex):     39(ptr) Variable UniformConstant
+79(g_texdata_array2[2].nonopaque_thing):     64(ptr) Variable UniformConstant
          4(main):           2 Function None 3
                5:             Label
-   46(ps_output):      9(ptr) Variable Function
-       47(param):      9(ptr) Variable Function
-              48:           2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 47(param)
-              49:8(PS_OUTPUT) Load 47(param)
-                              Store 46(ps_output) 49
-              52:     44(ptr) AccessChain 46(ps_output) 15
-              53:    7(fvec4) Load 52
-                              Store 51(ps_output.color) 53
+   54(ps_output):      9(ptr) Variable Function
+       55(param):      9(ptr) Variable Function
+              56:           2 FunctionCall 12(@main(struct-PS_OUTPUT-vf41;) 55(param)
+              57:8(PS_OUTPUT) Load 55(param)
+                              Store 54(ps_output) 57
+              60:     52(ptr) AccessChain 54(ps_output) 15
+              61:    7(fvec4) Load 60
+                              Store 59(ps_output.color) 61
                               Return
                               FunctionEnd
 12(@main(struct-PS_OUTPUT-vf41;):           2 Function None 10
@@ -300,12 +288,14 @@
               32:          24 SampledImage 29 31
               34:    7(fvec4) ImageSampleImplicitLod 32 33
               35:    7(fvec4) FAdd 27 34
-              37:          16 Load 36(g_texdata_array2[1].tex[0])
-              39:          20 Load 38(g_texdata_array2[1].samp[0])
-              40:          24 SampledImage 37 39
-              42:    7(fvec4) ImageSampleImplicitLod 40 41
-              43:    7(fvec4) FAdd 35 42
-              45:     44(ptr) AccessChain 11(ps_output) 15
-                              Store 45 43
+              41:     17(ptr) AccessChain 40(g_texdata_array2[1].tex) 15
+              42:          16 Load 41
+              46:     21(ptr) AccessChain 45(g_texdata_array2[1].samp) 15
+              47:          20 Load 46
+              48:          24 SampledImage 42 47
+              50:    7(fvec4) ImageSampleImplicitLod 48 49
+              51:    7(fvec4) FAdd 35 50
+              53:     52(ptr) AccessChain 11(ps_output) 15
+                              Store 53 51
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.structarray.flatten.geom.out b/Test/baseResults/hlsl.structarray.flatten.geom.out
index c11857d..eac315c 100644
--- a/Test/baseResults/hlsl.structarray.flatten.geom.out
+++ b/Test/baseResults/hlsl.structarray.flatten.geom.out
@@ -170,7 +170,7 @@
 0:?     'outStream.uv' (layout( location=1) out 2-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 58
 
                               Capability Geometry
diff --git a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
index 039d4e0..1f79b9b 100644
--- a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
@@ -150,13 +150,13 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 70
+// Generated by (magic number): 80002
+// Id's are bound by 76
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 58 61
+                              EntryPoint Fragment 4  "main" 64 67
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -171,51 +171,55 @@
                               Name 18  "arg_c@count"
                               Name 25  "@main(u1;"
                               Name 24  "pos"
-                              Name 49  "sbuf_a"
-                              Name 50  "sbuf_a@count"
-                              Name 51  "sbuf_c"
-                              Name 52  "sbuf_c@count"
-                              Name 56  "pos"
-                              Name 58  "pos"
-                              Name 61  "@entryPointOutput"
-                              Name 62  "param"
-                              Name 65  "sbuf_a@count"
-                              MemberName 65(sbuf_a@count) 0  "@count"
-                              Name 67  "sbuf_a@count"
-                              Name 68  "sbuf_c@count"
-                              Name 69  "sbuf_unused"
+                              Name 50  "sbuf_a"
+                              Name 52  "sbuf_a@count"
+                              Name 53  "sbuf_c"
+                              Name 54  "sbuf_c@count"
+                              Name 55  "param"
+                              Name 56  "param"
+                              Name 57  "param"
+                              Name 58  "param"
+                              Name 62  "pos"
+                              Name 64  "pos"
+                              Name 67  "@entryPointOutput"
+                              Name 68  "param"
+                              Name 71  "sbuf_a@count"
+                              MemberName 71(sbuf_a@count) 0  "@count"
+                              Name 73  "sbuf_a@count"
+                              Name 74  "sbuf_c@count"
+                              Name 75  "sbuf_unused"
                               Decorate 8 ArrayStride 16
                               MemberDecorate 9 0 Offset 0
                               Decorate 9 BufferBlock
                               Decorate 12 BufferBlock
-                              Decorate 49(sbuf_a) DescriptorSet 0
-                              Decorate 50(sbuf_a@count) DescriptorSet 0
-                              Decorate 51(sbuf_c) DescriptorSet 0
-                              Decorate 52(sbuf_c@count) DescriptorSet 0
-                              Decorate 58(pos) Flat
-                              Decorate 58(pos) Location 0
-                              Decorate 61(@entryPointOutput) Location 0
-                              MemberDecorate 65(sbuf_a@count) 0 Offset 0
-                              Decorate 65(sbuf_a@count) BufferBlock
-                              Decorate 67(sbuf_a@count) DescriptorSet 0
-                              Decorate 68(sbuf_c@count) DescriptorSet 0
-                              Decorate 69(sbuf_unused) DescriptorSet 0
+                              Decorate 50(sbuf_a) DescriptorSet 0
+                              Decorate 52(sbuf_a@count) DescriptorSet 0
+                              Decorate 53(sbuf_c) DescriptorSet 0
+                              Decorate 54(sbuf_c@count) DescriptorSet 0
+                              Decorate 64(pos) Flat
+                              Decorate 64(pos) Location 0
+                              Decorate 67(@entryPointOutput) Location 0
+                              MemberDecorate 71(sbuf_a@count) 0 Offset 0
+                              Decorate 71(sbuf_a@count) BufferBlock
+                              Decorate 73(sbuf_a@count) DescriptorSet 0
+                              Decorate 74(sbuf_c@count) DescriptorSet 0
+                              Decorate 75(sbuf_unused) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
                7:             TypeVector 6(float) 4
                8:             TypeRuntimeArray 7(fvec4)
                9:             TypeStruct 8
-              10:             TypePointer Uniform 9(struct)
+              10:             TypePointer Function 9(struct)
               11:             TypeInt 32 1
               12:             TypeStruct 11(int)
-              13:             TypePointer Uniform 12(struct)
+              13:             TypePointer Function 12(struct)
               14:             TypeFunction 7(fvec4) 10(ptr) 13(ptr) 10(ptr) 13(ptr)
               21:             TypeInt 32 0
               22:             TypePointer Function 21(int)
               23:             TypeFunction 7(fvec4) 22(ptr)
               27:     11(int) Constant 0
-              28:             TypePointer Uniform 11(int)
+              28:             TypePointer Function 11(int)
               30:     11(int) Constant 1
               31:     21(int) Constant 1
               32:     21(int) Constant 0
@@ -224,31 +228,33 @@
               36:    6(float) Constant 1077936128
               37:    6(float) Constant 1082130432
               38:    7(fvec4) ConstantComposite 34 35 36 37
-              39:             TypePointer Uniform 7(fvec4)
+              39:             TypePointer Function 7(fvec4)
               42:     11(int) Constant 4294967295
-      49(sbuf_a):     10(ptr) Variable Uniform
-50(sbuf_a@count):     13(ptr) Variable Uniform
-      51(sbuf_c):     10(ptr) Variable Uniform
-52(sbuf_c@count):     13(ptr) Variable Uniform
-              57:             TypePointer Input 21(int)
-         58(pos):     57(ptr) Variable Input
-              60:             TypePointer Output 7(fvec4)
-61(@entryPointOutput):     60(ptr) Variable Output
-65(sbuf_a@count):             TypeStruct 11(int)
-              66:             TypePointer Uniform 65(sbuf_a@count)
-67(sbuf_a@count):     66(ptr) Variable Uniform
-68(sbuf_c@count):     66(ptr) Variable Uniform
- 69(sbuf_unused):     10(ptr) Variable Uniform
+              49:             TypePointer Uniform 9(struct)
+      50(sbuf_a):     49(ptr) Variable Uniform
+              51:             TypePointer Uniform 12(struct)
+52(sbuf_a@count):     51(ptr) Variable Uniform
+      53(sbuf_c):     49(ptr) Variable Uniform
+54(sbuf_c@count):     51(ptr) Variable Uniform
+              63:             TypePointer Input 21(int)
+         64(pos):     63(ptr) Variable Input
+              66:             TypePointer Output 7(fvec4)
+67(@entryPointOutput):     66(ptr) Variable Output
+71(sbuf_a@count):             TypeStruct 11(int)
+              72:             TypePointer Uniform 71(sbuf_a@count)
+73(sbuf_a@count):     72(ptr) Variable Uniform
+74(sbuf_c@count):     72(ptr) Variable Uniform
+ 75(sbuf_unused):     49(ptr) Variable Uniform
          4(main):           2 Function None 3
                5:             Label
-         56(pos):     22(ptr) Variable Function
-       62(param):     22(ptr) Variable Function
-              59:     21(int) Load 58(pos)
-                              Store 56(pos) 59
-              63:     21(int) Load 56(pos)
-                              Store 62(param) 63
-              64:    7(fvec4) FunctionCall 25(@main(u1;) 62(param)
-                              Store 61(@entryPointOutput) 64
+         62(pos):     22(ptr) Variable Function
+       68(param):     22(ptr) Variable Function
+              65:     21(int) Load 64(pos)
+                              Store 62(pos) 65
+              69:     21(int) Load 62(pos)
+                              Store 68(param) 69
+              70:    7(fvec4) FunctionCall 25(@main(u1;) 68(param)
+                              Store 67(@entryPointOutput) 70
                               Return
                               FunctionEnd
 19(Fn2(block--vf4[0]1;block--vf4[0]1;):    7(fvec4) Function None 14
@@ -271,6 +277,10 @@
    25(@main(u1;):    7(fvec4) Function None 23
          24(pos):     22(ptr) FunctionParameter
               26:             Label
-              53:    7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 49(sbuf_a) 50(sbuf_a@count) 51(sbuf_c) 52(sbuf_c@count)
-                              ReturnValue 53
+       55(param):     10(ptr) Variable Function
+       56(param):     13(ptr) Variable Function
+       57(param):     10(ptr) Variable Function
+       58(param):     13(ptr) Variable Function
+              59:    7(fvec4) FunctionCall 19(Fn2(block--vf4[0]1;block--vf4[0]1;) 55(param) 56(param) 57(param) 58(param)
+                              ReturnValue 59
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.structbuffer.append.frag.out b/Test/baseResults/hlsl.structbuffer.append.frag.out
index 8f63efe..9ff5bee 100644
--- a/Test/baseResults/hlsl.structbuffer.append.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.frag.out
@@ -124,7 +124,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 56
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
index 04d780f..2e85173 100644
--- a/Test/baseResults/hlsl.structbuffer.atomics.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
@@ -474,7 +474,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 87
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out
index c5d5dc3..a4084ae 100644
--- a/Test/baseResults/hlsl.structbuffer.byte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out
@@ -324,7 +324,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 114
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
index 702d92c..baed6ff 100644
--- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
@@ -176,7 +176,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 78
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
index 9ce8358..9b49bc7 100644
--- a/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.floatidx.comp.out
@@ -180,7 +180,7 @@
 0:?     'nThreadId' ( in 3-component vector of uint GlobalInvocationID)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 84
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out
index 2e2a44f..e5e68f1 100644
--- a/Test/baseResults/hlsl.structbuffer.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out
@@ -138,13 +138,13 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 78
+// Generated by (magic number): 80002
+// Id's are bound by 83
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 63 66
+                              EntryPoint Fragment 4  "main" 68 71
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -165,21 +165,24 @@
                               Name 35  "@main(u1;"
                               Name 34  "pos"
                               Name 47  "sbuf2"
-                              Name 48  "sbuf2@count"
-                              Name 50  "sbuf"
-                              Name 52  "param"
+                              Name 49  "sbuf2@count"
+                              Name 52  "sbuf"
                               Name 54  "param"
                               Name 55  "param"
-                              Name 61  "pos"
-                              Name 63  "pos"
-                              Name 66  "@entryPointOutput"
-                              Name 67  "param"
-                              Name 70  "sbuf2@count"
-                              MemberName 70(sbuf2@count) 0  "@count"
-                              Name 72  "sbuf2@count"
-                              Name 75  "sbuf3"
-                              MemberName 75(sbuf3) 0  "@data"
-                              Name 77  "sbuf3"
+                              Name 57  "param"
+                              Name 58  "param"
+                              Name 59  "param"
+                              Name 60  "param"
+                              Name 66  "pos"
+                              Name 68  "pos"
+                              Name 71  "@entryPointOutput"
+                              Name 72  "param"
+                              Name 75  "sbuf2@count"
+                              MemberName 75(sbuf2@count) 0  "@count"
+                              Name 77  "sbuf2@count"
+                              Name 80  "sbuf3"
+                              MemberName 80(sbuf3) 0  "@data"
+                              Name 82  "sbuf3"
                               Decorate 8 ArrayStride 16
                               MemberDecorate 9 0 NonWritable
                               MemberDecorate 9 0 Offset 0
@@ -190,72 +193,74 @@
                               Decorate 18 BufferBlock
                               Decorate 21 BufferBlock
                               Decorate 47(sbuf2) DescriptorSet 0
-                              Decorate 48(sbuf2@count) DescriptorSet 0
-                              Decorate 50(sbuf) DescriptorSet 0
-                              Decorate 50(sbuf) Binding 10
-                              Decorate 63(pos) Flat
-                              Decorate 63(pos) Location 0
-                              Decorate 66(@entryPointOutput) Location 0
-                              MemberDecorate 70(sbuf2@count) 0 Offset 0
-                              Decorate 70(sbuf2@count) BufferBlock
-                              Decorate 72(sbuf2@count) DescriptorSet 0
-                              Decorate 74 ArrayStride 16
-                              MemberDecorate 75(sbuf3) 0 NonWritable
-                              MemberDecorate 75(sbuf3) 0 Offset 0
-                              Decorate 75(sbuf3) BufferBlock
-                              Decorate 77(sbuf3) DescriptorSet 0
-                              Decorate 77(sbuf3) Binding 12
+                              Decorate 49(sbuf2@count) DescriptorSet 0
+                              Decorate 52(sbuf) DescriptorSet 0
+                              Decorate 52(sbuf) Binding 10
+                              Decorate 68(pos) Flat
+                              Decorate 68(pos) Location 0
+                              Decorate 71(@entryPointOutput) Location 0
+                              MemberDecorate 75(sbuf2@count) 0 Offset 0
+                              Decorate 75(sbuf2@count) BufferBlock
+                              Decorate 77(sbuf2@count) DescriptorSet 0
+                              Decorate 79 ArrayStride 16
+                              MemberDecorate 80(sbuf3) 0 NonWritable
+                              MemberDecorate 80(sbuf3) 0 Offset 0
+                              Decorate 80(sbuf3) BufferBlock
+                              Decorate 82(sbuf3) DescriptorSet 0
+                              Decorate 82(sbuf3) Binding 12
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
                7:             TypeVector 6(int) 4
                8:             TypeRuntimeArray 7(ivec4)
                9:             TypeStruct 8
-              10:             TypePointer Uniform 9(struct)
+              10:             TypePointer Function 9(struct)
               11:             TypePointer Function 6(int)
               12:             TypeFunction 7(ivec4) 10(ptr) 11(ptr)
               17:             TypeRuntimeArray 7(ivec4)
               18:             TypeStruct 17
-              19:             TypePointer Uniform 18(struct)
+              19:             TypePointer Function 18(struct)
               20:             TypeInt 32 1
               21:             TypeStruct 20(int)
-              22:             TypePointer Uniform 21(struct)
+              22:             TypePointer Function 21(struct)
               23:             TypePointer Function 7(ivec4)
               24:             TypeFunction 2 19(ptr) 22(ptr) 11(ptr) 23(ptr)
               31:             TypeFloat 32
               32:             TypeVector 31(float) 4
               33:             TypeFunction 32(fvec4) 11(ptr)
               37:     20(int) Constant 0
-              39:             TypePointer Uniform 7(ivec4)
-       47(sbuf2):     19(ptr) Variable Uniform
- 48(sbuf2@count):     22(ptr) Variable Uniform
-              49:      6(int) Constant 2
-        50(sbuf):     10(ptr) Variable Uniform
-              51:      6(int) Constant 3
-              57:   31(float) Constant 0
-              58:   32(fvec4) ConstantComposite 57 57 57 57
-              62:             TypePointer Input 6(int)
-         63(pos):     62(ptr) Variable Input
-              65:             TypePointer Output 32(fvec4)
-66(@entryPointOutput):     65(ptr) Variable Output
- 70(sbuf2@count):             TypeStruct 20(int)
-              71:             TypePointer Uniform 70(sbuf2@count)
- 72(sbuf2@count):     71(ptr) Variable Uniform
-              73:             TypeVector 6(int) 3
-              74:             TypeRuntimeArray 73(ivec3)
-       75(sbuf3):             TypeStruct 74
-              76:             TypePointer Uniform 75(sbuf3)
-       77(sbuf3):     76(ptr) Variable Uniform
+              46:             TypePointer Uniform 18(struct)
+       47(sbuf2):     46(ptr) Variable Uniform
+              48:             TypePointer Uniform 21(struct)
+ 49(sbuf2@count):     48(ptr) Variable Uniform
+              50:      6(int) Constant 2
+              51:             TypePointer Uniform 9(struct)
+        52(sbuf):     51(ptr) Variable Uniform
+              53:      6(int) Constant 3
+              62:   31(float) Constant 0
+              63:   32(fvec4) ConstantComposite 62 62 62 62
+              67:             TypePointer Input 6(int)
+         68(pos):     67(ptr) Variable Input
+              70:             TypePointer Output 32(fvec4)
+71(@entryPointOutput):     70(ptr) Variable Output
+ 75(sbuf2@count):             TypeStruct 20(int)
+              76:             TypePointer Uniform 75(sbuf2@count)
+ 77(sbuf2@count):     76(ptr) Variable Uniform
+              78:             TypeVector 6(int) 3
+              79:             TypeRuntimeArray 78(ivec3)
+       80(sbuf3):             TypeStruct 79
+              81:             TypePointer Uniform 80(sbuf3)
+       82(sbuf3):     81(ptr) Variable Uniform
          4(main):           2 Function None 3
                5:             Label
-         61(pos):     11(ptr) Variable Function
-       67(param):     11(ptr) Variable Function
-              64:      6(int) Load 63(pos)
-                              Store 61(pos) 64
-              68:      6(int) Load 61(pos)
-                              Store 67(param) 68
-              69:   32(fvec4) FunctionCall 35(@main(u1;) 67(param)
-                              Store 66(@entryPointOutput) 69
+         66(pos):     11(ptr) Variable Function
+       72(param):     11(ptr) Variable Function
+              69:      6(int) Load 68(pos)
+                              Store 66(pos) 69
+              73:      6(int) Load 66(pos)
+                              Store 72(param) 73
+              74:   32(fvec4) FunctionCall 35(@main(u1;) 72(param)
+                              Store 71(@entryPointOutput) 74
                               Return
                               FunctionEnd
 15(get(block--vu4[0]1;u1;):    7(ivec4) Function None 12
@@ -263,9 +268,9 @@
 14(bufferOffset):     11(ptr) FunctionParameter
               16:             Label
               38:      6(int) Load 14(bufferOffset)
-              40:     39(ptr) AccessChain 13(sb) 37 38
-              41:    7(ivec4) Load 40
-                              ReturnValue 41
+              39:     23(ptr) AccessChain 13(sb) 37 38
+              40:    7(ivec4) Load 39
+                              ReturnValue 40
                               FunctionEnd
 29(set(block--vu4[0]1;u1;vu4;):           2 Function None 24
           25(sb):     19(ptr) FunctionParameter
@@ -273,22 +278,25 @@
 27(bufferOffset):     11(ptr) FunctionParameter
         28(data):     23(ptr) FunctionParameter
               30:             Label
-              44:      6(int) Load 27(bufferOffset)
-              45:    7(ivec4) Load 28(data)
-              46:     39(ptr) AccessChain 25(sb) 37 44
-                              Store 46 45
+              43:      6(int) Load 27(bufferOffset)
+              44:    7(ivec4) Load 28(data)
+              45:     23(ptr) AccessChain 25(sb) 37 43
+                              Store 45 44
                               Return
                               FunctionEnd
    35(@main(u1;):   32(fvec4) Function None 33
          34(pos):     11(ptr) FunctionParameter
               36:             Label
-       52(param):     11(ptr) Variable Function
-       54(param):     11(ptr) Variable Function
-       55(param):     23(ptr) Variable Function
-                              Store 52(param) 51
-              53:    7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 50(sbuf) 52(param)
-                              Store 54(param) 49
+       54(param):     10(ptr) Variable Function
+       55(param):     11(ptr) Variable Function
+       57(param):     19(ptr) Variable Function
+       58(param):     22(ptr) Variable Function
+       59(param):     11(ptr) Variable Function
+       60(param):     23(ptr) Variable Function
                               Store 55(param) 53
-              56:           2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 47(sbuf2) 48(sbuf2@count) 54(param) 55(param)
-                              ReturnValue 58
+              56:    7(ivec4) FunctionCall 15(get(block--vu4[0]1;u1;) 54(param) 55(param)
+                              Store 59(param) 50
+                              Store 60(param) 56
+              61:           2 FunctionCall 29(set(block--vu4[0]1;u1;vu4;) 57(param) 58(param) 59(param) 60(param)
+                              ReturnValue 63
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.structbuffer.fn2.comp.out b/Test/baseResults/hlsl.structbuffer.fn2.comp.out
index efe5fe3..bb84b99 100644
--- a/Test/baseResults/hlsl.structbuffer.fn2.comp.out
+++ b/Test/baseResults/hlsl.structbuffer.fn2.comp.out
@@ -134,15 +134,15 @@
 0:?     'dispatchId' ( in uint GlobalInvocationID)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 61
+// Generated by (magic number): 80002
+// Id's are bound by 62
 
                               Capability Shader
                               Capability ImageBuffer
                               Capability StorageImageExtendedFormats
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint GLCompute 4  "main" 56
+                              EntryPoint GLCompute 4  "main" 57
                               ExecutionMode 4 LocalSize 256 1 1
                               Source HLSL 500
                               Name 4  "main"
@@ -155,13 +155,14 @@
                               Name 18  "dispatchId"
                               Name 22  "result"
                               Name 25  "byteAddrTemp"
-                              Name 43  "result"
+                              Name 42  "result"
                               Name 44  "g_input"
                               Name 45  "param"
-                              Name 50  "g_output"
-                              Name 54  "dispatchId"
-                              Name 56  "dispatchId"
-                              Name 58  "param"
+                              Name 47  "param"
+                              Name 51  "g_output"
+                              Name 55  "dispatchId"
+                              Name 57  "dispatchId"
+                              Name 59  "param"
                               Decorate 8 ArrayStride 4
                               MemberDecorate 9 0 NonWritable
                               MemberDecorate 9 0 Offset 0
@@ -169,16 +170,16 @@
                               Decorate 14(buffer) NonWritable
                               Decorate 44(g_input) DescriptorSet 0
                               Decorate 44(g_input) Binding 0
-                              Decorate 50(g_output) DescriptorSet 0
-                              Decorate 50(g_output) Binding 1
-                              Decorate 56(dispatchId) BuiltIn GlobalInvocationId
+                              Decorate 51(g_output) DescriptorSet 0
+                              Decorate 51(g_output) Binding 1
+                              Decorate 57(dispatchId) BuiltIn GlobalInvocationId
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
                7:             TypePointer Function 6(int)
                8:             TypeRuntimeArray 6(int)
                9:             TypeStruct 8
-              10:             TypePointer Uniform 9(struct)
+              10:             TypePointer Function 9(struct)
               11:             TypeVector 6(int) 2
               12:             TypeFunction 11(ivec2) 7(ptr) 10(ptr)
               17:             TypeFunction 2 7(ptr)
@@ -187,23 +188,23 @@
               24:             TypePointer Function 23(int)
               27:     23(int) Constant 2
               29:     23(int) Constant 0
-              31:             TypePointer Uniform 6(int)
-              35:     23(int) Constant 1
-     44(g_input):     10(ptr) Variable Uniform
-              48:             TypeImage 6(int) Buffer nonsampled format:Rg32ui
-              49:             TypePointer UniformConstant 48
-    50(g_output):     49(ptr) Variable UniformConstant
-              55:             TypePointer Input 6(int)
-  56(dispatchId):     55(ptr) Variable Input
+              34:     23(int) Constant 1
+              43:             TypePointer Uniform 9(struct)
+     44(g_input):     43(ptr) Variable Uniform
+              49:             TypeImage 6(int) Buffer nonsampled format:Rg32ui
+              50:             TypePointer UniformConstant 49
+    51(g_output):     50(ptr) Variable UniformConstant
+              56:             TypePointer Input 6(int)
+  57(dispatchId):     56(ptr) Variable Input
          4(main):           2 Function None 3
                5:             Label
-  54(dispatchId):      7(ptr) Variable Function
-       58(param):      7(ptr) Variable Function
-              57:      6(int) Load 56(dispatchId)
-                              Store 54(dispatchId) 57
-              59:      6(int) Load 54(dispatchId)
-                              Store 58(param) 59
-              60:           2 FunctionCall 19(@main(u1;) 58(param)
+  55(dispatchId):      7(ptr) Variable Function
+       59(param):      7(ptr) Variable Function
+              58:      6(int) Load 57(dispatchId)
+                              Store 55(dispatchId) 58
+              60:      6(int) Load 55(dispatchId)
+                              Store 59(param) 60
+              61:           2 FunctionCall 19(@main(u1;) 59(param)
                               Return
                               FunctionEnd
 15(testLoad(u1;block--u1[0]1;):   11(ivec2) Function None 12
@@ -216,29 +217,30 @@
               28:     23(int) ShiftRightLogical 26 27
                               Store 25(byteAddrTemp) 28
               30:     23(int) Load 25(byteAddrTemp)
-              32:     31(ptr) AccessChain 14(buffer) 29 30
-              33:      6(int) Load 32
-              34:     23(int) Load 25(byteAddrTemp)
-              36:     23(int) IAdd 34 35
-              37:     31(ptr) AccessChain 14(buffer) 29 36
-              38:      6(int) Load 37
-              39:   11(ivec2) CompositeConstruct 33 38
-                              Store 22(result) 39
-              40:   11(ivec2) Load 22(result)
-                              ReturnValue 40
+              31:      7(ptr) AccessChain 14(buffer) 29 30
+              32:      6(int) Load 31
+              33:     23(int) Load 25(byteAddrTemp)
+              35:     23(int) IAdd 33 34
+              36:      7(ptr) AccessChain 14(buffer) 29 35
+              37:      6(int) Load 36
+              38:   11(ivec2) CompositeConstruct 32 37
+                              Store 22(result) 38
+              39:   11(ivec2) Load 22(result)
+                              ReturnValue 39
                               FunctionEnd
    19(@main(u1;):           2 Function None 17
   18(dispatchId):      7(ptr) FunctionParameter
               20:             Label
-      43(result):     21(ptr) Variable Function
+      42(result):     21(ptr) Variable Function
        45(param):      7(ptr) Variable Function
+       47(param):     10(ptr) Variable Function
               46:      6(int) Load 18(dispatchId)
                               Store 45(param) 46
-              47:   11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 44(g_input)
-                              Store 43(result) 47
-              51:          48 Load 50(g_output)
-              52:      6(int) Load 18(dispatchId)
-              53:   11(ivec2) Load 43(result)
-                              ImageWrite 51 52 53
+              48:   11(ivec2) FunctionCall 15(testLoad(u1;block--u1[0]1;) 45(param) 47(param)
+                              Store 42(result) 48
+              52:          49 Load 51(g_output)
+              53:      6(int) Load 18(dispatchId)
+              54:   11(ivec2) Load 42(result)
+                              ImageWrite 52 53 54
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out
index a60ce80..187a41b 100644
--- a/Test/baseResults/hlsl.structbuffer.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.frag.out
@@ -188,7 +188,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 96
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.incdec.frag.out b/Test/baseResults/hlsl.structbuffer.incdec.frag.out
index 6584210..a63fcbe 100644
--- a/Test/baseResults/hlsl.structbuffer.incdec.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.incdec.frag.out
@@ -204,7 +204,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 70
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out
index 6d529dd..87d50f0 100644
--- a/Test/baseResults/hlsl.structbuffer.rw.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out
@@ -176,7 +176,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 78
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
index 80bc107..77c2744 100644
--- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
@@ -1006,7 +1006,7 @@
 0:?     'pos' (layout( location=0) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 240
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.structin.vert.out b/Test/baseResults/hlsl.structin.vert.out
index accd793..45304f5 100755
--- a/Test/baseResults/hlsl.structin.vert.out
+++ b/Test/baseResults/hlsl.structin.vert.out
@@ -340,7 +340,7 @@
 0:?     'e' (layout( location=5) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 94
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.subpass.frag.out b/Test/baseResults/hlsl.subpass.frag.out
new file mode 100644
index 0000000..470699a
--- /dev/null
+++ b/Test/baseResults/hlsl.subpass.frag.out
@@ -0,0 +1,777 @@
+hlsl.subpass.frag
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:68  Function Definition: @main( ( temp 4-component vector of float)
+0:68    Function Parameters: 
+0:?     Sequence
+0:69      Sequence
+0:69        move second child to first child ( temp 4-component vector of float)
+0:69          'result00' ( temp 4-component vector of float)
+0:69          subpassLoad ( temp 4-component vector of float)
+0:69            'subpass_f4' (layout( binding=1 input_attachment_index=1) uniform subpassInput)
+0:70      Sequence
+0:70        move second child to first child ( temp 4-component vector of int)
+0:70          'result01' ( temp 4-component vector of int)
+0:70          subpassLoad ( temp 4-component vector of int)
+0:70            'subpass_i4' ( uniform isubpassInput)
+0:71      Sequence
+0:71        move second child to first child ( temp 4-component vector of uint)
+0:71          'result02' ( temp 4-component vector of uint)
+0:71          subpassLoad ( temp 4-component vector of uint)
+0:71            'subpass_u4' ( uniform usubpassInput)
+0:73      Sequence
+0:73        move second child to first child ( temp 4-component vector of float)
+0:73          'result10' ( temp 4-component vector of float)
+0:73          subpassLoadMS ( temp 4-component vector of float)
+0:73            'subpass_ms_f4' ( uniform subpassInputMS)
+0:73            Constant:
+0:73              3 (const int)
+0:74      Sequence
+0:74        move second child to first child ( temp 4-component vector of int)
+0:74          'result11' ( temp 4-component vector of int)
+0:74          subpassLoadMS ( temp 4-component vector of int)
+0:74            'subpass_ms_i4' ( uniform isubpassInputMS)
+0:74            Constant:
+0:74              3 (const int)
+0:75      Sequence
+0:75        move second child to first child ( temp 4-component vector of uint)
+0:75          'result12' ( temp 4-component vector of uint)
+0:75          subpassLoadMS ( temp 4-component vector of uint)
+0:75            'subpass_ms_u4' ( uniform usubpassInputMS)
+0:75            Constant:
+0:75              3 (const int)
+0:77      Sequence
+0:77        move second child to first child ( temp 3-component vector of float)
+0:77          'result20' ( temp 3-component vector of float)
+0:77          Construct vec3 ( temp 3-component vector of float)
+0:77            subpassLoad ( temp 4-component vector of float)
+0:77              'subpass_f3' ( uniform subpassInput)
+0:78      Sequence
+0:78        move second child to first child ( temp 3-component vector of int)
+0:78          'result21' ( temp 3-component vector of int)
+0:78          Construct ivec3 ( temp 3-component vector of int)
+0:78            subpassLoad ( temp 4-component vector of int)
+0:78              'subpass_i3' ( uniform isubpassInput)
+0:79      Sequence
+0:79        move second child to first child ( temp 3-component vector of uint)
+0:79          'result22' ( temp 3-component vector of uint)
+0:79          Construct uvec3 ( temp 3-component vector of uint)
+0:79            subpassLoad ( temp 4-component vector of uint)
+0:79              'subpass_u3' ( uniform usubpassInput)
+0:81      Sequence
+0:81        move second child to first child ( temp 3-component vector of float)
+0:81          'result30' ( temp 3-component vector of float)
+0:81          Construct vec3 ( temp 3-component vector of float)
+0:81            subpassLoadMS ( temp 4-component vector of float)
+0:81              'subpass_ms_f3' ( uniform subpassInputMS)
+0:81              Constant:
+0:81                3 (const int)
+0:82      Sequence
+0:82        move second child to first child ( temp 3-component vector of int)
+0:82          'result31' ( temp 3-component vector of int)
+0:82          Construct ivec3 ( temp 3-component vector of int)
+0:82            subpassLoadMS ( temp 4-component vector of int)
+0:82              'subpass_ms_i3' ( uniform isubpassInputMS)
+0:82              Constant:
+0:82                3 (const int)
+0:83      Sequence
+0:83        move second child to first child ( temp 3-component vector of uint)
+0:83          'result32' ( temp 3-component vector of uint)
+0:83          Construct uvec3 ( temp 3-component vector of uint)
+0:83            subpassLoadMS ( temp 4-component vector of uint)
+0:83              'subpass_ms_u3' ( uniform usubpassInputMS)
+0:83              Constant:
+0:83                3 (const int)
+0:85      Sequence
+0:85        move second child to first child ( temp 2-component vector of float)
+0:85          'result40' ( temp 2-component vector of float)
+0:85          Construct vec2 ( temp 2-component vector of float)
+0:85            subpassLoad ( temp 4-component vector of float)
+0:85              'subpass_f2' ( uniform subpassInput)
+0:86      Sequence
+0:86        move second child to first child ( temp 2-component vector of int)
+0:86          'result41' ( temp 2-component vector of int)
+0:86          Construct ivec2 ( temp 2-component vector of int)
+0:86            subpassLoad ( temp 4-component vector of int)
+0:86              'subpass_i2' ( uniform isubpassInput)
+0:87      Sequence
+0:87        move second child to first child ( temp 2-component vector of uint)
+0:87          'result42' ( temp 2-component vector of uint)
+0:87          Construct uvec2 ( temp 2-component vector of uint)
+0:87            subpassLoad ( temp 4-component vector of uint)
+0:87              'subpass_u2' ( uniform usubpassInput)
+0:89      Sequence
+0:89        move second child to first child ( temp 2-component vector of float)
+0:89          'result50' ( temp 2-component vector of float)
+0:89          Construct vec2 ( temp 2-component vector of float)
+0:89            subpassLoadMS ( temp 4-component vector of float)
+0:89              'subpass_ms_f2' ( uniform subpassInputMS)
+0:89              Constant:
+0:89                2 (const int)
+0:90      Sequence
+0:90        move second child to first child ( temp 2-component vector of int)
+0:90          'result51' ( temp 2-component vector of int)
+0:90          Construct ivec2 ( temp 2-component vector of int)
+0:90            subpassLoadMS ( temp 4-component vector of int)
+0:90              'subpass_ms_i2' ( uniform isubpassInputMS)
+0:90              Constant:
+0:90                2 (const int)
+0:91      Sequence
+0:91        move second child to first child ( temp 2-component vector of uint)
+0:91          'result52' ( temp 2-component vector of uint)
+0:91          Construct uvec2 ( temp 2-component vector of uint)
+0:91            subpassLoadMS ( temp 4-component vector of uint)
+0:91              'subpass_ms_u2' ( uniform usubpassInputMS)
+0:91              Constant:
+0:91                2 (const int)
+0:93      Sequence
+0:93        move second child to first child ( temp float)
+0:93          'result60' ( temp float)
+0:93          Construct float ( temp float)
+0:93            subpassLoad ( temp 4-component vector of float)
+0:93              'subpass_f' ( uniform subpassInput)
+0:94      Sequence
+0:94        move second child to first child ( temp int)
+0:94          'result61' ( temp int)
+0:94          Construct int ( temp int)
+0:94            subpassLoad ( temp 4-component vector of int)
+0:94              'subpass_i' ( uniform isubpassInput)
+0:95      Sequence
+0:95        move second child to first child ( temp uint)
+0:95          'result62' ( temp uint)
+0:95          Construct uint ( temp uint)
+0:95            subpassLoad ( temp 4-component vector of uint)
+0:95              'subpass_u' ( uniform usubpassInput)
+0:97      Sequence
+0:97        move second child to first child ( temp float)
+0:97          'result70' ( temp float)
+0:97          Construct float ( temp float)
+0:97            subpassLoadMS ( temp 4-component vector of float)
+0:97              'subpass_ms_f' ( uniform subpassInputMS)
+0:97              Constant:
+0:97                2 (const int)
+0:98      Sequence
+0:98        move second child to first child ( temp int)
+0:98          'result71' ( temp int)
+0:98          Construct int ( temp int)
+0:98            subpassLoadMS ( temp 4-component vector of int)
+0:98              'subpass_ms_i' ( uniform isubpassInputMS)
+0:98              Constant:
+0:98                2 (const int)
+0:99      Sequence
+0:99        move second child to first child ( temp uint)
+0:99          'result72' ( temp uint)
+0:99          Construct uint ( temp uint)
+0:99            subpassLoadMS ( temp 4-component vector of uint)
+0:99              'subpass_ms_u' ( uniform usubpassInputMS)
+0:99              Constant:
+0:99                2 (const int)
+0:101      Sequence
+0:101        move second child to first child ( temp 4-component vector of float)
+0:101          'result73' ( temp 4-component vector of float)
+0:101          subpassLoad ( temp 4-component vector of float)
+0:101            'subpass_2' ( uniform subpassInput)
+0:112      Branch: Return with expression
+0:112        Constant:
+0:112          0.000000
+0:112          0.000000
+0:112          0.000000
+0:112          0.000000
+0:68  Function Definition: main( ( temp void)
+0:68    Function Parameters: 
+0:?     Sequence
+0:68      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:68        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'subpass_f4' (layout( binding=1 input_attachment_index=1) uniform subpassInput)
+0:?     'subpass_i4' ( uniform isubpassInput)
+0:?     'subpass_u4' ( uniform usubpassInput)
+0:?     'subpass_ms_f4' ( uniform subpassInputMS)
+0:?     'subpass_ms_i4' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u4' ( uniform usubpassInputMS)
+0:?     'subpass_f3' ( uniform subpassInput)
+0:?     'subpass_i3' ( uniform isubpassInput)
+0:?     'subpass_u3' ( uniform usubpassInput)
+0:?     'subpass_ms_f3' ( uniform subpassInputMS)
+0:?     'subpass_ms_i3' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u3' ( uniform usubpassInputMS)
+0:?     'subpass_f2' ( uniform subpassInput)
+0:?     'subpass_i2' ( uniform isubpassInput)
+0:?     'subpass_u2' ( uniform usubpassInput)
+0:?     'subpass_ms_f2' ( uniform subpassInputMS)
+0:?     'subpass_ms_i2' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u2' ( uniform usubpassInputMS)
+0:?     'subpass_f' ( uniform subpassInput)
+0:?     'subpass_i' ( uniform isubpassInput)
+0:?     'subpass_u' ( uniform usubpassInput)
+0:?     'subpass_ms_f' ( uniform subpassInputMS)
+0:?     'subpass_ms_i' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u' ( uniform usubpassInputMS)
+0:?     'subpass_2' ( uniform subpassInput)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+
+Linked fragment stage:
+
+
+Shader version: 500
+gl_FragCoord origin is upper left
+0:? Sequence
+0:68  Function Definition: @main( ( temp 4-component vector of float)
+0:68    Function Parameters: 
+0:?     Sequence
+0:69      Sequence
+0:69        move second child to first child ( temp 4-component vector of float)
+0:69          'result00' ( temp 4-component vector of float)
+0:69          subpassLoad ( temp 4-component vector of float)
+0:69            'subpass_f4' (layout( binding=1 input_attachment_index=1) uniform subpassInput)
+0:70      Sequence
+0:70        move second child to first child ( temp 4-component vector of int)
+0:70          'result01' ( temp 4-component vector of int)
+0:70          subpassLoad ( temp 4-component vector of int)
+0:70            'subpass_i4' ( uniform isubpassInput)
+0:71      Sequence
+0:71        move second child to first child ( temp 4-component vector of uint)
+0:71          'result02' ( temp 4-component vector of uint)
+0:71          subpassLoad ( temp 4-component vector of uint)
+0:71            'subpass_u4' ( uniform usubpassInput)
+0:73      Sequence
+0:73        move second child to first child ( temp 4-component vector of float)
+0:73          'result10' ( temp 4-component vector of float)
+0:73          subpassLoadMS ( temp 4-component vector of float)
+0:73            'subpass_ms_f4' ( uniform subpassInputMS)
+0:73            Constant:
+0:73              3 (const int)
+0:74      Sequence
+0:74        move second child to first child ( temp 4-component vector of int)
+0:74          'result11' ( temp 4-component vector of int)
+0:74          subpassLoadMS ( temp 4-component vector of int)
+0:74            'subpass_ms_i4' ( uniform isubpassInputMS)
+0:74            Constant:
+0:74              3 (const int)
+0:75      Sequence
+0:75        move second child to first child ( temp 4-component vector of uint)
+0:75          'result12' ( temp 4-component vector of uint)
+0:75          subpassLoadMS ( temp 4-component vector of uint)
+0:75            'subpass_ms_u4' ( uniform usubpassInputMS)
+0:75            Constant:
+0:75              3 (const int)
+0:77      Sequence
+0:77        move second child to first child ( temp 3-component vector of float)
+0:77          'result20' ( temp 3-component vector of float)
+0:77          Construct vec3 ( temp 3-component vector of float)
+0:77            subpassLoad ( temp 4-component vector of float)
+0:77              'subpass_f3' ( uniform subpassInput)
+0:78      Sequence
+0:78        move second child to first child ( temp 3-component vector of int)
+0:78          'result21' ( temp 3-component vector of int)
+0:78          Construct ivec3 ( temp 3-component vector of int)
+0:78            subpassLoad ( temp 4-component vector of int)
+0:78              'subpass_i3' ( uniform isubpassInput)
+0:79      Sequence
+0:79        move second child to first child ( temp 3-component vector of uint)
+0:79          'result22' ( temp 3-component vector of uint)
+0:79          Construct uvec3 ( temp 3-component vector of uint)
+0:79            subpassLoad ( temp 4-component vector of uint)
+0:79              'subpass_u3' ( uniform usubpassInput)
+0:81      Sequence
+0:81        move second child to first child ( temp 3-component vector of float)
+0:81          'result30' ( temp 3-component vector of float)
+0:81          Construct vec3 ( temp 3-component vector of float)
+0:81            subpassLoadMS ( temp 4-component vector of float)
+0:81              'subpass_ms_f3' ( uniform subpassInputMS)
+0:81              Constant:
+0:81                3 (const int)
+0:82      Sequence
+0:82        move second child to first child ( temp 3-component vector of int)
+0:82          'result31' ( temp 3-component vector of int)
+0:82          Construct ivec3 ( temp 3-component vector of int)
+0:82            subpassLoadMS ( temp 4-component vector of int)
+0:82              'subpass_ms_i3' ( uniform isubpassInputMS)
+0:82              Constant:
+0:82                3 (const int)
+0:83      Sequence
+0:83        move second child to first child ( temp 3-component vector of uint)
+0:83          'result32' ( temp 3-component vector of uint)
+0:83          Construct uvec3 ( temp 3-component vector of uint)
+0:83            subpassLoadMS ( temp 4-component vector of uint)
+0:83              'subpass_ms_u3' ( uniform usubpassInputMS)
+0:83              Constant:
+0:83                3 (const int)
+0:85      Sequence
+0:85        move second child to first child ( temp 2-component vector of float)
+0:85          'result40' ( temp 2-component vector of float)
+0:85          Construct vec2 ( temp 2-component vector of float)
+0:85            subpassLoad ( temp 4-component vector of float)
+0:85              'subpass_f2' ( uniform subpassInput)
+0:86      Sequence
+0:86        move second child to first child ( temp 2-component vector of int)
+0:86          'result41' ( temp 2-component vector of int)
+0:86          Construct ivec2 ( temp 2-component vector of int)
+0:86            subpassLoad ( temp 4-component vector of int)
+0:86              'subpass_i2' ( uniform isubpassInput)
+0:87      Sequence
+0:87        move second child to first child ( temp 2-component vector of uint)
+0:87          'result42' ( temp 2-component vector of uint)
+0:87          Construct uvec2 ( temp 2-component vector of uint)
+0:87            subpassLoad ( temp 4-component vector of uint)
+0:87              'subpass_u2' ( uniform usubpassInput)
+0:89      Sequence
+0:89        move second child to first child ( temp 2-component vector of float)
+0:89          'result50' ( temp 2-component vector of float)
+0:89          Construct vec2 ( temp 2-component vector of float)
+0:89            subpassLoadMS ( temp 4-component vector of float)
+0:89              'subpass_ms_f2' ( uniform subpassInputMS)
+0:89              Constant:
+0:89                2 (const int)
+0:90      Sequence
+0:90        move second child to first child ( temp 2-component vector of int)
+0:90          'result51' ( temp 2-component vector of int)
+0:90          Construct ivec2 ( temp 2-component vector of int)
+0:90            subpassLoadMS ( temp 4-component vector of int)
+0:90              'subpass_ms_i2' ( uniform isubpassInputMS)
+0:90              Constant:
+0:90                2 (const int)
+0:91      Sequence
+0:91        move second child to first child ( temp 2-component vector of uint)
+0:91          'result52' ( temp 2-component vector of uint)
+0:91          Construct uvec2 ( temp 2-component vector of uint)
+0:91            subpassLoadMS ( temp 4-component vector of uint)
+0:91              'subpass_ms_u2' ( uniform usubpassInputMS)
+0:91              Constant:
+0:91                2 (const int)
+0:93      Sequence
+0:93        move second child to first child ( temp float)
+0:93          'result60' ( temp float)
+0:93          Construct float ( temp float)
+0:93            subpassLoad ( temp 4-component vector of float)
+0:93              'subpass_f' ( uniform subpassInput)
+0:94      Sequence
+0:94        move second child to first child ( temp int)
+0:94          'result61' ( temp int)
+0:94          Construct int ( temp int)
+0:94            subpassLoad ( temp 4-component vector of int)
+0:94              'subpass_i' ( uniform isubpassInput)
+0:95      Sequence
+0:95        move second child to first child ( temp uint)
+0:95          'result62' ( temp uint)
+0:95          Construct uint ( temp uint)
+0:95            subpassLoad ( temp 4-component vector of uint)
+0:95              'subpass_u' ( uniform usubpassInput)
+0:97      Sequence
+0:97        move second child to first child ( temp float)
+0:97          'result70' ( temp float)
+0:97          Construct float ( temp float)
+0:97            subpassLoadMS ( temp 4-component vector of float)
+0:97              'subpass_ms_f' ( uniform subpassInputMS)
+0:97              Constant:
+0:97                2 (const int)
+0:98      Sequence
+0:98        move second child to first child ( temp int)
+0:98          'result71' ( temp int)
+0:98          Construct int ( temp int)
+0:98            subpassLoadMS ( temp 4-component vector of int)
+0:98              'subpass_ms_i' ( uniform isubpassInputMS)
+0:98              Constant:
+0:98                2 (const int)
+0:99      Sequence
+0:99        move second child to first child ( temp uint)
+0:99          'result72' ( temp uint)
+0:99          Construct uint ( temp uint)
+0:99            subpassLoadMS ( temp 4-component vector of uint)
+0:99              'subpass_ms_u' ( uniform usubpassInputMS)
+0:99              Constant:
+0:99                2 (const int)
+0:101      Sequence
+0:101        move second child to first child ( temp 4-component vector of float)
+0:101          'result73' ( temp 4-component vector of float)
+0:101          subpassLoad ( temp 4-component vector of float)
+0:101            'subpass_2' ( uniform subpassInput)
+0:112      Branch: Return with expression
+0:112        Constant:
+0:112          0.000000
+0:112          0.000000
+0:112          0.000000
+0:112          0.000000
+0:68  Function Definition: main( ( temp void)
+0:68    Function Parameters: 
+0:?     Sequence
+0:68      move second child to first child ( temp 4-component vector of float)
+0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+0:68        Function Call: @main( ( temp 4-component vector of float)
+0:?   Linker Objects
+0:?     'subpass_f4' (layout( binding=1 input_attachment_index=1) uniform subpassInput)
+0:?     'subpass_i4' ( uniform isubpassInput)
+0:?     'subpass_u4' ( uniform usubpassInput)
+0:?     'subpass_ms_f4' ( uniform subpassInputMS)
+0:?     'subpass_ms_i4' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u4' ( uniform usubpassInputMS)
+0:?     'subpass_f3' ( uniform subpassInput)
+0:?     'subpass_i3' ( uniform isubpassInput)
+0:?     'subpass_u3' ( uniform usubpassInput)
+0:?     'subpass_ms_f3' ( uniform subpassInputMS)
+0:?     'subpass_ms_i3' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u3' ( uniform usubpassInputMS)
+0:?     'subpass_f2' ( uniform subpassInput)
+0:?     'subpass_i2' ( uniform isubpassInput)
+0:?     'subpass_u2' ( uniform usubpassInput)
+0:?     'subpass_ms_f2' ( uniform subpassInputMS)
+0:?     'subpass_ms_i2' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u2' ( uniform usubpassInputMS)
+0:?     'subpass_f' ( uniform subpassInput)
+0:?     'subpass_i' ( uniform isubpassInput)
+0:?     'subpass_u' ( uniform usubpassInput)
+0:?     'subpass_ms_f' ( uniform subpassInputMS)
+0:?     'subpass_ms_i' ( uniform isubpassInputMS)
+0:?     'subpass_ms_u' ( uniform usubpassInputMS)
+0:?     'subpass_2' ( uniform subpassInput)
+0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
+
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 204
+
+                              Capability Shader
+                              Capability InputAttachment
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 202
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 9  "@main("
+                              Name 12  "result00"
+                              Name 15  "subpass_f4"
+                              Name 24  "result01"
+                              Name 27  "subpass_i4"
+                              Name 33  "result02"
+                              Name 36  "subpass_u4"
+                              Name 39  "result10"
+                              Name 42  "subpass_ms_f4"
+                              Name 46  "result11"
+                              Name 49  "subpass_ms_i4"
+                              Name 52  "result12"
+                              Name 55  "subpass_ms_u4"
+                              Name 60  "result20"
+                              Name 61  "subpass_f3"
+                              Name 70  "result21"
+                              Name 71  "subpass_i3"
+                              Name 80  "result22"
+                              Name 81  "subpass_u3"
+                              Name 88  "result30"
+                              Name 89  "subpass_ms_f3"
+                              Name 96  "result31"
+                              Name 97  "subpass_ms_i3"
+                              Name 104  "result32"
+                              Name 105  "subpass_ms_u3"
+                              Name 114  "result40"
+                              Name 115  "subpass_f2"
+                              Name 122  "result41"
+                              Name 123  "subpass_i2"
+                              Name 131  "result42"
+                              Name 132  "subpass_u2"
+                              Name 138  "result50"
+                              Name 139  "subpass_ms_f2"
+                              Name 146  "result51"
+                              Name 147  "subpass_ms_i2"
+                              Name 153  "result52"
+                              Name 154  "subpass_ms_u2"
+                              Name 161  "result60"
+                              Name 162  "subpass_f"
+                              Name 167  "result61"
+                              Name 168  "subpass_i"
+                              Name 173  "result62"
+                              Name 174  "subpass_u"
+                              Name 178  "result70"
+                              Name 179  "subpass_ms_f"
+                              Name 183  "result71"
+                              Name 184  "subpass_ms_i"
+                              Name 188  "result72"
+                              Name 189  "subpass_ms_u"
+                              Name 193  "result73"
+                              Name 194  "subpass_2"
+                              Name 202  "@entryPointOutput"
+                              Decorate 15(subpass_f4) DescriptorSet 0
+                              Decorate 15(subpass_f4) Binding 1
+                              Decorate 15(subpass_f4) InputAttachmentIndex 1
+                              Decorate 27(subpass_i4) DescriptorSet 0
+                              Decorate 27(subpass_i4) InputAttachmentIndex 2
+                              Decorate 36(subpass_u4) DescriptorSet 0
+                              Decorate 36(subpass_u4) InputAttachmentIndex 3
+                              Decorate 42(subpass_ms_f4) DescriptorSet 0
+                              Decorate 42(subpass_ms_f4) InputAttachmentIndex 4
+                              Decorate 49(subpass_ms_i4) DescriptorSet 0
+                              Decorate 49(subpass_ms_i4) InputAttachmentIndex 5
+                              Decorate 55(subpass_ms_u4) DescriptorSet 0
+                              Decorate 55(subpass_ms_u4) InputAttachmentIndex 6
+                              Decorate 61(subpass_f3) DescriptorSet 0
+                              Decorate 61(subpass_f3) InputAttachmentIndex 1
+                              Decorate 71(subpass_i3) DescriptorSet 0
+                              Decorate 71(subpass_i3) InputAttachmentIndex 2
+                              Decorate 81(subpass_u3) DescriptorSet 0
+                              Decorate 81(subpass_u3) InputAttachmentIndex 3
+                              Decorate 89(subpass_ms_f3) DescriptorSet 0
+                              Decorate 89(subpass_ms_f3) InputAttachmentIndex 4
+                              Decorate 97(subpass_ms_i3) DescriptorSet 0
+                              Decorate 97(subpass_ms_i3) InputAttachmentIndex 5
+                              Decorate 105(subpass_ms_u3) DescriptorSet 0
+                              Decorate 105(subpass_ms_u3) InputAttachmentIndex 6
+                              Decorate 115(subpass_f2) DescriptorSet 0
+                              Decorate 115(subpass_f2) InputAttachmentIndex 1
+                              Decorate 123(subpass_i2) DescriptorSet 0
+                              Decorate 123(subpass_i2) InputAttachmentIndex 2
+                              Decorate 132(subpass_u2) DescriptorSet 0
+                              Decorate 132(subpass_u2) InputAttachmentIndex 3
+                              Decorate 139(subpass_ms_f2) DescriptorSet 0
+                              Decorate 139(subpass_ms_f2) InputAttachmentIndex 4
+                              Decorate 147(subpass_ms_i2) DescriptorSet 0
+                              Decorate 147(subpass_ms_i2) InputAttachmentIndex 5
+                              Decorate 154(subpass_ms_u2) DescriptorSet 0
+                              Decorate 154(subpass_ms_u2) InputAttachmentIndex 6
+                              Decorate 162(subpass_f) DescriptorSet 0
+                              Decorate 162(subpass_f) InputAttachmentIndex 1
+                              Decorate 168(subpass_i) DescriptorSet 0
+                              Decorate 168(subpass_i) InputAttachmentIndex 2
+                              Decorate 174(subpass_u) DescriptorSet 0
+                              Decorate 174(subpass_u) InputAttachmentIndex 3
+                              Decorate 179(subpass_ms_f) DescriptorSet 0
+                              Decorate 179(subpass_ms_f) InputAttachmentIndex 4
+                              Decorate 184(subpass_ms_i) DescriptorSet 0
+                              Decorate 184(subpass_ms_i) InputAttachmentIndex 5
+                              Decorate 189(subpass_ms_u) DescriptorSet 0
+                              Decorate 189(subpass_ms_u) InputAttachmentIndex 6
+                              Decorate 194(subpass_2) DescriptorSet 0
+                              Decorate 194(subpass_2) InputAttachmentIndex 7
+                              Decorate 202(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeFunction 7(fvec4)
+              11:             TypePointer Function 7(fvec4)
+              13:             TypeImage 6(float) SubpassData nonsampled format:Unknown
+              14:             TypePointer UniformConstant 13
+  15(subpass_f4):     14(ptr) Variable UniformConstant
+              17:             TypeInt 32 1
+              18:     17(int) Constant 0
+              19:             TypeVector 17(int) 2
+              20:   19(ivec2) ConstantComposite 18 18
+              22:             TypeVector 17(int) 4
+              23:             TypePointer Function 22(ivec4)
+              25:             TypeImage 17(int) SubpassData nonsampled format:Unknown
+              26:             TypePointer UniformConstant 25
+  27(subpass_i4):     26(ptr) Variable UniformConstant
+              30:             TypeInt 32 0
+              31:             TypeVector 30(int) 4
+              32:             TypePointer Function 31(ivec4)
+              34:             TypeImage 30(int) SubpassData nonsampled format:Unknown
+              35:             TypePointer UniformConstant 34
+  36(subpass_u4):     35(ptr) Variable UniformConstant
+              40:             TypeImage 6(float) SubpassData multi-sampled nonsampled format:Unknown
+              41:             TypePointer UniformConstant 40
+42(subpass_ms_f4):     41(ptr) Variable UniformConstant
+              44:     17(int) Constant 3
+              47:             TypeImage 17(int) SubpassData multi-sampled nonsampled format:Unknown
+              48:             TypePointer UniformConstant 47
+49(subpass_ms_i4):     48(ptr) Variable UniformConstant
+              53:             TypeImage 30(int) SubpassData multi-sampled nonsampled format:Unknown
+              54:             TypePointer UniformConstant 53
+55(subpass_ms_u4):     54(ptr) Variable UniformConstant
+              58:             TypeVector 6(float) 3
+              59:             TypePointer Function 58(fvec3)
+  61(subpass_f3):     14(ptr) Variable UniformConstant
+              68:             TypeVector 17(int) 3
+              69:             TypePointer Function 68(ivec3)
+  71(subpass_i3):     26(ptr) Variable UniformConstant
+              78:             TypeVector 30(int) 3
+              79:             TypePointer Function 78(ivec3)
+  81(subpass_u3):     35(ptr) Variable UniformConstant
+89(subpass_ms_f3):     41(ptr) Variable UniformConstant
+97(subpass_ms_i3):     48(ptr) Variable UniformConstant
+105(subpass_ms_u3):     54(ptr) Variable UniformConstant
+             112:             TypeVector 6(float) 2
+             113:             TypePointer Function 112(fvec2)
+ 115(subpass_f2):     14(ptr) Variable UniformConstant
+             121:             TypePointer Function 19(ivec2)
+ 123(subpass_i2):     26(ptr) Variable UniformConstant
+             129:             TypeVector 30(int) 2
+             130:             TypePointer Function 129(ivec2)
+ 132(subpass_u2):     35(ptr) Variable UniformConstant
+139(subpass_ms_f2):     41(ptr) Variable UniformConstant
+             141:     17(int) Constant 2
+147(subpass_ms_i2):     48(ptr) Variable UniformConstant
+154(subpass_ms_u2):     54(ptr) Variable UniformConstant
+             160:             TypePointer Function 6(float)
+  162(subpass_f):     14(ptr) Variable UniformConstant
+             166:             TypePointer Function 17(int)
+  168(subpass_i):     26(ptr) Variable UniformConstant
+             172:             TypePointer Function 30(int)
+  174(subpass_u):     35(ptr) Variable UniformConstant
+179(subpass_ms_f):     41(ptr) Variable UniformConstant
+184(subpass_ms_i):     48(ptr) Variable UniformConstant
+189(subpass_ms_u):     54(ptr) Variable UniformConstant
+  194(subpass_2):     14(ptr) Variable UniformConstant
+             197:    6(float) Constant 0
+             198:    7(fvec4) ConstantComposite 197 197 197 197
+             201:             TypePointer Output 7(fvec4)
+202(@entryPointOutput):    201(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+             203:    7(fvec4) FunctionCall 9(@main()
+                              Store 202(@entryPointOutput) 203
+                              Return
+                              FunctionEnd
+       9(@main():    7(fvec4) Function None 8
+              10:             Label
+    12(result00):     11(ptr) Variable Function
+    24(result01):     23(ptr) Variable Function
+    33(result02):     32(ptr) Variable Function
+    39(result10):     11(ptr) Variable Function
+    46(result11):     23(ptr) Variable Function
+    52(result12):     32(ptr) Variable Function
+    60(result20):     59(ptr) Variable Function
+    70(result21):     69(ptr) Variable Function
+    80(result22):     79(ptr) Variable Function
+    88(result30):     59(ptr) Variable Function
+    96(result31):     69(ptr) Variable Function
+   104(result32):     79(ptr) Variable Function
+   114(result40):    113(ptr) Variable Function
+   122(result41):    121(ptr) Variable Function
+   131(result42):    130(ptr) Variable Function
+   138(result50):    113(ptr) Variable Function
+   146(result51):    121(ptr) Variable Function
+   153(result52):    130(ptr) Variable Function
+   161(result60):    160(ptr) Variable Function
+   167(result61):    166(ptr) Variable Function
+   173(result62):    172(ptr) Variable Function
+   178(result70):    160(ptr) Variable Function
+   183(result71):    166(ptr) Variable Function
+   188(result72):    172(ptr) Variable Function
+   193(result73):     11(ptr) Variable Function
+              16:          13 Load 15(subpass_f4)
+              21:    7(fvec4) ImageRead 16 20
+                              Store 12(result00) 21
+              28:          25 Load 27(subpass_i4)
+              29:   22(ivec4) ImageRead 28 20
+                              Store 24(result01) 29
+              37:          34 Load 36(subpass_u4)
+              38:   31(ivec4) ImageRead 37 20
+                              Store 33(result02) 38
+              43:          40 Load 42(subpass_ms_f4)
+              45:    7(fvec4) ImageRead 43 20 Sample 44
+                              Store 39(result10) 45
+              50:          47 Load 49(subpass_ms_i4)
+              51:   22(ivec4) ImageRead 50 20 Sample 44
+                              Store 46(result11) 51
+              56:          53 Load 55(subpass_ms_u4)
+              57:   31(ivec4) ImageRead 56 20 Sample 44
+                              Store 52(result12) 57
+              62:          13 Load 61(subpass_f3)
+              63:    7(fvec4) ImageRead 62 20
+              64:    6(float) CompositeExtract 63 0
+              65:    6(float) CompositeExtract 63 1
+              66:    6(float) CompositeExtract 63 2
+              67:   58(fvec3) CompositeConstruct 64 65 66
+                              Store 60(result20) 67
+              72:          25 Load 71(subpass_i3)
+              73:   22(ivec4) ImageRead 72 20
+              74:     17(int) CompositeExtract 73 0
+              75:     17(int) CompositeExtract 73 1
+              76:     17(int) CompositeExtract 73 2
+              77:   68(ivec3) CompositeConstruct 74 75 76
+                              Store 70(result21) 77
+              82:          34 Load 81(subpass_u3)
+              83:   31(ivec4) ImageRead 82 20
+              84:     30(int) CompositeExtract 83 0
+              85:     30(int) CompositeExtract 83 1
+              86:     30(int) CompositeExtract 83 2
+              87:   78(ivec3) CompositeConstruct 84 85 86
+                              Store 80(result22) 87
+              90:          40 Load 89(subpass_ms_f3)
+              91:    7(fvec4) ImageRead 90 20 Sample 44
+              92:    6(float) CompositeExtract 91 0
+              93:    6(float) CompositeExtract 91 1
+              94:    6(float) CompositeExtract 91 2
+              95:   58(fvec3) CompositeConstruct 92 93 94
+                              Store 88(result30) 95
+              98:          47 Load 97(subpass_ms_i3)
+              99:   22(ivec4) ImageRead 98 20 Sample 44
+             100:     17(int) CompositeExtract 99 0
+             101:     17(int) CompositeExtract 99 1
+             102:     17(int) CompositeExtract 99 2
+             103:   68(ivec3) CompositeConstruct 100 101 102
+                              Store 96(result31) 103
+             106:          53 Load 105(subpass_ms_u3)
+             107:   31(ivec4) ImageRead 106 20 Sample 44
+             108:     30(int) CompositeExtract 107 0
+             109:     30(int) CompositeExtract 107 1
+             110:     30(int) CompositeExtract 107 2
+             111:   78(ivec3) CompositeConstruct 108 109 110
+                              Store 104(result32) 111
+             116:          13 Load 115(subpass_f2)
+             117:    7(fvec4) ImageRead 116 20
+             118:    6(float) CompositeExtract 117 0
+             119:    6(float) CompositeExtract 117 1
+             120:  112(fvec2) CompositeConstruct 118 119
+                              Store 114(result40) 120
+             124:          25 Load 123(subpass_i2)
+             125:   22(ivec4) ImageRead 124 20
+             126:     17(int) CompositeExtract 125 0
+             127:     17(int) CompositeExtract 125 1
+             128:   19(ivec2) CompositeConstruct 126 127
+                              Store 122(result41) 128
+             133:          34 Load 132(subpass_u2)
+             134:   31(ivec4) ImageRead 133 20
+             135:     30(int) CompositeExtract 134 0
+             136:     30(int) CompositeExtract 134 1
+             137:  129(ivec2) CompositeConstruct 135 136
+                              Store 131(result42) 137
+             140:          40 Load 139(subpass_ms_f2)
+             142:    7(fvec4) ImageRead 140 20 Sample 141
+             143:    6(float) CompositeExtract 142 0
+             144:    6(float) CompositeExtract 142 1
+             145:  112(fvec2) CompositeConstruct 143 144
+                              Store 138(result50) 145
+             148:          47 Load 147(subpass_ms_i2)
+             149:   22(ivec4) ImageRead 148 20 Sample 141
+             150:     17(int) CompositeExtract 149 0
+             151:     17(int) CompositeExtract 149 1
+             152:   19(ivec2) CompositeConstruct 150 151
+                              Store 146(result51) 152
+             155:          53 Load 154(subpass_ms_u2)
+             156:   31(ivec4) ImageRead 155 20 Sample 141
+             157:     30(int) CompositeExtract 156 0
+             158:     30(int) CompositeExtract 156 1
+             159:  129(ivec2) CompositeConstruct 157 158
+                              Store 153(result52) 159
+             163:          13 Load 162(subpass_f)
+             164:    7(fvec4) ImageRead 163 20
+             165:    6(float) CompositeExtract 164 0
+                              Store 161(result60) 165
+             169:          25 Load 168(subpass_i)
+             170:   22(ivec4) ImageRead 169 20
+             171:     17(int) CompositeExtract 170 0
+                              Store 167(result61) 171
+             175:          34 Load 174(subpass_u)
+             176:   31(ivec4) ImageRead 175 20
+             177:     30(int) CompositeExtract 176 0
+                              Store 173(result62) 177
+             180:          40 Load 179(subpass_ms_f)
+             181:    7(fvec4) ImageRead 180 20 Sample 141
+             182:    6(float) CompositeExtract 181 0
+                              Store 178(result70) 182
+             185:          47 Load 184(subpass_ms_i)
+             186:   22(ivec4) ImageRead 185 20 Sample 141
+             187:     17(int) CompositeExtract 186 0
+                              Store 183(result71) 187
+             190:          53 Load 189(subpass_ms_u)
+             191:   31(ivec4) ImageRead 190 20 Sample 141
+             192:     30(int) CompositeExtract 191 0
+                              Store 188(result72) 192
+             195:          13 Load 194(subpass_2)
+             196:    7(fvec4) ImageRead 195 20
+                              Store 193(result73) 196
+                              ReturnValue 198
+                              FunctionEnd
diff --git a/Test/baseResults/hlsl.switch.frag.out b/Test/baseResults/hlsl.switch.frag.out
index 9cb52f1..f1e3a4e 100755
--- a/Test/baseResults/hlsl.switch.frag.out
+++ b/Test/baseResults/hlsl.switch.frag.out
@@ -296,7 +296,7 @@
 0:?     'd' (layout( location=2) flat in int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 106
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.swizzle.frag.out b/Test/baseResults/hlsl.swizzle.frag.out
index 59b432b..380a8bf 100755
--- a/Test/baseResults/hlsl.swizzle.frag.out
+++ b/Test/baseResults/hlsl.swizzle.frag.out
@@ -77,7 +77,7 @@
 0:?     'AmbientColor' ( global 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 30
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.synthesizeInput.frag.out b/Test/baseResults/hlsl.synthesizeInput.frag.out
index ef58d39..521ff74 100755
--- a/Test/baseResults/hlsl.synthesizeInput.frag.out
+++ b/Test/baseResults/hlsl.synthesizeInput.frag.out
@@ -98,7 +98,7 @@
 0:?     'input.no_interp' (layout( location=1) flat in uint)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 44
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.target.frag.out b/Test/baseResults/hlsl.target.frag.out
index b80c284..2a62e85 100755
--- a/Test/baseResults/hlsl.target.frag.out
+++ b/Test/baseResults/hlsl.target.frag.out
@@ -114,7 +114,7 @@
 0:?     'out2' (layout( location=3) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.targetStruct1.frag.out b/Test/baseResults/hlsl.targetStruct1.frag.out
index 6cbd1b3..f1edfbd 100755
--- a/Test/baseResults/hlsl.targetStruct1.frag.out
+++ b/Test/baseResults/hlsl.targetStruct1.frag.out
@@ -184,7 +184,7 @@
 0:?     'po' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 65
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.targetStruct2.frag.out b/Test/baseResults/hlsl.targetStruct2.frag.out
index 1fe2751..3800604 100755
--- a/Test/baseResults/hlsl.targetStruct2.frag.out
+++ b/Test/baseResults/hlsl.targetStruct2.frag.out
@@ -184,7 +184,7 @@
 0:?     'po' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 65
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.templatetypes.frag.out b/Test/baseResults/hlsl.templatetypes.frag.out
index 9d0cced..88783f6 100644
--- a/Test/baseResults/hlsl.templatetypes.frag.out
+++ b/Test/baseResults/hlsl.templatetypes.frag.out
@@ -508,7 +508,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 153
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.texture.struct.frag.out b/Test/baseResults/hlsl.texture.struct.frag.out
index 09af451..2aa7bd2 100644
--- a/Test/baseResults/hlsl.texture.struct.frag.out
+++ b/Test/baseResults/hlsl.texture.struct.frag.out
@@ -838,13 +838,13 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 233
+// Generated by (magic number): 80002
+// Id's are bound by 240
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 231
+                              EntryPoint Fragment 4  "main" 238
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -867,52 +867,55 @@
                               Name 71  "@sampleStructTemp"
                               Name 87  "s1"
                               Name 88  "@sampleResultShadow"
-                              Name 89  "g_tTex2s1"
-                              Name 97  "@sampleStructTemp"
-                              Name 111  "s2"
-                              Name 112  "@sampleResultShadow"
-                              Name 113  "g_tTex2s2"
-                              Name 121  "@sampleStructTemp"
-                              Name 135  "s3_t"
-                              MemberName 135(s3_t) 0  "c0"
-                              MemberName 135(s3_t) 1  "c1"
-                              Name 137  "s3"
-                              Name 138  "@sampleResultShadow"
-                              Name 139  "g_tTex2s3"
-                              Name 147  "@sampleStructTemp"
-                              Name 159  "s4_t"
-                              MemberName 159(s4_t) 0  "c0"
-                              MemberName 159(s4_t) 1  "c1"
-                              MemberName 159(s4_t) 2  "c2"
-                              Name 161  "s4"
-                              Name 164  "@sampleResultShadow"
-                              Name 167  "g_tTex2s4"
-                              Name 176  "@sampleStructTemp"
-                              Name 193  "s5_t"
-                              MemberName 193(s5_t) 0  "c0"
-                              MemberName 193(s5_t) 1  "c1"
-                              Name 195  "s5"
-                              Name 198  "@sampleResultShadow"
-                              Name 201  "g_tTex2s5"
-                              Name 210  "@sampleStructTemp"
-                              Name 219  "r0"
-                              Name 221  "r1"
-                              Name 223  "r2"
-                              Name 224  "g_tTex2s1a"
-                              Name 231  "@entryPointOutput"
+                              Name 90  "g_tTex2s1"
+                              Name 98  "@sampleStructTemp"
+                              Name 112  "s2"
+                              Name 113  "@sampleResultShadow"
+                              Name 114  "g_tTex2s2"
+                              Name 122  "@sampleStructTemp"
+                              Name 136  "s3_t"
+                              MemberName 136(s3_t) 0  "c0"
+                              MemberName 136(s3_t) 1  "c1"
+                              Name 138  "s3"
+                              Name 139  "@sampleResultShadow"
+                              Name 140  "g_tTex2s3"
+                              Name 148  "@sampleStructTemp"
+                              Name 160  "s4_t"
+                              MemberName 160(s4_t) 0  "c0"
+                              MemberName 160(s4_t) 1  "c1"
+                              MemberName 160(s4_t) 2  "c2"
+                              Name 162  "s4"
+                              Name 165  "@sampleResultShadow"
+                              Name 168  "g_tTex2s4"
+                              Name 177  "@sampleStructTemp"
+                              Name 194  "s5_t"
+                              MemberName 194(s5_t) 0  "c0"
+                              MemberName 194(s5_t) 1  "c1"
+                              Name 196  "s5"
+                              Name 199  "@sampleResultShadow"
+                              Name 202  "g_tTex2s5"
+                              Name 211  "@sampleStructTemp"
+                              Name 220  "r0"
+                              Name 221  "param"
+                              Name 224  "r1"
+                              Name 225  "param"
+                              Name 228  "r2"
+                              Name 229  "g_tTex2s1a"
+                              Name 230  "param"
+                              Name 238  "@entryPointOutput"
                               Decorate 30(g_sSamp) DescriptorSet 0
-                              Decorate 89(g_tTex2s1) DescriptorSet 0
-                              Decorate 113(g_tTex2s2) DescriptorSet 0
-                              Decorate 139(g_tTex2s3) DescriptorSet 0
-                              Decorate 167(g_tTex2s4) DescriptorSet 0
-                              Decorate 201(g_tTex2s5) DescriptorSet 0
-                              Decorate 224(g_tTex2s1a) DescriptorSet 0
-                              Decorate 231(@entryPointOutput) Location 0
+                              Decorate 90(g_tTex2s1) DescriptorSet 0
+                              Decorate 114(g_tTex2s2) DescriptorSet 0
+                              Decorate 140(g_tTex2s3) DescriptorSet 0
+                              Decorate 168(g_tTex2s4) DescriptorSet 0
+                              Decorate 202(g_tTex2s5) DescriptorSet 0
+                              Decorate 229(g_tTex2s1a) DescriptorSet 0
+                              Decorate 238(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
                7:             TypeImage 6(float) 2D sampled format:Unknown
-               8:             TypePointer UniformConstant 7
+               8:             TypePointer Function 7
                9:             TypeVector 6(float) 2
         10(s1_t):             TypeStruct 6(float) 9(fvec2) 6(float)
               11:             TypeFunction 10(s1_t) 8(ptr)
@@ -941,54 +944,55 @@
               57:     40(int) Constant 2
               58:     42(int) Constant 3
               70:             TypePointer Function 16(s2_t)
-   89(g_tTex2s1):      8(ptr) Variable UniformConstant
-              93:    6(float) Constant 1036831949
-              94:    6(float) Constant 1038174126
-              95:    9(fvec2) ConstantComposite 93 94
-  113(g_tTex2s2):      8(ptr) Variable UniformConstant
-             117:    6(float) Constant 1045220557
-             118:    6(float) Constant 1045891645
-             119:    9(fvec2) ConstantComposite 117 118
-       135(s3_t):             TypeStruct 9(fvec2) 6(float)
-             136:             TypePointer Function 135(s3_t)
-  139(g_tTex2s3):      8(ptr) Variable UniformConstant
-             143:    6(float) Constant 1050253722
-             144:    6(float) Constant 1050589266
-             145:    9(fvec2) ConstantComposite 143 144
-             158:             TypeVector 40(int) 2
-       159(s4_t):             TypeStruct 40(int) 158(ivec2) 40(int)
-             160:             TypePointer Function 159(s4_t)
-             162:             TypeVector 40(int) 4
-             163:             TypePointer Function 162(ivec4)
-             165:             TypeImage 40(int) 2D sampled format:Unknown
-             166:             TypePointer UniformConstant 165
-  167(g_tTex2s4):    166(ptr) Variable UniformConstant
-             170:             TypeSampledImage 165
-             172:    6(float) Constant 1053609165
-             173:    6(float) Constant 1053944709
-             174:    9(fvec2) ConstantComposite 172 173
-             177:             TypePointer Function 40(int)
-       193(s5_t):             TypeStruct 42(int) 42(int)
-             194:             TypePointer Function 193(s5_t)
-             196:             TypeVector 42(int) 4
-             197:             TypePointer Function 196(ivec4)
-             199:             TypeImage 42(int) 2D sampled format:Unknown
-             200:             TypePointer UniformConstant 199
-  201(g_tTex2s5):    200(ptr) Variable UniformConstant
-             204:             TypeSampledImage 199
-             206:    6(float) Constant 1056964608
-             207:    6(float) Constant 1057132380
-             208:    9(fvec2) ConstantComposite 206 207
-             211:             TypePointer Function 42(int)
- 224(g_tTex2s1a):      8(ptr) Variable UniformConstant
-             226:    6(float) Constant 0
-             227:   21(fvec4) ConstantComposite 226 226 226 226
-             230:             TypePointer Output 21(fvec4)
-231(@entryPointOutput):    230(ptr) Variable Output
+              89:             TypePointer UniformConstant 7
+   90(g_tTex2s1):     89(ptr) Variable UniformConstant
+              94:    6(float) Constant 1036831949
+              95:    6(float) Constant 1038174126
+              96:    9(fvec2) ConstantComposite 94 95
+  114(g_tTex2s2):     89(ptr) Variable UniformConstant
+             118:    6(float) Constant 1045220557
+             119:    6(float) Constant 1045891645
+             120:    9(fvec2) ConstantComposite 118 119
+       136(s3_t):             TypeStruct 9(fvec2) 6(float)
+             137:             TypePointer Function 136(s3_t)
+  140(g_tTex2s3):     89(ptr) Variable UniformConstant
+             144:    6(float) Constant 1050253722
+             145:    6(float) Constant 1050589266
+             146:    9(fvec2) ConstantComposite 144 145
+             159:             TypeVector 40(int) 2
+       160(s4_t):             TypeStruct 40(int) 159(ivec2) 40(int)
+             161:             TypePointer Function 160(s4_t)
+             163:             TypeVector 40(int) 4
+             164:             TypePointer Function 163(ivec4)
+             166:             TypeImage 40(int) 2D sampled format:Unknown
+             167:             TypePointer UniformConstant 166
+  168(g_tTex2s4):    167(ptr) Variable UniformConstant
+             171:             TypeSampledImage 166
+             173:    6(float) Constant 1053609165
+             174:    6(float) Constant 1053944709
+             175:    9(fvec2) ConstantComposite 173 174
+             178:             TypePointer Function 40(int)
+       194(s5_t):             TypeStruct 42(int) 42(int)
+             195:             TypePointer Function 194(s5_t)
+             197:             TypeVector 42(int) 4
+             198:             TypePointer Function 197(ivec4)
+             200:             TypeImage 42(int) 2D sampled format:Unknown
+             201:             TypePointer UniformConstant 200
+  202(g_tTex2s5):    201(ptr) Variable UniformConstant
+             205:             TypeSampledImage 200
+             207:    6(float) Constant 1056964608
+             208:    6(float) Constant 1057132380
+             209:    9(fvec2) ConstantComposite 207 208
+             212:             TypePointer Function 42(int)
+ 229(g_tTex2s1a):     89(ptr) Variable UniformConstant
+             233:    6(float) Constant 0
+             234:   21(fvec4) ConstantComposite 233 233 233 233
+             237:             TypePointer Output 21(fvec4)
+238(@entryPointOutput):    237(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-             232:   21(fvec4) FunctionCall 23(@main()
-                              Store 231(@entryPointOutput) 232
+             239:   21(fvec4) FunctionCall 23(@main()
+                              Store 238(@entryPointOutput) 239
                               Return
                               FunctionEnd
 13(fn1(t2-tx-struct0-1;):    10(s1_t) Function None 11
@@ -1053,132 +1057,141 @@
               24:             Label
           87(s1):     38(ptr) Variable Function
 88(@sampleResultShadow):     25(ptr) Variable Function
-97(@sampleStructTemp):     38(ptr) Variable Function
-         111(s2):     70(ptr) Variable Function
-112(@sampleResultShadow):     25(ptr) Variable Function
-121(@sampleStructTemp):     70(ptr) Variable Function
-         137(s3):    136(ptr) Variable Function
-138(@sampleResultShadow):     25(ptr) Variable Function
-147(@sampleStructTemp):    136(ptr) Variable Function
-         161(s4):    160(ptr) Variable Function
-164(@sampleResultShadow):    163(ptr) Variable Function
-176(@sampleStructTemp):    160(ptr) Variable Function
-         195(s5):    194(ptr) Variable Function
-198(@sampleResultShadow):    197(ptr) Variable Function
-210(@sampleStructTemp):    194(ptr) Variable Function
-         219(r0):     38(ptr) Variable Function
-         221(r1):     70(ptr) Variable Function
-         223(r2):     38(ptr) Variable Function
-              90:           7 Load 89(g_tTex2s1)
-              91:          28 Load 30(g_sSamp)
-              92:          32 SampledImage 90 91
-              96:   21(fvec4) ImageSampleImplicitLod 92 95
-                              Store 88(@sampleResultShadow) 96
-              98:     44(ptr) AccessChain 88(@sampleResultShadow) 43
-              99:    6(float) Load 98
-             100:     44(ptr) AccessChain 97(@sampleStructTemp) 41
-                              Store 100 99
-             101:     44(ptr) AccessChain 88(@sampleResultShadow) 49
-             102:    6(float) Load 101
-             103:     44(ptr) AccessChain 97(@sampleStructTemp) 48 43
-                              Store 103 102
-             104:     44(ptr) AccessChain 88(@sampleResultShadow) 53
-             105:    6(float) Load 104
-             106:     44(ptr) AccessChain 97(@sampleStructTemp) 48 49
-                              Store 106 105
-             107:     44(ptr) AccessChain 88(@sampleResultShadow) 58
-             108:    6(float) Load 107
-             109:     44(ptr) AccessChain 97(@sampleStructTemp) 57
-                              Store 109 108
-             110:    10(s1_t) Load 97(@sampleStructTemp)
-                              Store 87(s1) 110
-             114:           7 Load 113(g_tTex2s2)
-             115:          28 Load 30(g_sSamp)
-             116:          32 SampledImage 114 115
-             120:   21(fvec4) ImageSampleImplicitLod 116 119
-                              Store 112(@sampleResultShadow) 120
-             122:     44(ptr) AccessChain 112(@sampleResultShadow) 43
-             123:    6(float) Load 122
-             124:     44(ptr) AccessChain 121(@sampleStructTemp) 41
-                              Store 124 123
-             125:     44(ptr) AccessChain 112(@sampleResultShadow) 49
-             126:    6(float) Load 125
-             127:     44(ptr) AccessChain 121(@sampleStructTemp) 48 43
-                              Store 127 126
-             128:     44(ptr) AccessChain 112(@sampleResultShadow) 53
-             129:    6(float) Load 128
-             130:     44(ptr) AccessChain 121(@sampleStructTemp) 48 49
-                              Store 130 129
-             131:     44(ptr) AccessChain 112(@sampleResultShadow) 58
-             132:    6(float) Load 131
-             133:     44(ptr) AccessChain 121(@sampleStructTemp) 48 53
-                              Store 133 132
-             134:    16(s2_t) Load 121(@sampleStructTemp)
-                              Store 111(s2) 134
-             140:           7 Load 139(g_tTex2s3)
-             141:          28 Load 30(g_sSamp)
-             142:          32 SampledImage 140 141
-             146:   21(fvec4) ImageSampleImplicitLod 142 145
-                              Store 138(@sampleResultShadow) 146
-             148:     44(ptr) AccessChain 138(@sampleResultShadow) 43
-             149:    6(float) Load 148
-             150:     44(ptr) AccessChain 147(@sampleStructTemp) 41 43
-                              Store 150 149
-             151:     44(ptr) AccessChain 138(@sampleResultShadow) 49
-             152:    6(float) Load 151
-             153:     44(ptr) AccessChain 147(@sampleStructTemp) 41 49
-                              Store 153 152
-             154:     44(ptr) AccessChain 138(@sampleResultShadow) 53
-             155:    6(float) Load 154
-             156:     44(ptr) AccessChain 147(@sampleStructTemp) 48
-                              Store 156 155
-             157:   135(s3_t) Load 147(@sampleStructTemp)
-                              Store 137(s3) 157
-             168:         165 Load 167(g_tTex2s4)
-             169:          28 Load 30(g_sSamp)
-             171:         170 SampledImage 168 169
-             175:  162(ivec4) ImageSampleImplicitLod 171 174
-                              Store 164(@sampleResultShadow) 175
-             178:    177(ptr) AccessChain 164(@sampleResultShadow) 43
-             179:     40(int) Load 178
-             180:    177(ptr) AccessChain 176(@sampleStructTemp) 41
-                              Store 180 179
-             181:    177(ptr) AccessChain 164(@sampleResultShadow) 49
-             182:     40(int) Load 181
-             183:    6(float) ConvertSToF 182
-             184:    177(ptr) AccessChain 176(@sampleStructTemp) 48 43
-                              Store 184 183
-             185:    177(ptr) AccessChain 164(@sampleResultShadow) 53
-             186:     40(int) Load 185
-             187:    6(float) ConvertSToF 186
-             188:    177(ptr) AccessChain 176(@sampleStructTemp) 48 49
-                              Store 188 187
-             189:    177(ptr) AccessChain 164(@sampleResultShadow) 58
-             190:     40(int) Load 189
-             191:    177(ptr) AccessChain 176(@sampleStructTemp) 57
-                              Store 191 190
-             192:   159(s4_t) Load 176(@sampleStructTemp)
-                              Store 161(s4) 192
-             202:         199 Load 201(g_tTex2s5)
-             203:          28 Load 30(g_sSamp)
-             205:         204 SampledImage 202 203
-             209:  196(ivec4) ImageSampleImplicitLod 205 208
-                              Store 198(@sampleResultShadow) 209
-             212:    211(ptr) AccessChain 198(@sampleResultShadow) 43
-             213:     42(int) Load 212
-             214:    211(ptr) AccessChain 210(@sampleStructTemp) 41
-                              Store 214 213
-             215:    211(ptr) AccessChain 198(@sampleResultShadow) 49
-             216:     42(int) Load 215
-             217:    211(ptr) AccessChain 210(@sampleStructTemp) 48
-                              Store 217 216
-             218:   193(s5_t) Load 210(@sampleStructTemp)
-                              Store 195(s5) 218
-             220:    10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 89(g_tTex2s1)
-                              Store 219(r0) 220
-             222:    16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 113(g_tTex2s2)
-                              Store 221(r1) 222
-             225:    10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 224(g_tTex2s1a)
-                              Store 223(r2) 225
-                              ReturnValue 227
+98(@sampleStructTemp):     38(ptr) Variable Function
+         112(s2):     70(ptr) Variable Function
+113(@sampleResultShadow):     25(ptr) Variable Function
+122(@sampleStructTemp):     70(ptr) Variable Function
+         138(s3):    137(ptr) Variable Function
+139(@sampleResultShadow):     25(ptr) Variable Function
+148(@sampleStructTemp):    137(ptr) Variable Function
+         162(s4):    161(ptr) Variable Function
+165(@sampleResultShadow):    164(ptr) Variable Function
+177(@sampleStructTemp):    161(ptr) Variable Function
+         196(s5):    195(ptr) Variable Function
+199(@sampleResultShadow):    198(ptr) Variable Function
+211(@sampleStructTemp):    195(ptr) Variable Function
+         220(r0):     38(ptr) Variable Function
+      221(param):      8(ptr) Variable Function
+         224(r1):     70(ptr) Variable Function
+      225(param):      8(ptr) Variable Function
+         228(r2):     38(ptr) Variable Function
+      230(param):      8(ptr) Variable Function
+              91:           7 Load 90(g_tTex2s1)
+              92:          28 Load 30(g_sSamp)
+              93:          32 SampledImage 91 92
+              97:   21(fvec4) ImageSampleImplicitLod 93 96
+                              Store 88(@sampleResultShadow) 97
+              99:     44(ptr) AccessChain 88(@sampleResultShadow) 43
+             100:    6(float) Load 99
+             101:     44(ptr) AccessChain 98(@sampleStructTemp) 41
+                              Store 101 100
+             102:     44(ptr) AccessChain 88(@sampleResultShadow) 49
+             103:    6(float) Load 102
+             104:     44(ptr) AccessChain 98(@sampleStructTemp) 48 43
+                              Store 104 103
+             105:     44(ptr) AccessChain 88(@sampleResultShadow) 53
+             106:    6(float) Load 105
+             107:     44(ptr) AccessChain 98(@sampleStructTemp) 48 49
+                              Store 107 106
+             108:     44(ptr) AccessChain 88(@sampleResultShadow) 58
+             109:    6(float) Load 108
+             110:     44(ptr) AccessChain 98(@sampleStructTemp) 57
+                              Store 110 109
+             111:    10(s1_t) Load 98(@sampleStructTemp)
+                              Store 87(s1) 111
+             115:           7 Load 114(g_tTex2s2)
+             116:          28 Load 30(g_sSamp)
+             117:          32 SampledImage 115 116
+             121:   21(fvec4) ImageSampleImplicitLod 117 120
+                              Store 113(@sampleResultShadow) 121
+             123:     44(ptr) AccessChain 113(@sampleResultShadow) 43
+             124:    6(float) Load 123
+             125:     44(ptr) AccessChain 122(@sampleStructTemp) 41
+                              Store 125 124
+             126:     44(ptr) AccessChain 113(@sampleResultShadow) 49
+             127:    6(float) Load 126
+             128:     44(ptr) AccessChain 122(@sampleStructTemp) 48 43
+                              Store 128 127
+             129:     44(ptr) AccessChain 113(@sampleResultShadow) 53
+             130:    6(float) Load 129
+             131:     44(ptr) AccessChain 122(@sampleStructTemp) 48 49
+                              Store 131 130
+             132:     44(ptr) AccessChain 113(@sampleResultShadow) 58
+             133:    6(float) Load 132
+             134:     44(ptr) AccessChain 122(@sampleStructTemp) 48 53
+                              Store 134 133
+             135:    16(s2_t) Load 122(@sampleStructTemp)
+                              Store 112(s2) 135
+             141:           7 Load 140(g_tTex2s3)
+             142:          28 Load 30(g_sSamp)
+             143:          32 SampledImage 141 142
+             147:   21(fvec4) ImageSampleImplicitLod 143 146
+                              Store 139(@sampleResultShadow) 147
+             149:     44(ptr) AccessChain 139(@sampleResultShadow) 43
+             150:    6(float) Load 149
+             151:     44(ptr) AccessChain 148(@sampleStructTemp) 41 43
+                              Store 151 150
+             152:     44(ptr) AccessChain 139(@sampleResultShadow) 49
+             153:    6(float) Load 152
+             154:     44(ptr) AccessChain 148(@sampleStructTemp) 41 49
+                              Store 154 153
+             155:     44(ptr) AccessChain 139(@sampleResultShadow) 53
+             156:    6(float) Load 155
+             157:     44(ptr) AccessChain 148(@sampleStructTemp) 48
+                              Store 157 156
+             158:   136(s3_t) Load 148(@sampleStructTemp)
+                              Store 138(s3) 158
+             169:         166 Load 168(g_tTex2s4)
+             170:          28 Load 30(g_sSamp)
+             172:         171 SampledImage 169 170
+             176:  163(ivec4) ImageSampleImplicitLod 172 175
+                              Store 165(@sampleResultShadow) 176
+             179:    178(ptr) AccessChain 165(@sampleResultShadow) 43
+             180:     40(int) Load 179
+             181:    178(ptr) AccessChain 177(@sampleStructTemp) 41
+                              Store 181 180
+             182:    178(ptr) AccessChain 165(@sampleResultShadow) 49
+             183:     40(int) Load 182
+             184:    6(float) ConvertSToF 183
+             185:    178(ptr) AccessChain 177(@sampleStructTemp) 48 43
+                              Store 185 184
+             186:    178(ptr) AccessChain 165(@sampleResultShadow) 53
+             187:     40(int) Load 186
+             188:    6(float) ConvertSToF 187
+             189:    178(ptr) AccessChain 177(@sampleStructTemp) 48 49
+                              Store 189 188
+             190:    178(ptr) AccessChain 165(@sampleResultShadow) 58
+             191:     40(int) Load 190
+             192:    178(ptr) AccessChain 177(@sampleStructTemp) 57
+                              Store 192 191
+             193:   160(s4_t) Load 177(@sampleStructTemp)
+                              Store 162(s4) 193
+             203:         200 Load 202(g_tTex2s5)
+             204:          28 Load 30(g_sSamp)
+             206:         205 SampledImage 203 204
+             210:  197(ivec4) ImageSampleImplicitLod 206 209
+                              Store 199(@sampleResultShadow) 210
+             213:    212(ptr) AccessChain 199(@sampleResultShadow) 43
+             214:     42(int) Load 213
+             215:    212(ptr) AccessChain 211(@sampleStructTemp) 41
+                              Store 215 214
+             216:    212(ptr) AccessChain 199(@sampleResultShadow) 49
+             217:     42(int) Load 216
+             218:    212(ptr) AccessChain 211(@sampleStructTemp) 48
+                              Store 218 217
+             219:   194(s5_t) Load 211(@sampleStructTemp)
+                              Store 196(s5) 219
+             222:           7 Load 90(g_tTex2s1)
+                              Store 221(param) 222
+             223:    10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 221(param)
+                              Store 220(r0) 223
+             226:           7 Load 114(g_tTex2s2)
+                              Store 225(param) 226
+             227:    16(s2_t) FunctionCall 19(fn1(t2-tx-struct1-1;) 225(param)
+                              Store 224(r1) 227
+             231:           7 Load 229(g_tTex2s1a)
+                              Store 230(param) 231
+             232:    10(s1_t) FunctionCall 13(fn1(t2-tx-struct0-1;) 230(param)
+                              Store 228(r2) 232
+                              ReturnValue 234
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.texture.subvec4.frag.out b/Test/baseResults/hlsl.texture.subvec4.frag.out
index 79ea788..deaa82b 100644
--- a/Test/baseResults/hlsl.texture.subvec4.frag.out
+++ b/Test/baseResults/hlsl.texture.subvec4.frag.out
@@ -356,7 +356,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 130
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.this.frag.out b/Test/baseResults/hlsl.this.frag.out
index b35e267..f538abc 100755
--- a/Test/baseResults/hlsl.this.frag.out
+++ b/Test/baseResults/hlsl.this.frag.out
@@ -240,7 +240,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 98
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.tx.bracket.frag.out b/Test/baseResults/hlsl.tx.bracket.frag.out
index 31f516c..94bea4c 100644
--- a/Test/baseResults/hlsl.tx.bracket.frag.out
+++ b/Test/baseResults/hlsl.tx.bracket.frag.out
@@ -422,7 +422,7 @@
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 188
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.tx.overload.frag.out b/Test/baseResults/hlsl.tx.overload.frag.out
index 3dafcd9..6e6bef0 100644
--- a/Test/baseResults/hlsl.tx.overload.frag.out
+++ b/Test/baseResults/hlsl.tx.overload.frag.out
@@ -134,13 +134,13 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 62
+// Generated by (magic number): 80002
+// Id's are bound by 73
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 60
+                              EntryPoint Fragment 4  "main" 71
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -153,44 +153,51 @@
                               Name 28  "Func(I21;"
                               Name 27  "DummyTex"
                               Name 31  "@main("
-                              Name 44  "tf1"
-                              Name 46  "tf4"
-                              Name 50  "twf1"
-                              Name 54  "twf4"
-                              Name 60  "@entryPointOutput"
-                              Decorate 44(tf1) DescriptorSet 0
-                              Decorate 46(tf4) DescriptorSet 0
-                              Decorate 50(twf1) DescriptorSet 0
-                              Decorate 54(twf4) DescriptorSet 0
-                              Decorate 60(@entryPointOutput) Location 0
+                              Name 45  "tf1"
+                              Name 46  "param"
+                              Name 49  "tf4"
+                              Name 50  "param"
+                              Name 56  "twf1"
+                              Name 57  "param"
+                              Name 63  "twf4"
+                              Name 64  "param"
+                              Name 71  "@entryPointOutput"
+                              Decorate 45(tf1) DescriptorSet 0
+                              Decorate 49(tf4) DescriptorSet 0
+                              Decorate 56(twf1) DescriptorSet 0
+                              Decorate 63(twf4) DescriptorSet 0
+                              Decorate 71(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
                7:             TypeImage 6(float) 2D sampled format:Unknown
-               8:             TypePointer UniformConstant 7
+               8:             TypePointer Function 7
                9:             TypeFunction 6(float) 8(ptr)
               13:             TypeVector 6(float) 4
               14:             TypeFunction 13(fvec4) 8(ptr)
               18:             TypeImage 6(float) 2D nonsampled format:R32f
-              19:             TypePointer UniformConstant 18
+              19:             TypePointer Function 18
               20:             TypeFunction 6(float) 19(ptr)
               24:             TypeImage 6(float) 2D nonsampled format:Rgba32f
-              25:             TypePointer UniformConstant 24
+              25:             TypePointer Function 24
               26:             TypeFunction 13(fvec4) 25(ptr)
               30:             TypeFunction 13(fvec4)
               33:    6(float) Constant 1065353216
               36:    6(float) Constant 0
               37:   13(fvec4) ConstantComposite 36 36 36 36
-         44(tf1):      8(ptr) Variable UniformConstant
-         46(tf4):      8(ptr) Variable UniformConstant
-        50(twf1):     19(ptr) Variable UniformConstant
-        54(twf4):     25(ptr) Variable UniformConstant
-              59:             TypePointer Output 13(fvec4)
-60(@entryPointOutput):     59(ptr) Variable Output
+              44:             TypePointer UniformConstant 7
+         45(tf1):     44(ptr) Variable UniformConstant
+         49(tf4):     44(ptr) Variable UniformConstant
+              55:             TypePointer UniformConstant 18
+        56(twf1):     55(ptr) Variable UniformConstant
+              62:             TypePointer UniformConstant 24
+        63(twf4):     62(ptr) Variable UniformConstant
+              70:             TypePointer Output 13(fvec4)
+71(@entryPointOutput):     70(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-              61:   13(fvec4) FunctionCall 31(@main()
-                              Store 60(@entryPointOutput) 61
+              72:   13(fvec4) FunctionCall 31(@main()
+                              Store 71(@entryPointOutput) 72
                               Return
                               FunctionEnd
   11(Func(t211;):    6(float) Function None 9
@@ -215,14 +222,26 @@
                               FunctionEnd
       31(@main():   13(fvec4) Function None 30
               32:             Label
-              45:    6(float) FunctionCall 11(Func(t211;) 44(tf1)
-              47:   13(fvec4) FunctionCall 16(Func(t21;) 46(tf4)
-              48:   13(fvec4) CompositeConstruct 45 45 45 45
-              49:   13(fvec4) FAdd 48 47
-              51:    6(float) FunctionCall 22(Func(I211;) 50(twf1)
-              52:   13(fvec4) CompositeConstruct 51 51 51 51
-              53:   13(fvec4) FAdd 49 52
-              55:   13(fvec4) FunctionCall 28(Func(I21;) 54(twf4)
-              56:   13(fvec4) FAdd 53 55
-                              ReturnValue 56
+       46(param):      8(ptr) Variable Function
+       50(param):      8(ptr) Variable Function
+       57(param):     19(ptr) Variable Function
+       64(param):     25(ptr) Variable Function
+              47:           7 Load 45(tf1)
+                              Store 46(param) 47
+              48:    6(float) FunctionCall 11(Func(t211;) 46(param)
+              51:           7 Load 49(tf4)
+                              Store 50(param) 51
+              52:   13(fvec4) FunctionCall 16(Func(t21;) 50(param)
+              53:   13(fvec4) CompositeConstruct 48 48 48 48
+              54:   13(fvec4) FAdd 53 52
+              58:          18 Load 56(twf1)
+                              Store 57(param) 58
+              59:    6(float) FunctionCall 22(Func(I211;) 57(param)
+              60:   13(fvec4) CompositeConstruct 59 59 59 59
+              61:   13(fvec4) FAdd 54 60
+              65:          24 Load 63(twf4)
+                              Store 64(param) 65
+              66:   13(fvec4) FunctionCall 28(Func(I21;) 64(param)
+              67:   13(fvec4) FAdd 61 66
+                              ReturnValue 67
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.type.half.frag.out b/Test/baseResults/hlsl.type.half.frag.out
index 50171fc..75750f9 100644
--- a/Test/baseResults/hlsl.type.half.frag.out
+++ b/Test/baseResults/hlsl.type.half.frag.out
@@ -164,7 +164,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 60
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.type.identifier.frag.out b/Test/baseResults/hlsl.type.identifier.frag.out
index 3ad3882..fe6ac01 100644
--- a/Test/baseResults/hlsl.type.identifier.frag.out
+++ b/Test/baseResults/hlsl.type.identifier.frag.out
@@ -266,7 +266,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 109
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out
index 217e7ec..4ae33e2 100755
--- a/Test/baseResults/hlsl.typeGraphCopy.vert.out
+++ b/Test/baseResults/hlsl.typeGraphCopy.vert.out
@@ -62,7 +62,7 @@
 0:?     '@entryPointOutput' (layout( location=0) out float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 28
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.typedef.frag.out b/Test/baseResults/hlsl.typedef.frag.out
index 1c1a351..3f3e34c 100755
--- a/Test/baseResults/hlsl.typedef.frag.out
+++ b/Test/baseResults/hlsl.typedef.frag.out
@@ -79,7 +79,7 @@
 0:?   Linker Objects
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 34
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.void.frag.out b/Test/baseResults/hlsl.void.frag.out
index 1df35a6..e685c2c 100755
--- a/Test/baseResults/hlsl.void.frag.out
+++ b/Test/baseResults/hlsl.void.frag.out
@@ -54,7 +54,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out
index 3e9b794..cffef62 100755
--- a/Test/baseResults/hlsl.whileLoop.frag.out
+++ b/Test/baseResults/hlsl.whileLoop.frag.out
@@ -96,7 +96,7 @@
 0:?     'input' (layout( location=0) in 4-component vector of float)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 52
 
                               Capability Shader
diff --git a/Test/baseResults/implicitInnerAtomicUint.frag.out b/Test/baseResults/implicitInnerAtomicUint.frag.out
new file mode 100644
index 0000000..6f68980
--- /dev/null
+++ b/Test/baseResults/implicitInnerAtomicUint.frag.out
@@ -0,0 +1,21 @@
+implicitInnerAtomicUint.frag
+ERROR: 0:2: '[]' : only outermost dimension of an array of arrays can be implicitly sized 
+ERROR: 0:2: 'atomic_uint' : array must be explicitly sized 
+ERROR: 2 compilation errors.  No code generated.
+
+
+Shader version: 460
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+0:?     'c' (layout( binding=0 offset=0) uniform 1-element array of implicitly-sized array of atomic_uint)
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 460
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+0:?     'c' (layout( binding=0 offset=0) uniform 1-element array of implicitly-sized array of atomic_uint)
+
diff --git a/Test/baseResults/invalidSwizzle.vert.out b/Test/baseResults/invalidSwizzle.vert.out
new file mode 100644
index 0000000..5104fdc
--- /dev/null
+++ b/Test/baseResults/invalidSwizzle.vert.out
@@ -0,0 +1,38 @@
+invalidSwizzle.vert
+ERROR: 0:7: 'rr' : does not apply to this type:  uniform sampler2D
+ERROR: 0:7: '=' :  cannot convert from ' uniform sampler2D' to ' temp 2-component vector of float'
+ERROR: 0:8: 'xx' : does not apply to this type:  global void
+ERROR: 0:9: 'xy' : does not apply to this type:  global void
+ERROR: 4 compilation errors.  No code generated.
+
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:6  Function Definition: main( ( global void)
+0:6    Function Parameters: 
+0:?     Sequence
+0:8      Function Call: f( ( global void)
+0:9      Function Call: f( ( global void)
+0:?   Linker Objects
+0:?     's' ( uniform sampler2D)
+0:?     'gl_VertexID' ( gl_VertexId int VertexId)
+0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
+
+Linked vertex stage:
+
+ERROR: Linking vertex stage: No function definition (body) found: 
+    f(
+
+Shader version: 420
+ERROR: node is still EOpNull!
+0:6  Function Definition: main( ( global void)
+0:6    Function Parameters: 
+0:?     Sequence
+0:8      Function Call: f( ( global void)
+0:9      Function Call: f( ( global void)
+0:?   Linker Objects
+0:?     's' ( uniform sampler2D)
+0:?     'gl_VertexID' ( gl_VertexId int VertexId)
+0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
+
diff --git a/Test/baseResults/numeral.frag.out b/Test/baseResults/numeral.frag.out
index 11def12..c1e3134 100644
--- a/Test/baseResults/numeral.frag.out
+++ b/Test/baseResults/numeral.frag.out
@@ -11,7 +11,9 @@
 ERROR: 0:88: '' : float literal needs a decimal point or exponent 
 ERROR: 0:98: '' : numeric literal too big 
 ERROR: 0:101: '' : numeric literal too big 
-ERROR: 12 compilation errors.  No code generated.
+ERROR: 0:104: '#' : preprocessor directive cannot be preceded by another token 
+ERROR: 0:104: '' :  syntax error, unexpected $end, expecting COMMA or SEMICOLON
+ERROR: 14 compilation errors.  No code generated.
 
 
 Shader version: 400
@@ -417,6 +419,7 @@
 0:?     'g4' ( global int)
 0:?     'g5' ( global int)
 0:?     'g6' ( global int)
+0:?     'inf1' ( global float)
 
 
 Linked fragment stage:
@@ -825,4 +828,5 @@
 0:?     'g4' ( global int)
 0:?     'g5' ( global int)
 0:?     'g6' ( global int)
+0:?     'inf1' ( global float)
 
diff --git a/Test/baseResults/overlongLiteral.frag.out b/Test/baseResults/overlongLiteral.frag.out
new file mode 100644
index 0000000..372d777
--- /dev/null
+++ b/Test/baseResults/overlongLiteral.frag.out
@@ -0,0 +1,19 @@
+overlongLiteral.frag
+ERROR: 0:1: '' : hexadecimal literal too long 
+ERROR: 0:1: '' :  syntax error, unexpected INTCONSTANT
+ERROR: 2 compilation errors.  No code generated.
+
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
+
+Linked fragment stage:
+
+ERROR: Linking fragment stage: Missing entry point: Each stage requires one entry point
+
+Shader version: 100
+ERROR: node is still EOpNull!
+0:?   Linker Objects
+
diff --git a/Test/baseResults/remap.basic.dcefunc.frag.out b/Test/baseResults/remap.basic.dcefunc.frag.out
index ff2e606..da8f78a 100644
--- a/Test/baseResults/remap.basic.dcefunc.frag.out
+++ b/Test/baseResults/remap.basic.dcefunc.frag.out
@@ -1,6 +1,6 @@
 remap.basic.dcefunc.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/remap.basic.everything.frag.out b/Test/baseResults/remap.basic.everything.frag.out
index 82db448..bf17c59 100644
--- a/Test/baseResults/remap.basic.everything.frag.out
+++ b/Test/baseResults/remap.basic.everything.frag.out
@@ -1,6 +1,6 @@
 remap.basic.everything.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24969
 
                               Capability Shader
diff --git a/Test/baseResults/remap.basic.none.frag.out b/Test/baseResults/remap.basic.none.frag.out
index ebed8a1..054a6b4 100644
--- a/Test/baseResults/remap.basic.none.frag.out
+++ b/Test/baseResults/remap.basic.none.frag.out
@@ -1,6 +1,6 @@
 remap.basic.none.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/remap.basic.strip.frag.out b/Test/baseResults/remap.basic.strip.frag.out
index 026309d..ee9d93c 100644
--- a/Test/baseResults/remap.basic.strip.frag.out
+++ b/Test/baseResults/remap.basic.strip.frag.out
@@ -1,6 +1,6 @@
 remap.basic.strip.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
index 11b2acf..b986a7d 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.everything.frag.out
@@ -2,7 +2,7 @@
 WARNING: 0:4: 'immediate sampler state' : unimplemented 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24878
 
                               Capability Shader
diff --git a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
index 37a2c90..699fb8d 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.none.frag.out
@@ -2,7 +2,7 @@
 WARNING: 0:4: 'immediate sampler state' : unimplemented 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 198
 
                               Capability Shader
diff --git a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
index d76bdd9..f46f93f 100644
--- a/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
+++ b/Test/baseResults/remap.hlsl.sample.basic.strip.frag.out
@@ -2,7 +2,7 @@
 WARNING: 0:4: 'immediate sampler state' : unimplemented 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 198
 
                               Capability Shader
diff --git a/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out b/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
index 330aecd..fe2df78 100644
--- a/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
+++ b/Test/baseResults/remap.hlsl.templatetypes.everything.frag.out
@@ -1,6 +1,6 @@
 remap.hlsl.templatetypes.everything.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24954
 
                               Capability Shader
diff --git a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
index dd2917e..bc5916e 100644
--- a/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
+++ b/Test/baseResults/remap.hlsl.templatetypes.none.frag.out
@@ -1,6 +1,6 @@
 remap.hlsl.templatetypes.none.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 160
 
                               Capability Shader
diff --git a/Test/baseResults/remap.if.everything.frag.out b/Test/baseResults/remap.if.everything.frag.out
index 1c9a8d1..7a1733e 100644
--- a/Test/baseResults/remap.if.everything.frag.out
+++ b/Test/baseResults/remap.if.everything.frag.out
@@ -1,6 +1,6 @@
 remap.if.everything.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22855
 
                               Capability Shader
diff --git a/Test/baseResults/remap.if.none.frag.out b/Test/baseResults/remap.if.none.frag.out
index 0aaec38..1601a6c 100644
--- a/Test/baseResults/remap.if.none.frag.out
+++ b/Test/baseResults/remap.if.none.frag.out
@@ -1,6 +1,6 @@
 remap.if.none.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 25
 
                               Capability Shader
diff --git a/Test/baseResults/remap.invalid-spirv-1.out b/Test/baseResults/remap.invalid-spirv-1.out
new file mode 100644
index 0000000..91b4b6d
--- /dev/null
+++ b/Test/baseResults/remap.invalid-spirv-1.out
@@ -0,0 +1 @@
+ID out of range: 4160749568
diff --git a/Test/baseResults/remap.invalid-spirv-2.out b/Test/baseResults/remap.invalid-spirv-2.out
new file mode 100644
index 0000000..808b9b8
--- /dev/null
+++ b/Test/baseResults/remap.invalid-spirv-2.out
@@ -0,0 +1 @@
+ID not found
diff --git a/Test/baseResults/remap.similar_1a.everything.frag.out b/Test/baseResults/remap.similar_1a.everything.frag.out
index 59ed9eb..f67acfb 100644
--- a/Test/baseResults/remap.similar_1a.everything.frag.out
+++ b/Test/baseResults/remap.similar_1a.everything.frag.out
@@ -1,6 +1,6 @@
 remap.similar_1a.everything.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24916
 
                               Capability Shader
diff --git a/Test/baseResults/remap.similar_1a.none.frag.out b/Test/baseResults/remap.similar_1a.none.frag.out
index af049b5..2bbf53a 100644
--- a/Test/baseResults/remap.similar_1a.none.frag.out
+++ b/Test/baseResults/remap.similar_1a.none.frag.out
@@ -1,6 +1,6 @@
 remap.similar_1a.none.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 86
 
                               Capability Shader
diff --git a/Test/baseResults/remap.similar_1b.everything.frag.out b/Test/baseResults/remap.similar_1b.everything.frag.out
index 483c622..67ff7df 100644
--- a/Test/baseResults/remap.similar_1b.everything.frag.out
+++ b/Test/baseResults/remap.similar_1b.everything.frag.out
@@ -1,6 +1,6 @@
 remap.similar_1b.everything.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24916
 
                               Capability Shader
diff --git a/Test/baseResults/remap.similar_1b.none.frag.out b/Test/baseResults/remap.similar_1b.none.frag.out
index a5555c2..089ea5c 100644
--- a/Test/baseResults/remap.similar_1b.none.frag.out
+++ b/Test/baseResults/remap.similar_1b.none.frag.out
@@ -1,6 +1,6 @@
 remap.similar_1b.none.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 91
 
                               Capability Shader
diff --git a/Test/baseResults/remap.specconst.comp.out b/Test/baseResults/remap.specconst.comp.out
index ca276b6..cc439f1 100644
--- a/Test/baseResults/remap.specconst.comp.out
+++ b/Test/baseResults/remap.specconst.comp.out
@@ -1,6 +1,6 @@
 remap.specconst.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 16104
 
                               Capability Shader
diff --git a/Test/baseResults/remap.switch.everything.frag.out b/Test/baseResults/remap.switch.everything.frag.out
index bad1e1e..c1fddd9 100644
--- a/Test/baseResults/remap.switch.everything.frag.out
+++ b/Test/baseResults/remap.switch.everything.frag.out
@@ -3,7 +3,7 @@
          "precision mediump int; precision highp float;" 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 23990
 
                               Capability Shader
diff --git a/Test/baseResults/remap.switch.none.frag.out b/Test/baseResults/remap.switch.none.frag.out
index 0c4cf6a..fa78e77 100644
--- a/Test/baseResults/remap.switch.none.frag.out
+++ b/Test/baseResults/remap.switch.none.frag.out
@@ -3,7 +3,7 @@
          "precision mediump int; precision highp float;" 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 48
 
                               Capability Shader
diff --git a/Test/baseResults/remap.uniformarray.everything.frag.out b/Test/baseResults/remap.uniformarray.everything.frag.out
index efdf681..aa9014c 100644
--- a/Test/baseResults/remap.uniformarray.everything.frag.out
+++ b/Test/baseResults/remap.uniformarray.everything.frag.out
@@ -1,6 +1,6 @@
 remap.uniformarray.everything.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 25030
 
                               Capability Shader
diff --git a/Test/baseResults/remap.uniformarray.none.frag.out b/Test/baseResults/remap.uniformarray.none.frag.out
index 3fde4b5..cba724e 100644
--- a/Test/baseResults/remap.uniformarray.none.frag.out
+++ b/Test/baseResults/remap.uniformarray.none.frag.out
@@ -1,6 +1,6 @@
 remap.uniformarray.none.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 53
 
                               Capability Shader
diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out
index 17f0bdc..5cf2100 100755
--- a/Test/baseResults/spv.100ops.frag.out
+++ b/Test/baseResults/spv.100ops.frag.out
@@ -1,6 +1,6 @@
 spv.100ops.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 49
 
                               Capability Shader
diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out
index 19c6db0..51e8b09 100644
--- a/Test/baseResults/spv.130.frag.out
+++ b/Test/baseResults/spv.130.frag.out
@@ -2,7 +2,7 @@
 WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 205
 
                               Capability Shader
diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out
index 324cc0c..c63fb93 100755
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -1,6 +1,6 @@
 spv.140.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 96
 
                               Capability Shader
diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out
index 1c98c70..5026768 100755
--- a/Test/baseResults/spv.150.geom.out
+++ b/Test/baseResults/spv.150.geom.out
@@ -1,6 +1,6 @@
 spv.150.geom
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 71
 
                               Capability Geometry
diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out
index 2843139..2ad9461 100755
--- a/Test/baseResults/spv.150.vert.out
+++ b/Test/baseResults/spv.150.vert.out
@@ -1,6 +1,6 @@
 spv.150.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 63
 
                               Capability Shader
diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out
index d319094..a2c5075 100755
--- a/Test/baseResults/spv.300BuiltIns.vert.out
+++ b/Test/baseResults/spv.300BuiltIns.vert.out
@@ -1,6 +1,6 @@
 spv.300BuiltIns.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 42
 
                               Capability Shader
diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out
index 6a7accd..8200bb8 100755
--- a/Test/baseResults/spv.300layout.frag.out
+++ b/Test/baseResults/spv.300layout.frag.out
@@ -1,6 +1,6 @@
 spv.300layout.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 37
 
                               Capability Shader
diff --git a/Test/baseResults/spv.300layout.vert.out b/Test/baseResults/spv.300layout.vert.out
index 3eae468..a820796 100644
--- a/Test/baseResults/spv.300layout.vert.out
+++ b/Test/baseResults/spv.300layout.vert.out
@@ -1,6 +1,6 @@
 spv.300layout.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 163
 
                               Capability Shader
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
index 82a34ca..78098eb 100755
--- a/Test/baseResults/spv.300layoutp.vert.out
+++ b/Test/baseResults/spv.300layoutp.vert.out
@@ -1,6 +1,6 @@
 spv.300layoutp.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 115
 
                               Capability Shader
diff --git a/Test/baseResults/spv.310.bitcast.frag.out b/Test/baseResults/spv.310.bitcast.frag.out
index 4076251..bcbe8e6 100755
--- a/Test/baseResults/spv.310.bitcast.frag.out
+++ b/Test/baseResults/spv.310.bitcast.frag.out
@@ -1,6 +1,6 @@
 spv.310.bitcast.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 153
 
                               Capability Shader
diff --git a/Test/baseResults/spv.310.comp.out b/Test/baseResults/spv.310.comp.out
index 0d7a6bd..fec52c5 100644
--- a/Test/baseResults/spv.310.comp.out
+++ b/Test/baseResults/spv.310.comp.out
@@ -1,6 +1,6 @@
 spv.310.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 69
 
                               Capability Shader
diff --git a/Test/baseResults/spv.330.geom.out b/Test/baseResults/spv.330.geom.out
index 3e81dcb..eccaccd 100644
--- a/Test/baseResults/spv.330.geom.out
+++ b/Test/baseResults/spv.330.geom.out
@@ -1,6 +1,6 @@
 spv.330.geom
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 32
 
                               Capability Geometry
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index be1f6ed..2b574ab 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -1,6 +1,6 @@
 spv.400.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 1118
 
                               Capability Shader
diff --git a/Test/baseResults/spv.400.tesc.out b/Test/baseResults/spv.400.tesc.out
index 5b402c4..5b6a6b1 100644
--- a/Test/baseResults/spv.400.tesc.out
+++ b/Test/baseResults/spv.400.tesc.out
@@ -1,6 +1,6 @@
 spv.400.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 93
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out
index a322ac5..37cdb4b 100755
--- a/Test/baseResults/spv.400.tese.out
+++ b/Test/baseResults/spv.400.tese.out
@@ -1,6 +1,6 @@
 spv.400.tese
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 96
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out
index 9ce05d0..28665bc 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -1,6 +1,6 @@
 spv.420.geom
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 72
 
                               Capability Geometry
diff --git a/Test/baseResults/spv.430.frag.out b/Test/baseResults/spv.430.frag.out
index 6d43ead..4aedf77 100755
--- a/Test/baseResults/spv.430.frag.out
+++ b/Test/baseResults/spv.430.frag.out
@@ -1,6 +1,6 @@
 spv.430.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24
 
                               Capability Shader
diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out
index 10c3eae..c63d5e9 100755
--- a/Test/baseResults/spv.430.vert.out
+++ b/Test/baseResults/spv.430.vert.out
@@ -1,6 +1,6 @@
 spv.430.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 66
 
                               Capability Shader
diff --git a/Test/baseResults/spv.450.geom.out b/Test/baseResults/spv.450.geom.out
index 9c851c3..f745068 100755
--- a/Test/baseResults/spv.450.geom.out
+++ b/Test/baseResults/spv.450.geom.out
@@ -1,6 +1,6 @@
 spv.450.geom
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Geometry
diff --git a/Test/baseResults/spv.450.noRedecl.tesc.out b/Test/baseResults/spv.450.noRedecl.tesc.out
index 91887b0..4d6a25a 100755
--- a/Test/baseResults/spv.450.noRedecl.tesc.out
+++ b/Test/baseResults/spv.450.noRedecl.tesc.out
@@ -1,6 +1,6 @@
 spv.450.noRedecl.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 21
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.450.tesc.out b/Test/baseResults/spv.450.tesc.out
index 5ccea06..5cbaca9 100755
--- a/Test/baseResults/spv.450.tesc.out
+++ b/Test/baseResults/spv.450.tesc.out
@@ -1,6 +1,6 @@
 spv.450.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 45
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.460.comp.out b/Test/baseResults/spv.460.comp.out
index b9037b9..d8e68be 100755
--- a/Test/baseResults/spv.460.comp.out
+++ b/Test/baseResults/spv.460.comp.out
@@ -1,6 +1,6 @@
 spv.460.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 15
 
                               Capability Shader
diff --git a/Test/baseResults/spv.460.frag.out b/Test/baseResults/spv.460.frag.out
index 4e827a0..6cdcc85 100755
--- a/Test/baseResults/spv.460.frag.out
+++ b/Test/baseResults/spv.460.frag.out
@@ -1,6 +1,6 @@
 spv.460.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 32
 
                               Capability Shader
diff --git a/Test/baseResults/spv.460.vert.out b/Test/baseResults/spv.460.vert.out
index 6d57d07..7b8d953 100755
--- a/Test/baseResults/spv.460.vert.out
+++ b/Test/baseResults/spv.460.vert.out
@@ -1,6 +1,6 @@
 spv.460.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 20
 
                               Capability Shader
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index 5837deb..8c0d6c0 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -1,6 +1,6 @@
 spv.AofA.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 104
 
                               Capability Shader
diff --git a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
index c771bc6..2b85ddf 100644
--- a/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
+++ b/Test/baseResults/spv.GeometryShaderPassthrough.geom.out
@@ -1,6 +1,6 @@
 spv.GeometryShaderPassthrough.geom
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 15
 
                               Capability Geometry
diff --git a/Test/baseResults/spv.OVR_multiview.vert.out b/Test/baseResults/spv.OVR_multiview.vert.out
index dff67f5..49901a5 100644
--- a/Test/baseResults/spv.OVR_multiview.vert.out
+++ b/Test/baseResults/spv.OVR_multiview.vert.out
@@ -1,6 +1,6 @@
 spv.OVR_multiview.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
index 5e89f49..8f61e02 100755
--- a/Test/baseResults/spv.Operations.frag.out
+++ b/Test/baseResults/spv.Operations.frag.out
@@ -1,6 +1,6 @@
 spv.Operations.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 532
 
                               Capability Shader
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
index ee97c6c..89a39a0 100755
--- a/Test/baseResults/spv.accessChain.frag.out
+++ b/Test/baseResults/spv.accessChain.frag.out
@@ -1,6 +1,6 @@
 spv.accessChain.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 206
 
                               Capability Shader
diff --git a/Test/baseResults/spv.aggOps.frag.out b/Test/baseResults/spv.aggOps.frag.out
index 6825585..ca495c1 100644
--- a/Test/baseResults/spv.aggOps.frag.out
+++ b/Test/baseResults/spv.aggOps.frag.out
@@ -3,7 +3,7 @@
          "precision mediump int; precision highp float;" 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 215
 
                               Capability Shader
diff --git a/Test/baseResults/spv.always-discard.frag.out b/Test/baseResults/spv.always-discard.frag.out
index 01f5732..ac4c9f3 100644
--- a/Test/baseResults/spv.always-discard.frag.out
+++ b/Test/baseResults/spv.always-discard.frag.out
@@ -1,6 +1,6 @@
 spv.always-discard.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 84
 
                               Capability Shader
diff --git a/Test/baseResults/spv.always-discard2.frag.out b/Test/baseResults/spv.always-discard2.frag.out
index 7fa92c5..5aed2e0 100755
--- a/Test/baseResults/spv.always-discard2.frag.out
+++ b/Test/baseResults/spv.always-discard2.frag.out
@@ -1,6 +1,6 @@
 spv.always-discard2.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 40
 
                               Capability Shader
diff --git a/Test/baseResults/spv.arbPostDepthCoverage.frag.out b/Test/baseResults/spv.arbPostDepthCoverage.frag.out
index 1d92dbe..7c5a3b6 100644
--- a/Test/baseResults/spv.arbPostDepthCoverage.frag.out
+++ b/Test/baseResults/spv.arbPostDepthCoverage.frag.out
@@ -1,6 +1,6 @@
 spv.arbPostDepthCoverage.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 18
 
                               Capability Shader
diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out
index beb0302..b64dc90 100755
--- a/Test/baseResults/spv.atomic.comp.out
+++ b/Test/baseResults/spv.atomic.comp.out
@@ -1,7 +1,7 @@
 spv.atomic.comp
 // Module Version 10000
-// Generated by (magic number): 80001
-// Id's are bound by 73
+// Generated by (magic number): 80002
+// Id's are bound by 74
 
                               Capability Shader
                               Capability AtomicStorage
@@ -17,29 +17,29 @@
                               Name 20  "counter"
                               Name 23  "val"
                               Name 27  "countArr"
-                              Name 35  "origi"
-                              Name 37  "atomi"
-                              Name 40  "origu"
-                              Name 42  "atomu"
-                              Name 43  "value"
-                              Name 60  "dataSSB"
-                              MemberName 60(dataSSB) 0  "f"
-                              MemberName 60(dataSSB) 1  "n_frames_rendered"
-                              Name 62  "result"
-                              Name 70  "arrX"
-                              Name 71  "arrY"
-                              Name 72  "arrZ"
+                              Name 37  "origi"
+                              Name 39  "atomi"
+                              Name 42  "origu"
+                              Name 44  "atomu"
+                              Name 45  "value"
+                              Name 62  "dataSSB"
+                              MemberName 62(dataSSB) 0  "f"
+                              MemberName 62(dataSSB) 1  "n_frames_rendered"
+                              Name 64  "result"
+                              Name 71  "arrX"
+                              Name 72  "arrY"
+                              Name 73  "arrZ"
                               Decorate 20(counter) Offset 0
                               Decorate 20(counter) Binding 0
                               Decorate 27(countArr) Offset 4
                               Decorate 27(countArr) Binding 0
-                              MemberDecorate 60(dataSSB) 0 Restrict
-                              MemberDecorate 60(dataSSB) 0 Offset 0
-                              MemberDecorate 60(dataSSB) 1 Restrict
-                              MemberDecorate 60(dataSSB) 1 Offset 16
-                              Decorate 60(dataSSB) BufferBlock
-                              Decorate 62(result) DescriptorSet 0
-                              Decorate 62(result) Binding 0
+                              MemberDecorate 62(dataSSB) 0 Restrict
+                              MemberDecorate 62(dataSSB) 0 Offset 0
+                              MemberDecorate 62(dataSSB) 1 Restrict
+                              MemberDecorate 62(dataSSB) 1 Offset 16
+                              Decorate 62(dataSSB) BufferBlock
+                              Decorate 64(result) DescriptorSet 0
+                              Decorate 64(result) Binding 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 0
@@ -56,29 +56,29 @@
     27(countArr):     26(ptr) Variable AtomicCounter
               28:             TypeInt 32 1
               29:     28(int) Constant 2
-              34:             TypePointer Function 28(int)
-              36:             TypePointer Workgroup 28(int)
-       37(atomi):     36(ptr) Variable Workgroup
-              38:     28(int) Constant 3
-              41:             TypePointer Workgroup 6(int)
-       42(atomu):     41(ptr) Variable Workgroup
-       43(value):     41(ptr) Variable Workgroup
-              46:      6(int) Constant 7
-              51:     28(int) Constant 7
-              55:      6(int) Constant 10
-              58:             TypeFloat 32
-              59:             TypeVector 28(int) 4
-     60(dataSSB):             TypeStruct 58(float) 59(ivec4)
-              61:             TypePointer Uniform 60(dataSSB)
-      62(result):     61(ptr) Variable Uniform
-              63:     28(int) Constant 1
-              64:      6(int) Constant 2
-              65:             TypePointer Uniform 28(int)
-              68:             TypeArray 28(int) 14
-              69:             TypePointer Private 68
-        70(arrX):     69(ptr) Variable Private
-        71(arrY):     69(ptr) Variable Private
-        72(arrZ):     69(ptr) Variable Private
+              33:     28(int) Constant 1
+              36:             TypePointer Function 28(int)
+              38:             TypePointer Workgroup 28(int)
+       39(atomi):     38(ptr) Variable Workgroup
+              40:     28(int) Constant 3
+              43:             TypePointer Workgroup 6(int)
+       44(atomu):     43(ptr) Variable Workgroup
+       45(value):     43(ptr) Variable Workgroup
+              48:      6(int) Constant 7
+              53:     28(int) Constant 7
+              57:      6(int) Constant 10
+              60:             TypeFloat 32
+              61:             TypeVector 28(int) 4
+     62(dataSSB):             TypeStruct 60(float) 61(ivec4)
+              63:             TypePointer Uniform 62(dataSSB)
+      64(result):     63(ptr) Variable Uniform
+              65:      6(int) Constant 2
+              66:             TypePointer Uniform 28(int)
+              69:             TypeArray 28(int) 14
+              70:             TypePointer Private 69
+        71(arrX):     70(ptr) Variable Private
+        72(arrY):     70(ptr) Variable Private
+        73(arrZ):     70(ptr) Variable Private
          4(main):           2 Function None 3
                5:             Label
          23(val):     22(ptr) Variable Function
@@ -88,7 +88,8 @@
               31:      6(int) AtomicLoad 30 14 15
                               Store 23(val) 31
               32:      6(int) AtomicIDecrement 20(counter) 14 15
-              33:      6(int) AtomicIIncrement 20(counter) 14 15
+              34:      6(int) ISub 32 33
+              35:      6(int) AtomicIIncrement 20(counter) 14 15
                               Return
                               FunctionEnd
    10(func(au1;):      6(int) Function None 8
@@ -99,29 +100,29 @@
                               FunctionEnd
       12(atoms():           2 Function None 3
               13:             Label
-       35(origi):     34(ptr) Variable Function
-       40(origu):     22(ptr) Variable Function
-              39:     28(int) AtomicIAdd 37(atomi) 14 15 38
-                              Store 35(origi) 39
-              44:      6(int) Load 43(value)
-              45:      6(int) AtomicAnd 42(atomu) 14 15 44
-                              Store 40(origu) 45
-              47:      6(int) AtomicOr 42(atomu) 14 15 46
-                              Store 40(origu) 47
-              48:      6(int) AtomicXor 42(atomu) 14 15 46
-                              Store 40(origu) 48
-              49:      6(int) Load 43(value)
-              50:      6(int) AtomicUMin 42(atomu) 14 15 49
-                              Store 40(origu) 50
-              52:     28(int) AtomicSMax 37(atomi) 14 15 51
-                              Store 35(origi) 52
-              53:     28(int) Load 35(origi)
-              54:     28(int) AtomicExchange 37(atomi) 14 15 53
-                              Store 35(origi) 54
-              56:      6(int) Load 43(value)
-              57:      6(int) AtomicCompareExchange 42(atomu) 14 15 15 56 55
-                              Store 40(origu) 57
-              66:     65(ptr) AccessChain 62(result) 63 64
-              67:     28(int) AtomicIAdd 66 14 15 63
+       37(origi):     36(ptr) Variable Function
+       42(origu):     22(ptr) Variable Function
+              41:     28(int) AtomicIAdd 39(atomi) 14 15 40
+                              Store 37(origi) 41
+              46:      6(int) Load 45(value)
+              47:      6(int) AtomicAnd 44(atomu) 14 15 46
+                              Store 42(origu) 47
+              49:      6(int) AtomicOr 44(atomu) 14 15 48
+                              Store 42(origu) 49
+              50:      6(int) AtomicXor 44(atomu) 14 15 48
+                              Store 42(origu) 50
+              51:      6(int) Load 45(value)
+              52:      6(int) AtomicUMin 44(atomu) 14 15 51
+                              Store 42(origu) 52
+              54:     28(int) AtomicSMax 39(atomi) 14 15 53
+                              Store 37(origi) 54
+              55:     28(int) Load 37(origi)
+              56:     28(int) AtomicExchange 39(atomi) 14 15 55
+                              Store 37(origi) 56
+              58:      6(int) Load 45(value)
+              59:      6(int) AtomicCompareExchange 44(atomu) 14 15 15 58 57
+                              Store 42(origu) 59
+              67:     66(ptr) AccessChain 64(result) 33 65
+              68:     28(int) AtomicIAdd 67 14 15 33
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.atomicInt64.comp.out b/Test/baseResults/spv.atomicInt64.comp.out
new file mode 100644
index 0000000..cbd7c1c
--- /dev/null
+++ b/Test/baseResults/spv.atomicInt64.comp.out
@@ -0,0 +1,215 @@
+spv.atomicInt64.comp
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 149
+
+                              Capability Shader
+                              Capability Int64
+                              Capability Int64Atomics
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 16 16 1
+                              Source GLSL 450
+                              SourceExtension  "GL_ARB_gpu_shader_int64"
+                              SourceExtension  "GL_NV_shader_atomic_int64"
+                              Name 4  "main"
+                              Name 8  "i64"
+                              Name 12  "u64"
+                              Name 14  "Buffer"
+                              MemberName 14(Buffer) 0  "i64"
+                              MemberName 14(Buffer) 1  "u64"
+                              Name 16  "buf"
+                              Name 84  "Struct"
+                              MemberName 84(Struct) 0  "i64"
+                              MemberName 84(Struct) 1  "u64"
+                              Name 86  "s"
+                              MemberDecorate 14(Buffer) 0 Offset 0
+                              MemberDecorate 14(Buffer) 1 Offset 8
+                              Decorate 14(Buffer) BufferBlock
+                              Decorate 16(buf) DescriptorSet 0
+                              Decorate 16(buf) Binding 0
+                              Decorate 148 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 64 1
+               7:             TypePointer Function 6(int)
+               9:      6(int) Constant 0 0
+              10:             TypeInt 64 0
+              11:             TypePointer Function 10(int)
+              13:     10(int) Constant 0 0
+      14(Buffer):             TypeStruct 6(int) 10(int)
+              15:             TypePointer Uniform 14(Buffer)
+         16(buf):     15(ptr) Variable Uniform
+              17:             TypeInt 32 1
+              18:     17(int) Constant 0
+              19:             TypePointer Uniform 6(int)
+              21:      6(int) Constant 4294967272 4294967295
+              22:             TypeInt 32 0
+              23:     22(int) Constant 1
+              24:     22(int) Constant 0
+              28:     17(int) Constant 1
+              29:             TypePointer Uniform 10(int)
+              31:     10(int) Constant 15 0
+      84(Struct):             TypeStruct 6(int) 10(int)
+              85:             TypePointer Workgroup 84(Struct)
+           86(s):     85(ptr) Variable Workgroup
+              87:             TypePointer Workgroup 6(int)
+              92:             TypePointer Workgroup 10(int)
+             146:             TypeVector 22(int) 3
+             147:     22(int) Constant 16
+             148:  146(ivec3) ConstantComposite 147 147 23
+         4(main):           2 Function None 3
+               5:             Label
+          8(i64):      7(ptr) Variable Function
+         12(u64):     11(ptr) Variable Function
+                              Store 8(i64) 9
+                              Store 12(u64) 13
+              20:     19(ptr) AccessChain 16(buf) 18
+              25:      6(int) AtomicSMin 20 23 24 21
+              26:      6(int) Load 8(i64)
+              27:      6(int) IAdd 26 25
+                              Store 8(i64) 27
+              30:     29(ptr) AccessChain 16(buf) 28
+              32:     10(int) AtomicUMin 30 23 24 31
+              33:     10(int) Load 12(u64)
+              34:     10(int) IAdd 33 32
+                              Store 12(u64) 34
+              35:     19(ptr) AccessChain 16(buf) 18
+              36:      6(int) AtomicSMax 35 23 24 21
+              37:      6(int) Load 8(i64)
+              38:      6(int) IAdd 37 36
+                              Store 8(i64) 38
+              39:     29(ptr) AccessChain 16(buf) 28
+              40:     10(int) AtomicUMax 39 23 24 31
+              41:     10(int) Load 12(u64)
+              42:     10(int) IAdd 41 40
+                              Store 12(u64) 42
+              43:     19(ptr) AccessChain 16(buf) 18
+              44:      6(int) AtomicAnd 43 23 24 21
+              45:      6(int) Load 8(i64)
+              46:      6(int) IAdd 45 44
+                              Store 8(i64) 46
+              47:     29(ptr) AccessChain 16(buf) 28
+              48:     10(int) AtomicAnd 47 23 24 31
+              49:     10(int) Load 12(u64)
+              50:     10(int) IAdd 49 48
+                              Store 12(u64) 50
+              51:     19(ptr) AccessChain 16(buf) 18
+              52:      6(int) AtomicOr 51 23 24 21
+              53:      6(int) Load 8(i64)
+              54:      6(int) IAdd 53 52
+                              Store 8(i64) 54
+              55:     29(ptr) AccessChain 16(buf) 28
+              56:     10(int) AtomicOr 55 23 24 31
+              57:     10(int) Load 12(u64)
+              58:     10(int) IAdd 57 56
+                              Store 12(u64) 58
+              59:     19(ptr) AccessChain 16(buf) 18
+              60:      6(int) AtomicXor 59 23 24 21
+              61:      6(int) Load 8(i64)
+              62:      6(int) IAdd 61 60
+                              Store 8(i64) 62
+              63:     29(ptr) AccessChain 16(buf) 28
+              64:     10(int) AtomicXor 63 23 24 31
+              65:     10(int) Load 12(u64)
+              66:     10(int) IAdd 65 64
+                              Store 12(u64) 66
+              67:     19(ptr) AccessChain 16(buf) 18
+              68:      6(int) AtomicIAdd 67 23 24 21
+              69:      6(int) Load 8(i64)
+              70:      6(int) IAdd 69 68
+                              Store 8(i64) 70
+              71:     19(ptr) AccessChain 16(buf) 18
+              72:      6(int) AtomicExchange 71 23 24 21
+              73:      6(int) Load 8(i64)
+              74:      6(int) IAdd 73 72
+                              Store 8(i64) 74
+              75:     19(ptr) AccessChain 16(buf) 18
+              76:      6(int) Load 8(i64)
+              77:      6(int) AtomicCompareExchange 75 23 24 24 76 21
+              78:      6(int) Load 8(i64)
+              79:      6(int) IAdd 78 77
+                              Store 8(i64) 79
+              80:      6(int) Load 8(i64)
+              81:     19(ptr) AccessChain 16(buf) 18
+                              Store 81 80
+              82:     10(int) Load 12(u64)
+              83:     29(ptr) AccessChain 16(buf) 28
+                              Store 83 82
+                              Store 8(i64) 9
+                              Store 12(u64) 13
+              88:     87(ptr) AccessChain 86(s) 18
+              89:      6(int) AtomicSMin 88 23 24 21
+              90:      6(int) Load 8(i64)
+              91:      6(int) IAdd 90 89
+                              Store 8(i64) 91
+              93:     92(ptr) AccessChain 86(s) 28
+              94:     10(int) AtomicUMin 93 23 24 31
+              95:     10(int) Load 12(u64)
+              96:     10(int) IAdd 95 94
+                              Store 12(u64) 96
+              97:     87(ptr) AccessChain 86(s) 18
+              98:      6(int) AtomicSMax 97 23 24 21
+              99:      6(int) Load 8(i64)
+             100:      6(int) IAdd 99 98
+                              Store 8(i64) 100
+             101:     92(ptr) AccessChain 86(s) 28
+             102:     10(int) AtomicUMax 101 23 24 31
+             103:     10(int) Load 12(u64)
+             104:     10(int) IAdd 103 102
+                              Store 12(u64) 104
+             105:     87(ptr) AccessChain 86(s) 18
+             106:      6(int) AtomicAnd 105 23 24 21
+             107:      6(int) Load 8(i64)
+             108:      6(int) IAdd 107 106
+                              Store 8(i64) 108
+             109:     92(ptr) AccessChain 86(s) 28
+             110:     10(int) AtomicAnd 109 23 24 31
+             111:     10(int) Load 12(u64)
+             112:     10(int) IAdd 111 110
+                              Store 12(u64) 112
+             113:     87(ptr) AccessChain 86(s) 18
+             114:      6(int) AtomicOr 113 23 24 21
+             115:      6(int) Load 8(i64)
+             116:      6(int) IAdd 115 114
+                              Store 8(i64) 116
+             117:     92(ptr) AccessChain 86(s) 28
+             118:     10(int) AtomicOr 117 23 24 31
+             119:     10(int) Load 12(u64)
+             120:     10(int) IAdd 119 118
+                              Store 12(u64) 120
+             121:     87(ptr) AccessChain 86(s) 18
+             122:      6(int) AtomicXor 121 23 24 21
+             123:      6(int) Load 8(i64)
+             124:      6(int) IAdd 123 122
+                              Store 8(i64) 124
+             125:     92(ptr) AccessChain 86(s) 28
+             126:     10(int) AtomicXor 125 23 24 31
+             127:     10(int) Load 12(u64)
+             128:     10(int) IAdd 127 126
+                              Store 12(u64) 128
+             129:     87(ptr) AccessChain 86(s) 18
+             130:      6(int) AtomicIAdd 129 23 24 21
+             131:      6(int) Load 8(i64)
+             132:      6(int) IAdd 131 130
+                              Store 8(i64) 132
+             133:     87(ptr) AccessChain 86(s) 18
+             134:      6(int) AtomicExchange 133 23 24 21
+             135:      6(int) Load 8(i64)
+             136:      6(int) IAdd 135 134
+                              Store 8(i64) 136
+             137:     87(ptr) AccessChain 86(s) 18
+             138:      6(int) Load 8(i64)
+             139:      6(int) AtomicCompareExchange 137 23 24 24 138 21
+             140:      6(int) Load 8(i64)
+             141:      6(int) IAdd 140 139
+                              Store 8(i64) 141
+             142:      6(int) Load 8(i64)
+             143:     87(ptr) AccessChain 86(s) 18
+                              Store 143 142
+             144:     10(int) Load 12(u64)
+             145:     92(ptr) AccessChain 86(s) 28
+                              Store 145 144
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.bitCast.frag.out b/Test/baseResults/spv.bitCast.frag.out
index 26846ec..7566213 100644
--- a/Test/baseResults/spv.bitCast.frag.out
+++ b/Test/baseResults/spv.bitCast.frag.out
@@ -1,6 +1,6 @@
 spv.bitCast.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 172
 
                               Capability Shader
diff --git a/Test/baseResults/spv.bool.vert.out b/Test/baseResults/spv.bool.vert.out
index e9d4e97..5f02671 100644
--- a/Test/baseResults/spv.bool.vert.out
+++ b/Test/baseResults/spv.bool.vert.out
@@ -1,6 +1,6 @@
 spv.bool.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 46
 
                               Capability Shader
diff --git a/Test/baseResults/spv.boolInBlock.frag.out b/Test/baseResults/spv.boolInBlock.frag.out
index e3752a3..6102c4a 100644
--- a/Test/baseResults/spv.boolInBlock.frag.out
+++ b/Test/baseResults/spv.boolInBlock.frag.out
@@ -1,6 +1,6 @@
 spv.boolInBlock.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 107
 
                               Capability Shader
diff --git a/Test/baseResults/spv.branch-return.vert.out b/Test/baseResults/spv.branch-return.vert.out
index e11f15a..6633d66 100644
--- a/Test/baseResults/spv.branch-return.vert.out
+++ b/Test/baseResults/spv.branch-return.vert.out
@@ -1,6 +1,6 @@
 spv.branch-return.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 38
 
                               Capability Shader
diff --git a/Test/baseResults/spv.buffer.autoassign.frag.out b/Test/baseResults/spv.buffer.autoassign.frag.out
index 643b333..549a5a2 100644
--- a/Test/baseResults/spv.buffer.autoassign.frag.out
+++ b/Test/baseResults/spv.buffer.autoassign.frag.out
@@ -1,6 +1,6 @@
 spv.buffer.autoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
index a9fb2de..b62e3b3 100755
--- a/Test/baseResults/spv.conditionalDiscard.frag.out
+++ b/Test/baseResults/spv.conditionalDiscard.frag.out
@@ -1,6 +1,6 @@
 spv.conditionalDiscard.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 36
 
                               Capability Shader
diff --git a/Test/baseResults/spv.conversion.frag.out b/Test/baseResults/spv.conversion.frag.out
index bbe8674..bdc1972 100755
--- a/Test/baseResults/spv.conversion.frag.out
+++ b/Test/baseResults/spv.conversion.frag.out
@@ -1,6 +1,6 @@
 spv.conversion.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 455
 
                               Capability Shader
diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out
index 9dbe5d1..6b99064 100755
--- a/Test/baseResults/spv.dataOut.frag.out
+++ b/Test/baseResults/spv.dataOut.frag.out
@@ -1,6 +1,6 @@
 spv.dataOut.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 20
 
                               Capability Shader
diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out
index 663092f..520d9a8 100755
--- a/Test/baseResults/spv.dataOutIndirect.frag.out
+++ b/Test/baseResults/spv.dataOutIndirect.frag.out
@@ -1,6 +1,6 @@
 spv.dataOutIndirect.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 26
 
                               Capability Shader
diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out
index 1523fab..764cec1 100755
--- a/Test/baseResults/spv.dataOutIndirect.vert.out
+++ b/Test/baseResults/spv.dataOutIndirect.vert.out
@@ -2,7 +2,7 @@
 WARNING: 0:3: attribute deprecated in version 130; may be removed in future release
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 38
 
                               Capability Shader
diff --git a/Test/baseResults/spv.debugInfo.frag.out b/Test/baseResults/spv.debugInfo.frag.out
index 2e0d1b3..706f068 100644
--- a/Test/baseResults/spv.debugInfo.frag.out
+++ b/Test/baseResults/spv.debugInfo.frag.out
@@ -1,6 +1,6 @@
 spv.debugInfo.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 126
 
                               Capability Shader
diff --git a/Test/baseResults/spv.deepRvalue.frag.out b/Test/baseResults/spv.deepRvalue.frag.out
index 334a727..4561f02 100644
--- a/Test/baseResults/spv.deepRvalue.frag.out
+++ b/Test/baseResults/spv.deepRvalue.frag.out
@@ -1,6 +1,6 @@
 spv.deepRvalue.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 152
 
                               Capability Shader
diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out
index a019710..12ac32c 100755
--- a/Test/baseResults/spv.depthOut.frag.out
+++ b/Test/baseResults/spv.depthOut.frag.out
@@ -1,6 +1,6 @@
 spv.depthOut.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 15
 
                               Capability Shader
diff --git a/Test/baseResults/spv.deviceGroup.frag.out b/Test/baseResults/spv.deviceGroup.frag.out
index 8244df0..1761c92 100755
--- a/Test/baseResults/spv.deviceGroup.frag.out
+++ b/Test/baseResults/spv.deviceGroup.frag.out
@@ -1,6 +1,6 @@
 spv.deviceGroup.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 17
 
                               Capability Shader
diff --git a/Test/baseResults/spv.discard-dce.frag.out b/Test/baseResults/spv.discard-dce.frag.out
index 5013bd3..770199b 100755
--- a/Test/baseResults/spv.discard-dce.frag.out
+++ b/Test/baseResults/spv.discard-dce.frag.out
@@ -1,6 +1,6 @@
 spv.discard-dce.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 84
 
                               Capability Shader
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
index 4043a21..f503be0 100755
--- a/Test/baseResults/spv.do-simple.vert.out
+++ b/Test/baseResults/spv.do-simple.vert.out
@@ -1,6 +1,6 @@
 spv.do-simple.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 21
 
                               Capability Shader
diff --git a/Test/baseResults/spv.do-while-continue-break.vert.out b/Test/baseResults/spv.do-while-continue-break.vert.out
index ab7bfd8..c6a8b86 100644
--- a/Test/baseResults/spv.do-while-continue-break.vert.out
+++ b/Test/baseResults/spv.do-while-continue-break.vert.out
@@ -1,6 +1,6 @@
 spv.do-while-continue-break.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 43
 
                               Capability Shader
diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out
index a279b0d..4cf8f09 100755
--- a/Test/baseResults/spv.doWhileLoop.frag.out
+++ b/Test/baseResults/spv.doWhileLoop.frag.out
@@ -1,6 +1,6 @@
 spv.doWhileLoop.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 34
 
                               Capability Shader
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
index 015de2f..52410d8 100755
--- a/Test/baseResults/spv.double.comp.out
+++ b/Test/baseResults/spv.double.comp.out
@@ -1,6 +1,6 @@
 spv.double.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 60
 
                               Capability Shader
diff --git a/Test/baseResults/spv.drawParams.vert.out b/Test/baseResults/spv.drawParams.vert.out
index 9a5f116..c5b29a3 100755
--- a/Test/baseResults/spv.drawParams.vert.out
+++ b/Test/baseResults/spv.drawParams.vert.out
@@ -1,6 +1,6 @@
 spv.drawParams.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 29
 
                               Capability Shader
diff --git a/Test/baseResults/spv.earlyReturnDiscard.frag.out b/Test/baseResults/spv.earlyReturnDiscard.frag.out
index af8d61a..61788aa 100755
--- a/Test/baseResults/spv.earlyReturnDiscard.frag.out
+++ b/Test/baseResults/spv.earlyReturnDiscard.frag.out
@@ -1,6 +1,6 @@
 spv.earlyReturnDiscard.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 110
 
                               Capability Shader
diff --git a/Test/baseResults/spv.extPostDepthCoverage.frag.out b/Test/baseResults/spv.extPostDepthCoverage.frag.out
index f273656..ca777e0 100644
--- a/Test/baseResults/spv.extPostDepthCoverage.frag.out
+++ b/Test/baseResults/spv.extPostDepthCoverage.frag.out
@@ -1,6 +1,6 @@
 spv.extPostDepthCoverage.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 6
 
                               Capability Shader
diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out
index 7eb2b68..004ba52 100644
--- a/Test/baseResults/spv.float16.frag.out
+++ b/Test/baseResults/spv.float16.frag.out
@@ -1,6 +1,6 @@
 spv.float16.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 534
 
                               Capability Shader
diff --git a/Test/baseResults/spv.flowControl.frag.out b/Test/baseResults/spv.flowControl.frag.out
index cf13a5e..ca04e07 100755
--- a/Test/baseResults/spv.flowControl.frag.out
+++ b/Test/baseResults/spv.flowControl.frag.out
@@ -1,6 +1,6 @@
 spv.flowControl.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/spv.for-complex-condition.vert.out b/Test/baseResults/spv.for-complex-condition.vert.out
index 7628291..0bea463 100644
--- a/Test/baseResults/spv.for-complex-condition.vert.out
+++ b/Test/baseResults/spv.for-complex-condition.vert.out
@@ -1,6 +1,6 @@
 spv.for-complex-condition.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Shader
diff --git a/Test/baseResults/spv.for-continue-break.vert.out b/Test/baseResults/spv.for-continue-break.vert.out
index fcf9bbb..98c8fd0 100644
--- a/Test/baseResults/spv.for-continue-break.vert.out
+++ b/Test/baseResults/spv.for-continue-break.vert.out
@@ -1,6 +1,6 @@
 spv.for-continue-break.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 45
 
                               Capability Shader
diff --git a/Test/baseResults/spv.for-nobody.vert.out b/Test/baseResults/spv.for-nobody.vert.out
index 810d776..919c71a 100644
--- a/Test/baseResults/spv.for-nobody.vert.out
+++ b/Test/baseResults/spv.for-nobody.vert.out
@@ -1,6 +1,6 @@
 spv.for-nobody.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 25
 
                               Capability Shader
diff --git a/Test/baseResults/spv.for-notest.vert.out b/Test/baseResults/spv.for-notest.vert.out
index 70697ad..b2e574c 100644
--- a/Test/baseResults/spv.for-notest.vert.out
+++ b/Test/baseResults/spv.for-notest.vert.out
@@ -1,6 +1,6 @@
 spv.for-notest.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 20
 
                               Capability Shader
diff --git a/Test/baseResults/spv.for-simple.vert.out b/Test/baseResults/spv.for-simple.vert.out
index 7aaa17e..945668c 100755
--- a/Test/baseResults/spv.for-simple.vert.out
+++ b/Test/baseResults/spv.for-simple.vert.out
@@ -1,6 +1,6 @@
 spv.for-simple.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24
 
                               Capability Shader
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
index 80000b0..6095a45 100755
--- a/Test/baseResults/spv.forLoop.frag.out
+++ b/Test/baseResults/spv.forLoop.frag.out
@@ -1,6 +1,6 @@
 spv.forLoop.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 131
 
                               Capability Shader
diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out
index f5b7c02..06d76bf 100755
--- a/Test/baseResults/spv.forwardFun.frag.out
+++ b/Test/baseResults/spv.forwardFun.frag.out
@@ -1,6 +1,6 @@
 spv.forwardFun.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 60
 
                               Capability Shader
diff --git a/Test/baseResults/spv.functionCall.frag.out b/Test/baseResults/spv.functionCall.frag.out
index c69570b..c9762d9 100755
--- a/Test/baseResults/spv.functionCall.frag.out
+++ b/Test/baseResults/spv.functionCall.frag.out
@@ -4,7 +4,7 @@
 WARNING: 0:5: varying deprecated in version 130; may be removed in future release
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 76
 
                               Capability Shader
diff --git a/Test/baseResults/spv.functionNestedOpaque.vert.out b/Test/baseResults/spv.functionNestedOpaque.vert.out
index cc1d6d4..71f994e 100644
--- a/Test/baseResults/spv.functionNestedOpaque.vert.out
+++ b/Test/baseResults/spv.functionNestedOpaque.vert.out
@@ -1,6 +1,6 @@
 spv.functionNestedOpaque.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out
index 7e02e8b..e81cb30 100755
--- a/Test/baseResults/spv.functionSemantics.frag.out
+++ b/Test/baseResults/spv.functionSemantics.frag.out
@@ -1,6 +1,6 @@
 spv.functionSemantics.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 156
 
                               Capability Shader
diff --git a/Test/baseResults/spv.glFragColor.frag.out b/Test/baseResults/spv.glFragColor.frag.out
index 737566a..15f7765 100755
--- a/Test/baseResults/spv.glFragColor.frag.out
+++ b/Test/baseResults/spv.glFragColor.frag.out
@@ -1,6 +1,6 @@
 spv.glFragColor.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 12
 
                               Capability Shader
diff --git a/Test/baseResults/spv.glsl.register.autoassign.frag.out b/Test/baseResults/spv.glsl.register.autoassign.frag.out
index d1dea9e..e26fd6a 100644
--- a/Test/baseResults/spv.glsl.register.autoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.autoassign.frag.out
@@ -1,6 +1,6 @@
 spv.glsl.register.autoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 142
 
                               Capability Shader
diff --git a/Test/baseResults/spv.glsl.register.noautoassign.frag.out b/Test/baseResults/spv.glsl.register.noautoassign.frag.out
index a82042d..5fd0596 100644
--- a/Test/baseResults/spv.glsl.register.noautoassign.frag.out
+++ b/Test/baseResults/spv.glsl.register.noautoassign.frag.out
@@ -1,6 +1,6 @@
 spv.glsl.register.noautoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 142
 
                               Capability Shader
diff --git a/Test/baseResults/spv.hlslDebugInfo.frag.out b/Test/baseResults/spv.hlslDebugInfo.frag.out
index 571e594..9eddfdf 100644
--- a/Test/baseResults/spv.hlslDebugInfo.frag.out
+++ b/Test/baseResults/spv.hlslDebugInfo.frag.out
@@ -1,6 +1,6 @@
 spv.hlslDebugInfo.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 19
 
                               Capability Shader
diff --git a/Test/baseResults/spv.hlslOffsets.vert.out b/Test/baseResults/spv.hlslOffsets.vert.out
index bdc24b3..f96a629 100644
--- a/Test/baseResults/spv.hlslOffsets.vert.out
+++ b/Test/baseResults/spv.hlslOffsets.vert.out
@@ -18,7 +18,7 @@
 0:?     'anon@0' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float m0, layout( column_major std430) buffer highp 3-component vector of float m4, layout( column_major std430) buffer highp float m16, layout( column_major std430 offset=20) buffer highp 3-component vector of float m20, layout( column_major std430) buffer highp 3-component vector of float m32, layout( column_major std430) buffer highp 2-component vector of float m48, layout( column_major std430) buffer highp 2-component vector of float m56, layout( column_major std430) buffer highp float m64, layout( column_major std430) buffer highp 2-component vector of float m68, layout( column_major std430) buffer highp float m76, layout( column_major std430) buffer highp float m80, layout( column_major std430 offset=88) buffer highp 2-component vector of float m88, layout( column_major std430) buffer highp 2-component vector of float m96, layout( column_major std430) buffer 2-component vector of double m112})
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 14
 
                               Capability Shader
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index d645f2a..6e35b36 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -1,6 +1,6 @@
 spv.image.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 376
 
                               Capability Shader
diff --git a/Test/baseResults/spv.imageLoadStoreLod.frag.out b/Test/baseResults/spv.imageLoadStoreLod.frag.out
index 0f16430..50b04a8 100644
--- a/Test/baseResults/spv.imageLoadStoreLod.frag.out
+++ b/Test/baseResults/spv.imageLoadStoreLod.frag.out
@@ -1,6 +1,6 @@
 spv.imageLoadStoreLod.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 82
 
                               Capability Shader
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index 7442cff..6cc6070 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,6 +1,6 @@
 spv.int16.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 561
 
                               Capability Shader
diff --git a/Test/baseResults/spv.int64.frag.out b/Test/baseResults/spv.int64.frag.out
index c272660..3c6dc85 100644
--- a/Test/baseResults/spv.int64.frag.out
+++ b/Test/baseResults/spv.int64.frag.out
@@ -1,6 +1,6 @@
 spv.int64.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 480
 
                               Capability Shader
diff --git a/Test/baseResults/spv.intOps.vert.out b/Test/baseResults/spv.intOps.vert.out
index 7e846d6..33e57bf 100644
--- a/Test/baseResults/spv.intOps.vert.out
+++ b/Test/baseResults/spv.intOps.vert.out
@@ -1,6 +1,6 @@
 spv.intOps.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 268
 
                               Capability Shader
diff --git a/Test/baseResults/spv.interpOps.frag.out b/Test/baseResults/spv.interpOps.frag.out
index ebe9716..05e7f62 100644
--- a/Test/baseResults/spv.interpOps.frag.out
+++ b/Test/baseResults/spv.interpOps.frag.out
@@ -1,6 +1,6 @@
 spv.interpOps.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 100
 
                               Capability Shader
diff --git a/Test/baseResults/spv.layoutNested.vert.out b/Test/baseResults/spv.layoutNested.vert.out
index 533f594..3e73b84 100644
--- a/Test/baseResults/spv.layoutNested.vert.out
+++ b/Test/baseResults/spv.layoutNested.vert.out
@@ -1,6 +1,6 @@
 spv.layoutNested.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 66
 
                               Capability Shader
diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out
index b3564d8..2bb07e2 100755
--- a/Test/baseResults/spv.length.frag.out
+++ b/Test/baseResults/spv.length.frag.out
@@ -1,6 +1,6 @@
 spv.length.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 33
 
                               Capability Shader
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
index c9dbc30..b59dfd8 100755
--- a/Test/baseResults/spv.localAggregates.frag.out
+++ b/Test/baseResults/spv.localAggregates.frag.out
@@ -1,6 +1,6 @@
 spv.localAggregates.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 136
 
                               Capability Shader
diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out
index 2e7ef97..7ce2c1c 100755
--- a/Test/baseResults/spv.loops.frag.out
+++ b/Test/baseResults/spv.loops.frag.out
@@ -1,6 +1,6 @@
 spv.loops.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 725
 
                               Capability Shader
diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out
index 91791c2..a2339bd 100755
--- a/Test/baseResults/spv.loopsArtificial.frag.out
+++ b/Test/baseResults/spv.loopsArtificial.frag.out
@@ -1,6 +1,6 @@
 spv.loopsArtificial.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 158
 
                               Capability Shader
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
index 4d863c8..832f38e 100755
--- a/Test/baseResults/spv.matFun.vert.out
+++ b/Test/baseResults/spv.matFun.vert.out
@@ -1,6 +1,6 @@
 spv.matFun.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 103
 
                               Capability Shader
diff --git a/Test/baseResults/spv.matrix.frag.out b/Test/baseResults/spv.matrix.frag.out
index 872642f..1ac5ad5 100644
--- a/Test/baseResults/spv.matrix.frag.out
+++ b/Test/baseResults/spv.matrix.frag.out
@@ -1,6 +1,6 @@
 spv.matrix.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 286
 
                               Capability Shader
diff --git a/Test/baseResults/spv.matrix2.frag.out b/Test/baseResults/spv.matrix2.frag.out
index 78facff..b6d7473 100644
--- a/Test/baseResults/spv.matrix2.frag.out
+++ b/Test/baseResults/spv.matrix2.frag.out
@@ -1,6 +1,6 @@
 spv.matrix2.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 221
 
                               Capability Shader
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index c041a52..b1ae8df 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -1,6 +1,6 @@
 spv.memoryQualifier.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 97
 
                               Capability Shader
diff --git a/Test/baseResults/spv.merge-unreachable.frag.out b/Test/baseResults/spv.merge-unreachable.frag.out
index 678c5e4..24c0f4b 100644
--- a/Test/baseResults/spv.merge-unreachable.frag.out
+++ b/Test/baseResults/spv.merge-unreachable.frag.out
@@ -1,6 +1,6 @@
 spv.merge-unreachable.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 25
 
                               Capability Shader
diff --git a/Test/baseResults/spv.multiStruct.comp.out b/Test/baseResults/spv.multiStruct.comp.out
index c7af141..04e9c3a 100755
--- a/Test/baseResults/spv.multiStruct.comp.out
+++ b/Test/baseResults/spv.multiStruct.comp.out
@@ -1,6 +1,6 @@
 spv.multiStruct.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 161
 
                               Capability Shader
diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out
index 8609b3a..195f20f 100755
--- a/Test/baseResults/spv.multiStructFuncall.frag.out
+++ b/Test/baseResults/spv.multiStructFuncall.frag.out
@@ -1,6 +1,6 @@
 spv.multiStructFuncall.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 63
 
                               Capability Shader
diff --git a/Test/baseResults/spv.multiView.frag.out b/Test/baseResults/spv.multiView.frag.out
index ba9e2d3..0633a12 100755
--- a/Test/baseResults/spv.multiView.frag.out
+++ b/Test/baseResults/spv.multiView.frag.out
@@ -1,6 +1,6 @@
 spv.multiView.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 17
 
                               Capability Shader
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
index 31d8c51..b3ed72c 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
@@ -1,6 +1,6 @@
 spv.multiviewPerViewAttributes.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 37
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
index 3764935..f4a589e 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.vert.out
@@ -1,6 +1,6 @@
 spv.multiviewPerViewAttributes.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 29
 
                               Capability Shader
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
index d53fcb6..4d3f4c7 100755
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -1,6 +1,6 @@
 spv.newTexture.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 284
 
                               Capability Shader
diff --git a/Test/baseResults/spv.noBuiltInLoc.vert.out b/Test/baseResults/spv.noBuiltInLoc.vert.out
index d6cbeaa..6cdc321 100644
--- a/Test/baseResults/spv.noBuiltInLoc.vert.out
+++ b/Test/baseResults/spv.noBuiltInLoc.vert.out
@@ -1,6 +1,6 @@
 spv.noBuiltInLoc.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 33
 
                               Capability Shader
diff --git a/Test/baseResults/spv.noDeadDecorations.vert.out b/Test/baseResults/spv.noDeadDecorations.vert.out
index 39c2343..cba32b5 100644
--- a/Test/baseResults/spv.noDeadDecorations.vert.out
+++ b/Test/baseResults/spv.noDeadDecorations.vert.out
@@ -1,6 +1,6 @@
 spv.noDeadDecorations.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 32
 
                               Capability Shader
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
index d101b4f..97e7119 100755
--- a/Test/baseResults/spv.noWorkgroup.comp.out
+++ b/Test/baseResults/spv.noWorkgroup.comp.out
@@ -1,6 +1,6 @@
 spv.noWorkgroup.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 12
 
                               Capability Shader
diff --git a/Test/baseResults/spv.nonSquare.vert.out b/Test/baseResults/spv.nonSquare.vert.out
index 684d4f1..ca47252 100755
--- a/Test/baseResults/spv.nonSquare.vert.out
+++ b/Test/baseResults/spv.nonSquare.vert.out
@@ -1,6 +1,6 @@
 spv.nonSquare.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 90
 
                               Capability Shader
diff --git a/Test/baseResults/spv.offsets.frag.out b/Test/baseResults/spv.offsets.frag.out
index ebfa741..f9b0144 100755
--- a/Test/baseResults/spv.offsets.frag.out
+++ b/Test/baseResults/spv.offsets.frag.out
@@ -1,6 +1,6 @@
 spv.offsets.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 15
 
                               Capability Shader
diff --git a/Test/baseResults/spv.paramMemory.frag.out b/Test/baseResults/spv.paramMemory.frag.out
index 8b98b49..28d96bb 100755
--- a/Test/baseResults/spv.paramMemory.frag.out
+++ b/Test/baseResults/spv.paramMemory.frag.out
@@ -1,6 +1,6 @@
 spv.paramMemory.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 69
 
                               Capability Shader
diff --git a/Test/baseResults/spv.precise.tesc.out b/Test/baseResults/spv.precise.tesc.out
index 1b5cd0c..91c2f35 100644
--- a/Test/baseResults/spv.precise.tesc.out
+++ b/Test/baseResults/spv.precise.tesc.out
@@ -1,6 +1,6 @@
 spv.precise.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 72
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.precise.tese.out b/Test/baseResults/spv.precise.tese.out
index 4e7b28a..c05ced4 100644
--- a/Test/baseResults/spv.precise.tese.out
+++ b/Test/baseResults/spv.precise.tese.out
@@ -1,6 +1,6 @@
 spv.precise.tese
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 119
 
                               Capability Tessellation
diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out
index 9cac37e..2284108 100755
--- a/Test/baseResults/spv.precision.frag.out
+++ b/Test/baseResults/spv.precision.frag.out
@@ -1,6 +1,6 @@
 spv.precision.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 127
 
                               Capability Shader
diff --git a/Test/baseResults/spv.precisionNonESSamp.frag.out b/Test/baseResults/spv.precisionNonESSamp.frag.out
new file mode 100755
index 0000000..5bb1dee
--- /dev/null
+++ b/Test/baseResults/spv.precisionNonESSamp.frag.out
@@ -0,0 +1,98 @@
+spv.precisionNonESSamp.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 47
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 9 17 27 39
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              Name 4  "main"
+                              Name 9  "color"
+                              Name 13  "s"
+                              Name 17  "v2"
+                              Name 23  "t"
+                              Name 27  "v3"
+                              Name 31  "vi1"
+                              Name 34  "i1"
+                              Name 39  "iv2"
+                              Name 42  "vi2"
+                              Name 43  "i2"
+                              Decorate 9(color) RelaxedPrecision
+                              Decorate 9(color) Location 0
+                              Decorate 13(s) RelaxedPrecision
+                              Decorate 13(s) DescriptorSet 0
+                              Decorate 14 RelaxedPrecision
+                              Decorate 17(v2) RelaxedPrecision
+                              Decorate 17(v2) Location 0
+                              Decorate 18 RelaxedPrecision
+                              Decorate 19 RelaxedPrecision
+                              Decorate 23(t) DescriptorSet 0
+                              Decorate 27(v3) RelaxedPrecision
+                              Decorate 27(v3) Location 1
+                              Decorate 28 RelaxedPrecision
+                              Decorate 31(vi1) RelaxedPrecision
+                              Decorate 34(i1) RelaxedPrecision
+                              Decorate 34(i1) DescriptorSet 0
+                              Decorate 35 RelaxedPrecision
+                              Decorate 39(iv2) RelaxedPrecision
+                              Decorate 39(iv2) Flat
+                              Decorate 39(iv2) Location 3
+                              Decorate 40 RelaxedPrecision
+                              Decorate 41 RelaxedPrecision
+                              Decorate 42(vi2) RelaxedPrecision
+                              Decorate 43(i2) DescriptorSet 0
+                              Decorate 45 RelaxedPrecision
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Output 7(fvec4)
+        9(color):      8(ptr) Variable Output
+              10:             TypeImage 6(float) 2D sampled format:Unknown
+              11:             TypeSampledImage 10
+              12:             TypePointer UniformConstant 11
+           13(s):     12(ptr) Variable UniformConstant
+              15:             TypeVector 6(float) 2
+              16:             TypePointer Input 15(fvec2)
+          17(v2):     16(ptr) Variable Input
+              20:             TypeImage 6(float) 3D sampled format:Unknown
+              21:             TypeSampledImage 20
+              22:             TypePointer UniformConstant 21
+           23(t):     22(ptr) Variable UniformConstant
+              25:             TypeVector 6(float) 3
+              26:             TypePointer Input 25(fvec3)
+          27(v3):     26(ptr) Variable Input
+              30:             TypePointer Function 7(fvec4)
+              32:             TypeImage 6(float) 2D nonsampled format:Rgba32f
+              33:             TypePointer UniformConstant 32
+          34(i1):     33(ptr) Variable UniformConstant
+              36:             TypeInt 32 1
+              37:             TypeVector 36(int) 2
+              38:             TypePointer Input 37(ivec2)
+         39(iv2):     38(ptr) Variable Input
+          43(i2):     33(ptr) Variable UniformConstant
+         4(main):           2 Function None 3
+               5:             Label
+         31(vi1):     30(ptr) Variable Function
+         42(vi2):     30(ptr) Variable Function
+              14:          11 Load 13(s)
+              18:   15(fvec2) Load 17(v2)
+              19:    7(fvec4) ImageSampleImplicitLod 14 18
+                              Store 9(color) 19
+              24:          21 Load 23(t)
+              28:   25(fvec3) Load 27(v3)
+              29:    7(fvec4) ImageSampleImplicitLod 24 28
+                              Store 9(color) 29
+              35:          32 Load 34(i1)
+              40:   37(ivec2) Load 39(iv2)
+              41:    7(fvec4) ImageRead 35 40
+                              Store 31(vi1) 41
+              44:          32 Load 43(i2)
+              45:   37(ivec2) Load 39(iv2)
+              46:    7(fvec4) ImageRead 44 45
+                              Store 42(vi2) 46
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out
index 0913543..68a6909 100755
--- a/Test/baseResults/spv.prepost.frag.out
+++ b/Test/baseResults/spv.prepost.frag.out
@@ -1,6 +1,6 @@
 spv.prepost.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 94
 
                               Capability Shader
diff --git a/Test/baseResults/spv.pushConstant.vert.out b/Test/baseResults/spv.pushConstant.vert.out
index bfef883..e86320f 100644
--- a/Test/baseResults/spv.pushConstant.vert.out
+++ b/Test/baseResults/spv.pushConstant.vert.out
@@ -1,6 +1,6 @@
 spv.pushConstant.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 35
 
                               Capability Shader
diff --git a/Test/baseResults/spv.pushConstantAnon.vert.out b/Test/baseResults/spv.pushConstantAnon.vert.out
index 398ef05..37e61ae 100755
--- a/Test/baseResults/spv.pushConstantAnon.vert.out
+++ b/Test/baseResults/spv.pushConstantAnon.vert.out
@@ -1,6 +1,6 @@
 spv.pushConstantAnon.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 38
 
                               Capability Shader
diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out
index e9edbe4..fa51edc 100755
--- a/Test/baseResults/spv.qualifiers.vert.out
+++ b/Test/baseResults/spv.qualifiers.vert.out
@@ -1,6 +1,6 @@
 spv.qualifiers.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 21
 
                               Capability Shader
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
index c06d877..419d213 100755
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -1,6 +1,6 @@
 spv.queryL.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 224
 
                               Capability Shader
diff --git a/Test/baseResults/spv.register.autoassign-2.frag.out b/Test/baseResults/spv.register.autoassign-2.frag.out
index 988cd0c..14040df 100644
--- a/Test/baseResults/spv.register.autoassign-2.frag.out
+++ b/Test/baseResults/spv.register.autoassign-2.frag.out
@@ -1,6 +1,6 @@
 spv.register.autoassign-2.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 47
 
                               Capability Shader
diff --git a/Test/baseResults/spv.register.autoassign.frag.out b/Test/baseResults/spv.register.autoassign.frag.out
index 6516d4f..8540253 100644
--- a/Test/baseResults/spv.register.autoassign.frag.out
+++ b/Test/baseResults/spv.register.autoassign.frag.out
@@ -1,6 +1,6 @@
 spv.register.autoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 155
 
                               Capability Shader
diff --git a/Test/baseResults/spv.register.noautoassign.frag.out b/Test/baseResults/spv.register.noautoassign.frag.out
index 482e558..a633993 100644
--- a/Test/baseResults/spv.register.noautoassign.frag.out
+++ b/Test/baseResults/spv.register.noautoassign.frag.out
@@ -1,6 +1,6 @@
 spv.register.noautoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 155
 
                               Capability Shader
diff --git a/Test/baseResults/spv.register.subpass.frag.out b/Test/baseResults/spv.register.subpass.frag.out
new file mode 100644
index 0000000..2a22326
--- /dev/null
+++ b/Test/baseResults/spv.register.subpass.frag.out
@@ -0,0 +1,75 @@
+spv.register.subpass.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 40
+
+                              Capability Shader
+                              Capability InputAttachment
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 38
+                              ExecutionMode 4 OriginUpperLeft
+                              Source HLSL 500
+                              Name 4  "main"
+                              Name 9  "@main("
+                              Name 12  "result00"
+                              Name 15  "subpass_f4"
+                              Name 22  "result10"
+                              Name 25  "subpass_ms_f4"
+                              Name 29  "result73"
+                              Name 30  "subpass_2"
+                              Name 38  "@entryPointOutput"
+                              Decorate 15(subpass_f4) DescriptorSet 0
+                              Decorate 15(subpass_f4) Binding 21
+                              Decorate 15(subpass_f4) InputAttachmentIndex 1
+                              Decorate 25(subpass_ms_f4) DescriptorSet 0
+                              Decorate 25(subpass_ms_f4) Binding 20
+                              Decorate 25(subpass_ms_f4) InputAttachmentIndex 4
+                              Decorate 30(subpass_2) DescriptorSet 0
+                              Decorate 30(subpass_2) Binding 22
+                              Decorate 30(subpass_2) InputAttachmentIndex 7
+                              Decorate 38(@entryPointOutput) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeFunction 7(fvec4)
+              11:             TypePointer Function 7(fvec4)
+              13:             TypeImage 6(float) SubpassData nonsampled format:Unknown
+              14:             TypePointer UniformConstant 13
+  15(subpass_f4):     14(ptr) Variable UniformConstant
+              17:             TypeInt 32 1
+              18:     17(int) Constant 0
+              19:             TypeVector 17(int) 2
+              20:   19(ivec2) ConstantComposite 18 18
+              23:             TypeImage 6(float) SubpassData multi-sampled nonsampled format:Unknown
+              24:             TypePointer UniformConstant 23
+25(subpass_ms_f4):     24(ptr) Variable UniformConstant
+              27:     17(int) Constant 3
+   30(subpass_2):     14(ptr) Variable UniformConstant
+              33:    6(float) Constant 0
+              34:    7(fvec4) ConstantComposite 33 33 33 33
+              37:             TypePointer Output 7(fvec4)
+38(@entryPointOutput):     37(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+              39:    7(fvec4) FunctionCall 9(@main()
+                              Store 38(@entryPointOutput) 39
+                              Return
+                              FunctionEnd
+       9(@main():    7(fvec4) Function None 8
+              10:             Label
+    12(result00):     11(ptr) Variable Function
+    22(result10):     11(ptr) Variable Function
+    29(result73):     11(ptr) Variable Function
+              16:          13 Load 15(subpass_f4)
+              21:    7(fvec4) ImageRead 16 20
+                              Store 12(result00) 21
+              26:          23 Load 25(subpass_ms_f4)
+              28:    7(fvec4) ImageRead 26 20 Sample 27
+                              Store 22(result10) 28
+              31:          13 Load 30(subpass_2)
+              32:    7(fvec4) ImageRead 31 20
+                              Store 29(result73) 32
+                              ReturnValue 34
+                              FunctionEnd
diff --git a/Test/baseResults/spv.rw.autoassign.frag.out b/Test/baseResults/spv.rw.autoassign.frag.out
index 6121b9b..ecca761 100644
--- a/Test/baseResults/spv.rw.autoassign.frag.out
+++ b/Test/baseResults/spv.rw.autoassign.frag.out
@@ -1,6 +1,6 @@
 spv.rw.autoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 42
 
                               Capability Shader
diff --git a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
index 315a60d..3a974fb 100644
--- a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
+++ b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
@@ -1,6 +1,6 @@
 spv.sampleMaskOverrideCoverage.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 20
 
                               Capability Shader
diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out
index 3807242..0e6243b 100644
--- a/Test/baseResults/spv.separate.frag.out
+++ b/Test/baseResults/spv.separate.frag.out
@@ -1,6 +1,6 @@
 spv.separate.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 319
 
                               Capability Shader
diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out
index 6814879..530b554 100755
--- a/Test/baseResults/spv.set.vert.out
+++ b/Test/baseResults/spv.set.vert.out
@@ -1,6 +1,6 @@
 spv.set.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shaderBallot.comp.out b/Test/baseResults/spv.shaderBallot.comp.out
index 45c21d9..8be7a06 100644
--- a/Test/baseResults/spv.shaderBallot.comp.out
+++ b/Test/baseResults/spv.shaderBallot.comp.out
@@ -1,6 +1,6 @@
 spv.shaderBallot.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 298
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out
index b6b57ec..51a52f3 100644
--- a/Test/baseResults/spv.shaderBallotAMD.comp.out
+++ b/Test/baseResults/spv.shaderBallotAMD.comp.out
@@ -1,6 +1,6 @@
 spv.shaderBallotAMD.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 1048
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shaderDrawParams.vert.out b/Test/baseResults/spv.shaderDrawParams.vert.out
index fbce2d2..36c5ca5 100644
--- a/Test/baseResults/spv.shaderDrawParams.vert.out
+++ b/Test/baseResults/spv.shaderDrawParams.vert.out
@@ -1,6 +1,6 @@
 spv.shaderDrawParams.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 53
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shaderFragMaskAMD.frag.out b/Test/baseResults/spv.shaderFragMaskAMD.frag.out
new file mode 100644
index 0000000..56081b1
--- /dev/null
+++ b/Test/baseResults/spv.shaderFragMaskAMD.frag.out
@@ -0,0 +1,122 @@
+spv.shaderFragMaskAMD.frag
+// Module Version 10000
+// Generated by (magic number): 80002
+// Id's are bound by 80
+
+                              Capability Shader
+                              Capability InputAttachment
+                              Capability FragmentMaskAMD
+                              Extension  "SPV_AMD_shader_fragment_mask"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 78
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_AMD_shader_fragment_mask"
+                              Name 4  "main"
+                              Name 9  "f4"
+                              Name 14  "fragMask"
+                              Name 18  "s2DMS"
+                              Name 27  "fragIndex"
+                              Name 42  "is2DMSArray"
+                              Name 62  "usubpassMS"
+                              Name 78  "fragColor"
+                              Decorate 18(s2DMS) DescriptorSet 0
+                              Decorate 18(s2DMS) Binding 0
+                              Decorate 42(is2DMSArray) DescriptorSet 0
+                              Decorate 42(is2DMSArray) Binding 1
+                              Decorate 62(usubpassMS) DescriptorSet 0
+                              Decorate 62(usubpassMS) Binding 2
+                              Decorate 62(usubpassMS) InputAttachmentIndex 0
+                              Decorate 78(fragColor) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypePointer Function 7(fvec4)
+              10:    6(float) Constant 0
+              11:    7(fvec4) ConstantComposite 10 10 10 10
+              12:             TypeInt 32 0
+              13:             TypePointer Function 12(int)
+              15:             TypeImage 6(float) 2D multi-sampled sampled format:Unknown
+              16:             TypeSampledImage 15
+              17:             TypePointer UniformConstant 16
+       18(s2DMS):     17(ptr) Variable UniformConstant
+              20:             TypeInt 32 1
+              21:             TypeVector 20(int) 2
+              22:     20(int) Constant 2
+              23:     20(int) Constant 3
+              24:   21(ivec2) ConstantComposite 22 23
+              29:     12(int) Constant 240
+              31:     20(int) Constant 4
+              34:     12(int) Constant 1
+              39:             TypeImage 20(int) 2D array multi-sampled sampled format:Unknown
+              40:             TypeSampledImage 39
+              41:             TypePointer UniformConstant 40
+ 42(is2DMSArray):     41(ptr) Variable UniformConstant
+              44:             TypeVector 20(int) 3
+              45:     20(int) Constant 1
+              46:   44(ivec3) ConstantComposite 22 23 45
+              55:             TypeVector 20(int) 4
+              60:             TypeImage 12(int) SubpassData multi-sampled nonsampled format:Unknown
+              61:             TypePointer UniformConstant 60
+  62(usubpassMS):     61(ptr) Variable UniformConstant
+              64:     20(int) Constant 0
+              65:   21(ivec2) ConstantComposite 64 64
+              72:             TypeVector 12(int) 4
+              77:             TypePointer Output 7(fvec4)
+   78(fragColor):     77(ptr) Variable Output
+         4(main):           2 Function None 3
+               5:             Label
+           9(f4):      8(ptr) Variable Function
+    14(fragMask):     13(ptr) Variable Function
+   27(fragIndex):     13(ptr) Variable Function
+                              Store 9(f4) 11
+              19:          16 Load 18(s2DMS)
+              25:          15 Image 19
+              26:     12(int) FragmentMaskFetchAMD 25 24
+                              Store 14(fragMask) 26
+              28:     12(int) Load 14(fragMask)
+              30:     12(int) BitwiseAnd 28 29
+              32:     12(int) ShiftRightLogical 30 31
+                              Store 27(fragIndex) 32
+              33:          16 Load 18(s2DMS)
+              35:          15 Image 33
+              36:    7(fvec4) FragmentFetchAMD 35 24 34
+              37:    7(fvec4) Load 9(f4)
+              38:    7(fvec4) FAdd 37 36
+                              Store 9(f4) 38
+              43:          40 Load 42(is2DMSArray)
+              47:          39 Image 43
+              48:     12(int) FragmentMaskFetchAMD 47 46
+                              Store 14(fragMask) 48
+              49:     12(int) Load 14(fragMask)
+              50:     12(int) BitwiseAnd 49 29
+              51:     12(int) ShiftRightLogical 50 31
+                              Store 27(fragIndex) 51
+              52:          40 Load 42(is2DMSArray)
+              53:     12(int) Load 27(fragIndex)
+              54:          39 Image 52
+              56:   55(ivec4) FragmentFetchAMD 54 46 53
+              57:    7(fvec4) ConvertSToF 56
+              58:    7(fvec4) Load 9(f4)
+              59:    7(fvec4) FAdd 58 57
+                              Store 9(f4) 59
+              63:          60 Load 62(usubpassMS)
+              66:     12(int) FragmentMaskFetchAMD 63 65
+                              Store 14(fragMask) 66
+              67:     12(int) Load 14(fragMask)
+              68:     12(int) BitwiseAnd 67 29
+              69:     12(int) ShiftRightLogical 68 31
+                              Store 27(fragIndex) 69
+              70:          60 Load 62(usubpassMS)
+              71:     12(int) Load 27(fragIndex)
+              73:   72(ivec4) FragmentFetchAMD 70 65 71
+              74:    7(fvec4) ConvertUToF 73
+              75:    7(fvec4) Load 9(f4)
+              76:    7(fvec4) FAdd 75 74
+                              Store 9(f4) 76
+              79:    7(fvec4) Load 9(f4)
+                              Store 78(fragColor) 79
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.shaderGroupVote.comp.out b/Test/baseResults/spv.shaderGroupVote.comp.out
index ed76187..abd1804 100644
--- a/Test/baseResults/spv.shaderGroupVote.comp.out
+++ b/Test/baseResults/spv.shaderGroupVote.comp.out
@@ -1,6 +1,6 @@
 spv.shaderGroupVote.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 33
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shaderStencilExport.frag.out b/Test/baseResults/spv.shaderStencilExport.frag.out
index b0774de..a126e96 100644
--- a/Test/baseResults/spv.shaderStencilExport.frag.out
+++ b/Test/baseResults/spv.shaderStencilExport.frag.out
@@ -1,6 +1,6 @@
 spv.shaderStencilExport.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 10
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shiftOps.frag.out b/Test/baseResults/spv.shiftOps.frag.out
index 1381ea9..b2bfcad 100644
--- a/Test/baseResults/spv.shiftOps.frag.out
+++ b/Test/baseResults/spv.shiftOps.frag.out
@@ -1,6 +1,6 @@
 spv.shiftOps.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 38
 
                               Capability Shader
diff --git a/Test/baseResults/spv.shortCircuit.frag.out b/Test/baseResults/spv.shortCircuit.frag.out
index 9318785..33eec77 100644
--- a/Test/baseResults/spv.shortCircuit.frag.out
+++ b/Test/baseResults/spv.shortCircuit.frag.out
@@ -1,6 +1,6 @@
 spv.shortCircuit.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 147
 
                               Capability Shader
diff --git a/Test/baseResults/spv.simpleFunctionCall.frag.out b/Test/baseResults/spv.simpleFunctionCall.frag.out
index 857c2c2..62b4255 100755
--- a/Test/baseResults/spv.simpleFunctionCall.frag.out
+++ b/Test/baseResults/spv.simpleFunctionCall.frag.out
@@ -1,6 +1,6 @@
 spv.simpleFunctionCall.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 19
 
                               Capability Shader
diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out
index 2cad631..56933e4 100755
--- a/Test/baseResults/spv.simpleMat.vert.out
+++ b/Test/baseResults/spv.simpleMat.vert.out
@@ -2,7 +2,7 @@
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 39
 
                               Capability Shader
diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out
index b57b87c..376a874 100644
--- a/Test/baseResults/spv.sparseTexture.frag.out
+++ b/Test/baseResults/spv.sparseTexture.frag.out
@@ -1,6 +1,6 @@
 spv.sparseTexture.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 438
 
                               Capability Shader
diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out
index c716efd..21f9583 100644
--- a/Test/baseResults/spv.sparseTextureClamp.frag.out
+++ b/Test/baseResults/spv.sparseTextureClamp.frag.out
@@ -1,6 +1,6 @@
 spv.sparseTextureClamp.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 360
 
                               Capability Shader
diff --git a/Test/baseResults/spv.specConst.vert.out b/Test/baseResults/spv.specConst.vert.out
index 720d0a9..766bdaf 100755
--- a/Test/baseResults/spv.specConst.vert.out
+++ b/Test/baseResults/spv.specConst.vert.out
@@ -1,6 +1,6 @@
 spv.specConst.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
diff --git a/Test/baseResults/spv.specConstant.comp.out b/Test/baseResults/spv.specConstant.comp.out
index 8db9ebe..de8411b 100644
--- a/Test/baseResults/spv.specConstant.comp.out
+++ b/Test/baseResults/spv.specConstant.comp.out
@@ -1,6 +1,6 @@
 spv.specConstant.comp
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
diff --git a/Test/baseResults/spv.specConstant.vert.out b/Test/baseResults/spv.specConstant.vert.out
index bcaa9fe..156497b 100644
--- a/Test/baseResults/spv.specConstant.vert.out
+++ b/Test/baseResults/spv.specConstant.vert.out
@@ -1,6 +1,6 @@
 spv.specConstant.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 81
 
                               Capability Shader
diff --git a/Test/baseResults/spv.specConstantComposite.vert.out b/Test/baseResults/spv.specConstantComposite.vert.out
index ec0dc4f..194f567 100644
--- a/Test/baseResults/spv.specConstantComposite.vert.out
+++ b/Test/baseResults/spv.specConstantComposite.vert.out
@@ -1,6 +1,6 @@
 spv.specConstantComposite.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 43
 
                               Capability Shader
diff --git a/Test/baseResults/spv.specConstantOperations.vert.out b/Test/baseResults/spv.specConstantOperations.vert.out
index 3fb61d4..429e068 100644
--- a/Test/baseResults/spv.specConstantOperations.vert.out
+++ b/Test/baseResults/spv.specConstantOperations.vert.out
@@ -1,6 +1,6 @@
 spv.specConstantOperations.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 162
 
                               Capability Shader
diff --git a/Test/baseResults/spv.ssbo.autoassign.frag.out b/Test/baseResults/spv.ssbo.autoassign.frag.out
index 6b7c723..02de2cb 100644
--- a/Test/baseResults/spv.ssbo.autoassign.frag.out
+++ b/Test/baseResults/spv.ssbo.autoassign.frag.out
@@ -1,6 +1,6 @@
 spv.ssbo.autoassign.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 99
 
                               Capability Shader
diff --git a/Test/baseResults/spv.ssboAlias.frag.out b/Test/baseResults/spv.ssboAlias.frag.out
index 22915d7..876646d 100755
--- a/Test/baseResults/spv.ssboAlias.frag.out
+++ b/Test/baseResults/spv.ssboAlias.frag.out
@@ -1,6 +1,6 @@
 spv.ssboAlias.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 46
 
                               Capability Shader
diff --git a/Test/baseResults/spv.stereoViewRendering.tesc.out b/Test/baseResults/spv.stereoViewRendering.tesc.out
index 8a83f9e..b2c9b39 100644
--- a/Test/baseResults/spv.stereoViewRendering.tesc.out
+++ b/Test/baseResults/spv.stereoViewRendering.tesc.out
@@ -1,83 +1,86 @@
 spv.stereoViewRendering.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 38
 
+                              Capability Geometry
                               Capability Tessellation
+                              Capability ShaderViewportIndexLayerNV
                               Capability ShaderViewportMaskNV
                               Capability ShaderStereoViewNV
+                              Extension  "SPV_EXT_shader_viewport_index_layer"
                               Extension  "SPV_NV_stereo_view_rendering"
                               Extension  "SPV_NV_viewport_array2"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint TessellationControl 4  "main" 16 18 32
+                              EntryPoint TessellationControl 4  "main" 16 18 31 37
                               ExecutionMode 4 OutputVertices 4
                               Source GLSL 450
                               SourceExtension  "GL_NV_stereo_view_rendering"
                               SourceExtension  "GL_NV_viewport_array2"
                               Name 4  "main"
                               Name 12  "gl_PerVertex"
-                              MemberName 12(gl_PerVertex) 0  "gl_Layer"
-                              MemberName 12(gl_PerVertex) 1  "gl_SecondaryPositionNV"
-                              MemberName 12(gl_PerVertex) 2  "gl_SecondaryViewportMaskNV"
+                              MemberName 12(gl_PerVertex) 0  "gl_SecondaryPositionNV"
+                              MemberName 12(gl_PerVertex) 1  "gl_SecondaryViewportMaskNV"
                               Name 16  "gl_out"
                               Name 18  "gl_InvocationID"
-                              Name 28  "gl_PerVertex"
-                              MemberName 28(gl_PerVertex) 0  "gl_Position"
-                              MemberName 28(gl_PerVertex) 1  "gl_PointSize"
-                              MemberName 28(gl_PerVertex) 2  "gl_ClipDistance"
-                              MemberName 28(gl_PerVertex) 3  "gl_CullDistance"
-                              MemberName 28(gl_PerVertex) 4  "gl_SecondaryPositionNV"
-                              Name 32  "gl_in"
-                              MemberDecorate 12(gl_PerVertex) 0 BuiltIn Layer
-                              MemberDecorate 12(gl_PerVertex) 0 ViewportRelativeNV
-                              MemberDecorate 12(gl_PerVertex) 0 SecondaryViewportRelativeNV 1
-                              MemberDecorate 12(gl_PerVertex) 1 BuiltIn SecondaryPositionNV
-                              MemberDecorate 12(gl_PerVertex) 2 BuiltIn SecondaryViewportMaskNV
+                              Name 27  "gl_PerVertex"
+                              MemberName 27(gl_PerVertex) 0  "gl_Position"
+                              MemberName 27(gl_PerVertex) 1  "gl_PointSize"
+                              MemberName 27(gl_PerVertex) 2  "gl_ClipDistance"
+                              MemberName 27(gl_PerVertex) 3  "gl_CullDistance"
+                              MemberName 27(gl_PerVertex) 4  "gl_SecondaryPositionNV"
+                              Name 31  "gl_in"
+                              Name 37  "gl_Layer"
+                              MemberDecorate 12(gl_PerVertex) 0 BuiltIn SecondaryPositionNV
+                              MemberDecorate 12(gl_PerVertex) 1 BuiltIn SecondaryViewportMaskNV
                               Decorate 12(gl_PerVertex) Block
                               Decorate 18(gl_InvocationID) BuiltIn InvocationId
-                              MemberDecorate 28(gl_PerVertex) 0 BuiltIn Position
-                              MemberDecorate 28(gl_PerVertex) 1 BuiltIn PointSize
-                              MemberDecorate 28(gl_PerVertex) 2 BuiltIn ClipDistance
-                              MemberDecorate 28(gl_PerVertex) 3 BuiltIn CullDistance
-                              Decorate 28(gl_PerVertex) Block
+                              MemberDecorate 27(gl_PerVertex) 0 BuiltIn Position
+                              MemberDecorate 27(gl_PerVertex) 1 BuiltIn PointSize
+                              MemberDecorate 27(gl_PerVertex) 2 BuiltIn ClipDistance
+                              MemberDecorate 27(gl_PerVertex) 3 BuiltIn CullDistance
+                              Decorate 27(gl_PerVertex) Block
+                              Decorate 37(gl_Layer) BuiltIn Layer
+                              Decorate 37(gl_Layer) ViewportRelativeNV
+                              Decorate 37(gl_Layer) SecondaryViewportRelativeNV 1
                2:             TypeVoid
                3:             TypeFunction 2
-               6:             TypeInt 32 1
-               7:             TypeFloat 32
-               8:             TypeVector 7(float) 4
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 4
+               8:             TypeInt 32 1
                9:             TypeInt 32 0
               10:      9(int) Constant 2
-              11:             TypeArray 6(int) 10
-12(gl_PerVertex):             TypeStruct 6(int) 8(fvec4) 11
+              11:             TypeArray 8(int) 10
+12(gl_PerVertex):             TypeStruct 7(fvec4) 11
               13:      9(int) Constant 4
               14:             TypeArray 12(gl_PerVertex) 13
               15:             TypePointer Output 14
       16(gl_out):     15(ptr) Variable Output
-              17:             TypePointer Input 6(int)
+              17:             TypePointer Input 8(int)
 18(gl_InvocationID):     17(ptr) Variable Input
-              20:      6(int) Constant 2
-              21:      6(int) Constant 0
-              22:      6(int) Constant 1
-              23:             TypePointer Output 6(int)
-              26:      9(int) Constant 1
-              27:             TypeArray 7(float) 26
-28(gl_PerVertex):             TypeStruct 8(fvec4) 7(float) 27 27 8(fvec4)
-              29:      9(int) Constant 32
-              30:             TypeArray 28(gl_PerVertex) 29
-              31:             TypePointer Input 30
-       32(gl_in):     31(ptr) Variable Input
-              33:             TypePointer Input 8(fvec4)
-              36:             TypePointer Output 8(fvec4)
+              20:      8(int) Constant 1
+              21:      8(int) Constant 0
+              22:             TypePointer Output 8(int)
+              25:      9(int) Constant 1
+              26:             TypeArray 6(float) 25
+27(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 26 26 7(fvec4)
+              28:      9(int) Constant 32
+              29:             TypeArray 27(gl_PerVertex) 28
+              30:             TypePointer Input 29
+       31(gl_in):     30(ptr) Variable Input
+              32:             TypePointer Input 7(fvec4)
+              35:             TypePointer Output 7(fvec4)
+    37(gl_Layer):     22(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-              19:      6(int) Load 18(gl_InvocationID)
-              24:     23(ptr) AccessChain 16(gl_out) 19 20 21
-                              Store 24 22
-              25:      6(int) Load 18(gl_InvocationID)
-              34:     33(ptr) AccessChain 32(gl_in) 22 21
-              35:    8(fvec4) Load 34
-              37:     36(ptr) AccessChain 16(gl_out) 25 22
-                              Store 37 35
+              19:      8(int) Load 18(gl_InvocationID)
+              23:     22(ptr) AccessChain 16(gl_out) 19 20 21
+                              Store 23 20
+              24:      8(int) Load 18(gl_InvocationID)
+              33:     32(ptr) AccessChain 31(gl_in) 20 21
+              34:    7(fvec4) Load 33
+              36:     35(ptr) AccessChain 16(gl_out) 24 21
+                              Store 36 34
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.stereoViewRendering.vert.out b/Test/baseResults/spv.stereoViewRendering.vert.out
index fbbdf17..f2b22d5 100644
--- a/Test/baseResults/spv.stereoViewRendering.vert.out
+++ b/Test/baseResults/spv.stereoViewRendering.vert.out
@@ -1,6 +1,6 @@
 spv.stereoViewRendering.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 27
 
                               Capability Shader
diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out
index f9a7161..b8b7e94 100755
--- a/Test/baseResults/spv.storageBuffer.vert.out
+++ b/Test/baseResults/spv.storageBuffer.vert.out
@@ -1,6 +1,6 @@
 spv.storageBuffer.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 31
 
                               Capability Shader
diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out
index 4f56336..b107de2 100755
--- a/Test/baseResults/spv.structAssignment.frag.out
+++ b/Test/baseResults/spv.structAssignment.frag.out
@@ -3,7 +3,7 @@
          "precision mediump int; precision highp float;" 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out
index 164641b..fb55c71 100755
--- a/Test/baseResults/spv.structDeref.frag.out
+++ b/Test/baseResults/spv.structDeref.frag.out
@@ -1,6 +1,6 @@
 spv.structDeref.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 123
 
                               Capability Shader
diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out
index d9d3133..5672196 100755
--- a/Test/baseResults/spv.structure.frag.out
+++ b/Test/baseResults/spv.structure.frag.out
@@ -1,6 +1,6 @@
 spv.structure.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 60
 
                               Capability Shader
diff --git a/Test/baseResults/spv.subpass.frag.out b/Test/baseResults/spv.subpass.frag.out
index 7db9e39..7624898 100644
--- a/Test/baseResults/spv.subpass.frag.out
+++ b/Test/baseResults/spv.subpass.frag.out
@@ -1,10 +1,9 @@
 spv.subpass.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 67
 
                               Capability Shader
-                              Capability StorageImageMultisample
                               Capability InputAttachment
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
index f742756..0a35155 100755
--- a/Test/baseResults/spv.switch.frag.out
+++ b/Test/baseResults/spv.switch.frag.out
@@ -4,7 +4,7 @@
 WARNING: 0:139: 'switch' : last case/default label not followed by statements 
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 269
 
                               Capability Shader
diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out
index 79b4387..b194d27 100755
--- a/Test/baseResults/spv.swizzle.frag.out
+++ b/Test/baseResults/spv.swizzle.frag.out
@@ -1,6 +1,6 @@
 spv.swizzle.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 108
 
                               Capability Shader
diff --git a/Test/baseResults/spv.swizzleInversion.frag.out b/Test/baseResults/spv.swizzleInversion.frag.out
index 573bd6d..dd910f7 100755
--- a/Test/baseResults/spv.swizzleInversion.frag.out
+++ b/Test/baseResults/spv.swizzleInversion.frag.out
@@ -1,6 +1,6 @@
 spv.swizzleInversion.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 46
 
                               Capability Shader
diff --git a/Test/baseResults/spv.test.frag.out b/Test/baseResults/spv.test.frag.out
index 0e5deeb..e61785c 100644
--- a/Test/baseResults/spv.test.frag.out
+++ b/Test/baseResults/spv.test.frag.out
@@ -1,6 +1,6 @@
 spv.test.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 55
 
                               Capability Shader
diff --git a/Test/baseResults/spv.test.vert.out b/Test/baseResults/spv.test.vert.out
index 623d16b..5f3d41e 100644
--- a/Test/baseResults/spv.test.vert.out
+++ b/Test/baseResults/spv.test.vert.out
@@ -2,7 +2,7 @@
 WARNING: 0:5: attribute deprecated in version 130; may be removed in future release
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 24
 
                               Capability Shader
diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out
index c2de2ea..99bb381 100755
--- a/Test/baseResults/spv.texture.frag.out
+++ b/Test/baseResults/spv.texture.frag.out
@@ -4,7 +4,7 @@
 WARNING: 0:12: varying deprecated in version 130; may be removed in future release
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 305
 
                               Capability Shader
diff --git a/Test/baseResults/spv.texture.sampler.transform.frag.out b/Test/baseResults/spv.texture.sampler.transform.frag.out
index ffa664e..6af2b4f 100644
--- a/Test/baseResults/spv.texture.sampler.transform.frag.out
+++ b/Test/baseResults/spv.texture.sampler.transform.frag.out
@@ -1,6 +1,6 @@
 spv.texture.sampler.transform.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 20
 
                               Capability Shader
diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out
index c361549..c704f9f 100755
--- a/Test/baseResults/spv.texture.vert.out
+++ b/Test/baseResults/spv.texture.vert.out
@@ -1,6 +1,6 @@
 spv.texture.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 150
 
                               Capability Shader
diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out
index 606e566..2a9432d 100755
--- a/Test/baseResults/spv.textureBuffer.vert.out
+++ b/Test/baseResults/spv.textureBuffer.vert.out
@@ -1,6 +1,6 @@
 spv.textureBuffer.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 42
 
                               Capability Shader
diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out
index 6d0c3e8..3a41668 100644
--- a/Test/baseResults/spv.textureGatherBiasLod.frag.out
+++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out
@@ -1,6 +1,6 @@
 spv.textureGatherBiasLod.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 298
 
                               Capability Shader
diff --git a/Test/baseResults/spv.types.frag.out b/Test/baseResults/spv.types.frag.out
index be5f1bf..8726486 100755
--- a/Test/baseResults/spv.types.frag.out
+++ b/Test/baseResults/spv.types.frag.out
@@ -1,6 +1,6 @@
 spv.types.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 260
 
                               Capability Shader
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
index 9ede260..92c4ce7 100755
--- a/Test/baseResults/spv.uint.frag.out
+++ b/Test/baseResults/spv.uint.frag.out
@@ -1,6 +1,6 @@
 spv.uint.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 213
 
                               Capability Shader
diff --git a/Test/baseResults/spv.uniformArray.frag.out b/Test/baseResults/spv.uniformArray.frag.out
index c6fb0ff..87aa2f2 100644
--- a/Test/baseResults/spv.uniformArray.frag.out
+++ b/Test/baseResults/spv.uniformArray.frag.out
@@ -1,6 +1,6 @@
 spv.uniformArray.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 53
 
                               Capability Shader
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
index 184c01d..fa682cd 100755
--- a/Test/baseResults/spv.variableArrayIndex.frag.out
+++ b/Test/baseResults/spv.variableArrayIndex.frag.out
@@ -1,6 +1,6 @@
 spv.variableArrayIndex.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 93
 
                               Capability Shader
diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out
index 33eaf2b..22748ac 100755
--- a/Test/baseResults/spv.varyingArray.frag.out
+++ b/Test/baseResults/spv.varyingArray.frag.out
@@ -1,6 +1,6 @@
 spv.varyingArray.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 61
 
                               Capability Shader
diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out
index c36efd0..701f9d1 100755
--- a/Test/baseResults/spv.varyingArrayIndirect.frag.out
+++ b/Test/baseResults/spv.varyingArrayIndirect.frag.out
@@ -1,6 +1,6 @@
 spv.varyingArrayIndirect.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 70
 
                               Capability Shader
diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out
index a8c7dc6..d62455c 100644
--- a/Test/baseResults/spv.viewportArray2.tesc.out
+++ b/Test/baseResults/spv.viewportArray2.tesc.out
@@ -1,8 +1,9 @@
 spv.viewportArray2.tesc
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 25
 
+                              Capability Geometry
                               Capability Tessellation
                               Capability MultiViewport
                               Capability ShaderViewportIndexLayerNV
@@ -11,47 +12,47 @@
                               Extension  "SPV_NV_viewport_array2"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint TessellationControl 4  "main" 14 16
+                              EntryPoint TessellationControl 4  "main" 14 16 22 24
                               ExecutionMode 4 OutputVertices 4
                               Source GLSL 450
                               SourceExtension  "GL_NV_viewport_array2"
                               Name 4  "main"
                               Name 10  "gl_PerVertex"
-                              MemberName 10(gl_PerVertex) 0  "gl_ViewportIndex"
-                              MemberName 10(gl_PerVertex) 1  "gl_Layer"
-                              MemberName 10(gl_PerVertex) 2  "gl_ViewportMask"
+                              MemberName 10(gl_PerVertex) 0  "gl_ViewportMask"
                               Name 14  "gl_out"
                               Name 16  "gl_InvocationID"
-                              MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportIndex
-                              MemberDecorate 10(gl_PerVertex) 1 BuiltIn Layer
-                              MemberDecorate 10(gl_PerVertex) 1 ViewportRelativeNV
-                              MemberDecorate 10(gl_PerVertex) 2 BuiltIn ViewportMaskNV
+                              Name 22  "gl_ViewportIndex"
+                              Name 24  "gl_Layer"
+                              MemberDecorate 10(gl_PerVertex) 0 BuiltIn ViewportMaskNV
                               Decorate 10(gl_PerVertex) Block
                               Decorate 16(gl_InvocationID) BuiltIn InvocationId
+                              Decorate 22(gl_ViewportIndex) BuiltIn ViewportIndex
+                              Decorate 24(gl_Layer) BuiltIn Layer
+                              Decorate 24(gl_Layer) ViewportRelativeNV
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeInt 32 1
                7:             TypeInt 32 0
                8:      7(int) Constant 2
                9:             TypeArray 6(int) 8
-10(gl_PerVertex):             TypeStruct 6(int) 6(int) 9
+10(gl_PerVertex):             TypeStruct 9
               11:      7(int) Constant 4
               12:             TypeArray 10(gl_PerVertex) 11
               13:             TypePointer Output 12
       14(gl_out):     13(ptr) Variable Output
               15:             TypePointer Input 6(int)
 16(gl_InvocationID):     15(ptr) Variable Input
-              18:      6(int) Constant 2
-              19:      6(int) Constant 0
-              20:      6(int) Constant 1
-              21:             TypePointer Output 6(int)
+              18:      6(int) Constant 0
+              19:      6(int) Constant 1
+              20:             TypePointer Output 6(int)
+22(gl_ViewportIndex):     20(ptr) Variable Output
+              23:      6(int) Constant 2
+    24(gl_Layer):     20(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
               17:      6(int) Load 16(gl_InvocationID)
-              22:     21(ptr) AccessChain 14(gl_out) 17 18 19
-                              Store 22 20
-              23:      6(int) Load 16(gl_InvocationID)
-              24:     21(ptr) AccessChain 14(gl_out) 23 19
-                              Store 24 18
+              21:     20(ptr) AccessChain 14(gl_out) 17 18 18
+                              Store 21 19
+                              Store 22(gl_ViewportIndex) 23
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.viewportArray2.vert.out b/Test/baseResults/spv.viewportArray2.vert.out
index cc52905..b627b46 100644
--- a/Test/baseResults/spv.viewportArray2.vert.out
+++ b/Test/baseResults/spv.viewportArray2.vert.out
@@ -1,6 +1,6 @@
 spv.viewportArray2.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 19
 
                               Capability Shader
diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out
index 80a6d0a..1fbd69f 100755
--- a/Test/baseResults/spv.voidFunction.frag.out
+++ b/Test/baseResults/spv.voidFunction.frag.out
@@ -1,6 +1,6 @@
 spv.voidFunction.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 43
 
                               Capability Shader
diff --git a/Test/baseResults/spv.while-continue-break.vert.out b/Test/baseResults/spv.while-continue-break.vert.out
index 415f3b9..1d343ed 100644
--- a/Test/baseResults/spv.while-continue-break.vert.out
+++ b/Test/baseResults/spv.while-continue-break.vert.out
@@ -1,6 +1,6 @@
 spv.while-continue-break.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 41
 
                               Capability Shader
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
index 7e5586b..d956c6c 100755
--- a/Test/baseResults/spv.while-simple.vert.out
+++ b/Test/baseResults/spv.while-simple.vert.out
@@ -1,6 +1,6 @@
 spv.while-simple.vert
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 22
 
                               Capability Shader
diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out
index 8a54538..e58fb04 100755
--- a/Test/baseResults/spv.whileLoop.frag.out
+++ b/Test/baseResults/spv.whileLoop.frag.out
@@ -1,6 +1,6 @@
 spv.whileLoop.frag
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 35
 
                               Capability Shader
diff --git a/Test/baseResults/vulkan.ast.vert.out b/Test/baseResults/vulkan.ast.vert.out
index 0487a4f..0712e07 100755
--- a/Test/baseResults/vulkan.ast.vert.out
+++ b/Test/baseResults/vulkan.ast.vert.out
@@ -258,7 +258,7 @@
 0:?       2 (const int)
 
 // Module Version 10000
-// Generated by (magic number): 80001
+// Generated by (magic number): 80002
 // Id's are bound by 50
 
                               Capability Shader
diff --git a/Test/cppDeepNest.frag b/Test/cppDeepNest.frag
new file mode 100644
index 0000000..51c436e
--- /dev/null
+++ b/Test/cppDeepNest.frag
@@ -0,0 +1,117 @@
+#ifdef O
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#if
+#endif
diff --git a/Test/cppIntMinOverNegativeOne.frag b/Test/cppIntMinOverNegativeOne.frag
new file mode 100644
index 0000000..b7e0a95
--- /dev/null
+++ b/Test/cppIntMinOverNegativeOne.frag
@@ -0,0 +1,6 @@
+#if (-2147483648 / -1) != 0
+#error INT_MIN / -1 should yield 0, something went wrong.
+#endif
+#if (-2147483648 % -1) != 0
+#error INT_MIN % -1 should yield 0, something went wrong.
+#endif
\ No newline at end of file
diff --git a/Test/glsl.entryPointRename.vert b/Test/glsl.entryPointRename.vert
new file mode 100644
index 0000000..7fc6b7a
--- /dev/null
+++ b/Test/glsl.entryPointRename.vert
@@ -0,0 +1,11 @@
+#version 460
+
+void bar()
+{
+    gl_Position = vec4(1);
+}
+
+void main()
+{
+    gl_Position = vec4(1);
+}
diff --git a/Test/glsl.entryPointRename2.vert b/Test/glsl.entryPointRename2.vert
new file mode 100644
index 0000000..0473e9b
--- /dev/null
+++ b/Test/glsl.entryPointRename2.vert
@@ -0,0 +1,6 @@
+#version 460
+
+void bar()
+{
+    gl_Position = vec4(1);
+}
diff --git a/Test/hlsl.array.frag b/Test/hlsl.array.frag
index 1abba89..ff0004f 100644
--- a/Test/hlsl.array.frag
+++ b/Test/hlsl.array.frag
@@ -4,8 +4,15 @@
     float4 m[7];
 } s[11];
 
-float4 PixelShaderFunction(int i, float4 input[3]) : COLOR0
+static float4 C = float4(1,2,3,4);
+float4 a1[1] = { float4(1,2,3,4) };
+float4 a2[2] = { float4(1,2,3,4), float4(5,2,3,4), };
+const float4 c1[1] = { float4(1,2,3,4) };
+static const float4 c2[2] = { C, float4(1,2,3,4), };
+
+float4 PixelShaderFunction(int i : sem1, float4 input[3] : sem2) : SV_TARGET0
 {
-    float4 b[10];
-    return a[1] + a[i] + input[2] + input[i] + b[5] + b[i] + s[i].m[i];
-}
\ No newline at end of file
+    float4 b[10] = { C, C, C, C, C, C, C, C, C, C };
+    float4 tmp = C + a1[0] + c1[0] + a2[i] + c2[i];
+    return a[1] + a[i] + input[2] + input[i] + b[5] + b[i] + s[i].m[i] + tmp;
+}
diff --git a/Test/hlsl.attributeC11.frag b/Test/hlsl.attributeC11.frag
new file mode 100644
index 0000000..4fe663a
--- /dev/null
+++ b/Test/hlsl.attributeC11.frag
@@ -0,0 +1,18 @@
+struct S {
+    float2 f;
+};
+
+[[vk::binding(1)]]
+StructuredBuffer<S> buffer1;
+
+[[vk::binding(3, 2)]]
+StructuredBuffer<S> buffer3;
+
+[[vk::input_attachment_index(4)]]
+Texture2D<float4> attach;
+
+[[vk::location(7)]] float4
+main([[vk::location(8)]] float4 input: A) : B
+{
+    return input + attach.Load(float2(0.5));
+}
diff --git a/Test/hlsl.attributeGlobalBuffer.frag b/Test/hlsl.attributeGlobalBuffer.frag
new file mode 100644
index 0000000..a1177da
--- /dev/null
+++ b/Test/hlsl.attributeGlobalBuffer.frag
@@ -0,0 +1,8 @@
+[[vk::global_cbuffer_binding(5, 2)]]
+float4 u1;
+float4 u2;
+
+float4 main() : SV_Target0
+{
+    return u1 + u2;
+}
\ No newline at end of file
diff --git a/Test/hlsl.constantbuffer.frag b/Test/hlsl.constantbuffer.frag
index d7a6ef5..c2b3a00 100644
--- a/Test/hlsl.constantbuffer.frag
+++ b/Test/hlsl.constantbuffer.frag
@@ -21,6 +21,6 @@
     if (cb3[1][2].x)
         return cb1.x + cb2[1].y + c1;
     else
-        return cb3[2][3].y;
+        return cb3[1][3].y;
 }
 
diff --git a/Test/hlsl.flattenOpaqueInit.vert b/Test/hlsl.flattenOpaqueInit.vert
index 75d28a9..bcf39ce 100644
--- a/Test/hlsl.flattenOpaqueInit.vert
+++ b/Test/hlsl.flattenOpaqueInit.vert
@@ -18,5 +18,6 @@
 {
     FxaaTex tex1 = { g_tInputTexture_sampler, g_tInputTexture };
     FxaaTex tex2 = fillOpaque();
-    return lookUp(tex1);
-}
\ No newline at end of file
+    FxaaTex tex3 = tex1;
+    return lookUp(tex3);
+}
diff --git a/Test/hlsl.flattenSubset.frag b/Test/hlsl.flattenSubset.frag
new file mode 100755
index 0000000..c80e093
--- /dev/null
+++ b/Test/hlsl.flattenSubset.frag
@@ -0,0 +1,36 @@
+struct S0
+{
+    int x;
+    int y;
+    SamplerState ss;
+};
+
+struct S1
+{
+    float b;
+    SamplerState samplerState;
+    S0 s0;
+    int a;
+};
+
+struct S2
+{
+    int a1;
+    int a2;
+    int a3;
+    int a4;
+    int a5;
+    S1 resources;
+};
+
+SamplerState samp;
+Texture2D tex;
+
+float4 main(float4 vpos : VPOS) : COLOR0
+{
+    S1 s1;
+    S2 s2;
+    s1.s0.ss = samp;
+    s2.resources = s1;
+    return tex.Sample(s2.resources.s0.ss, float2(0.5));
+}
diff --git a/Test/hlsl.flattenSubset2.frag b/Test/hlsl.flattenSubset2.frag
new file mode 100755
index 0000000..753475d
--- /dev/null
+++ b/Test/hlsl.flattenSubset2.frag
@@ -0,0 +1,24 @@
+struct Nested { float y; Texture2D texNested; };
+struct A { Nested n; float x; };
+struct B { Nested n; Texture2D tex; };
+
+Texture2D someTex;
+
+float4 main(float4 vpos : VPOS) : COLOR0
+{
+    A a1, a2;
+    B b;
+
+    // Assignment of nested structs to nested structs
+    a1.n = a2.n;
+    b .n = a1.n;
+
+    // Assignment of nested struct to standalone
+    Nested n = b.n; 
+
+    // Assignment to nestested struct members
+    a2.n.texNested = someTex;
+    a1.n.y = 1.0;
+
+    return float4(0,0,0,0);
+}
diff --git a/Test/hlsl.hull.4.tesc b/Test/hlsl.hull.4.tesc
new file mode 100644
index 0000000..cd2b094
--- /dev/null
+++ b/Test/hlsl.hull.4.tesc
@@ -0,0 +1,43 @@
+
+// Test mixed InputPatch structure: user and builtin members.  Hull shaders involve extra
+// logic in this case due to patch constant function call synthesis.
+
+// This example tests the main EP and the PCF EP both having an input patch.
+
+struct HS_Main_Output
+{ 
+    float4 m_Position : SV_POSITION ; 
+}; 
+
+struct HS_Output 
+{ 
+    float fTessFactor [ 3 ] : SV_TessFactor ; 
+    float fInsideTessFactor : SV_InsideTessFactor ; 
+}; 
+
+struct HS_Input 
+{ 
+    float4 m_Position : SV_POSITION; 
+    float4 m_Normal   : TEXCOORD2; 
+}; 
+
+HS_Output HS_ConstFunc ( InputPatch < HS_Input , 3 > I ) 
+{ 
+    HS_Output O = (HS_Output)0;
+
+    O.fInsideTessFactor = I [ 0 ].m_Position.w + I [ 0 ].m_Normal.w;
+
+    return O;
+} 
+
+[ domain ( "tri" ) ] 
+[ partitioning ( "fractional_odd" ) ] 
+[ outputtopology ( "triangle_cw" ) ] 
+[ patchconstantfunc ( "HS_ConstFunc" ) ] 
+[ outputcontrolpoints ( 3 ) ] 
+HS_Main_Output main( InputPatch < HS_Input , 3 > I , uint cpid : SV_OutputControlPointID ) 
+{ 
+    HS_Main_Output output = ( HS_Main_Output ) 0 ; 
+    output.m_Position = 0;
+    return output ; 
+}
diff --git a/Test/hlsl.hull.5.tesc b/Test/hlsl.hull.5.tesc
new file mode 100644
index 0000000..c9e511e
--- /dev/null
+++ b/Test/hlsl.hull.5.tesc
@@ -0,0 +1,43 @@
+
+// Test mixed InputPatch structure: user and builtin members.  Hull shaders involve extra
+// logic in this case due to patch constant function call synthesis.
+
+// This example tests the PCF EP having an InputPatch, but the main EP does not.
+
+struct HS_Main_Output
+{ 
+    float4 m_Position : SV_POSITION ; 
+}; 
+
+struct HS_Output 
+{ 
+    float fTessFactor [ 3 ] : SV_TessFactor ; 
+    float fInsideTessFactor : SV_InsideTessFactor ; 
+}; 
+
+struct HS_Input 
+{ 
+    float4 m_Position : SV_POSITION; 
+    float4 m_Normal   : TEXCOORD2; 
+}; 
+
+HS_Output HS_ConstFunc ( InputPatch < HS_Input , 3 > I ) 
+{ 
+    HS_Output O = (HS_Output)0;
+
+    O.fInsideTessFactor = I [ 0 ].m_Position.w + I [ 0 ].m_Normal.w;
+
+    return O;
+} 
+
+[ domain ( "tri" ) ] 
+[ partitioning ( "fractional_odd" ) ] 
+[ outputtopology ( "triangle_cw" ) ] 
+[ patchconstantfunc ( "HS_ConstFunc" ) ] 
+[ outputcontrolpoints ( 3 ) ] 
+HS_Main_Output main( uint cpid : SV_OutputControlPointID ) 
+{ 
+    HS_Main_Output output = ( HS_Main_Output ) 0 ; 
+    output.m_Position = 0;
+    return output ; 
+}
diff --git a/Test/hlsl.intrinsics.frag b/Test/hlsl.intrinsics.frag
index 029b156..9343f6d 100644
--- a/Test/hlsl.intrinsics.frag
+++ b/Test/hlsl.intrinsics.frag
@@ -31,6 +31,7 @@
     float r011 = ceil(inF0);
     float r012 = clamp(inF0, inF1, inF2);
     clip(inF0);
+    clip(r005);
     float r014 = cos(inF0);
     float r015 = cosh(inF0);
     int r016 = countbits(7);
@@ -108,6 +109,7 @@
     float2 r011 = ceil(inF0);
     float2 r012 = clamp(inF0, inF1, inF2);
     clip(inF0);
+    clip(inU0);
     float2 r013 = cos(inF0);
     float2 r015 = cosh(inF0);
     int2 r016 = countbits(int2(7,3));
@@ -190,6 +192,7 @@
     float3 r011 = ceil(inF0);
     float3 r012 = clamp(inF0, inF1, inF2);
     clip(inF0);
+    clip(inU0);
     float3 r013 = cos(inF0);
     float3 r014 = cosh(inF0);
     uint3 r015 = countbits(uint3(7,3,5));
@@ -271,6 +274,7 @@
     float4 r011 = ceil(inF0);
     float4 r012 = clamp(inF0, inF1, inF2);
     clip(inF0);
+    clip(inU0);
     float4 r013 = cos(inF0);
     float4 r014 = cosh(inF0);
     uint4 r015 = countbits(uint4(7,3,5,2));
diff --git a/Test/hlsl.localStructuredBuffer.comp b/Test/hlsl.localStructuredBuffer.comp
new file mode 100644
index 0000000..34e06e0
--- /dev/null
+++ b/Test/hlsl.localStructuredBuffer.comp
@@ -0,0 +1,4 @@
+RWStructuredBuffer<uint> srt0;
+void main() {
+    RWStructuredBuffer<uint> srt0Local = srt0;
+}
\ No newline at end of file
diff --git a/Test/hlsl.opaque-type-bug.frag b/Test/hlsl.opaque-type-bug.frag
new file mode 100644
index 0000000..f4ccaea
--- /dev/null
+++ b/Test/hlsl.opaque-type-bug.frag
@@ -0,0 +1,16 @@
+
+Texture2D      MyTexture : register(t0);
+
+//----------------------------------------------------------------------------------------
+void TexFunc(in const Texture2D t2D, out float3 RGB)
+{    
+    RGB = 0;
+}
+
+//-----------------------------------------------------------------------------------
+void main() 
+{
+    float3 final_RGB;
+
+    TexFunc(MyTexture, final_RGB);
+}
diff --git a/Test/hlsl.partialFlattenLocal.vert b/Test/hlsl.partialFlattenLocal.vert
new file mode 100644
index 0000000..9d6cdc9
--- /dev/null
+++ b/Test/hlsl.partialFlattenLocal.vert
@@ -0,0 +1,27 @@
+Texture2D tex;
+
+struct Packed {
+  Texture2D     tex;
+  float3        pos[3];
+  float2        uv[2];
+  float         x;
+  int           n;
+};
+
+float4 main(float4 pos : POSITION) : SV_POSITION
+{
+  Packed packed;
+  packed.tex    = tex;
+  packed.pos[0] = float3(0, 0, 0);
+  packed.uv[0]  = float2(0, 1);
+  packed.x      = 1.0;
+  packed.n      = 3;
+
+  for (int i = 0; i < 1; ++i) {
+    packed.pos[i].xy += packed.uv[i];
+  }
+
+  Packed packed2 = packed;
+
+  return pos + float4(packed2.pos[0], 0);
+}
\ No newline at end of file
diff --git a/Test/hlsl.partialFlattenMixed.vert b/Test/hlsl.partialFlattenMixed.vert
new file mode 100644
index 0000000..3fc9d68
--- /dev/null
+++ b/Test/hlsl.partialFlattenMixed.vert
@@ -0,0 +1,16 @@
+Texture2D tex[2];
+
+struct Packed {
+    int a;
+    Texture2D     membTex[2];
+    int b;
+};
+
+float4 main(float4 pos : POSITION) : SV_POSITION
+{
+    Packed packed;
+
+    packed.membTex = tex;
+
+    return pos;
+}
\ No newline at end of file
diff --git a/Test/hlsl.samplecmp.dualmode.frag b/Test/hlsl.samplecmp.dualmode.frag
new file mode 100644
index 0000000..5b600f3
--- /dev/null
+++ b/Test/hlsl.samplecmp.dualmode.frag
@@ -0,0 +1,14 @@
+SamplerState g_sSamp : register(s0);
+SamplerComparisonState g_sSampCmp : register(s1);
+
+uniform Texture1D <float4> g_tTex : register(t3);
+
+float4 main() : SV_Target0
+{
+    // This texture is used with both shadow modes.  It will need post-compilation
+    // legalization.
+    g_tTex.SampleCmp(g_sSampCmp, 0.1, 0.75);
+    g_tTex.Sample(g_sSamp, 0.1);
+
+    return 0;
+}
diff --git a/Test/hlsl.samplecmp.negative.frag b/Test/hlsl.samplecmp.negative.frag
index cea87bd..8851982 100644
--- a/Test/hlsl.samplecmp.negative.frag
+++ b/Test/hlsl.samplecmp.negative.frag
@@ -1,4 +1,5 @@
 
+Texture2D g_nonShadowTex;
 Texture2D g_shadowTex;
 SamplerState g_shadowSampler;
 SamplerComparisonState g_shadowSamplerComp;
@@ -6,7 +7,7 @@
 float4 main() : SV_Target0
 {
     g_shadowTex.SampleCmp(g_shadowSamplerComp, float2(0,0), 0); // OK
-    g_shadowTex.SampleCmp(g_shadowSampler, float2(0,0), 0);     // ERROR (should be comparison sampler)
+    g_nonShadowTex.SampleCmp(g_shadowSampler, float2(0,0), 0);     // ERROR (should be comparison sampler)
 
     return 0;
 }
diff --git a/Test/hlsl.shift.per-set.frag b/Test/hlsl.shift.per-set.frag
new file mode 100644
index 0000000..9c29f9d
--- /dev/null
+++ b/Test/hlsl.shift.per-set.frag
@@ -0,0 +1,59 @@
+// Test register class offsets for different resource types
+
+SamplerState       s1 : register(s1, space1);
+SamplerComparisonState s2 : register(s2, space2);
+
+Texture1D <float4> t1 : register(t1, space1);
+Texture2D <float4> t2 : register(t2, space1);
+Texture3D <float4> t3 : register(t1, space2);
+
+StructuredBuffer<float4> t4 : register(t1, space3);
+
+ByteAddressBuffer t5 : register(t2, space3);
+Buffer<float4> t6 : register(t3, space3);
+
+RWTexture1D <float4> u1 : register(u1, space1);
+RWTexture2D <float4> u2 : register(u2, space2);
+RWTexture3D <float4> u3 : register(u3, space2);
+
+RWBuffer <float> u4 : register(u4, space1);
+RWByteAddressBuffer u5 : register(u4, space2);
+RWStructuredBuffer<float> u6 : register(u4, space3);
+AppendStructuredBuffer<float> u7 : register(u4, space4);
+ConsumeStructuredBuffer<float> u8 : register(u4, space5);
+
+cbuffer cb : register(b1, space6) {
+    int cb1;
+};
+
+tbuffer tb : register(t7) {
+    int tb1;
+};
+
+float4 main() : SV_Target0
+{
+    t1;
+    t2;
+    t3;
+    t4[0];
+    t5.Load(0);
+    t6;
+
+    s1;
+    s2;
+
+    u1;
+    u2;
+    u3;
+
+    u4[0];
+    u5.Load(0);
+    u6[0];
+    u7;
+    u8;
+
+    cb1;
+    tb1;
+
+    return 0;
+}
diff --git a/Test/hlsl.subpass.frag b/Test/hlsl.subpass.frag
new file mode 100644
index 0000000..20a717f
--- /dev/null
+++ b/Test/hlsl.subpass.frag
@@ -0,0 +1,113 @@
+
+layout(input_attachment_index = 1) SubpassInput<float4> subpass_f4 : register(t1);
+layout(input_attachment_index = 2) SubpassInput<int4>   subpass_i4;
+layout(input_attachment_index = 3) SubpassInput<uint4>  subpass_u4;
+
+layout(input_attachment_index = 4) SubpassInputMS<float4> subpass_ms_f4;
+layout(input_attachment_index = 5) SubpassInputMS<int4>   subpass_ms_i4;
+layout(input_attachment_index = 6) SubpassInputMS<uint4>  subpass_ms_u4;
+
+layout(input_attachment_index = 1) SubpassInput<float3> subpass_f3;
+layout(input_attachment_index = 2) SubpassInput<int3>   subpass_i3;
+layout(input_attachment_index = 3) SubpassInput<uint3>  subpass_u3;
+
+layout(input_attachment_index = 4) SubpassInputMS<float3> subpass_ms_f3;
+layout(input_attachment_index = 5) SubpassInputMS<int3>   subpass_ms_i3;
+layout(input_attachment_index = 6) SubpassInputMS<uint3>  subpass_ms_u3;
+
+layout(input_attachment_index = 1) SubpassInput<float2> subpass_f2;
+layout(input_attachment_index = 2) SubpassInput<int2>   subpass_i2;
+layout(input_attachment_index = 3) SubpassInput<uint2>  subpass_u2;
+
+layout(input_attachment_index = 4) SubpassInputMS<float2> subpass_ms_f2;
+layout(input_attachment_index = 5) SubpassInputMS<int2>   subpass_ms_i2;
+layout(input_attachment_index = 6) SubpassInputMS<uint2>  subpass_ms_u2;
+
+layout(input_attachment_index = 1) SubpassInput<float> subpass_f;
+layout(input_attachment_index = 2) SubpassInput<int>   subpass_i;
+layout(input_attachment_index = 3) SubpassInput<uint>  subpass_u;
+
+layout(input_attachment_index = 4) SubpassInputMS<float> subpass_ms_f;
+layout(input_attachment_index = 5) SubpassInputMS<int>   subpass_ms_i;
+layout(input_attachment_index = 6) SubpassInputMS<uint>  subpass_ms_u;
+
+[[vk::input_attachment_index(7)]] SubpassInput subpass_2;
+
+struct mystruct_f_t
+{
+    float  c0;
+    float2 c1;
+    float  c2;
+};
+
+struct mystruct_i_t
+{
+    int  c0;
+    int2 c1;
+    int  c2;
+};
+
+struct mystruct_u_t
+{
+    uint  c0;
+    uint2 c1;
+    uint  c2;
+};
+
+// TODO: ...
+// layout(input_attachment_index = 7) SubpassInput<mystruct_f_t>    subpass_fs;
+// layout(input_attachment_index = 8) SubpassInputMS<mystruct_f_t>  subpass_ms_fs;
+
+// layout(input_attachment_index = 7) SubpassInput<mystruct_i_t>    subpass_is;
+// layout(input_attachment_index = 8) SubpassInputMS<mystruct_i_t>  subpass_ms_is;
+
+// layout(input_attachment_index = 7) SubpassInput<mystruct_u_t>    subpass_us;
+// layout(input_attachment_index = 8) SubpassInputMS<mystruct_u_t>  subpass_ms_us;
+
+float4 main() : SV_Target0
+{
+    float4 result00 = subpass_f4.SubpassLoad();
+    int4   result01 = subpass_i4.SubpassLoad();
+    uint4  result02 = subpass_u4.SubpassLoad();
+
+    float4 result10 = subpass_ms_f4.SubpassLoad(3);
+    int4   result11 = subpass_ms_i4.SubpassLoad(3);
+    uint4  result12 = subpass_ms_u4.SubpassLoad(3);
+
+    float3 result20 = subpass_f3.SubpassLoad();
+    int3   result21 = subpass_i3.SubpassLoad();
+    uint3  result22 = subpass_u3.SubpassLoad();
+
+    float3 result30 = subpass_ms_f3.SubpassLoad(3);
+    int3   result31 = subpass_ms_i3.SubpassLoad(3);
+    uint3  result32 = subpass_ms_u3.SubpassLoad(3);
+
+    float2 result40 = subpass_f2.SubpassLoad();
+    int2   result41 = subpass_i2.SubpassLoad();
+    uint2  result42 = subpass_u2.SubpassLoad();
+
+    float2 result50 = subpass_ms_f2.SubpassLoad(2);
+    int2   result51 = subpass_ms_i2.SubpassLoad(2);
+    uint2  result52 = subpass_ms_u2.SubpassLoad(2);
+
+    float  result60 = subpass_f.SubpassLoad();
+    int    result61 = subpass_i.SubpassLoad();
+    uint   result62 = subpass_u.SubpassLoad();
+
+    float  result70 = subpass_ms_f.SubpassLoad(2);
+    int    result71 = subpass_ms_i.SubpassLoad(2);
+    uint   result72 = subpass_ms_u.SubpassLoad(2);
+
+    float4 result73 = subpass_2.SubpassLoad();
+
+    // TODO: 
+    // mystruct_f_t result80 = subpass_fs.SubpassLoad();
+    // mystruct_i_t result81 = subpass_is.SubpassLoad();
+    // mystruct_u_t result82 = subpass_us.SubpassLoad();
+
+    // mystruct_f_t result90 = subpass_ms_sf.SubpassLoad(2);
+    // mystruct_i_t result91 = subpass_ms_if.SubpassLoad(2);
+    // mystruct_u_t result92 = subpass_ms_uf.SubpassLoad(2);
+
+    return 0;
+}
diff --git a/Test/implicitInnerAtomicUint.frag b/Test/implicitInnerAtomicUint.frag
new file mode 100644
index 0000000..bb76516
--- /dev/null
+++ b/Test/implicitInnerAtomicUint.frag
@@ -0,0 +1,2 @@
+#version 460
+layout(binding = 0) uniform atomic_uint c[1][];
\ No newline at end of file
diff --git a/Test/invalidSwizzle.vert b/Test/invalidSwizzle.vert
new file mode 100644
index 0000000..799ff87
--- /dev/null
+++ b/Test/invalidSwizzle.vert
@@ -0,0 +1,10 @@
+#version 420
+
+void f();
+uniform sampler2D s;
+
+void main() {
+    vec2 v = s.rr; // Swizzles do not apply to samplers
+    f().xx; // Scalar swizzle does not apply to void
+    f().xy; // Vector swizzle does not apply either
+}
\ No newline at end of file
diff --git a/Test/numeral.frag b/Test/numeral.frag
index cc0862c..39814f4 100644
--- a/Test/numeral.frag
+++ b/Test/numeral.frag
@@ -101,3 +101,6 @@
 int g4 = 4294967296;   // ERROR, too big
 int g5 = 4294967295;
 int g6 = 4294967294;
+float inf1 = -1.#INF;
+float inf2 =  1.#INF;
+float inf3 = +1.#INF;
diff --git a/Test/overlongLiteral.frag b/Test/overlongLiteral.frag
new file mode 100644
index 0000000..c351ed6
--- /dev/null
+++ b/Test/overlongLiteral.frag
@@ -0,0 +1 @@
+0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
diff --git a/Test/remap.invalid-spirv-1.spv b/Test/remap.invalid-spirv-1.spv
new file mode 100644
index 0000000..e5d59d4
--- /dev/null
+++ b/Test/remap.invalid-spirv-1.spv
Binary files differ
diff --git a/Test/remap.invalid-spirv-2.spv b/Test/remap.invalid-spirv-2.spv
new file mode 100644
index 0000000..df8c96d
--- /dev/null
+++ b/Test/remap.invalid-spirv-2.spv
Binary files differ
diff --git a/Test/runtests b/Test/runtests
index f0da75f..8e1135e 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -3,6 +3,7 @@
 TARGETDIR=localResults
 BASEDIR=baseResults
 EXE=../build/install/bin/glslangValidator
+REMAPEXE=../build/install/bin/spirv-remap
 HASERROR=0
 mkdir -p localResults
 
@@ -31,11 +32,11 @@
 echo Running reflection...
 $EXE -l -q -C reflection.vert > $TARGETDIR/reflection.vert.out
 diff -b $BASEDIR/reflection.vert.out $TARGETDIR/reflection.vert.out || HASERROR=1
-$EXE -D -e flizv -l -q -C -V hlsl.reflection.vert > $TARGETDIR/hlsl.reflection.vert.out
+$EXE -D -e flizv -l -q -C -V -Od hlsl.reflection.vert > $TARGETDIR/hlsl.reflection.vert.out
 diff -b $BASEDIR/hlsl.reflection.vert.out $TARGETDIR/hlsl.reflection.vert.out || HASERROR=1
-$EXE -D -e main -l -q -C -V hlsl.reflection.binding.frag > $TARGETDIR/hlsl.reflection.binding.frag.out
+$EXE -D -e main -l -q -C -V -Od hlsl.reflection.binding.frag > $TARGETDIR/hlsl.reflection.binding.frag.out
 diff -b $BASEDIR/hlsl.reflection.binding.frag.out $TARGETDIR/hlsl.reflection.binding.frag.out || HASERROR=1
-$EXE -D -e main -l -q --hlsl-iomap --auto-map-bindings --stb 10 --sbb 20 --ssb 30 --suavb 40 --scb 50 -D -V -e main hlsl.automap.frag > $TARGETDIR/hlsl.automap.frag.out
+$EXE -D -e main -l -q --hlsl-iomap --auto-map-bindings --stb 10 --sbb 20 --ssb 30 --suavb 40 --scb 50 -D -V -e main -Od hlsl.automap.frag > $TARGETDIR/hlsl.automap.frag.out
 diff -b $BASEDIR/hlsl.automap.frag.out $TARGETDIR/hlsl.automap.frag.out || HASERROR=1
 
 #
@@ -55,14 +56,14 @@
 # entry point renaming tests
 #
 echo Running entry-point renaming tests
-$EXE -i -H -V -D -e main_in_spv --ku --source-entrypoint main hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out
+$EXE -i -H -V -D -e main_in_spv --ku --source-entrypoint main -Od hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out
 diff -b $BASEDIR/hlsl.entry.rename.frag.out $TARGETDIR/hlsl.entry.rename.frag.out || HASERROR=1
 
 #
 # Testing ill-defined uncalled function
 #
 echo Running ill-defined uncalled function
-$EXE -D -e main -H hlsl.deadFunctionMissingBody.vert > $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out
+$EXE -D -e main -H -Od hlsl.deadFunctionMissingBody.vert > $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out
 diff -b $BASEDIR/hlsl.deadFunctionMissingBody.vert.out $TARGETDIR/hlsl.deadFunctionMissingBody.vert.out || HASERROR=1
 
 if [ $HASERROR -eq 0 ]
@@ -87,23 +88,30 @@
 diff -b $BASEDIR/spv.hlslOffsets.vert.out $TARGETDIR/spv.hlslOffsets.vert.out || HASERROR=1
 
 echo Running hlsl offsets
-$EXE -i  --hlsl-offsets -D -e main -H hlsl.hlslOffset.vert > $TARGETDIR/hlsl.hlslOffset.vert.out
+$EXE -i  --hlsl-offsets -D -e main -H -Od hlsl.hlslOffset.vert > $TARGETDIR/hlsl.hlslOffset.vert.out
 diff -b $BASEDIR/hlsl.hlslOffset.vert.out $TARGETDIR/hlsl.hlslOffset.vert.out || HASERROR=1
 
 #
 # Testing --resource-set-binding
 #
 echo Configuring HLSL descriptor set and binding number manually
-$EXE -V -D -e main -H hlsl.multiDescriptorSet.frag --rsb frag t0 0 0 t1 1 0 s0 0 1 s1 1 1 b0 2 0 b1 2 1 b2 2 2 > $TARGETDIR/hlsl.multiDescriptorSet.frag.out
+$EXE -V -D -e main -H -Od hlsl.multiDescriptorSet.frag --rsb frag t0 0 0 t1 1 0 s0 0 1 s1 1 1 b0 2 0 b1 2 1 b2 2 2 > $TARGETDIR/hlsl.multiDescriptorSet.frag.out
 diff -b $BASEDIR/hlsl.multiDescriptorSet.frag.out $TARGETDIR/hlsl.multiDescriptorSet.frag.out || HASERROR=1
 
-$EXE -V -D -e main -H hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb 4 > $TARGETDIR/hlsl.explicitDescriptorSet.frag.out
+$EXE -V -D -e main -H -Od hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb 4 > $TARGETDIR/hlsl.explicitDescriptorSet.frag.out
 diff -b $BASEDIR/hlsl.explicitDescriptorSet.frag.out $TARGETDIR/hlsl.explicitDescriptorSet.frag.out || HASERROR=1
 
-$EXE -V -D -e main -H hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb frag 3 > $TARGETDIR/hlsl.explicitDescriptorSet-2.frag.out
+$EXE -V -D -e main -H -Od hlsl.explicitDescriptorSet.frag --hlsl-iomap --amb --ssb 10 --stb 20 --rsb frag 3 > $TARGETDIR/hlsl.explicitDescriptorSet-2.frag.out
 diff -b $BASEDIR/hlsl.explicitDescriptorSet-2.frag.out $TARGETDIR/hlsl.explicitDescriptorSet-2.frag.out || HASERROR=1
 
 #
+# Testing per-descriptor-set IO map shift
+#
+echo 'Testing per-descriptor-set IO map shift'
+$EXE -e main --hlsl-iomap --ssb 1 10 2 15 --stb 20 --stb 2 25 --suavb 30 --suavb 2 40 --sub 6 50 -i -q -D -V hlsl.shift.per-set.frag > $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
+diff -b $BASEDIR/hlsl.shift.per-set.frag.out $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
+
+#
 # Testing location error
 #
 echo Testing SPV no location
@@ -122,33 +130,35 @@
      -G -H spv.debugInfo.frag --rsb frag 3 > $TARGETDIR/spv.debugInfo.frag.out
 diff -b $BASEDIR/spv.debugInfo.frag.out $TARGETDIR/spv.debugInfo.frag.out || HASERROR=1
 $EXE -g -D -e newMain -g --amb --aml --fua --hlsl-iomap --nsf --sib 1 --ssb 2 --sbb 3 --stb 4 --suavb 5 --sub 6 \
-     --sep origMain -H spv.hlslDebugInfo.vert --rsb vert t0 0 0 > $TARGETDIR/spv.hlslDebugInfo.frag.out
+     --sep origMain -H -Od spv.hlslDebugInfo.vert --rsb vert t0 0 0 > $TARGETDIR/spv.hlslDebugInfo.frag.out
 diff -b $BASEDIR/spv.hlslDebugInfo.frag.out $TARGETDIR/spv.hlslDebugInfo.frag.out || HASERROR=1
 
 #
 # Testing Includer
 #
 echo Testing Includer
-$EXE -D -e main -H ../Test/hlsl.include.vert > $TARGETDIR/hlsl.include.vert.out
+$EXE -D -e main -H -Od ../Test/hlsl.include.vert > $TARGETDIR/hlsl.include.vert.out
 diff -b $BASEDIR/hlsl.include.vert.out $TARGETDIR/hlsl.include.vert.out || HASERROR=1
-$EXE -D -e main -H hlsl.includeNegative.vert > $TARGETDIR/hlsl.includeNegative.vert.out
+$EXE -D -e main -H -Od hlsl.includeNegative.vert > $TARGETDIR/hlsl.includeNegative.vert.out
 diff -b $BASEDIR/hlsl.includeNegative.vert.out $TARGETDIR/hlsl.includeNegative.vert.out || HASERROR=1
 $EXE -l -i include.vert > $TARGETDIR/include.vert.out
 diff -b $BASEDIR/include.vert.out $TARGETDIR/include.vert.out || HASERROR=1
-$EXE -D -e main -H -Iinc1/path1 -Iinc1/path2 hlsl.dashI.vert > $TARGETDIR/hlsl.dashI.vert.out
+$EXE -D -e main -H -Od -Iinc1/path1 -Iinc1/path2 hlsl.dashI.vert > $TARGETDIR/hlsl.dashI.vert.out
 diff -b $BASEDIR/hlsl.dashI.vert.out $TARGETDIR/hlsl.dashI.vert.out || HASERROR=1
 
 #
 # Testing -D and -U
 #
+echo "Testing -D and -U"
 $EXE -DUNDEFED -UIN_SHADER -DFOO=200 -i -l -UUNDEFED -DMUL=FOO*2 glsl.-D-U.frag > $TARGETDIR/glsl.-D-U.frag.out
 diff -b $BASEDIR/glsl.-D-U.frag.out $TARGETDIR/glsl.-D-U.frag.out || HASERROR=1
-$EXE -D -e main -V -i -DUNDEFED -UIN_SHADER -DFOO=200 -UUNDEFED hlsl.-D-U.frag > $TARGETDIR/hlsl.-D-U.frag.out
+$EXE -D -e main -V -i -DUNDEFED -UIN_SHADER -DFOO=200 -UUNDEFED -Od hlsl.-D-U.frag > $TARGETDIR/hlsl.-D-U.frag.out
 diff -b $BASEDIR/hlsl.-D-U.frag.out $TARGETDIR/hlsl.-D-U.frag.out || HASERROR=1
 
 #
 # Test --client and --target-env
 #
+echo "Testing --client and --target-env"
 $EXE --client vulkan100      spv.targetVulkan.vert || HASERROR=1
 $EXE --client opengl100      spv.targetOpenGL.vert || HASERROR=1
 $EXE --target-env vulkan1.0  spv.targetVulkan.vert || HASERROR=1
@@ -157,6 +167,26 @@
 $EXE -G100                   spv.targetOpenGL.vert || HASERROR=1
 
 #
+# Testing GLSL entry point rename
+#
+echo "Testing GLSL entry point rename"
+$EXE -H -e foo --source-entrypoint main glsl.entryPointRename.vert > $TARGETDIR/glsl.entryPointRename.vert.out
+diff -b $BASEDIR/glsl.entryPointRename.vert.out $TARGETDIR/glsl.entryPointRename.vert.out || HASERROR=1
+$EXE -H -e foo --source-entrypoint bar glsl.entryPointRename.vert > $TARGETDIR/glsl.entryPointRename.vert.bad.out
+diff -b $BASEDIR/glsl.entryPointRename.vert.bad.out $TARGETDIR/glsl.entryPointRename.vert.bad.out || HASERROR=1
+$EXE -H -e foo --source-entrypoint main glsl.entryPointRename2.vert > $TARGETDIR/glsl.entryPointRename2.vert.out
+diff -b $BASEDIR/glsl.entryPointRename2.vert.out $TARGETDIR/glsl.entryPointRename2.vert.out || HASERROR=1
+
+#
+# Testing remapper error handling
+#
+echo "Testing remapper error handling"
+$REMAPEXE --do-everything -i remap.invalid-spirv-1.spv -o $TARGETDIR > $TARGETDIR/remap.invalid-spirv-1.out && HASERROR=1
+diff -b $BASEDIR/remap.invalid-spirv-1.out $TARGETDIR/remap.invalid-spirv-1.out || HASERROR=1
+$REMAPEXE --do-everything -i remap.invalid-spirv-2.spv -o $TARGETDIR > $TARGETDIR/remap.invalid-spirv-2.out && HASERROR=1
+diff -b $BASEDIR/remap.invalid-spirv-2.out $TARGETDIR/remap.invalid-spirv-2.out || HASERROR=1
+
+#
 # Final checking
 #
 if [ $HASERROR -eq 0 ]
diff --git a/Test/spv.atomicInt64.comp b/Test/spv.atomicInt64.comp
new file mode 100644
index 0000000..a56c7ec
--- /dev/null
+++ b/Test/spv.atomicInt64.comp
@@ -0,0 +1,79 @@
+#version 450 core
+
+#extension GL_ARB_gpu_shader_int64: enable
+#extension GL_NV_shader_atomic_int64: enable
+
+layout(local_size_x = 16, local_size_y = 16) in;
+
+layout(binding = 0) buffer Buffer
+{
+    int64_t  i64;
+    uint64_t u64;
+} buf;
+
+struct Struct
+{
+    int64_t  i64;
+    uint64_t u64;
+};
+
+shared Struct s;
+
+void main()
+{
+    const int64_t  i64c = -24;
+    const uint64_t u64c = 0xF00000000F; 
+
+    // Test shader storage block
+    int64_t  i64 = 0;
+    uint64_t u64 = 0;
+
+    i64 += atomicMin(buf.i64, i64c);
+    u64 += atomicMin(buf.u64, u64c);
+
+    i64 += atomicMax(buf.i64, i64c);
+    u64 += atomicMax(buf.u64, u64c);
+
+    i64 += atomicAnd(buf.i64, i64c);
+    u64 += atomicAnd(buf.u64, u64c);
+
+    i64 += atomicOr(buf.i64, i64c);
+    u64 += atomicOr(buf.u64, u64c);
+
+    i64 += atomicXor(buf.i64, i64c);
+    u64 += atomicXor(buf.u64, u64c);
+
+    i64 += atomicAdd(buf.i64, i64c);
+    i64 += atomicExchange(buf.i64, i64c);
+    i64 += atomicCompSwap(buf.i64, i64c, i64);
+
+    buf.i64 = i64;
+    buf.u64 = u64;
+
+    // Test shared variable
+    i64 = 0;
+    u64 = 0;
+
+    i64 += atomicMin(s.i64, i64c);
+    u64 += atomicMin(s.u64, u64c);
+
+    i64 += atomicMax(s.i64, i64c);
+    u64 += atomicMax(s.u64, u64c);
+
+    i64 += atomicAnd(s.i64, i64c);
+    u64 += atomicAnd(s.u64, u64c);
+
+    i64 += atomicOr(s.i64, i64c);
+    u64 += atomicOr(s.u64, u64c);
+
+    i64 += atomicXor(s.i64, i64c);
+    u64 += atomicXor(s.u64, u64c);
+
+    i64 += atomicAdd(s.i64, i64c);
+    i64 += atomicExchange(s.i64, i64c);
+    i64 += atomicCompSwap(s.i64, i64c, i64);
+
+    s.i64 = i64;
+    s.u64 = u64;
+}
+
diff --git a/Test/spv.precisionNonESSamp.frag b/Test/spv.precisionNonESSamp.frag
new file mode 100644
index 0000000..8abf839
--- /dev/null
+++ b/Test/spv.precisionNonESSamp.frag
@@ -0,0 +1,24 @@
+#version 450
+
+precision lowp sampler2D;
+precision lowp int;
+precision lowp float;
+
+uniform lowp sampler2D s;
+uniform highp sampler3D t;
+layout(rgba32f) uniform lowp image2D i1;
+layout(rgba32f) uniform highp image2D i2;
+
+layout(location = 0) in lowp vec2 v2;
+layout(location = 1) in lowp vec3 v3;
+layout(location = 3) flat in lowp ivec2 iv2;
+
+layout(location = 0) out lowp vec4 color;
+
+void main()
+{
+    color = texture(s, v2);
+    color = texture(t, v3);
+    lowp vec4 vi1 = imageLoad(i1, iv2);
+    lowp vec4 vi2 = imageLoad(i2, iv2);
+}
diff --git a/Test/spv.register.subpass.frag b/Test/spv.register.subpass.frag
new file mode 100644
index 0000000..281c2f7
--- /dev/null
+++ b/Test/spv.register.subpass.frag
@@ -0,0 +1,15 @@
+
+// Test binding autoassignment and offset for SubpassInput objects
+
+layout(input_attachment_index = 1) SubpassInput<float4> subpass_f4 : register(t1);
+layout(input_attachment_index = 4) SubpassInputMS<float4> subpass_ms_f4;
+[[vk::input_attachment_index(7)]] SubpassInput subpass_2;
+
+float4 main() : SV_Target0
+{
+    float4 result00 = subpass_f4.SubpassLoad();
+    float4 result10 = subpass_ms_f4.SubpassLoad(3);
+    float4 result73 = subpass_2.SubpassLoad();
+
+    return 0;
+}
diff --git a/Test/spv.shaderFragMaskAMD.frag b/Test/spv.shaderFragMaskAMD.frag
new file mode 100644
index 0000000..b9e8ab0
--- /dev/null
+++ b/Test/spv.shaderFragMaskAMD.frag
@@ -0,0 +1,29 @@
+#version 450 core
+
+#extension GL_AMD_shader_fragment_mask: enable
+
+layout(binding = 0) uniform sampler2DMS       s2DMS;
+layout(binding = 1) uniform isampler2DMSArray is2DMSArray;
+
+layout(binding = 2, input_attachment_index = 0) uniform usubpassInputMS usubpassMS;
+
+layout(location = 0) out vec4 fragColor;
+
+void main()
+{
+    vec4 f4 = vec4(0.0);
+
+    uint fragMask = fragmentMaskFetchAMD(s2DMS, ivec2(2, 3));
+    uint fragIndex = (fragMask & 0xF0) >> 4;
+    f4 += fragmentFetchAMD(s2DMS, ivec2(2, 3), 1);
+
+    fragMask = fragmentMaskFetchAMD(is2DMSArray, ivec3(2, 3, 1));
+    fragIndex = (fragMask & 0xF0) >> 4;
+    f4 += fragmentFetchAMD(is2DMSArray, ivec3(2, 3, 1), fragIndex);
+
+    fragMask = fragmentMaskFetchAMD(usubpassMS);
+    fragIndex = (fragMask & 0xF0) >> 4;
+    f4 += fragmentFetchAMD(usubpassMS, fragIndex);
+
+    fragColor = f4;
+}
\ No newline at end of file
diff --git a/Test/spv.stereoViewRendering.tesc b/Test/spv.stereoViewRendering.tesc
index 62fc956..e8cfe00 100644
--- a/Test/spv.stereoViewRendering.tesc
+++ b/Test/spv.stereoViewRendering.tesc
@@ -8,9 +8,10 @@
 out gl_PerVertex {
     int gl_SecondaryViewportMaskNV[2];
     vec4 gl_SecondaryPositionNV;
-    layout (viewport_relative, secondary_view_offset = 1) out highp int gl_Layer;
 } gl_out[4];
 
+layout (viewport_relative, secondary_view_offset = 1) out highp int gl_Layer;
+
 void main()
 {
     gl_out[gl_InvocationID].gl_SecondaryViewportMaskNV[0]            = 1;
diff --git a/Test/spv.viewportArray2.tesc b/Test/spv.viewportArray2.tesc
index f629b43..7fc208a 100644
--- a/Test/spv.viewportArray2.tesc
+++ b/Test/spv.viewportArray2.tesc
@@ -5,12 +5,12 @@
 
 out gl_PerVertex {
     int gl_ViewportMask[2];
-    int gl_ViewportIndex;
-    layout (viewport_relative) out highp int gl_Layer;
 } gl_out[4];
 
+layout (viewport_relative) out highp int gl_Layer;
+
 void main()
 {
-    gl_out[gl_InvocationID].gl_ViewportMask[0]                  = 1;
-    gl_out[gl_InvocationID].gl_ViewportIndex                    = 2;
+    gl_out[gl_InvocationID].gl_ViewportMask[0] = 1;
+    gl_ViewportIndex = 2;
 }
diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h
index 08fb623..0a46a7c 100644
--- a/glslang/Include/BaseTypes.h
+++ b/glslang/Include/BaseTypes.h
@@ -198,6 +198,7 @@
     EbvSamplePosition,
     EbvSampleMask,
     EbvHelperInvocation,
+
 #ifdef AMD_EXTENSIONS
     EbvBaryCoordNoPersp,
     EbvBaryCoordNoPerspCentroid,
@@ -334,6 +335,7 @@
     case EbvSamplePosition:       return "SamplePosition";
     case EbvSampleMask:           return "SampleMaskIn";
     case EbvHelperInvocation:     return "HelperInvocation";
+
 #ifdef AMD_EXTENSIONS
     case EbvBaryCoordNoPersp:           return "BaryCoordNoPersp";
     case EbvBaryCoordNoPerspCentroid:   return "BaryCoordNoPerspCentroid";
diff --git a/glslang/Include/Common.h b/glslang/Include/Common.h
index 0820154..6e201e3 100644
--- a/glslang/Include/Common.h
+++ b/glslang/Include/Common.h
@@ -78,6 +78,10 @@
 }
 #endif
 
+#if defined(_MSC_VER)
+#define strdup _strdup
+#endif
+
 /* windows only pragma */
 #ifdef _MSC_VER
     #pragma warning(disable : 4786) // Don't warn about too long identifiers
@@ -222,6 +226,7 @@
 
 struct TSourceLoc {
     void init() { name = nullptr; string = 0; line = 0; column = 0; }
+    void init(int stringNum) { init(); string = stringNum; }
     // Returns the name if it exists. Otherwise, returns the string number.
     std::string getStringNameOrNum(bool quoteStringName = true) const
     {
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
index 6149b19..963419a 100644
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -417,8 +417,8 @@
     EOpAtomicExchange,
     EOpAtomicCompSwap,
 
-    EOpAtomicCounterIncrement,
-    EOpAtomicCounterDecrement,
+    EOpAtomicCounterIncrement, // results in pre-increment value
+    EOpAtomicCounterDecrement, // results in post-decrement value
     EOpAtomicCounter,
     EOpAtomicCounterAdd,
     EOpAtomicCounterSubtract,
@@ -653,6 +653,8 @@
     EOpTextureGatherLod,
     EOpTextureGatherLodOffset,
     EOpTextureGatherLodOffsets,
+    EOpFragmentMaskFetch,
+    EOpFragmentFetch,
 #endif
 
     EOpSparseTextureGuardBegin,
@@ -788,6 +790,7 @@
 class TIntermTyped;
 class TIntermMethod;
 class TIntermSymbol;
+class TIntermLoop;
 
 } // end namespace glslang
 
@@ -815,6 +818,7 @@
     virtual       glslang::TIntermMethod*        getAsMethodNode()          { return 0; }
     virtual       glslang::TIntermSymbol*        getAsSymbolNode()          { return 0; }
     virtual       glslang::TIntermBranch*        getAsBranchNode()          { return 0; }
+	virtual       glslang::TIntermLoop*          getAsLoopNode()            { return 0; }
 
     virtual const glslang::TIntermTyped*         getAsTyped()         const { return 0; }
     virtual const glslang::TIntermOperator*      getAsOperator()      const { return 0; }
@@ -827,6 +831,7 @@
     virtual const glslang::TIntermMethod*        getAsMethodNode()    const { return 0; }
     virtual const glslang::TIntermSymbol*        getAsSymbolNode()    const { return 0; }
     virtual const glslang::TIntermBranch*        getAsBranchNode()    const { return 0; }
+	virtual const glslang::TIntermLoop*          getAsLoopNode()      const { return 0; }
     virtual ~TIntermNode() { }
 
 protected:
@@ -870,6 +875,8 @@
     virtual bool isVector() const { return type.isVector(); }
     virtual bool isScalar() const { return type.isScalar(); }
     virtual bool isStruct() const { return type.isStruct(); }
+    virtual bool isFloatingDomain() const { return type.isFloatingDomain(); }
+    virtual bool isIntegerDomain() const { return type.isIntegerDomain(); }
     TString getCompleteString() const { return type.getCompleteString(); }
 
 protected:
@@ -908,6 +915,8 @@
         control(ELoopControlNone)
     { }
 
+	virtual       TIntermLoop* getAsLoopNode() { return this; }
+	virtual const TIntermLoop* getAsLoopNode() const { return this; }
     virtual void traverse(TIntermTraverser*);
     TIntermNode*  getBody() const { return body; }
     TIntermTyped* getTest() const { return test; }
@@ -990,6 +999,10 @@
     int getFlattenSubset() const { return flattenSubset; } // -1 means full object
 #endif
 
+    // This is meant for cases where a node has already been constructed, and
+    // later on, it becomes necessary to switch to a different symbol.
+    virtual void switchId(int newId) { id = newId; }
+
 protected:
     int id;                      // the unique id of the symbol this node represents
 #ifdef ENABLE_HLSL
@@ -1032,6 +1045,9 @@
     bool grad;
     bool subpass;
     bool lodClamp;
+#ifdef AMD_EXTENSIONS
+    bool fragMask;
+#endif
 };
 
 //
@@ -1079,6 +1095,9 @@
         cracked.grad = false;
         cracked.subpass = false;
         cracked.lodClamp = false;
+#ifdef AMD_EXTENSIONS
+        cracked.fragMask = false;
+#endif
 
         switch (op) {
         case EOpImageQuerySize:
@@ -1210,6 +1229,14 @@
         case EOpSparseImageLoadLod:
             cracked.lod = true;
             break;
+        case EOpFragmentMaskFetch:
+            cracked.subpass = sampler.dim == EsdSubpass;
+            cracked.fragMask = true;
+            break;
+        case EOpFragmentFetch:
+            cracked.subpass = sampler.dim == EsdSubpass;
+            cracked.fragMask = true;
+            break;
 #endif
         case EOpSubpassLoad:
         case EOpSubpassLoadMS:
@@ -1270,7 +1297,7 @@
 };
 
 typedef TVector<TIntermNode*> TIntermSequence;
-typedef TVector<int> TQualifierList;
+typedef TVector<TStorageQualifier> TQualifierList;
 //
 // Nodes that operate on an arbitrary sized set of children.
 //
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
index e71ec5e..a837efd 100644
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -923,6 +923,32 @@
             "\n");
     }
 
+#ifdef NV_EXTENSIONS
+    if (profile != EEsProfile && version >= 440) {
+        commonBuiltins.append(
+            "uint64_t atomicMin(coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicMin(coherent volatile inout  int64_t,  int64_t);"
+
+            "uint64_t atomicMax(coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicMax(coherent volatile inout  int64_t,  int64_t);"
+
+            "uint64_t atomicAnd(coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicAnd(coherent volatile inout  int64_t,  int64_t);"
+
+            "uint64_t atomicOr (coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicOr (coherent volatile inout  int64_t,  int64_t);"
+
+            "uint64_t atomicXor(coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicXor(coherent volatile inout  int64_t,  int64_t);"
+
+            " int64_t atomicAdd(coherent volatile inout int64_t, int64_t);"
+            " int64_t atomicExchange(coherent volatile inout int64_t, int64_t);"
+            " int64_t atomicCompSwap(coherent volatile inout int64_t, int64_t, int64_t);"
+
+            "\n");
+    }
+#endif
+
     if ((profile == EEsProfile && version >= 310) ||
         (profile != EEsProfile && version >= 450)) {
         commonBuiltins.append(
@@ -1324,10 +1350,25 @@
 
     if (profile == EEsProfile) {
         if (spvVersion.spv == 0) {
+            if (version < 300) {
+                commonBuiltins.append(
+                    "vec4 texture2D(samplerExternalOES, vec2 coord);" // GL_OES_EGL_image_external
+                    "vec4 texture2DProj(samplerExternalOES, vec3);"   // GL_OES_EGL_image_external
+                    "vec4 texture2DProj(samplerExternalOES, vec4);"   // GL_OES_EGL_image_external
+                "\n");
+            } else {
+                commonBuiltins.append(
+                    "highp ivec2 textureSize(samplerExternalOES, int lod);"   // GL_OES_EGL_image_external_essl3
+                    "vec4 texture(samplerExternalOES, vec2);"                 // GL_OES_EGL_image_external_essl3
+                    "vec4 texture(samplerExternalOES, vec2, float bias);"     // GL_OES_EGL_image_external_essl3
+                    "vec4 textureProj(samplerExternalOES, vec3);"             // GL_OES_EGL_image_external_essl3
+                    "vec4 textureProj(samplerExternalOES, vec3, float bias);" // GL_OES_EGL_image_external_essl3
+                    "vec4 textureProj(samplerExternalOES, vec4);"             // GL_OES_EGL_image_external_essl3
+                    "vec4 textureProj(samplerExternalOES, vec4, float bias);" // GL_OES_EGL_image_external_essl3
+                    "vec4 texelFetch(samplerExternalOES, ivec2, int lod);"    // GL_OES_EGL_image_external_essl3
+                "\n");
+            }
             commonBuiltins.append(
-                "vec4 texture2D(samplerExternalOES, vec2 coord);"  // GL_OES_EGL_image_external, caught by keyword check
-                "vec4 texture2DProj(samplerExternalOES, vec3);"    // GL_OES_EGL_image_external, caught by keyword check
-                "vec4 texture2DProj(samplerExternalOES, vec4);"    // GL_OES_EGL_image_external, caught by keyword check
                 "vec4 texture2DGradEXT(sampler2D, vec2, vec2, vec2);"      // GL_EXT_shader_texture_lod
                 "vec4 texture2DProjGradEXT(sampler2D, vec3, vec2, vec2);"  // GL_EXT_shader_texture_lod
                 "vec4 texture2DProjGradEXT(sampler2D, vec4, vec2, vec2);"  // GL_EXT_shader_texture_lod
@@ -2283,7 +2324,7 @@
     if (profile != EEsProfile && version >= 450) {
         commonBuiltins.append(
             "float cubeFaceIndexAMD(vec3);"
-            "vec2 cubeFaceCoordAMD(vec3);"
+            "vec2  cubeFaceCoordAMD(vec3);"
             "uint64_t timeAMD();"
 
             "\n");
@@ -2787,6 +2828,29 @@
 
             "\n");
     }
+
+    // GL_AMD_shader_fragment_mask
+    if (profile != EEsProfile && version >= 450) {
+        commonBuiltins.append(
+            "uint fragmentMaskFetchAMD(sampler2DMS,       ivec2);"
+            "uint fragmentMaskFetchAMD(isampler2DMS,      ivec2);"
+            "uint fragmentMaskFetchAMD(usampler2DMS,      ivec2);"
+
+            "uint fragmentMaskFetchAMD(sampler2DMSArray,  ivec3);"
+            "uint fragmentMaskFetchAMD(isampler2DMSArray, ivec3);"
+            "uint fragmentMaskFetchAMD(usampler2DMSArray, ivec3);"
+
+            "vec4  fragmentFetchAMD(sampler2DMS,       ivec2, uint);"
+            "ivec4 fragmentFetchAMD(isampler2DMS,      ivec2, uint);"
+            "uvec4 fragmentFetchAMD(usampler2DMS,      ivec2, uint);"
+
+            "vec4  fragmentFetchAMD(sampler2DMSArray,  ivec3, uint);"
+            "ivec4 fragmentFetchAMD(isampler2DMSArray, ivec3, uint);"
+            "uvec4 fragmentFetchAMD(usampler2DMSArray, ivec3, uint);"
+
+            "\n");
+    }
+
 #endif
 
     //============================================================================
@@ -3126,6 +3190,20 @@
 
             "\n");
     }
+
+    // GL_AMD_shader_fragment_mask
+    if (profile != EEsProfile && version >= 450 && spvVersion.vulkan >= 100) {
+        stageBuiltins[EShLangFragment].append(
+            "uint fragmentMaskFetchAMD(subpassInputMS);"
+            "uint fragmentMaskFetchAMD(isubpassInputMS);"
+            "uint fragmentMaskFetchAMD(usubpassInputMS);"
+
+            "vec4  fragmentFetchAMD(subpassInputMS,  uint);"
+            "ivec4 fragmentFetchAMD(isubpassInputMS, uint);"
+            "uvec4 fragmentFetchAMD(usubpassInputMS, uint);"
+
+            "\n");
+        }
 #endif
 
     //============================================================================
@@ -3425,7 +3503,7 @@
                 "in int gl_DrawIDARB;"
                 );
         }
-        if (version >= 450) {
+        if (version >= 410) {
             stageBuiltins[EShLangVertex].append(
                 "out int gl_ViewportIndex;"
                 "out int gl_Layer;"
@@ -3558,6 +3636,11 @@
             "out int gl_PrimitiveID;"
             "out int gl_Layer;");
 
+        if (version >= 150)
+            stageBuiltins[EShLangGeometry].append(
+            "out int gl_ViewportIndex;"
+            );
+
         if (profile == ECompatibilityProfile && version < 400)
             stageBuiltins[EShLangGeometry].append(
             "out vec4 gl_ClipVertex;"
@@ -3567,11 +3650,6 @@
             stageBuiltins[EShLangGeometry].append(
             "in int gl_InvocationID;"
             );
-        // GL_ARB_viewport_array
-        if (version >= 150)
-            stageBuiltins[EShLangGeometry].append(
-            "out int gl_ViewportIndex;"
-            );
 
 #ifdef NV_EXTENSIONS
         if (version >= 450)
@@ -3648,8 +3726,6 @@
             stageBuiltins[EShLangTessControl].append(
                 "float gl_CullDistance[];"
 #ifdef NV_EXTENSIONS
-                "int  gl_ViewportIndex;"
-                "int  gl_Layer;"
                 "int  gl_ViewportMask[];"             // GL_NV_viewport_array2
                 "vec4 gl_SecondaryPositionNV;"        // GL_NV_stereo_view_rendering
                 "int  gl_SecondaryViewportMaskNV[];"  // GL_NV_stereo_view_rendering
@@ -3663,6 +3739,13 @@
             "patch out float gl_TessLevelOuter[4];"
             "patch out float gl_TessLevelInner[2];"
             "\n");
+
+        if (version >= 410)
+            stageBuiltins[EShLangTessControl].append(
+                "out int gl_ViewportIndex;"
+                "out int gl_Layer;"
+                "\n");
+
     } else {
         // Note:  "in gl_PerVertex {...} gl_in[gl_MaxPatchVertices];" is declared in initialize() below,
         // as it depends on the resource sizing of gl_MaxPatchVertices.
@@ -3734,11 +3817,11 @@
             "};"
             "\n");
 
-        if (version >= 450)
+        if (version >= 410)
             stageBuiltins[EShLangTessEvaluation].append(
                 "out int gl_ViewportIndex;"
                 "out int gl_Layer;"
-                );
+                "\n");
 
 #ifdef NV_EXTENSIONS
         if (version >= 450)
@@ -5372,6 +5455,11 @@
             symbolTable.setFunctionExtensions("cubeFaceCoordAMD", 1, &E_GL_AMD_gcn_shader);
             symbolTable.setFunctionExtensions("timeAMD",          1, &E_GL_AMD_gcn_shader);
         }
+
+        if (profile != EEsProfile) {
+            symbolTable.setFunctionExtensions("fragmentMaskFetchAMD", 1, &E_GL_AMD_shader_fragment_mask);
+            symbolTable.setFunctionExtensions("fragmentFetchAMD",     1, &E_GL_AMD_shader_fragment_mask);
+        }
 #endif
 
         // Compatibility variables, vertex only
@@ -5476,7 +5564,7 @@
             symbolTable.setVariableExtensions("gl_ViewportIndex", Num_viewportEXTs, viewportEXTs);
         }
 #else
-        if (language == EShLangVertex || language == EShLangTessEvaluation) {
+        if (language != EShLangGeometry && version >= 410) {
             symbolTable.setVariableExtensions("gl_Layer",         1, &E_GL_ARB_shader_viewport_layer_array);
             symbolTable.setVariableExtensions("gl_ViewportIndex", 1, &E_GL_ARB_shader_viewport_layer_array);
         }
@@ -5499,8 +5587,6 @@
             BuiltInVariable("gl_in", "gl_SecondaryPositionNV", EbvSecondaryPositionNV, symbolTable);
             BuiltInVariable("gl_in", "gl_PositionPerViewNV",   EbvPositionPerViewNV,   symbolTable);
         }
-        BuiltInVariable("gl_out", "gl_Layer",                   EbvLayer,                   symbolTable);
-        BuiltInVariable("gl_out", "gl_ViewportIndex",           EbvViewportIndex,           symbolTable);
         BuiltInVariable("gl_out", "gl_ViewportMask",            EbvViewportMaskNV,          symbolTable);
         BuiltInVariable("gl_out", "gl_SecondaryPositionNV",     EbvSecondaryPositionNV,     symbolTable);
         BuiltInVariable("gl_out", "gl_SecondaryViewportMaskNV", EbvSecondaryViewportMaskNV, symbolTable);
@@ -6210,6 +6296,9 @@
             symbolTable.relateToOperator("imageLoadLodAMD",                     EOpImageLoadLod);
             symbolTable.relateToOperator("imageStoreLodAMD",                    EOpImageStoreLod);
             symbolTable.relateToOperator("sparseImageLoadLodAMD",               EOpSparseImageLoadLod);
+
+            symbolTable.relateToOperator("fragmentMaskFetchAMD",                EOpFragmentMaskFetch);
+            symbolTable.relateToOperator("fragmentFetchAMD",                    EOpFragmentFetch);
 #endif
         }
         if (profile == EEsProfile) {
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
index 04a45e0..78e6563 100644
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -3222,4 +3222,20 @@
     root->traverse(&transform);
 }
 
+const char* TIntermediate::getResourceName(TResourceType res)
+{
+    switch (res) {
+    case EResSampler: return "shift-sampler-binding";
+    case EResTexture: return "shift-texture-binding";
+    case EResImage:   return "shift-image-binding";
+    case EResUbo:     return "shift-UBO-binding";
+    case EResSsbo:    return "shift-ssbo-binding";
+    case EResUav:     return "shift-uav-binding";
+    default:
+        assert(0); // internal error: should only be called with valid resource types.
+        return nullptr;
+    }
+}
+
+
 } // end namespace glslang
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index 44fc0b4..bbc3cac 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -234,6 +234,31 @@
         linkageSymbols.push_back(&symbol);
 }
 
+// Ensure index is in bounds, correct if necessary.
+// Give an error if not.
+void TParseContextBase::checkIndex(const TSourceLoc& loc, const TType& type, int& index)
+{
+    if (index < 0) {
+        error(loc, "", "[", "index out of range '%d'", index);
+        index = 0;
+    } else if (type.isArray()) {
+        if (type.isExplicitlySizedArray() && index >= type.getOuterArraySize()) {
+            error(loc, "", "[", "array index out of range '%d'", index);
+            index = type.getOuterArraySize() - 1;
+        }
+    } else if (type.isVector()) {
+        if (index >= type.getVectorSize()) {
+            error(loc, "", "[", "vector index out of range '%d'", index);
+            index = type.getVectorSize() - 1;
+        }
+    } else if (type.isMatrix()) {
+        if (index >= type.getMatrixCols()) {
+            error(loc, "", "[", "matrix index out of range '%d'", index);
+            index = type.getMatrixCols() - 1;
+        }
+    }
+}
+
 // 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 already sharing it (non-shallow type),
@@ -544,6 +569,10 @@
         firstNewMember = 0;
     }
 
+    // Update with binding and set
+    globalUniformBlock->getWritableType().getQualifier().layoutBinding = globalUniformBinding;
+    globalUniformBlock->getWritableType().getQualifier().layoutSet = globalUniformSet;
+
     // Add the requested member as a member to the global block.
     TType* type = new TType;
     type->shallowCopy(memberType);
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
index 6decfea..a648b9b 100644
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -49,9 +49,10 @@
 
 TParseContext::TParseContext(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins,
                              int version, EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
-                             TInfoSink& infoSink, bool forwardCompatible, EShMessages messages) :
+                             TInfoSink& infoSink, bool forwardCompatible, EShMessages messages,
+                             const TString* entryPoint) :
             TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language,
-                              infoSink, forwardCompatible, messages),
+                              infoSink, forwardCompatible, messages, entryPoint),
             inMain(false),
             blockName(nullptr),
             limits(resources.limits),
@@ -88,6 +89,9 @@
 
     if (language == EShLangGeometry)
         globalOutputDefaults.layoutStream = 0;
+
+    if (entryPoint != nullptr && entryPoint->size() > 0 && *entryPoint != "main")
+        infoSink.info.message(EPrefixError, "Source entry point must be \"main\"");
 }
 
 TParseContext::~TParseContext()
@@ -122,11 +126,6 @@
             sampler.set(EbtFloat, Esd2D);
             sampler.external = true;
             defaultSamplerPrecision[computeSamplerTypeIndex(sampler)] = EpqLow;
-        } else {
-            // Non-ES profile
-            // All default to highp.
-            for (int type = 0; type < maxSamplerIndex; ++type)
-                defaultSamplerPrecision[type] = EpqHigh;
         }
 
         // If we are parsing built-in computational variables/functions, it is meaningful to record
@@ -142,6 +141,13 @@
                 defaultPrecision[EbtUint] = EpqHigh;
                 defaultPrecision[EbtFloat] = EpqHigh;
             }
+
+            if (profile != EEsProfile) {
+                // Non-ES profile
+                // All sampler precisions default to highp.
+                for (int type = 0; type < maxSamplerIndex; ++type)
+                    defaultSamplerPrecision[type] = EpqHigh;
+            }
         }
 
         defaultPrecision[EbtSampler] = EpqLow;
@@ -425,29 +431,6 @@
     return result;
 }
 
-void TParseContext::checkIndex(const TSourceLoc& loc, const TType& type, int& index)
-{
-    if (index < 0) {
-        error(loc, "", "[", "index out of range '%d'", index);
-        index = 0;
-    } else if (type.isArray()) {
-        if (type.isExplicitlySizedArray() && index >= type.getOuterArraySize()) {
-            error(loc, "", "[", "array index out of range '%d'", index);
-            index = type.getOuterArraySize() - 1;
-        }
-    } else if (type.isVector()) {
-        if (index >= type.getVectorSize()) {
-            error(loc, "", "[", "vector index out of range '%d'", index);
-            index = type.getVectorSize() - 1;
-        }
-    } else if (type.isMatrix()) {
-        if (index >= type.getMatrixCols()) {
-            error(loc, "", "[", "matrix index out of range '%d'", index);
-            index = type.getMatrixCols() - 1;
-        }
-    }
-}
-
 // for ES 2.0 (version 100) limitations for almost all index operations except vertex-shader uniforms
 void TParseContext::handleIndexLimits(const TSourceLoc& /*loc*/, TIntermTyped* base, TIntermTyped* index)
 {
@@ -682,7 +665,8 @@
     // leaving swizzles and struct/block dereferences.
 
     TIntermTyped* result = base;
-    if (base->isVector() || base->isScalar()) {
+    if ((base->isVector() || base->isScalar()) &&
+        (base->isFloatingDomain() || base->isIntegerDomain() || base->getBasicType() == EbtBool)) {
         if (base->isScalar()) {
             const char* dotFeature = "scalar swizzle";
             requireProfile(loc, ~EEsProfile, dotFeature);
@@ -1570,6 +1554,23 @@
         break;
     }
 
+#ifdef NV_EXTENSIONS
+    case EOpAtomicAdd:
+    case EOpAtomicMin:
+    case EOpAtomicMax:
+    case EOpAtomicAnd:
+    case EOpAtomicOr:
+    case EOpAtomicXor:
+    case EOpAtomicExchange:
+    case EOpAtomicCompSwap:
+    {
+        if (arg0->getType().getBasicType() == EbtInt64 || arg0->getType().getBasicType() == EbtUint64)
+            requireExtensions(loc, 1, &E_GL_NV_shader_atomic_int64, fnCandidate.getName().c_str());
+
+        break;
+    }
+#endif
+
     case EOpInterpolateAtCentroid:
     case EOpInterpolateAtSample:
     case EOpInterpolateAtOffset:
@@ -2457,6 +2458,16 @@
 
 void TParseContext::samplerCheck(const TSourceLoc& loc, const TType& type, const TString& identifier, TIntermTyped* /*initializer*/)
 {
+    // Check that the appropriate extension is enabled if external sampler is used.
+    // There are two extensions. The correct one must be used based on GLSL version.
+    if (type.getBasicType() == EbtSampler && type.getSampler().external) {
+        if (version < 300) {
+            requireExtensions(loc, 1, &E_GL_OES_EGL_image_external, "samplerExternalOES");
+        } else {
+            requireExtensions(loc, 1, &E_GL_OES_EGL_image_external_essl3, "samplerExternalOES");
+        }
+    }
+
     if (type.getQualifier().storage == EvqUniform)
         return;
 
@@ -3528,14 +3539,6 @@
             oldType.getQualifier().flat = newType.getQualifier().flat;
             oldType.getQualifier().nopersp = newType.getQualifier().nopersp;
 
-#ifdef NV_EXTENSIONS
-            if (member->type->getFieldName() == "gl_Layer") {
-                if (!newType.getQualifier().layoutViewportRelative && newType.getQualifier().layoutSecondaryViewportRelativeOffset == -2048)
-                    error(loc, "redeclaration only allowed for viewport_relative or secondary_view_offset layout", "redeclaration", member->type->getFieldName().c_str());
-                oldType.getQualifier().layoutViewportRelative = newType.getQualifier().layoutViewportRelative;
-                oldType.getQualifier().layoutSecondaryViewportRelativeOffset = newType.getQualifier().layoutSecondaryViewportRelativeOffset;
-            }
-#endif
             if (oldType.isImplicitlySizedArray() && newType.isExplicitlySizedArray())
                 oldType.changeOuterArraySize(newType.getOuterArraySize());
 
@@ -4458,8 +4461,8 @@
         switch (qualifier.storage) {
         case EvqVaryingIn:
         case EvqVaryingOut:
-            if (type.getBasicType() != EbtBlock || 
-                (!(*type.getStruct())[0].type->getQualifier().hasLocation() && 
+            if (type.getBasicType() != EbtBlock ||
+                (!(*type.getStruct())[0].type->getQualifier().hasLocation() &&
                   (*type.getStruct())[0].type->getQualifier().builtIn == EbvNone))
                 error(loc, "SPIR-V requires location for user input/output", "location", "");
             break;
@@ -4860,7 +4863,7 @@
             // Check for overlap
             int numOffsets = 4;
             if (symbol.getType().isArray()) {
-                if (symbol.getType().isExplicitlySizedArray())
+                if (symbol.getType().isExplicitlySizedArray() && ! symbol.getType().getArraySizes()->isInnerImplicit())
                     numOffsets *= symbol.getType().getCumulativeArraySize();
                 else {
                     // "It is a compile-time error to declare an unsized array of atomic_uint."
@@ -5501,7 +5504,7 @@
 
     bool singleArg;
     if (aggrNode) {
-        if (aggrNode->getOp() != EOpNull || aggrNode->getSequence().size() == 1)
+        if (aggrNode->getOp() != EOpNull)
             singleArg = true;
         else
             singleArg = false;
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
index d04607a..73b9798 100644
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -74,7 +74,8 @@
 public:
     TParseContextBase(TSymbolTable& symbolTable, TIntermediate& interm, bool parsingBuiltins, int version,
                       EProfile profile, const SpvVersion& spvVersion, EShLanguage language,
-                      TInfoSink& infoSink, bool forwardCompatible, EShMessages messages)
+                      TInfoSink& infoSink, bool forwardCompatible, EShMessages messages,
+                      const TString* entryPoint = nullptr)
           : TParseVersions(interm, version, profile, spvVersion, language, infoSink, forwardCompatible, messages),
             scopeMangler("::"),
             symbolTable(symbolTable),
@@ -83,8 +84,13 @@
             contextPragma(true, false),
             parsingBuiltins(parsingBuiltins), scanContext(nullptr), ppContext(nullptr),
             limits(resources.limits),
-            globalUniformBlock(nullptr)
-    { }
+            globalUniformBlock(nullptr),
+            globalUniformBinding(TQualifier::layoutBindingEnd),
+            globalUniformSet(TQualifier::layoutSetEnd)
+    {
+        if (entryPoint != nullptr)
+            sourceEntryPointName = *entryPoint;
+    }
     virtual ~TParseContextBase() { }
 
     virtual void C_DECL   error(const TSourceLoc&, const char* szReason, const char* szToken,
@@ -98,6 +104,8 @@
 
     virtual void setLimits(const TBuiltInResource&) = 0;
 
+    void checkIndex(const TSourceLoc&, const TType&, int& index);
+
     EShLanguage getLanguage() const { return language; }
     void setScanContext(TScanContext* c) { scanContext = c; }
     TScanContext* getScanContext() const { return scanContext; }
@@ -141,6 +149,15 @@
     // Manage the global uniform block (default uniforms in GLSL, $Global in HLSL)
     virtual void growGlobalUniformBlock(const TSourceLoc&, TType&, const TString& memberName, TTypeList* typeList = nullptr);
 
+    // Potentially rename shader entry point function
+    void renameShaderFunction(TString*& name) const
+    {
+        // Replace the entry point name given in the shader with the real entry point name,
+        // if there is a substitution.
+        if (name != nullptr && *name == sourceEntryPointName && intermediate.getEntryPointName().size() > 0)
+            name = NewPoolTString(intermediate.getEntryPointName().c_str());
+    }
+
     virtual bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
     virtual void rValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*);
 
@@ -173,6 +190,7 @@
     TPpContext* ppContext;
     TBuiltInResource resources;
     TLimits& limits;
+    TString sourceEntryPointName;
 
     // These, if set, will be called when a line, pragma ... is preprocessed.
     // They will be called with any parameters to the original directive.
@@ -192,8 +210,10 @@
                                       TSwizzleSelectors<TVectorSelector>&);
 
     // Manage the global uniform block (default uniforms in GLSL, $Global in HLSL)
-    TVariable* globalUniformBlock;   // the actual block, inserted into the symbol table
-    int firstNewMember;              // the index of the first member not yet inserted into the symbol table
+    TVariable* globalUniformBlock;     // the actual block, inserted into the symbol table
+    unsigned int globalUniformBinding; // the block's binding number
+    unsigned int globalUniformSet;     // the block's set number
+    int firstNewMember;                // the index of the first member not yet inserted into the symbol table
     // override this to set the language-specific name
     virtual const char* getGlobalUniformBlockName() const { return ""; }
     virtual void setUniformBlockDefaults(TType&) const { }
@@ -249,7 +269,8 @@
 class TParseContext : public TParseContextBase {
 public:
     TParseContext(TSymbolTable&, TIntermediate&, bool parsingBuiltins, int version, EProfile, const SpvVersion& spvVersion, EShLanguage, TInfoSink&,
-                  bool forwardCompatible = false, EShMessages messages = EShMsgDefault);
+                  bool forwardCompatible = false, EShMessages messages = EShMsgDefault,
+                  const TString* entryPoint = nullptr);
     virtual ~TParseContext();
 
     bool obeyPrecisionQualifiers() const { return precisionManager.respectingPrecisionQualifiers(); };
@@ -268,7 +289,6 @@
     void handlePragma(const TSourceLoc&, const TVector<TString>&) override;
     TIntermTyped* handleVariable(const TSourceLoc&, TSymbol* symbol, const TString* string);
     TIntermTyped* handleBracketDereference(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index);
-    void checkIndex(const TSourceLoc&, const TType&, int& index);
     void handleIndexLimits(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index);
 
     void makeEditable(TSymbol*&) override;
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
index 25122ee..68d1500 100644
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -1152,7 +1152,9 @@
 
     case SAMPLEREXTERNALOES:
         afterType = true;
-        if (parseContext.symbolTable.atBuiltInLevel() || parseContext.extensionTurnedOn(E_GL_OES_EGL_image_external))
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            parseContext.extensionTurnedOn(E_GL_OES_EGL_image_external) ||
+            parseContext.extensionTurnedOn(E_GL_OES_EGL_image_external_essl3))
             return keyword;
         return identifierOrType();
 
diff --git a/glslang/MachineIndependent/Scan.h b/glslang/MachineIndependent/Scan.h
index 9b8f2d4..2c26c2e 100644
--- a/glslang/MachineIndependent/Scan.h
+++ b/glslang/MachineIndependent/Scan.h
@@ -51,25 +51,24 @@
 //
 class TInputScanner {
 public:
-    TInputScanner(int n, const char* const s[], size_t L[], const char* const* names = nullptr, int b = 0, int f = 0, bool single = false) :
+    TInputScanner(int n, const char* const s[], size_t L[], const char* const* names = nullptr,
+                  int b = 0, int f = 0, bool single = false) :
         numSources(n),
-        sources(reinterpret_cast<const unsigned char* const *>(s)), // up to this point, common usage is "char*", but now we need positive 8-bit characters
-        lengths(L), currentSource(0), currentChar(0), stringBias(b), finale(f), singleLogical(single), endOfFileReached(false)
+         // up to this point, common usage is "char*", but now we need positive 8-bit characters
+        sources(reinterpret_cast<const unsigned char* const *>(s)),
+        lengths(L), currentSource(0), currentChar(0), stringBias(b), finale(f), singleLogical(single),
+        endOfFileReached(false)
     {
         loc = new TSourceLoc[numSources];
         for (int i = 0; i < numSources; ++i) {
-            loc[i].init();
+            loc[i].init(i - stringBias);
         }
         if (names != nullptr) {
             for (int i = 0; i < numSources; ++i)
                 loc[i].name = names[i];
         }
-        loc[currentSource].string = -stringBias;
         loc[currentSource].line = 1;
-        loc[currentSource].column = 0;
-        logicalSourceLoc.string = 0;
-        logicalSourceLoc.line = 1;
-        logicalSourceLoc.column = 0;
+        logicalSourceLoc.init(1);
         logicalSourceLoc.name = loc[0].name;
     }
 
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
index 2a904f4..05d2212 100644
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -91,18 +91,16 @@
                                       int version, EProfile profile, EShSource source,
                                       EShLanguage language, TInfoSink& infoSink,
                                       SpvVersion spvVersion, bool forwardCompatible, EShMessages messages,
-                                      bool parsingBuiltIns, const std::string sourceEntryPointName = "")
+                                      bool parsingBuiltIns, std::string sourceEntryPointName = "")
 {
-#ifndef ENABLE_HLSL
-    (void)sourceEntryPointName; // Unused argument.
-#endif
-
     switch (source) {
-    case EShSourceGlsl:
-        intermediate.setEntryPointName("main");
+    case EShSourceGlsl: {
+        if (sourceEntryPointName.size() == 0)
+            intermediate.setEntryPointName("main");
+        TString entryPoint = sourceEntryPointName.c_str();
         return new TParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion,
-                                 language, infoSink, forwardCompatible, messages);
-
+                                 language, infoSink, forwardCompatible, messages, &entryPoint);
+    }
 #ifdef ENABLE_HLSL
     case EShSourceHlsl:
         return new HlslParseContext(symbolTable, intermediate, parsingBuiltIns, version, profile, spvVersion,
@@ -1663,20 +1661,30 @@
     intermediate->addProcesses(p);
 }
 
+// Set binding base for given resource type
+void TShader::setShiftBinding(TResourceType res, unsigned int base) {
+    intermediate->setShiftBinding(res, base);
+}
+
+// Set binding base for given resource type for a given binding set.
+void TShader::setShiftBindingForSet(TResourceType res, unsigned int set, unsigned int base) {
+    intermediate->setShiftBindingForSet(res, set, base); 
+}
+
 // Set binding base for sampler types
-void TShader::setShiftSamplerBinding(unsigned int base) { intermediate->setShiftSamplerBinding(base); }
+void TShader::setShiftSamplerBinding(unsigned int base) { setShiftBinding(EResSampler, base); }
 // Set binding base for texture types (SRV)
-void TShader::setShiftTextureBinding(unsigned int base) { intermediate->setShiftTextureBinding(base); }
+void TShader::setShiftTextureBinding(unsigned int base) { setShiftBinding(EResTexture, base); }
 // Set binding base for image types
-void TShader::setShiftImageBinding(unsigned int base)   { intermediate->setShiftImageBinding(base); }
+void TShader::setShiftImageBinding(unsigned int base)   { setShiftBinding(EResImage, base); }
 // Set binding base for uniform buffer objects (CBV)
-void TShader::setShiftUboBinding(unsigned int base)     { intermediate->setShiftUboBinding(base); }
+void TShader::setShiftUboBinding(unsigned int base)     { setShiftBinding(EResUbo, base); }
 // Synonym for setShiftUboBinding, to match HLSL language.
-void TShader::setShiftCbufferBinding(unsigned int base) { intermediate->setShiftUboBinding(base); }
+void TShader::setShiftCbufferBinding(unsigned int base) { setShiftBinding(EResUbo, base); }
 // Set binding base for UAV (unordered access view)
-void TShader::setShiftUavBinding(unsigned int base)     { intermediate->setShiftUavBinding(base); }
+void TShader::setShiftUavBinding(unsigned int base)     { setShiftBinding(EResUav, base); }
 // Set binding base for SSBOs
-void TShader::setShiftSsboBinding(unsigned int base)    { intermediate->setShiftSsboBinding(base); }
+void TShader::setShiftSsboBinding(unsigned int base)    { setShiftBinding(EResSsbo, base); }
 // Enables binding automapping using TIoMapper
 void TShader::setAutoMapBindings(bool map)              { intermediate->setAutoMapBindings(map); }
 // Fragile: currently within one stage: simple auto-assignment of location
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
index 531aa15..b1893b3 100644
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -154,6 +154,7 @@
     extensionBehavior[E_GL_OES_standard_derivatives]         = EBhDisable;
     extensionBehavior[E_GL_EXT_frag_depth]                   = EBhDisable;
     extensionBehavior[E_GL_OES_EGL_image_external]           = EBhDisable;
+    extensionBehavior[E_GL_OES_EGL_image_external_essl3]     = EBhDisable;
     extensionBehavior[E_GL_EXT_shader_texture_lod]           = EBhDisable;
     extensionBehavior[E_GL_EXT_shadow_samplers]              = EBhDisable;
     extensionBehavior[E_GL_ARB_texture_rectangle]            = EBhDisable;
@@ -201,6 +202,7 @@
     extensionBehavior[E_GL_AMD_texture_gather_bias_lod]              = EBhDisable;
     extensionBehavior[E_GL_AMD_gpu_shader_int16]                     = EBhDisable;
     extensionBehavior[E_GL_AMD_shader_image_load_store_lod]          = EBhDisable;
+    extensionBehavior[E_GL_AMD_shader_fragment_mask]                 = EBhDisable;
 #endif
 
 #ifdef NV_EXTENSIONS
@@ -209,6 +211,7 @@
     extensionBehavior[E_GL_NV_viewport_array2]                       = EBhDisable;
     extensionBehavior[E_GL_NV_stereo_view_rendering]                 = EBhDisable;
     extensionBehavior[E_GL_NVX_multiview_per_view_attributes]        = EBhDisable;
+    extensionBehavior[E_GL_NV_shader_atomic_int64]                   = EBhDisable;
 #endif
 
     // AEP
@@ -260,6 +263,7 @@
             "#define GL_OES_standard_derivatives 1\n"
             "#define GL_EXT_frag_depth 1\n"
             "#define GL_OES_EGL_image_external 1\n"
+            "#define GL_OES_EGL_image_external_essl3 1\n"
             "#define GL_EXT_shader_texture_lod 1\n"
             "#define GL_EXT_shadow_samplers 1\n"
 
@@ -333,12 +337,14 @@
             "#define GL_AMD_texture_gather_bias_lod 1\n"
             "#define GL_AMD_gpu_shader_int16 1\n"
             "#define GL_AMD_shader_image_load_store_lod 1\n"
+            "#define GL_AMD_shader_fragment_mask 1\n"
 #endif
 
 #ifdef NV_EXTENSIONS
             "#define GL_NV_sample_mask_override_coverage 1\n"
             "#define GL_NV_geometry_shader_passthrough 1\n"
             "#define GL_NV_viewport_array2 1\n"
+            "#define GL_NV_shader_atomic_int64 1\n"
 #endif
             ;
 
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
index 78a9b28..bd57103 100644
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -107,6 +107,7 @@
 const char* const E_GL_OES_standard_derivatives         = "GL_OES_standard_derivatives";
 const char* const E_GL_EXT_frag_depth                   = "GL_EXT_frag_depth";
 const char* const E_GL_OES_EGL_image_external           = "GL_OES_EGL_image_external";
+const char* const E_GL_OES_EGL_image_external_essl3     = "GL_OES_EGL_image_external_essl3";
 const char* const E_GL_EXT_shader_texture_lod           = "GL_EXT_shader_texture_lod";
 const char* const E_GL_EXT_shadow_samplers              = "GL_EXT_shadow_samplers";
 
@@ -171,6 +172,7 @@
 const char* const E_GL_AMD_texture_gather_bias_lod              = "GL_AMD_texture_gather_bias_lod";
 const char* const E_GL_AMD_gpu_shader_int16                     = "GL_AMD_gpu_shader_int16";
 const char* const E_GL_AMD_shader_image_load_store_lod          = "GL_AMD_shader_image_load_store_lod";
+const char* const E_GL_AMD_shader_fragment_mask                 = "GL_AMD_shader_fragment_mask";
 #endif
 
 #ifdef NV_EXTENSIONS
@@ -180,6 +182,7 @@
 const char* const E_GL_NV_viewport_array2                       = "GL_NV_viewport_array2";
 const char* const E_GL_NV_stereo_view_rendering                 = "GL_NV_stereo_view_rendering";
 const char* const E_GL_NVX_multiview_per_view_attributes        = "GL_NVX_multiview_per_view_attributes";
+const char* const E_GL_NV_shader_atomic_int64                   = "GL_NV_shader_atomic_int64";
 
 // Arrays of extensions for the above viewportEXTs duplications
 
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
index cd6df7b..a011935 100644
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -860,6 +860,11 @@
         // Add the function as a prototype after parsing it (we do not support recursion)
         TFunction *function;
         TType type($1);
+
+        // Potentially rename shader entry point function.  No-op most of the time.
+        parseContext.renameShaderFunction($2.string);
+
+        // Make the function
         function = new TFunction($2.string, type);
         $$ = function;
     }
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
index c6bae9f..fabec4b 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp
+++ b/glslang/MachineIndependent/glslang_tab.cpp
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.0.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -44,7 +44,7 @@
 #define YYBISON 1
 
 /* Bison version.  */
-#define YYBISON_VERSION "3.0.4"
+#define YYBISON_VERSION "3.0"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -89,11 +89,11 @@
 
 #line 91 "MachineIndependent/glslang_tab.cpp" /* yacc.c:339  */
 
-# ifndef YY_NULLPTR
+# ifndef YY_NULL
 #  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULLPTR nullptr
+#   define YY_NULL nullptr
 #  else
-#   define YY_NULLPTR 0
+#   define YY_NULL 0
 #  endif
 # endif
 
@@ -422,7 +422,7 @@
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
+typedef union YYSTYPE YYSTYPE;
 union YYSTYPE
 {
 #line 68 "MachineIndependent/glslang.y" /* yacc.c:355  */
@@ -461,8 +461,6 @@
 
 #line 463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
 };
-
-typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
 #endif
@@ -490,7 +488,7 @@
 extern int yylex(YYSTYPE*, TParseContext&);
 
 
-#line 494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
+#line 492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -547,30 +545,11 @@
 # endif
 #endif
 
-#ifndef YY_ATTRIBUTE
-# if (defined __GNUC__                                               \
-      && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
-     || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
-#  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
-# else
-#  define YY_ATTRIBUTE(Spec) /* empty */
-# endif
-#endif
-
-#ifndef YY_ATTRIBUTE_PURE
-# define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
-#endif
-
-#ifndef YY_ATTRIBUTE_UNUSED
-# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
-#endif
-
-#if !defined _Noreturn \
-     && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
-# if defined _MSC_VER && 1200 <= _MSC_VER
-#  define _Noreturn __declspec (noreturn)
-# else
-#  define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+#ifndef __attribute__
+/* This feature is available in gcc versions 2.5 and later.  */
+# if (! defined __GNUC__ || __GNUC__ < 2 \
+      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
+#  define __attribute__(Spec) /* empty */
 # endif
 #endif
 
@@ -827,42 +806,42 @@
      624,   632,   633,   633,   651,   652,   667,   671,   675,   679,
      684,   688,   692,   696,   700,   704,   708,   715,   718,   729,
      736,   741,   746,   754,   758,   762,   766,   771,   776,   785,
-     785,   796,   800,   807,   814,   817,   824,   832,   852,   870,
-     885,   908,   919,   929,   939,   949,   958,   961,   965,   969,
-     974,   982,   987,   992,   997,  1002,  1011,  1022,  1049,  1058,
-    1065,  1072,  1079,  1091,  1097,  1100,  1107,  1111,  1115,  1123,
-    1132,  1135,  1146,  1149,  1152,  1156,  1160,  1164,  1171,  1175,
-    1187,  1201,  1206,  1212,  1218,  1225,  1231,  1236,  1241,  1246,
-    1254,  1258,  1262,  1266,  1270,  1274,  1280,  1289,  1292,  1300,
-    1304,  1313,  1318,  1326,  1330,  1340,  1344,  1348,  1353,  1360,
-    1364,  1369,  1374,  1379,  1386,  1393,  1397,  1402,  1407,  1412,
-    1418,  1424,  1430,  1438,  1446,  1454,  1459,  1464,  1469,  1474,
-    1479,  1484,  1490,  1496,  1502,  1510,  1518,  1526,  1532,  1538,
-    1544,  1550,  1556,  1562,  1570,  1578,  1586,  1591,  1596,  1601,
-    1606,  1611,  1616,  1621,  1626,  1631,  1636,  1641,  1646,  1652,
-    1658,  1664,  1670,  1676,  1682,  1688,  1694,  1700,  1706,  1712,
-    1718,  1726,  1734,  1742,  1750,  1758,  1766,  1774,  1782,  1790,
-    1798,  1806,  1814,  1819,  1824,  1829,  1834,  1839,  1844,  1849,
-    1854,  1859,  1864,  1869,  1874,  1879,  1884,  1889,  1894,  1899,
-    1904,  1909,  1914,  1919,  1924,  1929,  1934,  1939,  1944,  1949,
-    1954,  1959,  1964,  1969,  1974,  1979,  1984,  1989,  1994,  1999,
-    2004,  2009,  2014,  2019,  2024,  2029,  2034,  2039,  2044,  2049,
-    2054,  2059,  2064,  2069,  2074,  2079,  2084,  2089,  2094,  2099,
-    2104,  2109,  2114,  2119,  2124,  2129,  2134,  2139,  2144,  2149,
-    2154,  2159,  2164,  2169,  2174,  2179,  2184,  2189,  2194,  2199,
-    2204,  2209,  2214,  2219,  2224,  2229,  2234,  2239,  2244,  2249,
-    2254,  2259,  2264,  2269,  2274,  2279,  2284,  2289,  2294,  2299,
-    2304,  2309,  2314,  2319,  2324,  2329,  2334,  2339,  2344,  2349,
-    2354,  2359,  2365,  2371,  2377,  2383,  2389,  2395,  2401,  2406,
-    2422,  2427,  2432,  2440,  2440,  2451,  2451,  2461,  2464,  2477,
-    2495,  2519,  2523,  2529,  2534,  2545,  2548,  2554,  2563,  2566,
-    2572,  2576,  2577,  2583,  2584,  2585,  2586,  2587,  2588,  2589,
-    2593,  2594,  2598,  2594,  2610,  2611,  2615,  2615,  2622,  2622,
-    2636,  2639,  2647,  2655,  2666,  2667,  2671,  2678,  2682,  2690,
-    2694,  2707,  2707,  2727,  2730,  2736,  2748,  2760,  2760,  2775,
-    2775,  2791,  2791,  2812,  2815,  2821,  2824,  2830,  2834,  2841,
-    2846,  2851,  2858,  2861,  2870,  2874,  2883,  2886,  2889,  2897,
-    2897
+     785,   796,   800,   807,   814,   817,   824,   832,   852,   875,
+     890,   913,   924,   934,   944,   954,   963,   966,   970,   974,
+     979,   987,   992,   997,  1002,  1007,  1016,  1027,  1054,  1063,
+    1070,  1077,  1084,  1096,  1102,  1105,  1112,  1116,  1120,  1128,
+    1137,  1140,  1151,  1154,  1157,  1161,  1165,  1169,  1176,  1180,
+    1192,  1206,  1211,  1217,  1223,  1230,  1236,  1241,  1246,  1251,
+    1259,  1263,  1267,  1271,  1275,  1279,  1285,  1294,  1297,  1305,
+    1309,  1318,  1323,  1331,  1335,  1345,  1349,  1353,  1358,  1365,
+    1369,  1374,  1379,  1384,  1391,  1398,  1402,  1407,  1412,  1417,
+    1423,  1429,  1435,  1443,  1451,  1459,  1464,  1469,  1474,  1479,
+    1484,  1489,  1495,  1501,  1507,  1515,  1523,  1531,  1537,  1543,
+    1549,  1555,  1561,  1567,  1575,  1583,  1591,  1596,  1601,  1606,
+    1611,  1616,  1621,  1626,  1631,  1636,  1641,  1646,  1651,  1657,
+    1663,  1669,  1675,  1681,  1687,  1693,  1699,  1705,  1711,  1717,
+    1723,  1731,  1739,  1747,  1755,  1763,  1771,  1779,  1787,  1795,
+    1803,  1811,  1819,  1824,  1829,  1834,  1839,  1844,  1849,  1854,
+    1859,  1864,  1869,  1874,  1879,  1884,  1889,  1894,  1899,  1904,
+    1909,  1914,  1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,
+    1959,  1964,  1969,  1974,  1979,  1984,  1989,  1994,  1999,  2004,
+    2009,  2014,  2019,  2024,  2029,  2034,  2039,  2044,  2049,  2054,
+    2059,  2064,  2069,  2074,  2079,  2084,  2089,  2094,  2099,  2104,
+    2109,  2114,  2119,  2124,  2129,  2134,  2139,  2144,  2149,  2154,
+    2159,  2164,  2169,  2174,  2179,  2184,  2189,  2194,  2199,  2204,
+    2209,  2214,  2219,  2224,  2229,  2234,  2239,  2244,  2249,  2254,
+    2259,  2264,  2269,  2274,  2279,  2284,  2289,  2294,  2299,  2304,
+    2309,  2314,  2319,  2324,  2329,  2334,  2339,  2344,  2349,  2354,
+    2359,  2364,  2370,  2376,  2382,  2388,  2394,  2400,  2406,  2411,
+    2427,  2432,  2437,  2445,  2445,  2456,  2456,  2466,  2469,  2482,
+    2500,  2524,  2528,  2534,  2539,  2550,  2553,  2559,  2568,  2571,
+    2577,  2581,  2582,  2588,  2589,  2590,  2591,  2592,  2593,  2594,
+    2598,  2599,  2603,  2599,  2615,  2616,  2620,  2620,  2627,  2627,
+    2641,  2644,  2652,  2660,  2671,  2672,  2676,  2683,  2687,  2695,
+    2699,  2712,  2712,  2732,  2735,  2741,  2753,  2765,  2765,  2780,
+    2780,  2796,  2796,  2817,  2820,  2826,  2829,  2835,  2839,  2846,
+    2851,  2856,  2863,  2866,  2875,  2879,  2888,  2891,  2894,  2902,
+    2902
 };
 #endif
 
@@ -962,7 +941,7 @@
   "switch_statement_list", "case_label", "iteration_statement", "$@10",
   "$@11", "$@12", "for_init_statement", "conditionopt",
   "for_rest_statement", "jump_statement", "translation_unit",
-  "external_declaration", "function_definition", "$@13", YY_NULLPTR
+  "external_declaration", "function_definition", "$@13", YY_NULL
 };
 #endif
 
@@ -2959,11 +2938,11 @@
 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yytype_int16 *yyssp, int yytoken)
 {
-  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
-  const char *yyformat = YY_NULLPTR;
+  const char *yyformat = YY_NULL;
   /* Arguments of yyformat. */
   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   /* Number of reported tokens (one for the "unexpected", one per
@@ -3020,7 +2999,7 @@
                   }
                 yyarg[yycount++] = yytname[yyx];
                 {
-                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
                   if (! (yysize <= yysize1
                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                     return 2;
@@ -3361,7 +3340,7 @@
     {
         (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
     }
-#line 3365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 3:
@@ -3369,7 +3348,7 @@
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3373 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 4:
@@ -3377,7 +3356,7 @@
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
     }
-#line 3381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 5:
@@ -3386,7 +3365,7 @@
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
     }
-#line 3390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3369 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 6:
@@ -3395,7 +3374,7 @@
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i64, (yyvsp[0].lex).loc, true);
     }
-#line 3399 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 7:
@@ -3404,7 +3383,7 @@
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u64, (yyvsp[0].lex).loc, true);
     }
-#line 3408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 8:
@@ -3415,7 +3394,7 @@
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
 #endif
     }
-#line 3419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 9:
@@ -3426,7 +3405,7 @@
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
 #endif
     }
-#line 3430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 10:
@@ -3434,7 +3413,7 @@
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
     }
-#line 3438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 11:
@@ -3443,7 +3422,7 @@
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double literal");
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtDouble, (yyvsp[0].lex).loc, true);
     }
-#line 3447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 12:
@@ -3454,7 +3433,7 @@
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
 #endif
     }
-#line 3458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 13:
@@ -3462,7 +3441,7 @@
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
     }
-#line 3466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 14:
@@ -3472,7 +3451,7 @@
         if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
             (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
     }
-#line 3476 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 15:
@@ -3480,7 +3459,7 @@
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3484 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 16:
@@ -3488,7 +3467,7 @@
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
     }
-#line 3492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 17:
@@ -3496,7 +3475,7 @@
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 18:
@@ -3504,7 +3483,7 @@
     {
         (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
     }
-#line 3508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 19:
@@ -3514,7 +3493,7 @@
         parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "++", (yyvsp[-1].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "++", EOpPostIncrement, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 3518 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 20:
@@ -3524,7 +3503,7 @@
         parseContext.lValueErrorCheck((yyvsp[0].lex).loc, "--", (yyvsp[-1].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[0].lex).loc, "--", EOpPostDecrement, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 3528 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 21:
@@ -3533,7 +3512,7 @@
         parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 22:
@@ -3542,7 +3521,7 @@
         (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
         delete (yyvsp[0].interm).function;
     }
-#line 3546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 23:
@@ -3550,7 +3529,7 @@
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 3554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 24:
@@ -3559,7 +3538,7 @@
         (yyval.interm) = (yyvsp[-1].interm);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 3563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 25:
@@ -3568,7 +3547,7 @@
         (yyval.interm) = (yyvsp[-1].interm);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 3572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 26:
@@ -3576,7 +3555,7 @@
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 3580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 27:
@@ -3584,7 +3563,7 @@
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 3588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 28:
@@ -3596,7 +3575,7 @@
         (yyval.interm).function = (yyvsp[-1].interm).function;
         (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
     }
-#line 3600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 29:
@@ -3608,7 +3587,7 @@
         (yyval.interm).function = (yyvsp[-2].interm).function;
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-2].interm).intermNode, (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
     }
-#line 3612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 30:
@@ -3616,7 +3595,7 @@
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 3620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3599 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 31:
@@ -3626,7 +3605,7 @@
         (yyval.interm).intermNode = 0;
         (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
     }
-#line 3630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3609 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 32:
@@ -3658,7 +3637,7 @@
             (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull);
         }
     }
-#line 3662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 33:
@@ -3669,7 +3648,7 @@
         if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
             parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
     }
-#line 3673 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 34:
@@ -3678,7 +3657,7 @@
         parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "++", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "++", EOpPreIncrement, (yyvsp[0].interm.intermTypedNode));
     }
-#line 3682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3661 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 35:
@@ -3687,7 +3666,7 @@
         parseContext.lValueErrorCheck((yyvsp[-1].lex).loc, "--", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.handleUnaryMath((yyvsp[-1].lex).loc, "--", EOpPreDecrement, (yyvsp[0].interm.intermTypedNode));
     }
-#line 3691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 36:
@@ -3708,38 +3687,38 @@
                 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
         }
     }
-#line 3712 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 37:
 #line 472 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 3718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 38:
 #line 473 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 3724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 39:
 #line 474 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
-#line 3730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 40:
 #line 475 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpBitwiseNot;
               parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise not"); }
-#line 3737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 41:
 #line 481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3722 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 42:
@@ -3749,7 +3728,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 43:
@@ -3759,7 +3738,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 44:
@@ -3770,13 +3749,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 45:
 #line 501 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 46:
@@ -3786,7 +3765,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 47:
@@ -3796,13 +3775,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 48:
 #line 515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 49:
@@ -3813,7 +3792,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3817 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 50:
@@ -3824,13 +3803,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3828 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 51:
 #line 531 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3834 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 52:
@@ -3840,7 +3819,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3844 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 53:
@@ -3850,7 +3829,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 54:
@@ -3860,7 +3839,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 55:
@@ -3870,13 +3849,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 56:
 #line 555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3859 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 57:
@@ -3889,7 +3868,7 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3893 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 58:
@@ -3902,13 +3881,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3885 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 59:
 #line 575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3891 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 60:
@@ -3919,13 +3898,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3923 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 61:
 #line 585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 62:
@@ -3936,13 +3915,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 63:
 #line 595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 64:
@@ -3953,13 +3932,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 3957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 65:
 #line 605 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 66:
@@ -3969,13 +3948,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 67:
 #line 614 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 68:
@@ -3985,13 +3964,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 3989 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 69:
 #line 623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 3995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 70:
@@ -4001,13 +3980,13 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 71:
 #line 632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4011 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 72:
@@ -4015,7 +3994,7 @@
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 4019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 3998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 73:
@@ -4032,13 +4011,13 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4036 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 74:
 #line 651 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4042 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4021 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 75:
@@ -4055,7 +4034,7 @@
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
         }
     }
-#line 4059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 76:
@@ -4064,7 +4043,7 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAssign;
     }
-#line 4068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 77:
@@ -4073,7 +4052,7 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpMulAssign;
     }
-#line 4077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 78:
@@ -4082,7 +4061,7 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpDivAssign;
     }
-#line 4086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 79:
@@ -4092,7 +4071,7 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpModAssign;
     }
-#line 4096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 80:
@@ -4101,7 +4080,7 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAddAssign;
     }
-#line 4105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 81:
@@ -4110,7 +4089,7 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpSubAssign;
     }
-#line 4114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 82:
@@ -4119,7 +4098,7 @@
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
     }
-#line 4123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4102 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 83:
@@ -4128,7 +4107,7 @@
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
     }
-#line 4132 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 84:
@@ -4137,7 +4116,7 @@
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
     }
-#line 4141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 85:
@@ -4146,7 +4125,7 @@
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
     }
-#line 4150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 86:
@@ -4155,7 +4134,7 @@
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
     }
-#line 4159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 87:
@@ -4163,7 +4142,7 @@
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 88:
@@ -4176,7 +4155,7 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4159 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 89:
@@ -4185,7 +4164,7 @@
         parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4189 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4168 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 90:
@@ -4195,7 +4174,7 @@
         (yyval.interm.intermNode) = 0;
         // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
     }
-#line 4199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4178 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 91:
@@ -4205,7 +4184,7 @@
             (yyvsp[-1].interm).intermNode->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-1].interm).intermNode;
     }
-#line 4209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 92:
@@ -4218,7 +4197,7 @@
         parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
         (yyval.interm.intermNode) = 0;
     }
-#line 4222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 93:
@@ -4227,7 +4206,7 @@
         parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
         (yyval.interm.intermNode) = 0;
     }
-#line 4231 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 94:
@@ -4236,7 +4215,7 @@
         parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 4240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4219 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 95:
@@ -4245,7 +4224,7 @@
         parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
         (yyval.interm.intermNode) = 0;
     }
-#line 4249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 96:
@@ -4255,7 +4234,7 @@
         parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
         (yyval.interm.intermNode) = 0;
     }
-#line 4259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 97:
@@ -4265,7 +4244,7 @@
         parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 4269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4248 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 98:
@@ -4276,13 +4255,13 @@
         parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
         (yyval.interm.intermNode) = 0;
     }
-#line 4280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 99:
 #line 785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 4286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 100:
@@ -4296,7 +4275,7 @@
         (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
         (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
     }
-#line 4300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 101:
@@ -4305,7 +4284,7 @@
         (yyval.interm.identifierList) = new TIdentifierList;
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 4309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4288 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 102:
@@ -4314,7 +4293,7 @@
         (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 4318 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4297 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 103:
@@ -4323,7 +4302,7 @@
         (yyval.interm).function = (yyvsp[-1].interm.function);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 4327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 104:
@@ -4331,7 +4310,7 @@
     {
         (yyval.interm.function) = (yyvsp[0].interm.function);
     }
-#line 4335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 105:
@@ -4339,7 +4318,7 @@
     {
         (yyval.interm.function) = (yyvsp[0].interm.function);
     }
-#line 4343 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 106:
@@ -4352,7 +4331,7 @@
         else
             delete (yyvsp[0].interm).param.type;
     }
-#line 4356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 107:
@@ -4374,7 +4353,7 @@
             (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
         }
     }
-#line 4378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 108:
@@ -4390,14 +4369,19 @@
         // Add the function as a prototype after parsing it (we do not support recursion)
         TFunction *function;
         TType type((yyvsp[-2].interm.type));
+
+        // Potentially rename shader entry point function.  No-op most of the time.
+        parseContext.renameShaderFunction((yyvsp[-1].lex).string);
+
+        // Make the function
         function = new TFunction((yyvsp[-1].lex).string, type);
         (yyval.interm.function) = function;
     }
-#line 4397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 109:
-#line 870 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 875 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-1].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -4413,11 +4397,11 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).param = param;
     }
-#line 4417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 110:
-#line 885 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 890 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -4435,11 +4419,11 @@
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).param = param;
     }
-#line 4439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4423 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 111:
-#line 908 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -4451,11 +4435,11 @@
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
 
     }
-#line 4455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 112:
-#line 919 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 924 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -4463,11 +4447,11 @@
         parseContext.paramCheckFix((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
         parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
     }
-#line 4467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 113:
-#line 929 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -4478,11 +4462,11 @@
         parseContext.parameterTypeCheck((yyvsp[0].interm).loc, (yyvsp[-1].interm.type).qualifier.storage, *(yyval.interm).param.type);
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
     }
-#line 4482 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 114:
-#line 939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 944 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -4490,118 +4474,118 @@
         parseContext.paramCheckFix((yyvsp[0].interm).loc, EvqTemporary, *(yyval.interm).param.type);
         parseContext.precisionQualifierCheck((yyval.interm).loc, (yyval.interm).param.type->getBasicType(), (yyval.interm).param.type->getQualifier());
     }
-#line 4494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 115:
-#line 949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType((yyvsp[0].interm.type)) };
         (yyval.interm).param = param;
         if ((yyvsp[0].interm.type).arraySizes)
             parseContext.arraySizeRequiredCheck((yyvsp[0].interm.type).loc, *(yyvsp[0].interm.type).arraySizes);
     }
-#line 4505 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 116:
-#line 958 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 963 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 4513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 117:
-#line 961 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 966 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-2].interm).type);
     }
-#line 4522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 118:
-#line 965 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 970 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
         parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-3].interm).type, (yyvsp[0].interm).arraySizes);
     }
-#line 4531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 119:
-#line 969 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-5].interm).type;
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-5].interm).type, (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-5].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 120:
-#line 974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-4].interm).type;
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-4].interm).type, 0, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate((yyvsp[-4].interm).intermNode, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 121:
-#line 982 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 987 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[0].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareTypeDefaults((yyval.interm).loc, (yyval.interm).type);
     }
-#line 4561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 122:
-#line 987 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 992 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-1].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareVariable((yyvsp[0].lex).loc, *(yyvsp[0].lex).string, (yyvsp[-1].interm.type));
     }
-#line 4571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 123:
-#line 992 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-2].interm.type);
         (yyval.interm).intermNode = 0;
         parseContext.declareVariable((yyvsp[-1].lex).loc, *(yyvsp[-1].lex).string, (yyvsp[-2].interm.type), (yyvsp[0].interm).arraySizes);
     }
-#line 4581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 124:
-#line 997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1002 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-4].interm.type);
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-3].lex).loc, *(yyvsp[-3].lex).string, (yyvsp[-4].interm.type), (yyvsp[-2].interm).arraySizes, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4575 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 125:
-#line 1002 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1007 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).type = (yyvsp[-3].interm.type);
         TIntermNode* initNode = parseContext.declareVariable((yyvsp[-2].lex).loc, *(yyvsp[-2].lex).string, (yyvsp[-3].interm.type), 0, (yyvsp[0].interm.intermTypedNode));
         (yyval.interm).intermNode = parseContext.intermediate.growAggregate(0, initNode, (yyvsp[-1].lex).loc);
     }
-#line 4601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 126:
-#line 1011 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1016 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
 
@@ -4613,11 +4597,11 @@
 
         parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
     }
-#line 4617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 127:
-#line 1022 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1027 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
         parseContext.globalQualifierTypeCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, (yyvsp[0].interm.type));
@@ -4642,22 +4626,22 @@
              (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
             (yyval.interm.type).qualifier.smooth = true;
     }
-#line 4646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 128:
-#line 1049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1054 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "invariant");
         parseContext.profileRequires((yyval.interm.type).loc, ENoProfile, 120, 0, "invariant");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.invariant = true;
     }
-#line 4657 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 129:
-#line 1058 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1063 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -4665,11 +4649,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.smooth = true;
     }
-#line 4669 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 130:
-#line 1065 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1070 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -4677,11 +4661,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.flat = true;
     }
-#line 4681 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 131:
-#line 1072 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
         parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "noperspective");
@@ -4689,11 +4673,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.nopersp = true;
     }
-#line 4693 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 132:
-#line 1079 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1084 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
@@ -4703,84 +4687,84 @@
         (yyval.interm.type).qualifier.explicitInterp = true;
 #endif
     }
-#line 4707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4691 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 133:
-#line 1091 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1096 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-1].interm.type);
     }
-#line 4715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 134:
-#line 1097 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1102 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 135:
-#line 1100 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-2].interm.type);
         (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
         parseContext.mergeObjectLayoutQualifiers((yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
     }
-#line 4733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 136:
-#line 1107 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1112 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), *(yyvsp[0].lex).string);
     }
-#line 4742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 137:
-#line 1111 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1116 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[-2].lex).loc);
         parseContext.setLayoutQualifier((yyvsp[-2].lex).loc, (yyval.interm.type), *(yyvsp[-2].lex).string, (yyvsp[0].interm.intermTypedNode));
     }
-#line 4751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 138:
-#line 1115 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1120 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { // because "shared" is both an identifier and a keyword
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         TString strShared("shared");
         parseContext.setLayoutQualifier((yyvsp[0].lex).loc, (yyval.interm.type), strShared);
     }
-#line 4761 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4745 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 139:
-#line 1123 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1128 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyval.interm.type).loc, ECoreProfile | ECompatibilityProfile, 400, E_GL_ARB_gpu_shader5, "precise");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 320, Num_AEP_gpu_shader5, AEP_gpu_shader5, "precise");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.noContraction = true;
     }
-#line 4772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 140:
-#line 1132 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1137 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 141:
-#line 1135 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1140 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-1].interm.type);
         if ((yyval.interm.type).basicType == EbtVoid)
@@ -4789,72 +4773,72 @@
         (yyval.interm.type).shaderQualifiers.merge((yyvsp[0].interm.type).shaderQualifiers);
         parseContext.mergeQualifiers((yyval.interm.type).loc, (yyval.interm.type).qualifier, (yyvsp[0].interm.type).qualifier, false);
     }
-#line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4777 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 142:
-#line 1146 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1151 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4801 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 143:
-#line 1149 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1154 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 144:
-#line 1152 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1157 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkPrecisionQualifier((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type).qualifier.precision);
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 145:
-#line 1156 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1161 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4827 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4811 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 146:
-#line 1160 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1165 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 147:
-#line 1164 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // allow inheritance of storage qualifier from block declaration
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 4845 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 148:
-#line 1171 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1176 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqConst;  // will later turn into EvqConstReadOnly, if the initializer is not constant
     }
-#line 4854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 149:
-#line 1175 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1180 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -4867,11 +4851,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 4871 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 150:
-#line 1187 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1192 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -4886,43 +4870,43 @@
         else
             (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 4890 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 151:
-#line 1201 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1206 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "inout");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqInOut;
     }
-#line 4900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 152:
-#line 1206 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "in");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         // whether this is a parameter "in" or a pipeline "in" will get sorted out a bit later
         (yyval.interm.type).qualifier.storage = EvqIn;
     }
-#line 4911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4895 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 153:
-#line 1212 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1217 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "out");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         // whether this is a parameter "out" or a pipeline "out" will get sorted out a bit later
         (yyval.interm.type).qualifier.storage = EvqOut;
     }
-#line 4922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 154:
-#line 1218 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1223 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 120, 0, "centroid");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 300, 0, "centroid");
@@ -4930,52 +4914,52 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.centroid = true;
     }
-#line 4934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 155:
-#line 1225 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1230 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "patch");
         parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangTessControlMask | EShLangTessEvaluationMask), "patch");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.patch = true;
     }
-#line 4945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 156:
-#line 1231 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1236 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "sample");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.sample = true;
     }
-#line 4955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4939 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 157:
-#line 1236 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1241 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "uniform");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqUniform;
     }
-#line 4965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4949 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 158:
-#line 1241 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1246 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "buffer");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqBuffer;
     }
-#line 4975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 159:
-#line 1246 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1251 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "shared");
         parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
@@ -4984,126 +4968,126 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqShared;
     }
-#line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4972 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 160:
-#line 1254 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.coherent = true;
     }
-#line 4997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 161:
-#line 1258 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1263 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.volatil = true;
     }
-#line 5006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 162:
-#line 1262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1267 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.restrict = true;
     }
-#line 5015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 163:
-#line 1266 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1271 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.readonly = true;
     }
-#line 5024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 164:
-#line 1270 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1275 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.writeonly = true;
     }
-#line 5033 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 165:
-#line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1279 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.spvRemoved((yyvsp[0].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[0].lex).loc, "subroutine");
         parseContext.unimplemented((yyvsp[0].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[0].lex).loc);
     }
-#line 5044 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 166:
-#line 1280 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1285 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.spvRemoved((yyvsp[-3].lex).loc, "subroutine");
         parseContext.globalCheck((yyvsp[-3].lex).loc, "subroutine");
         parseContext.unimplemented((yyvsp[-3].lex).loc, "subroutine");
         (yyval.interm.type).init((yyvsp[-3].lex).loc);
     }
-#line 5055 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5039 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 167:
-#line 1289 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO
     }
-#line 5063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 168:
-#line 1292 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1297 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO: 4.0 semantics: subroutines
         // 1) make sure each identifier is a type declared earlier with SUBROUTINE
         // 2) save all of the identifiers for future comparison with the declared function
     }
-#line 5073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 169:
-#line 1300 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1305 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
         (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
     }
-#line 5082 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 170:
-#line 1304 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayDimCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes, 0);
         (yyval.interm.type) = (yyvsp[-1].interm.type);
         (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
         (yyval.interm.type).arraySizes = (yyvsp[0].interm).arraySizes;
     }
-#line 5093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 171:
-#line 1313 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1318 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 5103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 172:
-#line 1318 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1323 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-2].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
@@ -5112,20 +5096,20 @@
         parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 5116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 173:
-#line 1326 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 5125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5109 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 174:
-#line 1330 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
 
@@ -5133,39 +5117,39 @@
         parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 5137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 175:
-#line 1340 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtVoid;
     }
-#line 5146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 176:
-#line 1344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
     }
-#line 5155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 177:
-#line 1348 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1353 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
     }
-#line 5165 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5149 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 178:
-#line 1353 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float", parseContext.symbolTable.atBuiltInLevel());
@@ -5173,50 +5157,50 @@
         (yyval.interm.type).basicType = EbtFloat16;
 #endif
     }
-#line 5177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 179:
-#line 1360 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1365 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
     }
-#line 5186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 180:
-#line 1364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
     }
-#line 5196 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 181:
-#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1374 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt64;
     }
-#line 5206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 182:
-#line 1374 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
     }
-#line 5216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 183:
-#line 1379 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1384 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer", parseContext.symbolTable.atBuiltInLevel());
@@ -5224,11 +5208,11 @@
         (yyval.interm.type).basicType = EbtInt16;
 #endif
     }
-#line 5228 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 184:
-#line 1386 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1391 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
@@ -5236,83 +5220,83 @@
         (yyval.interm.type).basicType = EbtUint16;
 #endif
     }
-#line 5240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 185:
-#line 1393 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1398 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtBool;
     }
-#line 5249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 186:
-#line 1397 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5259 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 187:
 #line 1402 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(3);
+        (yyval.interm.type).setVector(2);
     }
-#line 5269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 188:
+  case 187:
 #line 1407 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(3);
+    }
+#line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 188:
+#line 1412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setVector(4);
     }
-#line 5279 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 189:
-#line 1412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1417 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setVector(2);
     }
-#line 5290 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5274 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 190:
-#line 1418 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1423 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setVector(3);
     }
-#line 5301 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5285 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 191:
-#line 1424 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setVector(4);
     }
-#line 5312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 192:
-#line 1430 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1435 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5321,11 +5305,11 @@
         (yyval.interm.type).setVector(2);
 #endif
     }
-#line 5325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 193:
-#line 1438 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1443 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5334,11 +5318,11 @@
         (yyval.interm.type).setVector(3);
 #endif
     }
-#line 5338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 194:
-#line 1446 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5347,104 +5331,104 @@
         (yyval.interm.type).setVector(4);
 #endif
     }
-#line 5351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 195:
-#line 1454 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5361 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 196:
 #line 1459 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtBool;
+        (yyval.interm.type).setVector(2);
+    }
+#line 5345 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 196:
+#line 1464 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtBool;
         (yyval.interm.type).setVector(3);
     }
-#line 5371 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 197:
-#line 1464 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1469 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtBool;
         (yyval.interm.type).setVector(4);
     }
-#line 5381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 198:
-#line 1469 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
-        (yyval.interm.type).setVector(2);
-    }
-#line 5391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 199:
 #line 1474 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(2);
+    }
+#line 5375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 199:
+#line 1479 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
         (yyval.interm.type).setVector(3);
     }
-#line 5401 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 200:
-#line 1479 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1484 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
         (yyval.interm.type).setVector(4);
     }
-#line 5411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 201:
-#line 1484 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1489 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt64;
         (yyval.interm.type).setVector(2);
     }
-#line 5422 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 202:
-#line 1490 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt64;
         (yyval.interm.type).setVector(3);
     }
-#line 5433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5417 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 203:
-#line 1496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1501 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt64;
         (yyval.interm.type).setVector(4);
     }
-#line 5444 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 204:
-#line 1502 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1507 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5453,11 +5437,11 @@
         (yyval.interm.type).setVector(2);
 #endif
     }
-#line 5457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 205:
-#line 1510 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5466,11 +5450,11 @@
         (yyval.interm.type).setVector(3);
 #endif
     }
-#line 5470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5454 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 206:
-#line 1518 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5479,77 +5463,77 @@
         (yyval.interm.type).setVector(4);
 #endif
     }
-#line 5483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 207:
-#line 1526 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1531 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
         (yyval.interm.type).setVector(2);
     }
-#line 5494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 208:
-#line 1532 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1537 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
         (yyval.interm.type).setVector(3);
     }
-#line 5505 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5489 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 209:
-#line 1538 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1543 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned integer vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
         (yyval.interm.type).setVector(4);
     }
-#line 5516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 210:
-#line 1544 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
         (yyval.interm.type).setVector(2);
     }
-#line 5527 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 211:
-#line 1550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
         (yyval.interm.type).setVector(3);
     }
-#line 5538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5522 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 212:
-#line 1556 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1561 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int64Check((yyvsp[0].lex).loc, "64-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint64;
         (yyval.interm.type).setVector(4);
     }
-#line 5549 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 213:
-#line 1562 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1567 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5558,11 +5542,11 @@
         (yyval.interm.type).setVector(2);
 #endif
     }
-#line 5562 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 214:
-#line 1570 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1575 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5571,11 +5555,11 @@
         (yyval.interm.type).setVector(3);
 #endif
     }
-#line 5575 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 215:
-#line 1578 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1583 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.int16Check((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
@@ -5584,263 +5568,263 @@
         (yyval.interm.type).setVector(4);
 #endif
     }
-#line 5588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5572 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 216:
-#line 1586 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 5598 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 217:
 #line 1591 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 5608 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5582 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 218:
+  case 217:
 #line 1596 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 5618 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5592 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 219:
+  case 218:
 #line 1601 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
+        (yyval.interm.type).setMatrix(4, 4);
     }
-#line 5628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 220:
+  case 219:
 #line 1606 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 3);
+        (yyval.interm.type).setMatrix(2, 2);
     }
-#line 5638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 221:
+  case 220:
 #line 1611 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 4);
+        (yyval.interm.type).setMatrix(2, 3);
     }
-#line 5648 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 222:
+  case 221:
 #line 1616 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 2);
+        (yyval.interm.type).setMatrix(2, 4);
     }
-#line 5658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 223:
+  case 222:
 #line 1621 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
+        (yyval.interm.type).setMatrix(3, 2);
     }
-#line 5668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 224:
+  case 223:
 #line 1626 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 4);
+        (yyval.interm.type).setMatrix(3, 3);
     }
-#line 5678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 225:
+  case 224:
 #line 1631 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 2);
+        (yyval.interm.type).setMatrix(3, 4);
     }
-#line 5688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 226:
+  case 225:
 #line 1636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 2);
+    }
+#line 5672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 226:
+#line 1641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 5698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5682 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 227:
-#line 1641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1646 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 5708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5692 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 228:
-#line 1646 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1651 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 5719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5703 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 229:
-#line 1652 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1657 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 5730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 230:
-#line 1658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 5741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5725 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 231:
-#line 1664 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1669 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 5752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 232:
-#line 1670 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1675 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 3);
     }
-#line 5763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 233:
-#line 1676 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1681 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 4);
     }
-#line 5774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5758 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 234:
-#line 1682 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1687 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 2);
     }
-#line 5785 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 235:
-#line 1688 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1693 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 5796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 236:
-#line 1694 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 4);
     }
-#line 5807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5791 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 237:
-#line 1700 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1705 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 2);
     }
-#line 5818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 238:
-#line 1706 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1711 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 5829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5813 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 239:
-#line 1712 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1717 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 5840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 240:
-#line 1718 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1723 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5849,11 +5833,11 @@
         (yyval.interm.type).setMatrix(2, 2);
 #endif
     }
-#line 5853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5837 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 241:
-#line 1726 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1731 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5862,11 +5846,11 @@
         (yyval.interm.type).setMatrix(3, 3);
 #endif
     }
-#line 5866 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 242:
-#line 1734 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1739 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5875,11 +5859,11 @@
         (yyval.interm.type).setMatrix(4, 4);
 #endif
     }
-#line 5879 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 243:
-#line 1742 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1747 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5888,11 +5872,11 @@
         (yyval.interm.type).setMatrix(2, 2);
 #endif
     }
-#line 5892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 244:
-#line 1750 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1755 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5901,11 +5885,11 @@
         (yyval.interm.type).setMatrix(2, 3);
 #endif
     }
-#line 5905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 245:
-#line 1758 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1763 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5914,11 +5898,11 @@
         (yyval.interm.type).setMatrix(2, 4);
 #endif
     }
-#line 5918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 246:
-#line 1766 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1771 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5927,11 +5911,11 @@
         (yyval.interm.type).setMatrix(3, 2);
 #endif
     }
-#line 5931 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 247:
-#line 1774 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1779 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5940,11 +5924,11 @@
         (yyval.interm.type).setMatrix(3, 3);
 #endif
     }
-#line 5944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 248:
-#line 1782 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1787 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5953,11 +5937,11 @@
         (yyval.interm.type).setMatrix(3, 4);
 #endif
     }
-#line 5957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 249:
-#line 1790 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1795 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5966,11 +5950,11 @@
         (yyval.interm.type).setMatrix(4, 2);
 #endif
     }
-#line 5970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 250:
-#line 1798 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5979,11 +5963,11 @@
         (yyval.interm.type).setMatrix(4, 3);
 #endif
     }
-#line 5983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 251:
-#line 1806 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
@@ -5992,1188 +5976,1188 @@
         (yyval.interm.type).setMatrix(4, 4);
 #endif
     }
-#line 5996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5980 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 252:
-#line 1814 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1819 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.vulkanRemoved((yyvsp[0].lex).loc, "atomic counter types");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtAtomicUint;
     }
-#line 6006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 253:
-#line 1819 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D);
     }
-#line 6016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 254:
-#line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
     }
-#line 6026 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 255:
-#line 1829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd3D);
     }
-#line 6036 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 256:
-#line 1834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube);
     }
-#line 6046 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 257:
-#line 1839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D, false, true);
     }
-#line 6056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 258:
-#line 1844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, true);
     }
-#line 6066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 259:
-#line 1849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube, false, true);
     }
-#line 6076 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 260:
-#line 1854 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true);
     }
-#line 6086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 261:
-#line 1859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1864 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true);
     }
-#line 6096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6080 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 262:
-#line 1864 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1869 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd1D, true, true);
     }
-#line 6106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 263:
-#line 1869 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1874 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, true);
     }
-#line 6116 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 264:
-#line 1874 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1879 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true);
     }
-#line 6126 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6110 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 265:
-#line 1879 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdCube, true, true);
     }
-#line 6136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 266:
-#line 1884 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd1D);
     }
-#line 6146 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 267:
-#line 1889 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1894 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D);
     }
-#line 6156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6140 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 268:
-#line 1894 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1899 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd3D);
     }
-#line 6166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 269:
-#line 1899 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1904 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdCube);
     }
-#line 6176 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 270:
-#line 1904 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1909 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd1D, true);
     }
-#line 6186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 271:
-#line 1909 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D, true);
     }
-#line 6196 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 272:
-#line 1914 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdCube, true);
     }
-#line 6206 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 273:
-#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1924 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd1D);
     }
-#line 6216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 274:
-#line 1924 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1929 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D);
     }
-#line 6226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 275:
-#line 1929 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd3D);
     }
-#line 6236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 276:
-#line 1934 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdCube);
     }
-#line 6246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 277:
-#line 1939 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1944 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd1D, true);
     }
-#line 6256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6240 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 278:
-#line 1944 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D, true);
     }
-#line 6266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 279:
-#line 1949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdCube, true);
     }
-#line 6276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 280:
-#line 1954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1959 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdRect);
     }
-#line 6286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6270 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 281:
-#line 1959 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdRect, false, true);
     }
-#line 6296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 282:
-#line 1964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1969 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdRect);
     }
-#line 6306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6290 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 283:
-#line 1969 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdRect);
     }
-#line 6316 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6300 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 284:
-#line 1974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, EsdBuffer);
     }
-#line 6326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6310 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 285:
-#line 1979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, EsdBuffer);
     }
-#line 6336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 286:
-#line 1984 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1989 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, EsdBuffer);
     }
-#line 6346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6330 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 287:
-#line 1989 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1994 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, false, false, true);
     }
-#line 6356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 288:
-#line 1994 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1999 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D, false, false, true);
     }
-#line 6366 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 289:
-#line 1999 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2004 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D, false, false, true);
     }
-#line 6376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 290:
-#line 2004 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D, true, false, true);
     }
-#line 6386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 291:
-#line 2009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtInt, Esd2D, true, false, true);
     }
-#line 6396 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 292:
-#line 2014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2019 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtUint, Esd2D, true, false, true);
     }
-#line 6406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 293:
-#line 2019 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setPureSampler(false);
     }
-#line 6416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 294:
-#line 2024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2029 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setPureSampler(true);
     }
-#line 6426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6410 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 295:
-#line 2029 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2034 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D);
     }
-#line 6436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6420 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 296:
-#line 2034 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2039 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D);
     }
-#line 6446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 297:
-#line 2039 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd3D);
     }
-#line 6456 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 298:
-#line 2044 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube);
     }
-#line 6466 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6450 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 299:
-#line 2049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2054 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd1D, true);
     }
-#line 6476 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 300:
-#line 2054 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2059 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true);
     }
-#line 6486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 301:
-#line 2059 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2064 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdCube, true);
     }
-#line 6496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 302:
-#line 2064 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2069 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D);
     }
-#line 6506 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 303:
-#line 2069 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D);
     }
-#line 6516 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6500 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 304:
-#line 2074 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2079 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd3D);
     }
-#line 6526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6510 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 305:
-#line 2079 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2084 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube);
     }
-#line 6536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6520 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 306:
-#line 2084 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2089 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd1D, true);
     }
-#line 6546 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 307:
-#line 2089 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2094 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true);
     }
-#line 6556 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 308:
-#line 2094 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2099 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdCube, true);
     }
-#line 6566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6550 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 309:
-#line 2099 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D);
     }
-#line 6576 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6560 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 310:
-#line 2104 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2109 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D);
     }
-#line 6586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6570 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 311:
-#line 2109 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2114 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd3D);
     }
-#line 6596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6580 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 312:
-#line 2114 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2119 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube);
     }
-#line 6606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 313:
-#line 2119 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2124 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd1D, true);
     }
-#line 6616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 314:
-#line 2124 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2129 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true);
     }
-#line 6626 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 315:
-#line 2129 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2134 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdCube, true);
     }
-#line 6636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 316:
-#line 2134 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2139 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdRect);
     }
-#line 6646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 317:
-#line 2139 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2144 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdRect);
     }
-#line 6656 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6640 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 318:
-#line 2144 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2149 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdRect);
     }
-#line 6666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 319:
-#line 2149 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2154 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, EsdBuffer);
     }
-#line 6676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6660 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 320:
-#line 2154 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2159 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, EsdBuffer);
     }
-#line 6686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 321:
-#line 2159 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2164 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, EsdBuffer);
     }
-#line 6696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 322:
-#line 2164 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, false, false, true);
     }
-#line 6706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 323:
-#line 2169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2174 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, false, false, true);
     }
-#line 6716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6700 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 324:
-#line 2174 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2179 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, false, false, true);
     }
-#line 6726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 325:
-#line 2179 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2184 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtFloat, Esd2D, true, false, true);
     }
-#line 6736 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 326:
-#line 2184 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2189 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtInt, Esd2D, true, false, true);
     }
-#line 6746 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 327:
-#line 2189 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2194 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setTexture(EbtUint, Esd2D, true, false, true);
     }
-#line 6756 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 328:
-#line 2194 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2199 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D);
     }
-#line 6766 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 329:
-#line 2199 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2204 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd1D);
     }
-#line 6776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 330:
-#line 2204 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2209 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd1D);
     }
-#line 6786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 331:
-#line 2209 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2214 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D);
     }
-#line 6796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 332:
-#line 2214 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2219 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D);
     }
-#line 6806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 333:
-#line 2219 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2224 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D);
     }
-#line 6816 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 334:
-#line 2224 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2229 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd3D);
     }
-#line 6826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 335:
-#line 2229 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2234 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd3D);
     }
-#line 6836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 336:
-#line 2234 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2239 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd3D);
     }
-#line 6846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 337:
-#line 2239 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2244 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdRect);
     }
-#line 6856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 338:
-#line 2244 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2249 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdRect);
     }
-#line 6866 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 339:
-#line 2249 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2254 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdRect);
     }
-#line 6876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6860 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 340:
-#line 2254 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube);
     }
-#line 6886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6870 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 341:
-#line 2259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2264 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdCube);
     }
-#line 6896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 342:
-#line 2264 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2269 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdCube);
     }
-#line 6906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6890 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 343:
-#line 2269 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdBuffer);
     }
-#line 6916 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 344:
-#line 2274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2279 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdBuffer);
     }
-#line 6926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6910 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 345:
-#line 2279 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2284 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdBuffer);
     }
-#line 6936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6920 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 346:
-#line 2284 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2289 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd1D, true);
     }
-#line 6946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 347:
-#line 2289 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd1D, true);
     }
-#line 6956 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6940 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 348:
-#line 2294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2299 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd1D, true);
     }
-#line 6966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 349:
-#line 2299 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2304 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true);
     }
-#line 6976 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 350:
-#line 2304 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true);
     }
-#line 6986 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6970 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 351:
-#line 2309 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true);
     }
-#line 6996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6980 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 352:
-#line 2314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, EsdCube, true);
     }
-#line 7006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 353:
-#line 2319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2324 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, EsdCube, true);
     }
-#line 7016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7000 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 354:
-#line 2324 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2329 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, EsdCube, true);
     }
-#line 7026 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 355:
-#line 2329 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, false, false, true);
     }
-#line 7036 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7020 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 356:
-#line 2334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2339 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, false, false, true);
     }
-#line 7046 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 357:
-#line 2339 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, false, false, true);
     }
-#line 7056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 358:
-#line 2344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtFloat, Esd2D, true, false, true);
     }
-#line 7066 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 359:
-#line 2349 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2354 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtInt, Esd2D, true, false, true);
     }
-#line 7076 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7060 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 360:
-#line 2354 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setImage(EbtUint, Esd2D, true, false, true);
     }
-#line 7086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7070 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 361:
-#line 2359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {  // GL_OES_EGL_image_external
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.set(EbtFloat, Esd2D);
         (yyval.interm.type).sampler.external = true;
     }
-#line 7097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 362:
-#line 2365 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2370 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtFloat);
     }
-#line 7108 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7092 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 363:
-#line 2371 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2376 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtFloat, true);
     }
-#line 7119 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 364:
-#line 2377 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2382 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtInt);
     }
-#line 7130 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 365:
-#line 2383 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2388 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtInt, true);
     }
-#line 7141 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 366:
-#line 2389 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2394 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtUint);
     }
-#line 7152 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 367:
-#line 2395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangFragment, "subpass input");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtSampler;
         (yyval.interm.type).sampler.setSubpass(EbtUint, true);
     }
-#line 7163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 368:
-#line 2401 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2406 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
         (yyval.interm.type).qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
         parseContext.structTypeCheck((yyval.interm.type).loc, (yyval.interm.type));
     }
-#line 7173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 369:
-#line 2406 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2411 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // This is for user defined type names.  The lexical phase looked up the
@@ -7187,47 +7171,47 @@
         } else
             parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
     }
-#line 7191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 370:
-#line 2422 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2427 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "highp precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqHigh);
     }
-#line 7201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7185 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 371:
-#line 2427 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2432 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "mediump precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqMedium);
     }
-#line 7211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7195 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 372:
-#line 2432 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2437 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "lowp precision qualifier");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         parseContext.handlePrecisionQualifier((yyvsp[0].lex).loc, (yyval.interm.type).qualifier, EpqLow);
     }
-#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7205 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 373:
-#line 2440 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 7227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7211 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 374:
-#line 2440 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), *(yyvsp[-4].lex).string);
         parseContext.structArrayCheck((yyvsp[-4].lex).loc, *structure);
@@ -7239,17 +7223,17 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 7243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 375:
-#line 2451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 7249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 376:
-#line 2451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
         (yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -7257,19 +7241,19 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 7261 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7245 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 377:
-#line 2461 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
     }
-#line 7269 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 378:
-#line 2464 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2469 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[-1].interm.typeList);
         for (unsigned int i = 0; i < (yyvsp[0].interm.typeList)->size(); ++i) {
@@ -7280,11 +7264,11 @@
             (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
         }
     }
-#line 7284 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 379:
-#line 2477 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2482 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).arraySizes) {
             parseContext.profileRequires((yyvsp[-2].interm.type).loc, ENoProfile, 120, E_GL_3DL_array_objects, "arrayed type");
@@ -7303,11 +7287,11 @@
             (*(yyval.interm.typeList))[i].type->mergeType((yyvsp[-2].interm.type));
         }
     }
-#line 7307 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 380:
-#line 2495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier);
         if ((yyvsp[-2].interm.type).arraySizes) {
@@ -7329,38 +7313,38 @@
             (*(yyval.interm.typeList))[i].type->mergeType((yyvsp[-2].interm.type));
         }
     }
-#line 7333 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 381:
-#line 2519 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2524 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = new TTypeList;
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 7342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 382:
-#line 2523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 7350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7334 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 383:
-#line 2529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2534 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeLine).type = new TType(EbtVoid);
         (yyval.interm.typeLine).loc = (yyvsp[0].lex).loc;
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[0].lex).string);
     }
-#line 7360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 384:
-#line 2534 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2539 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayDimCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes, 0);
 
@@ -7369,219 +7353,219 @@
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
         (yyval.interm.typeLine).type->newArraySizes(*(yyvsp[0].interm).arraySizes);
     }
-#line 7373 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 385:
-#line 2545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 7381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7365 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 386:
-#line 2548 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2553 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         const char* initFeature = "{ } style initializers";
         parseContext.requireProfile((yyvsp[-2].lex).loc, ~EEsProfile, initFeature);
         parseContext.profileRequires((yyvsp[-2].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
         (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
     }
-#line 7392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 387:
-#line 2554 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2559 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         const char* initFeature = "{ } style initializers";
         parseContext.requireProfile((yyvsp[-3].lex).loc, ~EEsProfile, initFeature);
         parseContext.profileRequires((yyvsp[-3].lex).loc, ~EEsProfile, 420, E_GL_ARB_shading_language_420pack, initFeature);
         (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 388:
-#line 2563 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2568 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
     }
-#line 7411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 389:
-#line 2566 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2571 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
     }
-#line 7419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 390:
-#line 2572 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7409 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 391:
-#line 2576 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2581 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7415 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 392:
-#line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2582 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7421 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 393:
-#line 2583 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2588 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 394:
-#line 2584 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7433 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 395:
-#line 2585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 396:
-#line 2586 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2591 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 397:
-#line 2587 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2592 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 398:
-#line 2588 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2593 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 399:
-#line 2589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 400:
-#line 2593 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2598 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = 0; }
-#line 7485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 401:
-#line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2599 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
     }
-#line 7494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 402:
-#line 2598 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
     }
-#line 7503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7487 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 403:
-#line 2602 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.intermNode) && (yyvsp[-2].interm.intermNode)->getAsAggregate())
             (yyvsp[-2].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-2].interm.intermNode);
     }
-#line 7513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 404:
-#line 2610 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2615 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 405:
-#line 2611 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2616 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 7525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 406:
-#line 2615 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2620 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 407:
-#line 2618 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 408:
-#line 2622 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7536 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 409:
-#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 410:
-#line 2636 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 7571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7555 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 411:
-#line 2639 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm.intermNode) && (yyvsp[-1].interm.intermNode)->getAsAggregate())
             (yyvsp[-1].interm.intermNode)->getAsAggregate()->setOperator(EOpSequence);
         (yyval.interm.intermNode) = (yyvsp[-1].interm.intermNode);
     }
-#line 7581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7565 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 412:
-#line 2647 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2652 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[0].interm.intermNode));
         if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
@@ -7590,11 +7574,11 @@
             (yyval.interm.intermNode) = 0;  // start a fresh subsequence for what's after this case
         }
     }
-#line 7594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 413:
-#line 2655 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2660 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[0].interm.intermNode) && (yyvsp[0].interm.intermNode)->getAsBranchNode() && ((yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpCase ||
                                             (yyvsp[0].interm.intermNode)->getAsBranchNode()->getFlowOp() == EOpDefault)) {
@@ -7603,59 +7587,59 @@
         } else
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
     }
-#line 7607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 414:
-#line 2666 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = 0; }
-#line 7613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7597 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 415:
-#line 2667 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2672 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 7619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7603 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 416:
-#line 2671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2676 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-2].interm.intermTypedNode));
         (yyval.interm.intermNode) = parseContext.intermediate.addSelection((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yyvsp[-4].lex).loc);
     }
-#line 7628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 417:
-#line 2678 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
     }
-#line 7637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 418:
-#line 2682 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2687 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 7646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 419:
-#line 2690 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2695 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         parseContext.boolCheck((yyvsp[0].interm.intermTypedNode)->getLoc(), (yyvsp[0].interm.intermTypedNode));
     }
-#line 7655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 420:
-#line 2694 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
 
@@ -7666,11 +7650,11 @@
         else
             (yyval.interm.intermTypedNode) = 0;
     }
-#line 7670 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 421:
-#line 2707 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2712 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // start new switch sequence on the switch stack
         ++parseContext.controlFlowNestingLevel;
@@ -7679,11 +7663,11 @@
         parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
         parseContext.symbolTable.push();
     }
-#line 7683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 422:
-#line 2715 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2720 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.addSwitch((yyvsp[-7].lex).loc, (yyvsp[-5].interm.intermTypedNode), (yyvsp[-1].interm.intermNode) ? (yyvsp[-1].interm.intermNode)->getAsAggregate() : 0);
         delete parseContext.switchSequenceStack.back();
@@ -7693,27 +7677,27 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7681 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 423:
-#line 2727 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2732 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 7705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 424:
-#line 2730 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2735 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 425:
-#line 2736 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2741 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -7726,11 +7710,11 @@
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
         }
     }
-#line 7730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7714 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 426:
-#line 2748 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2753 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -7740,11 +7724,11 @@
         else
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
     }
-#line 7744 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7728 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 427:
-#line 2760 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2765 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -7753,11 +7737,11 @@
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 428:
-#line 2768 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2773 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         (yyval.interm.intermNode) = parseContext.intermediate.addLoop((yyvsp[0].interm.intermNode), (yyvsp[-2].interm.intermTypedNode), 0, true, (yyvsp[-5].lex).loc);
@@ -7765,21 +7749,21 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7769 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 429:
-#line 2775 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 430:
-#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -7791,22 +7775,22 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 431:
-#line 2791 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2796 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 7806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 432:
-#line 2797 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2802 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         (yyval.interm.intermNode) = parseContext.intermediate.makeAggregate((yyvsp[-3].interm.intermNode), (yyvsp[-5].lex).loc);
@@ -7819,81 +7803,81 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 7823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 433:
-#line 2812 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2817 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
+#line 7815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 434:
+#line 2820 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+    }
+#line 7823 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 435:
+#line 2826 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
+    }
 #line 7831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 434:
-#line 2815 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 436:
+#line 2829 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+        (yyval.interm.intermTypedNode) = 0;
     }
 #line 7839 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 435:
-#line 2821 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
-    }
-#line 7847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 436:
-#line 2824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = 0;
-    }
-#line 7855 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
   case 437:
-#line 2830 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2835 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 7864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 438:
-#line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
     }
-#line 7873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 439:
-#line 2841 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2846 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (parseContext.loopNestingLevel <= 0)
             parseContext.error((yyvsp[-1].lex).loc, "continue statement only allowed in loops", "", "");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpContinue, (yyvsp[-1].lex).loc);
     }
-#line 7883 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 440:
-#line 2846 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2851 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (parseContext.loopNestingLevel + parseContext.switchSequenceStack.size() <= 0)
             parseContext.error((yyvsp[-1].lex).loc, "break statement only allowed in switch and loops", "", "");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpBreak, (yyvsp[-1].lex).loc);
     }
-#line 7893 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 441:
-#line 2851 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2856 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -7901,83 +7885,83 @@
         if (parseContext.inMain)
             parseContext.postEntryPointReturn = true;
     }
-#line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 442:
-#line 2858 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2863 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 7913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 443:
-#line 2861 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2866 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[-1].lex).loc, EShLangFragment, "discard");
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpKill, (yyvsp[-1].lex).loc);
     }
-#line 7922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 444:
-#line 2870 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2875 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
         parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
     }
-#line 7931 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 445:
-#line 2874 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2879 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[0].interm.intermNode) != nullptr) {
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
             parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
         }
     }
-#line 7942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 446:
-#line 2883 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2888 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7950 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 447:
-#line 2886 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2891 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 7958 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7942 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 448:
-#line 2889 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2894 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireProfile((yyvsp[0].lex).loc, ~EEsProfile, "extraneous semicolon");
         parseContext.profileRequires((yyvsp[0].lex).loc, ~EEsProfile, 460, nullptr, "extraneous semicolon");
         (yyval.interm.intermNode) = nullptr;
     }
-#line 7968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 449:
-#line 2897 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2902 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyvsp[0].interm).function = parseContext.handleFunctionDeclarator((yyvsp[0].interm).loc, *(yyvsp[0].interm).function, false /* not prototype */);
         (yyvsp[0].interm).intermNode = parseContext.handleFunctionDefinition((yyvsp[0].interm).loc, *(yyvsp[0].interm).function);
     }
-#line 7977 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 450:
-#line 2901 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2906 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //   May be best done as post process phase on intermediate code
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -7993,11 +7977,11 @@
         (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
         (yyval.interm.intermNode)->getAsAggregate()->addToPragmaTable(parseContext.contextPragma.pragmaTable);
     }
-#line 7997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7981 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
 
-#line 8001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -8225,5 +8209,5 @@
 #endif
   return yyresult;
 }
-#line 2918 "MachineIndependent/glslang.y" /* yacc.c:1906  */
+#line 2923 "MachineIndependent/glslang.y" /* yacc.c:1906  */
 
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index b8e78d6..b2e0063 100644
--- a/glslang/MachineIndependent/glslang_tab.cpp.h
+++ b/glslang/MachineIndependent/glslang_tab.cpp.h
@@ -1,8 +1,8 @@
-/* A Bison parser, made by GNU Bison 3.0.4.  */
+/* A Bison parser, made by GNU Bison 3.0.  */
 
 /* Bison interface for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -345,7 +345,7 @@
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-
+typedef union YYSTYPE YYSTYPE;
 union YYSTYPE
 {
 #line 68 "MachineIndependent/glslang.y" /* yacc.c:1909  */
@@ -384,8 +384,6 @@
 
 #line 386 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
 };
-
-typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
 #endif
diff --git a/glslang/MachineIndependent/intermOut.cpp b/glslang/MachineIndependent/intermOut.cpp
index 30240fc..7e15392 100644
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -196,6 +196,7 @@
     case EOpLogicalOr:  out.debug << "logical-or";   break;
     case EOpLogicalXor: out.debug << "logical-xor"; break;
     case EOpLogicalAnd: out.debug << "logical-and"; break;
+
     default: out.debug << "<unknown op>";
     }
 
@@ -431,10 +432,13 @@
     case EOpMaxInvocationsExclusiveScanNonUniform:  out.debug << "maxInvocationsExclusiveScanNonUniform";   break;
     case EOpAddInvocationsExclusiveScanNonUniform:  out.debug << "addInvocationsExclusiveScanNonUniform";   break;
 
-    case EOpMbcnt:                      out.debug << "mbcnt";                       break;
+    case EOpMbcnt:                  out.debug << "mbcnt";                       break;
 
-    case EOpCubeFaceIndex:          out.debug << "cubeFaceIndex";         break;
-    case EOpCubeFaceCoord:          out.debug << "cubeFaceCoord";         break;
+    case EOpCubeFaceIndex:          out.debug << "cubeFaceIndex";               break;
+    case EOpCubeFaceCoord:          out.debug << "cubeFaceCoord";               break;
+
+    case EOpFragmentMaskFetch:      out.debug << "fragmentMaskFetchAMD";        break;
+    case EOpFragmentFetch:          out.debug << "fragmentFetchAMD";            break;
 
     case EOpConvBoolToFloat16:      out.debug << "Convert bool to float16";     break;
     case EOpConvIntToFloat16:       out.debug << "Convert int to float16";      break;
@@ -488,6 +492,9 @@
     case EOpConvUint16ToUint64:     out.debug << "Convert uint16 to uint64";    break;
 #endif
 
+    case EOpSubpassLoad:   out.debug << "subpassLoad";   break;
+    case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break;
+
     default: out.debug.message(EPrefixError, "Bad unary op");
     }
 
@@ -788,6 +795,9 @@
     case EOpWorkgroupMemoryBarrier:           out.debug << "WorkgroupMemoryBarrier";           break;
     case EOpWorkgroupMemoryBarrierWithGroupSync: out.debug << "WorkgroupMemoryBarrierWithGroupSync"; break;
 
+    case EOpSubpassLoad:   out.debug << "subpassLoad";   break;
+    case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break;
+
     default: out.debug.message(EPrefixError, "Bad aggregation op");
     }
 
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
index 1758d00..a7d9d91 100644
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -351,16 +351,21 @@
 // Base class for shared TIoMapResolver services, used by several derivations.
 struct TDefaultIoResolverBase : public glslang::TIoMapResolver
 {
-    int baseSamplerBinding;
-    int baseTextureBinding;
-    int baseImageBinding;
-    int baseUboBinding;
-    int baseSsboBinding;
-    int baseUavBinding;
-    std::vector<std::string> baseResourceSetBinding;
-    bool doAutoBindingMapping;
-    bool doAutoLocationMapping;
-    int nextUniformLocation;
+    TDefaultIoResolverBase(const TIntermediate &intermediate) :
+        intermediate(intermediate),
+        nextUniformLocation(0)
+    { }
+
+    int getBaseBinding(TResourceType res, unsigned int set) const {
+        return selectBaseBinding(intermediate.getShiftBinding(res), 
+                                 intermediate.getShiftBindingForSet(res, set));
+    }
+
+    const std::vector<std::string>& getResourceSetBinding() const { return intermediate.getResourceSetBinding(); }
+
+    bool doAutoBindingMapping() const { return intermediate.getAutoMapBindings(); }
+    bool doAutoLocationMapping() const { return intermediate.getAutoMapLocations(); }
+
     typedef std::vector<int> TSlotSet;
     typedef std::unordered_map<int, TSlotSet> TSlotSetMap;
     TSlotSetMap slots;
@@ -411,15 +416,15 @@
             return type.getQualifier().layoutSet;
 
         // If a command line or API option requested a single descriptor set, use that (if not overrided by spaceN)
-        if (baseResourceSetBinding.size() == 1)
-            return atoi(baseResourceSetBinding[0].c_str());
+        if (getResourceSetBinding().size() == 1)
+            return atoi(getResourceSetBinding()[0].c_str());
 
         return 0;
     }
     int resolveUniformLocation(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& type, bool /*is_live*/) override
     {
         // kick out of not doing this
-        if (!doAutoLocationMapping)
+        if (!doAutoLocationMapping())
             return -1;
 
         // no locations added if already present, a built-in variable, a block, or an opaque
@@ -444,7 +449,7 @@
     int resolveInOutLocation(EShLanguage /*stage*/, const char* /*name*/, const TType& type, bool /*is_live*/) override
     {
         // kick out of not doing this
-        if (!doAutoLocationMapping)
+        if (!doAutoLocationMapping())
             return -1;
 
         // no locations added if already present, or a built-in variable
@@ -485,6 +490,14 @@
     void endResolve(EShLanguage) override {}
 
 protected:
+    const TIntermediate &intermediate;
+    int nextUniformLocation;
+
+    // Return descriptor set specific base if there is one, and the generic base otherwise.
+    int selectBaseBinding(int base, int descriptorSetBase) const {
+        return descriptorSetBase != -1 ? descriptorSetBase : base;
+    }
+
     static int getLayoutSet(const glslang::TType& type) {
         if (type.getQualifier().hasSet())
             return type.getQualifier().layoutSet;
@@ -497,7 +510,8 @@
     }
 
     static bool isTextureType(const glslang::TType& type) {
-        return type.getBasicType() == glslang::EbtSampler && type.getSampler().isTexture();
+        return (type.getBasicType() == glslang::EbtSampler && 
+                (type.getSampler().isTexture() || type.getSampler().isSubpass()));
     }
 
     static bool isUboType(const glslang::TType& type) {
@@ -517,6 +531,8 @@
  */
 struct TDefaultIoResolver : public TDefaultIoResolverBase
 {
+    TDefaultIoResolver(const TIntermediate &intermediate) : TDefaultIoResolverBase(intermediate) { }
+
     bool validateBinding(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& /*type*/, bool /*is_live*/) override
     {
         return true;
@@ -528,37 +544,37 @@
 
         if (type.getQualifier().hasBinding()) {
             if (isImageType(type))
-                return reserveSlot(set, baseImageBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResImage, set) + type.getQualifier().layoutBinding);
 
             if (isTextureType(type))
-                return reserveSlot(set, baseTextureBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResTexture, set) + type.getQualifier().layoutBinding);
 
             if (isSsboType(type))
-                return reserveSlot(set, baseSsboBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResSsbo, set) + type.getQualifier().layoutBinding);
 
             if (isSamplerType(type))
-                return reserveSlot(set, baseSamplerBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResSampler, set) + type.getQualifier().layoutBinding);
 
             if (isUboType(type))
-                return reserveSlot(set, baseUboBinding + type.getQualifier().layoutBinding);
-        } else if (is_live && doAutoBindingMapping) {
+                return reserveSlot(set, getBaseBinding(EResUbo, set) + type.getQualifier().layoutBinding);
+        } else if (is_live && doAutoBindingMapping()) {
             // 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 (isImageType(type))
-                return getFreeSlot(set, baseImageBinding);
+                return getFreeSlot(set, getBaseBinding(EResImage, set));
 
             if (isTextureType(type))
-                return getFreeSlot(set, baseTextureBinding);
+                return getFreeSlot(set, getBaseBinding(EResTexture, set));
 
             if (isSsboType(type))
-                return getFreeSlot(set, baseSsboBinding);
+                return getFreeSlot(set, getBaseBinding(EResSsbo, set));
 
             if (isSamplerType(type))
-                return getFreeSlot(set, baseSamplerBinding);
+                return getFreeSlot(set, getBaseBinding(EResSampler, set));
 
             if (isUboType(type))
-                return getFreeSlot(set, baseUboBinding);
+                return getFreeSlot(set, getBaseBinding(EResUbo, set));
         }
 
         return -1;
@@ -619,6 +635,8 @@
  ********************************************************************************/
 struct TDefaultHlslIoResolver : public TDefaultIoResolverBase
 {
+    TDefaultHlslIoResolver(const TIntermediate &intermediate) : TDefaultIoResolverBase(intermediate) { }
+
     bool validateBinding(EShLanguage /*stage*/, const char* /*name*/, const glslang::TType& /*type*/, bool /*is_live*/) override
     {
         return true;
@@ -630,31 +648,31 @@
 
         if (type.getQualifier().hasBinding()) {
             if (isUavType(type))
-                return reserveSlot(set, baseUavBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResUav, set) + type.getQualifier().layoutBinding);
 
             if (isSrvType(type))
-                return reserveSlot(set, baseTextureBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResTexture, set) + type.getQualifier().layoutBinding);
 
             if (isSamplerType(type))
-                return reserveSlot(set, baseSamplerBinding + type.getQualifier().layoutBinding);
+                return reserveSlot(set, getBaseBinding(EResSampler, set) + type.getQualifier().layoutBinding);
 
             if (isUboType(type))
-                return reserveSlot(set, baseUboBinding + type.getQualifier().layoutBinding);
-        } else if (is_live && doAutoBindingMapping) {
+                return reserveSlot(set, getBaseBinding(EResUbo, set) + type.getQualifier().layoutBinding);
+        } else if (is_live && doAutoBindingMapping()) {
             // 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 (isUavType(type))
-                return getFreeSlot(set, baseUavBinding);
+                return getFreeSlot(set, getBaseBinding(EResUav, set));
 
             if (isSrvType(type))
-                return getFreeSlot(set, baseTextureBinding);
+                return getFreeSlot(set, getBaseBinding(EResTexture, set));
 
             if (isSamplerType(type))
-                return getFreeSlot(set, baseSamplerBinding);
+                return getFreeSlot(set, getBaseBinding(EResSampler, set));
 
             if (isUboType(type))
-                return getFreeSlot(set, baseUboBinding);
+                return getFreeSlot(set, getBaseBinding(EResUbo, set));
         }
 
         return -1;
@@ -683,17 +701,17 @@
 // Returns false if the input is too malformed to do this.
 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.getShiftSsboBinding() == 0 &&
-        intermediate.getShiftUavBinding() == 0 &&
-        intermediate.getResourceSetBinding().empty() &&
-        intermediate.getAutoMapBindings() == false &&
-        intermediate.getAutoMapLocations() == false &&
-        resolver == nullptr)
+    bool somethingToDo = !intermediate.getResourceSetBinding().empty() ||
+        intermediate.getAutoMapBindings() ||
+        intermediate.getAutoMapLocations();
+
+    for (int res = 0; res < EResCount; ++res) {
+        somethingToDo = somethingToDo ||
+            (intermediate.getShiftBinding(TResourceType(res)) != 0) ||
+            intermediate.hasShiftBindingForSet(TResourceType(res));
+    }
+
+    if (!somethingToDo && resolver == nullptr)
         return true;
 
     if (intermediate.getNumEntryPoints() != 1 || intermediate.isRecursive())
@@ -704,30 +722,15 @@
         return false;
 
     // if no resolver is provided, use the default resolver with the given shifts and auto map settings
-    TDefaultIoResolver defaultResolver;
-    TDefaultHlslIoResolver defaultHlslResolver;
+    TDefaultIoResolver defaultResolver(intermediate);
+    TDefaultHlslIoResolver defaultHlslResolver(intermediate);
 
     if (resolver == nullptr) {
-        TDefaultIoResolverBase* resolverBase;
-
         // TODO: use a passed in IO mapper for this
         if (intermediate.usingHlslIoMapping())
-            resolverBase = &defaultHlslResolver;
+            resolver = &defaultHlslResolver;
         else
-            resolverBase = &defaultResolver;
-
-        resolverBase->baseSamplerBinding = intermediate.getShiftSamplerBinding();
-        resolverBase->baseTextureBinding = intermediate.getShiftTextureBinding();
-        resolverBase->baseImageBinding = intermediate.getShiftImageBinding();
-        resolverBase->baseUboBinding = intermediate.getShiftUboBinding();
-        resolverBase->baseSsboBinding = intermediate.getShiftSsboBinding();
-        resolverBase->baseUavBinding = intermediate.getShiftUavBinding();
-        resolverBase->baseResourceSetBinding = intermediate.getResourceSetBinding();
-        resolverBase->doAutoBindingMapping = intermediate.getAutoMapBindings();
-        resolverBase->doAutoLocationMapping = intermediate.getAutoMapLocations();
-        resolverBase->nextUniformLocation = 0;
-
-        resolver = resolverBase;
+            resolver = &defaultResolver;
     }
 
     TVarLiveMap inVarMap, outVarMap, uniformVarMap;
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
index 9f6e3da..8495395 100644
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -42,6 +42,7 @@
 
 #include <algorithm>
 #include <set>
+#include <array>
 
 class TInfoSink;
 
@@ -221,12 +222,6 @@
         layoutOverrideCoverage(false),
         geoPassthroughEXT(false),
 #endif
-        shiftSamplerBinding(0),
-        shiftTextureBinding(0),
-        shiftImageBinding(0),
-        shiftUboBinding(0),
-        shiftSsboBinding(0),
-        shiftUavBinding(0),
         autoMapBindings(false),
         autoMapLocations(false),
         flattenUniformArrays(false),
@@ -234,7 +229,8 @@
         hlslOffsets(false),
         useStorageBuffer(false),
         hlslIoMapping(false),
-        textureSamplerTransformMode(EShTexSampTransKeep)
+        textureSamplerTransformMode(EShTexSampTransKeep),
+        needToLegalize(false)
     {
         localSize[0] = 1;
         localSize[1] = 1;
@@ -243,6 +239,8 @@
         localSizeSpecId[1] = TQualifier::layoutNotSet;
         localSizeSpecId[2] = TQualifier::layoutNotSet;
         xfbBuffers.resize(TQualifier::layoutXfbBufferEnd);
+
+        shiftBinding.fill(0);
     }
     void setLimits(const TBuiltInResource& r) { resources = r; }
 
@@ -262,42 +260,39 @@
     const std::string& getEntryPointName() const { return entryPointName; }
     const std::string& getEntryPointMangledName() const { return entryPointMangledName; }
 
-    void setShiftSamplerBinding(unsigned int shift)
+    void setShiftBinding(TResourceType res, unsigned int shift)
     {
-        shiftSamplerBinding = shift;
-        processes.addIfNonZero("shift-sampler-binding", shift);
+        shiftBinding[res] = shift;
+
+        const char* name = getResourceName(res);
+        if (name != nullptr)
+            processes.addIfNonZero(name, shift);
     }
-    unsigned int getShiftSamplerBinding() const { return shiftSamplerBinding; }
-    void setShiftTextureBinding(unsigned int shift)
+
+    unsigned int getShiftBinding(TResourceType res) const { return shiftBinding[res]; }
+
+    void setShiftBindingForSet(TResourceType res, unsigned int set, unsigned int shift)
     {
-        shiftTextureBinding = shift;
-        processes.addIfNonZero("shift-texture-binding", shift);
+        if (shift == 0) // ignore if there's no shift: it's a no-op.
+            return;
+
+        shiftBindingForSet[res][set] = shift;
+
+        const char* name = getResourceName(res);
+        if (name != nullptr) {
+            processes.addProcess(name);
+            processes.addArgument(set);
+            processes.addArgument(shift);
+        }
     }
-    unsigned int getShiftTextureBinding() const { return shiftTextureBinding; }
-    void setShiftImageBinding(unsigned int shift)
+
+    int getShiftBindingForSet(TResourceType res, unsigned int set) const
     {
-        shiftImageBinding = shift;
-        processes.addIfNonZero("shift-image-binding", shift);
+        const auto shift = shiftBindingForSet[res].find(set);
+        return shift == shiftBindingForSet[res].end() ? -1 : shift->second;
     }
-    unsigned int getShiftImageBinding() const { return shiftImageBinding; }
-    void setShiftUboBinding(unsigned int shift)
-    {
-        shiftUboBinding = shift;
-        processes.addIfNonZero("shift-UBO-binding", shift);
-    }
-    unsigned int getShiftUboBinding() const { return shiftUboBinding; }
-    void setShiftSsboBinding(unsigned int shift)
-    {
-        shiftSsboBinding = shift;
-        processes.addIfNonZero("shift-ssbo-binding", shift);
-    }
-    unsigned int getShiftSsboBinding() const { return shiftSsboBinding; }
-    void setShiftUavBinding(unsigned int shift)
-    {
-        shiftUavBinding = shift;
-        processes.addIfNonZero("shift-uav-binding", shift);
-    }
-    unsigned int getShiftUavBinding() const { return shiftUavBinding; }
+    bool hasShiftBindingForSet(TResourceType res) const { return !shiftBindingForSet[res].empty(); }
+
     void setResourceSetBinding(const std::vector<std::string>& shift)
     {
         resourceSetBinding = shift;
@@ -610,6 +605,9 @@
     void addProcessArgument(const std::string& arg) { processes.addArgument(arg); }
     const std::vector<std::string>& getProcesses() const { return processes.getProcesses(); }
 
+    void setNeedsLegalization() { needToLegalize = true; }
+    bool needsLegalization() const { return needToLegalize; }
+
     const char* const implicitThisName;
 
 protected:
@@ -634,6 +632,7 @@
     void pushSelector(TIntermSequence&, const TMatrixSelector&, const TSourceLoc&);
     bool specConstantPropagates(const TIntermTyped&, const TIntermTyped&);
     void performTextureUpgradeAndSamplerRemovalTransformation(TIntermNode* root);
+    static const char* getResourceName(TResourceType);
 
     const EShLanguage language;  // stage, known at construction time
     EShSource source;            // source language, known a bit later
@@ -674,12 +673,12 @@
     bool geoPassthroughEXT;
 #endif
 
-    unsigned int shiftSamplerBinding;
-    unsigned int shiftTextureBinding;
-    unsigned int shiftImageBinding;
-    unsigned int shiftUboBinding;
-    unsigned int shiftSsboBinding;
-    unsigned int shiftUavBinding;
+    // Base shift values
+    std::array<unsigned int, EResCount> shiftBinding;
+
+    // Per-descriptor-set shift values
+    std::array<std::map<int, int>, EResCount>  shiftBindingForSet;
+
     std::vector<std::string> resourceSetBinding;
     bool autoMapBindings;
     bool autoMapLocations;
@@ -708,6 +707,8 @@
     // for OpModuleProcessed, or equivalent
     TProcesses processes;
 
+    bool needToLegalize;
+
 private:
     void operator=(TIntermediate&); // prevent assignments
 };
diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp
index ecda34c..aeb42a0 100644
--- a/glslang/MachineIndependent/preprocessor/Pp.cpp
+++ b/glslang/MachineIndependent/preprocessor/Pp.cpp
@@ -84,6 +84,7 @@
 #include <cstdlib>
 #include <cstring>
 #include <cctype>
+#include <climits>
 
 #include "PpContext.h"
 #include "PpTokens.h"
@@ -241,15 +242,20 @@
         int nextAtom = atomStrings.getAtom(ppToken->name);
         if (nextAtom == PpAtomIf || nextAtom == PpAtomIfdef || nextAtom == PpAtomIfndef) {
             depth++;
-            ifdepth++;
-            elsetracker++;
+            if (ifdepth >= maxIfNesting || elsetracker >= maxIfNesting) {
+                parseContext.ppError(ppToken->loc, "maximum nesting depth exceeded", "#if/#ifdef/#ifndef", "");
+                return EndOfInput;
+            } else {
+                ifdepth++;
+                elsetracker++;
+            }
         } else if (nextAtom == PpAtomEndif) {
             token = extraTokenCheck(nextAtom, ppToken, scanToken(ppToken));
             elseSeen[elsetracker] = false;
             --elsetracker;
             if (depth == 0) {
                 // found the #endif we are looking for
-                if (ifdepth)
+                if (ifdepth > 0)
                     --ifdepth;
                 break;
             }
@@ -266,7 +272,7 @@
                     parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", "");
                 /* we decrement ifdepth here, because CPPif will increment
                 * it and we really want to leave it alone */
-                if (ifdepth) {
+                if (ifdepth > 0) {
                     --ifdepth;
                     elseSeen[elsetracker] = false;
                     --elsetracker;
@@ -345,8 +351,8 @@
     int op_add(int a, int b) { return a + b; }
     int op_sub(int a, int b) { return a - b; }
     int op_mul(int a, int b) { return a * b; }
-    int op_div(int a, int b) { return a / b; }
-    int op_mod(int a, int b) { return a % b; }
+    int op_div(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a / b; }
+    int op_mod(int a, int b) { return a == INT_MIN && b == -1 ? 0 : a % b; }
     int op_pos(int a) { return a; }
     int op_neg(int a) { return -a; }
     int op_cmpl(int a) { return ~a; }
@@ -536,11 +542,12 @@
 int TPpContext::CPPif(TPpToken* ppToken)
 {
     int token = scanToken(ppToken);
-    elsetracker++;
-    ifdepth++;
-    if (ifdepth > maxIfNesting) {
+    if (ifdepth >= maxIfNesting || elsetracker >= maxIfNesting) {
         parseContext.ppError(ppToken->loc, "maximum nesting depth exceeded", "#if", "");
-        return 0;
+        return EndOfInput;
+    } else {
+        elsetracker++;
+        ifdepth++;
     }
     int res = 0;
     bool err = false;
@@ -556,11 +563,14 @@
 int TPpContext::CPPifdef(int defined, TPpToken* ppToken)
 {
     int token = scanToken(ppToken);
-    if (++ifdepth > maxIfNesting) {
+    if (ifdepth > maxIfNesting || elsetracker > maxIfNesting) {
         parseContext.ppError(ppToken->loc, "maximum nesting depth exceeded", "#ifdef", "");
-        return 0;
+        return EndOfInput;
+    } else {
+        elsetracker++;
+        ifdepth++;
     }
-    elsetracker++;
+
     if (token != PpAtomIdentifier) {
         if (defined)
             parseContext.ppError(ppToken->loc, "must be followed by macro name", "#ifdef", "");
@@ -886,16 +896,16 @@
             token = CPPdefine(ppToken);
             break;
         case PpAtomElse:
-            if (elsetracker[elseSeen])
+            if (elseSeen[elsetracker])
                 parseContext.ppError(ppToken->loc, "#else after #else", "#else", "");
-            elsetracker[elseSeen] = true;
-            if (! ifdepth)
+            elseSeen[elsetracker] = true;
+            if (ifdepth == 0)
                 parseContext.ppError(ppToken->loc, "mismatched statements", "#else", "");
             token = extraTokenCheck(PpAtomElse, ppToken, scanToken(ppToken));
             token = CPPelse(0, ppToken);
             break;
         case PpAtomElif:
-            if (! ifdepth)
+            if (ifdepth == 0)
                 parseContext.ppError(ppToken->loc, "mismatched statements", "#elif", "");
             if (elseSeen[elsetracker])
                 parseContext.ppError(ppToken->loc, "#elif after #else", "#elif", "");
@@ -906,7 +916,7 @@
             token = CPPelse(0, ppToken);
             break;
         case PpAtomEndif:
-            if (! ifdepth)
+            if (ifdepth == 0)
                 parseContext.ppError(ppToken->loc, "mismatched statements", "#endif", "");
             else {
                 elseSeen[elsetracker] = false;
diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h
index de48e27..854bbba 100644
--- a/glslang/MachineIndependent/preprocessor/PpContext.h
+++ b/glslang/MachineIndependent/preprocessor/PpContext.h
@@ -309,7 +309,7 @@
     bool endOfReplacementList() { return inputStack.empty() || inputStack.back()->endOfReplacementList(); }
     bool isMacroInput() { return inputStack.size() > 0 && inputStack.back()->isMacroInput(); }
 
-    static const int maxIfNesting = 64;
+    static const int maxIfNesting = 65;
 
     int ifdepth;                  // current #if-#else-#endif nesting in the cpp.c file (pre-processor)
     bool elseSeen[maxIfNesting];  // Keep a track of whether an else has been seen at a particular depth
diff --git a/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
index fa01549..b58bbee 100644
--- a/glslang/MachineIndependent/preprocessor/PpScanner.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
@@ -128,7 +128,7 @@
         ch = getChar();
 
         // 1.#INF or -1.#INF
-        if (ch == '#') {
+        if (parseContext.intermediate.getSource() == EShSourceHlsl && ch == '#') {
             if ((len <  2) ||
                 (len == 2 && ppToken->name[0] != '1') ||
                 (len == 3 && ppToken->name[1] != '1' && !(ppToken->name[0] == '-' || ppToken->name[0] == '+')) ||
@@ -420,7 +420,7 @@
 
                     ival = 0;
                     do {
-                        if (ival <= 0x0fffffffu || (enableInt64 && ival <= 0x0fffffffffffffffull)) {
+                        if (len < MaxTokenLength && (ival <= 0x0fffffffu || (enableInt64 && ival <= 0x0fffffffffffffffull))) {
                             ppToken->name[len++] = (char)ch;
                             if (ch >= '0' && ch <= '9') {
                                 ii = ch - '0';
@@ -433,7 +433,10 @@
                             ival = (ival << 4) | ii;
                         } else {
                             if (! AlreadyComplained) {
-                                pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too big", "", "");
+                                if(len < MaxTokenLength)
+                                    pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too big", "", "");
+                                else
+                                    pp->parseContext.ppError(ppToken->loc, "hexadecimal literal too long", "", "");
                                 AlreadyComplained = 1;
                             }
                             ival = 0xffffffffffffffffull;
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
index b36e384..f0990ad 100644
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -324,6 +324,17 @@
 // Call once per process to tear down everything
 void FinalizeProcess();
 
+// Resource type for IO resolver
+enum TResourceType {
+    EResSampler,
+    EResTexture,
+    EResImage,
+    EResUbo,
+    EResSsbo,
+    EResUav,
+    EResCount
+};
+
 // Make one TShader per shader that you will link into a program.  Then provide
 // the shader through setStrings() or setStringsWithLengths(), then call parse(),
 // then query the info logs.
@@ -347,13 +358,17 @@
     void setEntryPoint(const char* entryPoint);
     void setSourceEntryPoint(const char* sourceEntryPointName);
     void addProcesses(const std::vector<std::string>&);
-    void setShiftSamplerBinding(unsigned int base);
-    void setShiftTextureBinding(unsigned int base);
-    void setShiftImageBinding(unsigned int base);
-    void setShiftUboBinding(unsigned int base);
-    void setShiftUavBinding(unsigned int base);
-    void setShiftCbufferBinding(unsigned int base); // synonym for setShiftUboBinding
-    void setShiftSsboBinding(unsigned int base);
+
+    // IO resolver binding data: see comments in ShaderLang.cpp
+    void setShiftBinding(TResourceType res, unsigned int base);
+    void setShiftSamplerBinding(unsigned int base);  // DEPRECATED: use setShiftBinding
+    void setShiftTextureBinding(unsigned int base);  // DEPRECATED: use setShiftBinding
+    void setShiftImageBinding(unsigned int base);    // DEPRECATED: use setShiftBinding
+    void setShiftUboBinding(unsigned int base);      // DEPRECATED: use setShiftBinding
+    void setShiftUavBinding(unsigned int base);      // DEPRECATED: use setShiftBinding
+    void setShiftCbufferBinding(unsigned int base);  // synonym for setShiftUboBinding
+    void setShiftSsboBinding(unsigned int base);     // DEPRECATED: use setShiftBinding
+    void setShiftBindingForSet(TResourceType res, unsigned int set, unsigned int base);
     void setResourceSetBinding(const std::vector<std::string>& base);
     void setAutoMapBindings(bool map);
     void setAutoMapLocations(bool map);
@@ -493,8 +508,8 @@
 
     const char* getInfoLog();
     const char* getInfoDebugLog();
-
     EShLanguage getStage() const { return stage; }
+    TIntermediate* getIntermediate() const { return intermediate; }
 
 protected:
     TPoolAllocator* pool;
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
index ed6a13e..14545d1 100644
--- a/gtests/AST.FromFile.cpp
+++ b/gtests/AST.FromFile.cpp
@@ -62,6 +62,7 @@
         "versionsErrors.frag",
         "versionsErrors.vert",
         "100.frag",
+        "100samplerExternal.frag",
         "120.vert",
         "120.frag",
         "130.vert",
@@ -77,10 +78,12 @@
         "matrixError.vert",
         "cppSimple.vert",
         "cppIndent.vert",
+        "cppIntMinOverNegativeOne.frag",
         "cppNest.vert",
         "cppBad.vert",
         "cppBad2.vert",
         "cppComplexExpr.vert",
+        "cppDeepNest.frag",
         "badChars.frag",
         "pointCoord.frag",
         "array.frag",
@@ -93,6 +96,7 @@
         "300layout.frag",
         "300operations.frag",
         "300block.frag",
+        "300samplerExternal.frag",
         "310.comp",
         "310.vert",
         "310.geom",
@@ -155,6 +159,7 @@
         "460.vert",
         "dce.frag",
         "atomic_uint.frag",
+        "implicitInnerAtomicUint.frag",
         "aggOps.frag",
         "always-discard.frag",
         "always-discard2.frag",
@@ -179,12 +184,14 @@
         "matrix2.frag",
         "newTexture.frag",
         "Operations.frag",
+        "overlongLiteral.frag",
         "prepost.frag",
         "simpleFunctionCall.frag",
         "structAssignment.frag",
         "structDeref.frag",
         "structure.frag",
         "swizzle.frag",
+        "invalidSwizzle.vert",
         "syntaxError.frag",
         "test.frag",
         "texture.frag",
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
index 4079d83..9d97fdf 100644
--- a/gtests/Hlsl.FromFile.cpp
+++ b/gtests/Hlsl.FromFile.cpp
@@ -59,9 +59,10 @@
 
 using HlslCompileTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
 using HlslCompileAndFlattenTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
+using HlslLegalizeTest = GlslangTest<::testing::TestWithParam<FileNameEntryPointPair>>;
 
-// Compiling HLSL to SPIR-V under Vulkan semantics. Expected to successfully
-// generate both AST and SPIR-V.
+// Compiling HLSL to pre-legalized SPIR-V under Vulkan semantics. Expected
+// to successfully generate both AST and SPIR-V.
 TEST_P(HlslCompileTest, FromFile)
 {
     loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName,
@@ -76,6 +77,16 @@
                                            Target::BothASTAndSpv, GetParam().entryPoint);
 }
 
+// Compiling HLSL to legal SPIR-V under Vulkan semantics. Expected to
+// successfully generate SPIR-V.
+TEST_P(HlslLegalizeTest, FromFile)
+{
+    loadFileCompileAndCheck(GlobalTestSettings.testRoot, GetParam().fileName,
+                            Source::HLSL, Semantics::Vulkan,
+                            Target::Spv, GetParam().entryPoint,
+                            "/baseLegalResults/", false);
+}
+
 // clang-format off
 INSTANTIATE_TEST_CASE_P(
     ToSpirv, HlslCompileTest,
@@ -88,6 +99,8 @@
         {"hlsl.assoc.frag", "PixelShaderFunction"},
         {"hlsl.attribute.frag", "PixelShaderFunction"},
         {"hlsl.attribute.expression.comp", "main"},
+        {"hlsl.attributeC11.frag", "main"},
+        {"hlsl.attributeGlobalBuffer.frag", "main"},
         {"hlsl.basic.comp", "main"},
         {"hlsl.basic.geom", "main"},
         {"hlsl.boolConv.vert", "main"},
@@ -141,6 +154,8 @@
         {"hlsl.flattenOpaque.frag", "main"},
         {"hlsl.flattenOpaqueInit.vert", "main"},
         {"hlsl.flattenOpaqueInitMix.vert", "main"},
+        {"hlsl.flattenSubset.frag", "main"},
+        {"hlsl.flattenSubset2.frag", "main"},
         {"hlsl.forLoop.frag", "PixelShaderFunction"},
         {"hlsl.gather.array.dx10.frag", "main"},
         {"hlsl.gather.basic.dx10.frag", "main"},
@@ -164,6 +179,8 @@
         {"hlsl.hull.1.tesc", "main"},
         {"hlsl.hull.2.tesc", "main"},
         {"hlsl.hull.3.tesc", "main"},
+        {"hlsl.hull.4.tesc", "main"},
+        {"hlsl.hull.5.tesc", "main"},
         {"hlsl.hull.void.tesc", "main"},
         {"hlsl.hull.ctrlpt-1.tesc", "main"},
         {"hlsl.hull.ctrlpt-2.tesc", "main"},
@@ -203,6 +220,7 @@
         {"hlsl.load.rwtexture.array.dx10.frag", "main"},
         {"hlsl.load.offset.dx10.frag", "main"},
         {"hlsl.load.offsetarray.dx10.frag", "main"},
+        {"hlsl.localStructuredBuffer.comp", "main"},
         {"hlsl.logical.binary.frag", "main"},
         {"hlsl.logical.binary.vec.frag", "main"},
         {"hlsl.logicalConvert.frag", "main"},
@@ -226,9 +244,11 @@
         {"hlsl.numericsuffixes.frag", "main"},
         {"hlsl.numthreads.comp", "main_aux1"},
         {"hlsl.overload.frag", "PixelShaderFunction"},
+        {"hlsl.opaque-type-bug.frag", "main"},
         {"hlsl.params.default.frag", "main"},
         {"hlsl.params.default.negative.frag", "main"},
         {"hlsl.partialInit.frag", "PixelShaderFunction"},
+        {"hlsl.partialFlattenLocal.vert", "main"},
         {"hlsl.pp.vert", "main"},
         {"hlsl.pp.line.frag", "main"},
         {"hlsl.precise.frag", "main"},
@@ -252,6 +272,7 @@
         {"hlsl.samplebias.offsetarray.dx10.frag", "main"},
         {"hlsl.samplecmp.array.dx10.frag", "main"},
         {"hlsl.samplecmp.basic.dx10.frag", "main"},
+        {"hlsl.samplecmp.dualmode.frag", "main"},
         {"hlsl.samplecmp.offset.dx10.frag", "main"},
         {"hlsl.samplecmp.offsetarray.dx10.frag", "main"},
         {"hlsl.samplecmp.negative.frag", "main"},
@@ -303,6 +324,7 @@
         {"hlsl.structin.vert", "main"},
         {"hlsl.structIoFourWay.frag", "main"},
         {"hlsl.structStructName.frag", "main"},
+        {"hlsl.subpass.frag", "main"},
         {"hlsl.synthesizeInput.frag", "main"},
         {"hlsl.texture.struct.frag", "main"},
         {"hlsl.texture.subvec4.frag", "main"},
@@ -347,10 +369,27 @@
     ToSpirv, HlslCompileAndFlattenTest,
     ::testing::ValuesIn(std::vector<FileNameEntryPointPair>{
         {"hlsl.array.flatten.frag", "main"},
+        {"hlsl.partialFlattenMixed.vert", "main"},
     }),
     FileNameAsCustomTestSuffix
 );
-
 // clang-format on
+
+#ifdef ENABLE_OPT
+// clang-format off
+INSTANTIATE_TEST_CASE_P(
+    ToSpirv, HlslLegalizeTest,
+    ::testing::ValuesIn(std::vector<FileNameEntryPointPair>{
+        {"hlsl.aliasOpaque.frag", "main"},
+        {"hlsl.flattenOpaque.frag", "main"},
+        {"hlsl.flattenOpaqueInit.vert", "main"},
+        {"hlsl.flattenOpaqueInitMix.vert", "main"},
+        {"hlsl.flattenSubset.frag", "main"}
+    }),
+    FileNameAsCustomTestSuffix
+);
+// clang-format on
+#endif
+
 }  // anonymous namespace
 }  // namespace glslangtest
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
index ef2ef34..9e1f068 100644
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -277,6 +277,7 @@
         "spv.Operations.frag",
         "spv.paramMemory.frag",
         "spv.precision.frag",
+        "spv.precisionNonESSamp.frag",
         "spv.prepost.frag",
         "spv.qualifiers.vert",
         "spv.sampleMaskOverrideCoverage.frag",
@@ -334,6 +335,7 @@
         { "spv.register.autoassign.frag", "main_ep", 5, 10, 0, 20, 30, true, false },
         { "spv.register.noautoassign.frag", "main_ep", 5, 10, 0, 15, 30, false, false },
         { "spv.register.autoassign-2.frag", "main", 5, 10, 0, 15, 30, true, true },
+        { "spv.register.subpass.frag", "main", 0, 20, 0, 0, 0, true, true },
         { "spv.buffer.autoassign.frag", "main", 5, 10, 0, 15, 30, true, true },
         { "spv.ssbo.autoassign.frag", "main", 5, 10, 0, 15, 30, true, true },
         { "spv.ssboAlias.frag", "main", 0, 0, 0, 0, 83, true, false },
@@ -409,7 +411,8 @@
         "spv.imageLoadStoreLod.frag",
         "spv.int16.frag",
         "spv.shaderBallotAMD.comp",
-        "spv.textureGatherBiasLod.frag"
+        "spv.shaderFragMaskAMD.frag",
+        "spv.textureGatherBiasLod.frag",
     })),
     FileNameAsCustomTestSuffix
 );
@@ -427,6 +430,7 @@
     "spv.stereoViewRendering.tesc",
     "spv.multiviewPerViewAttributes.vert",
     "spv.multiviewPerViewAttributes.tesc",
+    "spv.atomicInt64.comp",
 })),
 FileNameAsCustomTestSuffix
 );
diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h
index a503b5f..2dac99b 100644
--- a/gtests/TestFixture.h
+++ b/gtests/TestFixture.h
@@ -198,7 +198,8 @@
             const std::string shaderName, const std::string& code,
             const std::string& entryPointName, EShMessages controls,
             bool flattenUniformArrays = false,
-            EShTextureSamplerTransformMode texSampTransMode = EShTexSampTransKeep)
+            EShTextureSamplerTransformMode texSampTransMode = EShTexSampTransKeep,
+            bool disableOptimizer = true)
     {
         const EShLanguage kind = GetShaderStage(GetSuffix(shaderName));
 
@@ -217,8 +218,10 @@
 
         if (success && (controls & EShMsgSpvRules)) {
             std::vector<uint32_t> spirv_binary;
+            glslang::SpvOptions options;
+            options.disableOptimizer = disableOptimizer;
             glslang::GlslangToSpv(*program.getIntermediate(kind),
-                                  spirv_binary, &logger);
+                                  spirv_binary, &logger, &options);
 
             std::ostringstream disassembly_stream;
             spv::Parameterize();
@@ -381,18 +384,20 @@
                                  Source source,
                                  Semantics semantics,
                                  Target target,
-                                 const std::string& entryPointName="")
+                                 const std::string& entryPointName="",
+                                 const std::string& baseDir="/baseResults/",
+                                 const bool disableOptimizer = true)
     {
         const std::string inputFname = testDir + "/" + testName;
         const std::string expectedOutputFname =
-            testDir + "/baseResults/" + testName + ".out";
+            testDir + baseDir + testName + ".out";
         std::string input, expectedOutput;
 
         tryLoadFile(inputFname, "input", &input);
         tryLoadFile(expectedOutputFname, "expected output", &expectedOutput);
 
         const EShMessages controls = DeriveOptions(source, semantics, target);
-        GlslangResult result = compileAndLink(testName, input, entryPointName, controls);
+        GlslangResult result = compileAndLink(testName, input, entryPointName, controls, false, EShTexSampTransKeep, disableOptimizer);
 
         // Generate the hybrid output in the way of glslangValidator.
         std::ostringstream stream;
diff --git a/hlsl/hlslAttributes.cpp b/hlsl/hlslAttributes.cpp
index 14f7a7b..fccf6c1 100644
--- a/hlsl/hlslAttributes.cpp
+++ b/hlsl/hlslAttributes.cpp
@@ -36,15 +36,34 @@
 #include "hlslAttributes.h"
 #include <cstdlib>
 #include <cctype>
+#include <algorithm>
 
 namespace glslang {
     // Map the given string to an attribute enum from TAttributeType,
     // or EatNone if invalid.
-    TAttributeType TAttributeMap::attributeFromName(const TString& name)
+    TAttributeType TAttributeMap::attributeFromName(const TString& nameSpace, const TString& name)
     {
         // These are case insensitive.
         TString lowername(name);
         std::transform(lowername.begin(), lowername.end(), lowername.begin(), ::tolower);
+        TString lowernameSpace(nameSpace);
+        std::transform(lowernameSpace.begin(), lowernameSpace.end(), lowernameSpace.begin(), ::tolower);
+
+        // handle names within a namespace
+
+        if (lowernameSpace == "vk") {
+            if (lowername == "input_attachment_index")
+                return EatInputAttachment;
+            else if (lowername == "location")
+                return EatLocation;
+            else if (lowername == "binding")
+                return EatBinding;
+            else if (lowername == "global_cbuffer_binding")
+                return EatGlobalBinding;
+        } else if (lowernameSpace.size() > 0)
+            return EatNone;
+
+        // handle names with no namespace
 
         if (lowername == "allow_uav_condition")
             return EatAllow_uav_condition;
@@ -88,12 +107,12 @@
 
     // 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)
+    TAttributeType TAttributeMap::setAttribute(const TString& nameSpace, const TString* name, TIntermAggregate* value)
     {
         if (name == nullptr)
             return EatNone;
 
-        const TAttributeType attr = attributeFromName(*name);
+        const TAttributeType attr = attributeFromName(nameSpace, *name);
 
         if (attr != EatNone)
             attributes[attr] = value;
@@ -115,4 +134,51 @@
         return attributes.find(attr) != attributes.end();
     }
 
+    // extract integers out of attribute arguments stored in attribute aggregate
+    bool TAttributeMap::getInt(TAttributeType attr, int& value, int argNum) const 
+    {
+        const TConstUnion* intConst = getConstUnion(attr, EbtInt, argNum);
+
+        if (intConst == nullptr)
+            return false;
+
+        value = intConst->getIConst();
+        return true;
+    };
+
+    // extract strings out of attribute arguments stored in attribute aggregate.
+    // convert to lower case if converToLower is true (for case-insensitive compare convenience)
+    bool TAttributeMap::getString(TAttributeType attr, TString& value, int argNum, bool convertToLower) const 
+    {
+        const TConstUnion* stringConst = getConstUnion(attr, EbtString, argNum);
+
+        if (stringConst == nullptr)
+            return false;
+
+        value = *stringConst->getSConst();
+
+        // Convenience.
+        if (convertToLower)
+            std::transform(value.begin(), value.end(), value.begin(), ::tolower);
+
+        return true;
+    };
+
+    // Helper to get attribute const union.  Returns nullptr on failure.
+    const TConstUnion* TAttributeMap::getConstUnion(TAttributeType attr, TBasicType basicType, int argNum) const
+    {
+        const TIntermAggregate* attrAgg = (*this)[attr];
+        if (attrAgg == nullptr)
+            return nullptr;
+
+        if (argNum >= int(attrAgg->getSequence().size()))
+            return nullptr;
+
+        const TConstUnion* constVal = &attrAgg->getSequence()[argNum]->getAsConstantUnion()->getConstArray()[0];
+        if (constVal == nullptr || constVal->getType() != basicType)
+            return nullptr;
+        
+        return constVal;
+    }
+
 } // end namespace glslang
diff --git a/hlsl/hlslAttributes.h b/hlsl/hlslAttributes.h
index b32a53c..1fdb4ba 100644
--- a/hlsl/hlslAttributes.h
+++ b/hlsl/hlslAttributes.h
@@ -63,6 +63,10 @@
         EatPatchSize,
         EatUnroll,
         EatLoop,
+        EatBinding,
+        EatGlobalBinding,
+        EatLocation,
+        EatInputAttachment
     };
 }
 
@@ -82,7 +86,7 @@
     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);
+        TAttributeType setAttribute(const TString& nameSpace, const TString* name, TIntermAggregate* value);
 
         // Const lookup: search for (but do not modify) the attribute in the map.
         const TIntermAggregate* operator[](TAttributeType) const;
@@ -90,9 +94,18 @@
         // True if entry exists in map (even if value is nullptr)
         bool contains(TAttributeType) const;
 
+        // Obtain attribute as integer
+        bool getInt(TAttributeType attr, int& value, int argNum = 0) const;
+
+        // Obtain attribute as string, with optional to-lower transform
+        bool getString(TAttributeType attr, TString& value, int argNum = 0, bool convertToLower = true) const;
+
     protected:
+        // Helper to get attribute const union
+        const TConstUnion* getConstUnion(TAttributeType attr, TBasicType, int argNum) const;
+
         // Find an attribute enum given its name.
-        static TAttributeType attributeFromName(const TString&);
+        static TAttributeType attributeFromName(const TString& nameSpace, const TString& name);
 
         std::unordered_map<TAttributeType, TIntermAggregate*> attributes;
     };
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index 2f687c5..515922e 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -295,13 +295,16 @@
 }
 
 // declaration
+//      : attributes attributed_declaration
+//      | NAMESPACE IDENTIFIER LEFT_BRACE declaration_list RIGHT_BRACE
+//
+// attributed_declaration
 //      : sampler_declaration_dx9 post_decls SEMICOLON
 //      | fully_specified_type                           // for cbuffer/tbuffer
 //      | fully_specified_type declarator_list SEMICOLON // for non cbuffer/tbuffer
 //      | fully_specified_type identifier function_parameters post_decls compound_statement  // function definition
 //      | fully_specified_type identifier sampler_state post_decls compound_statement        // sampler definition
 //      | typedef declaration
-//      | NAMESPACE IDENTIFIER LEFT_BRACE declaration_list RIGHT_BRACE
 //
 // declarator_list
 //      : declarator COMMA declarator COMMA declarator...  // zero or more declarators
@@ -376,6 +379,8 @@
     if (! acceptFullySpecifiedType(declaredType, nodeList))
         return false;
 
+    parseContext.transferTypeAttributes(declarator.attributes, declaredType);
+
     // cbuffer and tbuffer end with the closing '}'.
     // No semicolon is included.
     if (forbidDeclarators)
@@ -387,7 +392,7 @@
     HlslToken idToken;
     TIntermAggregate* initializers = nullptr;
     while (acceptIdentifier(idToken)) {
-        const TString *fullName = idToken.string;
+        TString *fullName = idToken.string;
         if (parseContext.symbolTable.atGlobalLevel())
             parseContext.getFullNamespaceName(fullName);
         if (peekTokenClass(EHTokLeftParen)) {
@@ -1083,6 +1088,69 @@
     return true;
 }
 
+// subpass input type
+//      : SUBPASSINPUT
+//      | SUBPASSINPUT VECTOR LEFT_ANGLE template_type RIGHT_ANGLE
+//      | SUBPASSINPUTMS
+//      | SUBPASSINPUTMS VECTOR LEFT_ANGLE template_type RIGHT_ANGLE
+bool HlslGrammar::acceptSubpassInputType(TType& type)
+{
+    // read subpass type
+    const EHlslTokenClass subpassInputType = peek();
+
+    bool multisample;
+
+    switch (subpassInputType) {
+    case EHTokSubpassInput:   multisample = false; break;
+    case EHTokSubpassInputMS: multisample = true;  break;
+    default:
+        return false;  // not a subpass input declaration
+    }
+
+    advanceToken();  // consume the sampler type keyword
+
+    TType subpassType(EbtFloat, EvqUniform, 4); // default type is float4
+
+    if (acceptTokenClass(EHTokLeftAngle)) {
+        if (! acceptType(subpassType)) {
+            expected("scalar or vector type");
+            return false;
+        }
+
+        const TBasicType basicRetType = subpassType.getBasicType() ;
+
+        switch (basicRetType) {
+        case EbtFloat:
+        case EbtUint:
+        case EbtInt:
+        case EbtStruct:
+            break;
+        default:
+            unimplemented("basic type in subpass input");
+            return false;
+        }
+
+        if (! acceptTokenClass(EHTokRightAngle)) {
+            expected("right angle bracket");
+            return false;
+        }
+    }
+
+    const TBasicType subpassBasicType = subpassType.isStruct() ? (*subpassType.getStruct())[0].type->getBasicType()
+        : subpassType.getBasicType();
+
+    TSampler sampler;
+    sampler.setSubpass(subpassBasicType, multisample);
+
+    // Remember the declared return type.  Function returns false on error.
+    if (!parseContext.setTextureReturnType(sampler, subpassType, token.loc))
+        return false;
+
+    type.shallowCopy(TType(sampler, EvqUniform));
+
+    return true;
+}
+
 // sampler_type
 //      : SAMPLER
 //      | SAMPLER1D
@@ -1352,6 +1420,11 @@
         return acceptSamplerType(type);
         break;
 
+    case EHTokSubpassInput:           // fall through
+    case EHTokSubpassInputMS:         // ...
+        return acceptSubpassInputType(type);
+        break;
+
     case EHTokBuffer:                 // fall through
     case EHTokTexture1d:              // ...
     case EHTokTexture1darray:         // ...
@@ -2263,12 +2336,12 @@
 //
 // Expects type to have EvqGlobal for a static member and
 // EvqTemporary for non-static member.
-bool HlslGrammar::acceptMemberFunctionDefinition(TIntermNode*& nodeList, const TType& type, const TString& memberName,
+bool HlslGrammar::acceptMemberFunctionDefinition(TIntermNode*& nodeList, const TType& type, TString& memberName,
                                                  TFunctionDeclarator& declarator)
 {
     bool accepted = false;
 
-    const TString* functionName = &memberName;
+    TString* functionName = &memberName;
     parseContext.getFullNamespaceName(functionName);
     declarator.function = new TFunction(functionName, type);
     if (type.getQualifier().storage == EvqTemporary)
@@ -2353,6 +2426,9 @@
         node = parseContext.handleFunctionCall(token.loc, constructor, node);
     }
 
+    if (node == nullptr)
+        return false;
+
     // If this is simply a constant, we can use it directly.
     if (node->getAsConstantUnion())
         return true;
@@ -2371,16 +2447,25 @@
 }
 
 // parameter_declaration
+//      : attributes attributed_declaration
+//
+// attributed_declaration
 //      : fully_specified_type post_decls [ = default_parameter_declaration ]
 //      | fully_specified_type identifier array_specifier post_decls [ = default_parameter_declaration ]
 //
 bool HlslGrammar::acceptParameterDeclaration(TFunction& function)
 {
+    // attributes
+    TAttributeMap attributes;
+    acceptAttributes(attributes);
+
     // fully_specified_type
     TType* type = new TType;
     if (! acceptFullySpecifiedType(*type))
         return false;
 
+    parseContext.transferTypeAttributes(attributes, *type);
+
     // identifier
     HlslToken idToken;
     acceptIdentifier(idToken);
@@ -2780,7 +2865,7 @@
                 parseContext.handleFunctionArgument(constructorFunction, arguments, node);
                 node = parseContext.handleFunctionCall(loc, constructorFunction, arguments);
 
-                return true;
+                return node != nullptr;
             } else {
                 // This could be a parenthesized constructor, ala (int(3)), and we just accepted
                 // the '(int' part.  We must back up twice.
@@ -2990,7 +3075,7 @@
         // hook it up
         node = parseContext.handleFunctionCall(arguments->getLoc(), constructorFunction, arguments);
 
-        return true;
+        return node != nullptr;
     }
 
     return false;
@@ -3038,7 +3123,7 @@
     // call
     node = parseContext.handleFunctionCall(loc, function, arguments);
 
-    return true;
+    return node != nullptr;
 }
 
 // arguments
@@ -3256,7 +3341,15 @@
 }
 
 // attributes
-//      : list of zero or more of:  LEFT_BRACKET attribute RIGHT_BRACKET
+//      : [zero or more:] bracketed-attribute
+//
+// bracketed-attribute:
+//      : LEFT_BRACKET scoped-attribute RIGHT_BRACKET
+//      : LEFT_BRACKET LEFT_BRACKET scoped-attribute RIGHT_BRACKET RIGHT_BRACKET
+//
+// scoped-attribute:
+//      : attribute
+//      | namespace COLON COLON attribute
 //
 // attribute:
 //      : UNROLL
@@ -3283,18 +3376,33 @@
     // numthreads, which is used to set the CS local size.
     // TODO: subset to correct set?  Pass on?
     do {
-        HlslToken idToken;
+        HlslToken attributeToken;
 
         // LEFT_BRACKET?
         if (! acceptTokenClass(EHTokLeftBracket))
             return;
+        // another LEFT_BRACKET?
+        bool doubleBrackets = false;
+        if (acceptTokenClass(EHTokLeftBracket))
+            doubleBrackets = true;
 
-        // attribute
-        if (acceptIdentifier(idToken)) {
-            // 'idToken.string' is the attribute
-        } else if (! peekTokenClass(EHTokRightBracket)) {
-            expected("identifier");
-            advanceToken();
+        // attribute? (could be namespace; will adjust later)
+        if (!acceptIdentifier(attributeToken)) {
+            if (!peekTokenClass(EHTokRightBracket)) {
+                expected("namespace or attribute identifier");
+                advanceToken();
+            }
+        }
+
+        TString nameSpace;
+        if (acceptTokenClass(EHTokColonColon)) {
+            // namespace COLON COLON
+            nameSpace = *attributeToken.string;
+            // attribute
+            if (!acceptIdentifier(attributeToken)) {
+                expected("attribute identifier");
+                return;
+            }
         }
 
         TIntermAggregate* expressions = nullptr;
@@ -3327,10 +3435,15 @@
             expected("]");
             return;
         }
+        // another RIGHT_BRACKET?
+        if (doubleBrackets && !acceptTokenClass(EHTokRightBracket)) {
+            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);
+        attributes.setAttribute(nameSpace, attributeToken.string, expressions);
     } while (true);
 }
 
diff --git a/hlsl/hlslGrammar.h b/hlsl/hlslGrammar.h
index ded8e96..f0adfa0 100755
--- a/hlsl/hlslGrammar.h
+++ b/hlsl/hlslGrammar.h
@@ -87,11 +87,12 @@
         bool acceptAnnotations(TQualifier&);
         bool acceptSamplerType(TType&);
         bool acceptTextureType(TType&);
+        bool acceptSubpassInputType(TType&);
         bool acceptStructBufferType(TType&);
         bool acceptConstantBufferType(TType&);
         bool acceptStruct(TType&, TIntermNode*& nodeList);
         bool acceptStructDeclarationList(TTypeList*&, TIntermNode*& nodeList, TVector<TFunctionDeclarator>&);
-        bool acceptMemberFunctionDefinition(TIntermNode*& nodeList, const TType&, const TString& memberName,
+        bool acceptMemberFunctionDefinition(TIntermNode*& nodeList, const TType&, TString& memberName,
                                             TFunctionDeclarator&);
         bool acceptFunctionParameters(TFunction&);
         bool acceptParameterDeclaration(TFunction&);
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
index 346a117..01b9cc3 100755
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -58,11 +58,10 @@
                                    const TString sourceEntryPointName,
                                    bool forwardCompatible, EShMessages messages) :
     TParseContextBase(symbolTable, interm, parsingBuiltins, version, profile, spvVersion, language, infoSink,
-                      forwardCompatible, messages),
+                      forwardCompatible, messages, &sourceEntryPointName),
     annotationNestingLevel(0),
     inputPatch(nullptr),
     nextInLocation(0), nextOutLocation(0),
-    sourceEntryPointName(sourceEntryPointName),
     entryPointFunction(nullptr),
     entryPointFunctionBody(nullptr),
     gsStreamOutput(nullptr),
@@ -167,11 +166,6 @@
     if (lhsAsAggregate != nullptr && lhsAsAggregate->getOp() == EOpImageLoad)
         return true;
 
-    // If it's a syntactic write to a sampler, we will use that to establish
-    // a compile-time alias.
-    if (node->getAsTyped()->getBasicType() == EbtSampler)
-        return true;
-
     return false;
 }
 
@@ -240,6 +234,13 @@
         }
     }
 
+    // We tolerate samplers as l-values, even though they are nominally
+    // illegal, because we expect a later optimization to eliminate them.
+    if (node->getType().getBasicType() == EbtSampler) {
+        intermediate.setNeedsLegalization();
+        return false;
+    }
+
     // Let the base class check errors
     return TParseContextBase::lValueErrorCheck(loc, op, node);
 }
@@ -275,10 +276,6 @@
 
     // *** If we get here, we're going to apply some conversion to an l-value.
 
-    // Spin off sampler aliasing
-    if (node->getAsTyped()->getBasicType() == EbtSampler)
-        return handleSamplerLvalue(loc, op, node);
-
     // Helper to create a load.
     const auto makeLoad = [&](TIntermSymbol* rhsTmp, TIntermTyped* object, TIntermTyped* coord, const TType& derefType) {
         TIntermAggregate* loadOp = new TIntermAggregate(EOpImageLoad);
@@ -525,58 +522,6 @@
     return node;
 }
 
-// Deal with sampler aliasing: turning assignments into aliases
-// Return a placeholder node for higher-level code that think assignments must
-// generate code.
-TIntermTyped* HlslParseContext::handleSamplerLvalue(const TSourceLoc& loc, const char* op, TIntermTyped*& node)
-{
-    // Can only alias an assignment:  "s1 = s2"
-    TIntermBinary* binary = node->getAsBinaryNode();
-    if (binary == nullptr || node->getAsOperator()->getOp() != EOpAssign ||
-        binary->getLeft()->getAsSymbolNode() == nullptr ||
-        binary->getRight()->getAsSymbolNode() == nullptr) {
-        error(loc, "can't modify sampler", op, "");
-        return node;
-    }
-
-    if (controlFlowNestingLevel > 0)
-        warn(loc, "sampler or image aliased under control flow; consumption must be in same path", op, "");
-
-    TIntermTyped* set = setOpaqueLvalue(binary->getLeft(), binary->getRight());
-    if (set == nullptr)
-        warn(loc, "could not create alias for sampler", op, "");
-    else
-        node = set;
-
-    return node;
-}
-
-// Do an opaque assignment that needs to turn into an alias.
-// Return nullptr if it can't be done, otherwise return a placeholder
-// node for higher-level code that think assignments must generate code.
-TIntermTyped* HlslParseContext::setOpaqueLvalue(TIntermTyped* leftTyped, TIntermTyped* rightTyped)
-{
-    // Best is if we are aliasing a flattened struct member "S.s1 = s2",
-    // in which case we want to update the flattening information with the alias,
-    // making everything else work seamlessly.
-    TIntermSymbol* left = leftTyped->getAsSymbolNode();
-    TIntermSymbol* right = rightTyped->getAsSymbolNode();
-    for (auto fit = flattenMap.begin(); fit != flattenMap.end(); ++fit) {
-        for (auto mit = fit->second.members.begin(); mit != fit->second.members.end(); ++mit) {
-            if ((*mit)->getUniqueId() == left->getId()) {
-                // found it: update with alias to the existing variable, and don't emit any code
-                (*mit) = new TVariable(&right->getName(), right->getType());
-                (*mit)->setUniqueId(right->getId());
-                // replace node (rest of compiler expects either an error or code to generate)
-                // with pointless access
-                return right;
-            }
-        }
-    }
-
-    return nullptr;
-}
-
 void HlslParseContext::handlePragma(const TSourceLoc& loc, const TVector<TString>& tokens)
 {
     if (pragmaCallback)
@@ -860,10 +805,8 @@
 
     bool flattened = false;
     int indexValue = 0;
-    if (index->getQualifier().storage == EvqConst) {
+    if (index->getQualifier().isFrontEndConstant())
         indexValue = index->getAsConstantUnion()->getConstArray()[0].getIConst();
-        checkIndex(loc, base->getType(), indexValue);
-    }
 
     variableCheck(base);
     if (! base->isArray() && ! base->isMatrix() && ! base->isVector()) {
@@ -872,9 +815,11 @@
                   base->getAsSymbolNode()->getName().c_str(), "");
         else
             error(loc, " left of '[' is not of type array, matrix, or vector ", "expression", "");
-    } else if (base->getType().getQualifier().storage == EvqConst && index->getQualifier().storage == EvqConst)
+    } else if (base->getType().getQualifier().storage == EvqConst && index->getQualifier().storage == EvqConst) {
+        // both base and index are front-end constants
+        checkIndex(loc, base->getType(), indexValue);
         return intermediate.foldDereference(base, indexValue, loc);
-    else {
+    } else {
         // at least one of base and index is variable...
 
         if (base->getAsSymbolNode() && wasFlattened(base)) {
@@ -884,9 +829,11 @@
             result = flattenAccess(base, indexValue);
             flattened = (result != base);
         } else {
-            if (index->getQualifier().storage == EvqConst) {
+            if (index->getQualifier().isFrontEndConstant()) {
                 if (base->getType().isImplicitlySizedArray())
                     updateImplicitArraySize(loc, base, indexValue);
+                else
+                    checkIndex(loc, base->getType(), indexValue);
                 result = intermediate.addIndex(EOpIndexDirect, base, index, loc);
             } else {
                 result = intermediate.addIndex(EOpIndexIndirect, base, index, loc);
@@ -915,11 +862,6 @@
     return result;
 }
 
-void HlslParseContext::checkIndex(const TSourceLoc& /*loc*/, const TType& /*type*/, int& /*index*/)
-{
-    // HLSL todo: any rules for index fixups?
-}
-
 // Handle seeing a binary node with a math operation.
 TIntermTyped* HlslParseContext::handleBinaryMath(const TSourceLoc& loc, const char* str, TOperator op,
                                                  TIntermTyped* left, TIntermTyped* right)
@@ -1204,13 +1146,22 @@
     return type;
 }
 
-// Is this a uniform array or structure which should be flattened?
-bool HlslParseContext::shouldFlatten(const TType& type) const
+// Is this an aggregate that should be flattened?
+// Can be applied to intermediate levels of type in a hierarchy.
+// Some things like flattening uniform arrays are only about the top level
+// of the aggregate, triggered on 'topLevel'.
+bool HlslParseContext::shouldFlatten(const TType& type, TStorageQualifier qualifier, bool topLevel) const
 {
-    const TStorageQualifier qualifier = type.getQualifier().storage;
-
-    return (qualifier == EvqUniform && type.isArray() && intermediate.getFlattenUniformArrays()) ||
-           (type.isStruct() && type.containsOpaque());
+    switch (qualifier) {
+    case EvqVaryingIn:
+    case EvqVaryingOut:
+        return type.isStruct() || type.isArray();
+    case EvqUniform:
+        return (type.isArray() && intermediate.getFlattenUniformArrays() && topLevel) ||
+               (type.isStruct() && type.containsOpaque());
+    default:
+        return type.isStruct() && type.containsOpaque();
+    };
 }
 
 // Top level variable flattening: construct data
@@ -1281,7 +1232,7 @@
                                          const TQualifier& outerQualifier,
                                          const TArraySizes* builtInArraySizes)
 {
-    if (isFinalFlattening(type)) {
+    if (!shouldFlatten(type, outerQualifier.storage, false)) {
         // This is as far as we flatten.  Insert the variable.
         TVariable* memberVariable = makeInternalVariable(memberName, type);
         mergeQualifiers(memberVariable->getWritableType().getQualifier(), variable.getType().getQualifier());
@@ -1405,11 +1356,13 @@
 {
     const TType dereferencedType(base->getType(), member);  // dereferenced type
     const TIntermSymbol& symbolNode = *base->getAsSymbolNode();
-    TIntermTyped* flattened = flattenAccess(symbolNode.getId(), member, dereferencedType, symbolNode.getFlattenSubset());
+    TIntermTyped* flattened = flattenAccess(symbolNode.getId(), member, base->getQualifier().storage,
+                                            dereferencedType, symbolNode.getFlattenSubset());
 
     return flattened ? flattened : base;
 }
-TIntermTyped* HlslParseContext::flattenAccess(int uniqueId, int member, const TType& dereferencedType, int subset)
+TIntermTyped* HlslParseContext::flattenAccess(int uniqueId, int member, TStorageQualifier outerStorage,
+    const TType& dereferencedType, int subset)
 {
     const auto flattenData = flattenMap.find(uniqueId);
 
@@ -1420,7 +1373,7 @@
     int newSubset = flattenData->second.offsets[subset >= 0 ? subset + member : member];
 
     TIntermSymbol* subsetSymbol;
-    if (isFinalFlattening(dereferencedType)) {
+    if (!shouldFlatten(dereferencedType, outerStorage, false)) {
         // Finished flattening: create symbol for variable
         member = flattenData->second.offsets[newSubset];
         const TVariable* memberVariable = flattenData->second.members[member];
@@ -1437,6 +1390,44 @@
     return subsetSymbol;
 }
 
+// For finding where the first leaf is in a subtree of a multi-level aggregate
+// that is just getting a subset assigned. Follows the same logic as flattenAccess,
+// but logically going down the "left-most" tree branch each step of the way.
+//
+// Returns the offset into the first leaf of the subset.
+int HlslParseContext::findSubtreeOffset(const TIntermNode& node) const
+{
+    const TIntermSymbol* sym = node.getAsSymbolNode();
+    if (sym == nullptr)
+        return 0;
+    if (!sym->isArray() && !sym->isStruct())
+        return 0;
+    int subset = sym->getFlattenSubset();
+    if (subset == -1)
+        return 0;
+
+    // Getting this far means a partial aggregate is identified by the flatten subset.
+    // Find the first leaf of the subset.
+
+    const auto flattenData = flattenMap.find(sym->getId());
+    if (flattenData == flattenMap.end())
+        return 0;
+
+    return findSubtreeOffset(sym->getType(), subset, flattenData->second.offsets);
+
+    do {
+        subset = flattenData->second.offsets[subset];
+    } while (true);
+}
+// Recursively do the desent
+int HlslParseContext::findSubtreeOffset(const TType& type, int subset, const TVector<int>& offsets) const
+{
+    if (!type.isArray() && !type.isStruct())
+        return offsets[subset];
+    TType derefType(type, 0);
+    return findSubtreeOffset(derefType, offsets[subset], offsets);
+};
+
 // Find and return the split IO TVariable for id, or nullptr if none.
 TVariable* HlslParseContext::getSplitNonIoVar(int id) const
 {
@@ -1690,7 +1681,7 @@
                 error(loc, "redefinition", variable->getName().c_str(), "");
 
             // Add parameters to the AST list.
-            if (shouldFlatten(variable->getType())) {
+            if (shouldFlatten(variable->getType(), variable->getType().getQualifier().storage, true)) {
                 // Expand the AST parameter nodes (but not the name mangling or symbol table view)
                 // for structures that need to be flattened.
                 flatten(*variable, false);
@@ -1698,7 +1689,8 @@
                 for (int mem = 0; mem < (int)structure->size(); ++mem) {
                     paramNodes = intermediate.growAggregate(paramNodes,
                                                             flattenAccess(variable->getUniqueId(), mem,
-                                                            *(*structure)[mem].type),
+                                                                          variable->getType().getQualifier().storage,
+                                                                          *(*structure)[mem].type),
                                                             loc);
                 }
             } else {
@@ -1724,7 +1716,6 @@
     return paramNodes;
 }
 
-
 // Handle all [attrib] attribute for the shader entry point
 void HlslParseContext::handleEntryPointAttributes(const TSourceLoc& loc, const TAttributeMap& attributes)
 {
@@ -1738,36 +1729,33 @@
     }
 
     // MaxVertexCount
-    const TIntermAggregate* maxVertexCount = attributes[EatMaxVertexCount];
-    if (maxVertexCount != nullptr) {
-        if (! intermediate.setVertices(maxVertexCount->getSequence()[0]->getAsConstantUnion()->
-                                       getConstArray()[0].getIConst())) {
-            error(loc, "cannot change previously set maxvertexcount attribute", "", "");
+    if (attributes.contains(EatMaxVertexCount)) {
+        int maxVertexCount;
+
+        if (! attributes.getInt(EatMaxVertexCount, maxVertexCount)) {
+            error(loc, "invalid maxvertexcount", "", "");
+        } else {
+            if (! intermediate.setVertices(maxVertexCount))
+                error(loc, "cannot change previously set maxvertexcount attribute", "", "");
         }
     }
 
     // Handle [patchconstantfunction("...")]
-    const TIntermAggregate* pcfAttr = attributes[EatPatchConstantFunc]; 
-    if (pcfAttr != nullptr) {
-        const TConstUnion& pcfName = pcfAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0];
-
-        if (pcfName.getType() != EbtString) {
+    if (attributes.contains(EatPatchConstantFunc)) {
+        TString pcfName;
+        if (! attributes.getString(EatPatchConstantFunc, pcfName, 0, false)) {
             error(loc, "invalid patch constant function", "", "");
         } else {
-            patchConstantFunctionName = *pcfName.getSConst();
+            patchConstantFunctionName = pcfName;
         }
     }
 
     // Handle [domain("...")]
-    const TIntermAggregate* domainAttr = attributes[EatDomain]; 
-    if (domainAttr != nullptr) {
-        const TConstUnion& domainType = domainAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0];
-        if (domainType.getType() != EbtString) {
+    if (attributes.contains(EatDomain)) {
+        TString domainStr;
+        if (! attributes.getString(EatDomain, domainStr)) {
             error(loc, "invalid domain", "", "");
         } else {
-            TString domainStr = *domainType.getSConst();
-            std::transform(domainStr.begin(), domainStr.end(), domainStr.begin(), ::tolower);
-
             TLayoutGeometry domain = ElgNone;
 
             if (domainStr == "tri") {
@@ -1791,15 +1779,11 @@
     }
 
     // Handle [outputtopology("...")]
-    const TIntermAggregate* topologyAttr = attributes[EatOutputTopology];
-    if (topologyAttr != nullptr) {
-        const TConstUnion& topoType = topologyAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0];
-        if (topoType.getType() != EbtString) {
+    if (attributes.contains(EatOutputTopology)) {
+        TString topologyStr;
+        if (! attributes.getString(EatOutputTopology, topologyStr)) {
             error(loc, "invalid outputtopology", "", "");
         } else {
-            TString topologyStr = *topoType.getSConst();
-            std::transform(topologyStr.begin(), topologyStr.end(), topologyStr.begin(), ::tolower);
-
             TVertexOrder vertexOrder = EvoNone;
             TLayoutGeometry primitive = ElgNone;
 
@@ -1829,15 +1813,11 @@
     }
 
     // Handle [partitioning("...")]
-    const TIntermAggregate* partitionAttr = attributes[EatPartitioning]; 
-    if (partitionAttr != nullptr) {
-        const TConstUnion& partType = partitionAttr->getSequence()[0]->getAsConstantUnion()->getConstArray()[0];
-        if (partType.getType() != EbtString) {
+    if (attributes.contains(EatPartitioning)) {
+        TString partitionStr;
+        if (! attributes.getString(EatPartitioning, partitionStr)) {
             error(loc, "invalid partitioning", "", "");
         } else {
-            TString partitionStr = *partType.getSConst();
-            std::transform(partitionStr.begin(), partitionStr.end(), partitionStr.begin(), ::tolower);
-
             TVertexSpacing partitioning = EvsNone;
                 
             if (partitionStr == "integer") {
@@ -1858,14 +1838,11 @@
     }
 
     // Handle [outputcontrolpoints("...")]
-    const TIntermAggregate* outputControlPoints = attributes[EatOutputControlPoints]; 
-    if (outputControlPoints != nullptr) {
-        const TConstUnion& ctrlPointConst =
-            outputControlPoints->getSequence()[0]->getAsConstantUnion()->getConstArray()[0];
-        if (ctrlPointConst.getType() != EbtInt) {
+    if (attributes.contains(EatOutputControlPoints)) {
+        int ctrlPoints;
+        if (! attributes.getInt(EatOutputControlPoints, ctrlPoints)) {
             error(loc, "invalid outputcontrolpoints", "", "");
         } else {
-            const int ctrlPoints = ctrlPointConst.getIConst();
             if (! intermediate.setVertices(ctrlPoints)) {
                 error(loc, "cannot change previously set outputcontrolpoints attribute", "", "");
             }
@@ -1873,6 +1850,38 @@
     }
 }
 
+// Update the given type with any type-like attribute information in the
+// attributes.
+void HlslParseContext::transferTypeAttributes(const TAttributeMap& attributes, TType& type)
+{
+    // location
+    int value;
+    if (attributes.getInt(EatLocation, value))
+        type.getQualifier().layoutLocation = value;
+
+    // binding
+    if (attributes.getInt(EatBinding, value)) {
+        type.getQualifier().layoutBinding = value;
+        type.getQualifier().layoutSet = 0;
+    }
+
+    // set
+    if (attributes.getInt(EatBinding, value, 1))
+        type.getQualifier().layoutSet = value;
+
+    // global cbuffer binding
+    if (attributes.getInt(EatGlobalBinding, value))
+        globalUniformBinding = value;
+
+    // global cbuffer binding
+    if (attributes.getInt(EatGlobalBinding, value, 1))
+        globalUniformSet = value;
+
+    // input attachment
+    if (attributes.getInt(EatInputAttachment, value))
+        type.getQualifier().layoutAttachment = value;
+}
+
 //
 // Do all special handling for the entry point, including wrapping
 // the shader's entry point with the official entry point that will call it.
@@ -1942,7 +1951,7 @@
             if (variable.getType().getQualifier().isArrayedIo(language)) {
                 if (variable.getType().containsBuiltIn())
                     split(variable);
-            } else
+            } else if (shouldFlatten(variable.getType(), EvqVaryingIn /* not assigned yet, but close enough */, true))
                 flatten(variable, false /* don't track linkage here, it will be tracked in assignToInterface() */);
         }
         // TODO: flatten arrays too
@@ -2000,6 +2009,11 @@
         TParameter& param = userFunction[i];
         argVars.push_back(makeInternalVariable(*param.name, *param.type));
         argVars.back()->getWritableType().getQualifier().makeTemporary();
+
+        // Track the input patch, which is the only non-builtin supported by hull shader PCF.
+        if (param.getDeclaredBuiltIn() == EbvInputPatch)
+            inputPatch = argVars.back();
+
         TIntermSymbol* arg = intermediate.addSymbol(*argVars.back());
         handleFunctionArgument(&callee, callingArgs, arg);
         if (param.type->getQualifier().isParamInput()) {
@@ -2040,7 +2054,10 @@
 
             TIntermTyped* element = intermediate.addIndex(EOpIndexIndirect, intermediate.addSymbol(*entryPointOutput),
                                                           invocationIdSym, loc);
-            element->setType(callReturn->getType());
+
+            // Set the type of the array element being dereferenced
+            const TType derefElementType(entryPointOutput->getType(), 0);
+            element->setType(derefElementType);
 
             returnAssign = handleAssign(loc, EOpAssign, element, callReturn);
         } else {
@@ -2216,9 +2233,6 @@
             synthesizeEditedInput(paramType);
             TVariable* argAsGlobal = makeIoVariable(function[i].name->c_str(), paramType, EvqVaryingIn);
             inputs.push_back(argAsGlobal);
-
-            if (function[i].getDeclaredBuiltIn() == EbvInputPatch)
-                inputPatch = argAsGlobal;
         }
         if (paramType.getQualifier().isParamOutput()) {
             TVariable* argAsGlobal = makeIoVariable(function[i].name->c_str(), paramType, EvqVaryingOut);
@@ -2512,41 +2526,6 @@
     return assignList;
 }
 
-// For a declaration with an initializer, where the initialized symbol is flattened,
-// and possibly contains opaque values, such that the initializer should never exist
-// as emitted code, because even creating the initializer would write opaques.
-//
-// If possible, decompose this into individual member-wise assignments, which themselves
-// are expected to then not exist for opaque types, because they will turn into aliases.
-//
-// Return a node that contains the non-aliased assignments that must continue to exist.
-TIntermTyped* HlslParseContext::executeFlattenedInitializer(const TSourceLoc& loc, TIntermSymbol* symbol,
-                                                            TIntermAggregate& initializer)
-{
-    // We need individual RHS initializers per member to do this
-    const TTypeList* typeList = symbol->getType().getStruct();
-    if (typeList == nullptr || initializer.getSequence().size() != typeList->size()) {
-        warn(loc, "cannot do member-wise aliasing for opaque members with this initializer", "=", "");
-        return handleAssign(loc, EOpAssign, symbol, &initializer);
-    }
-
-    TIntermAggregate* initList = nullptr;
-    // synthesize an access to each member, and then an assignment to it
-    for (int member = 0; member < (int)typeList->size(); ++member) {
-        TIntermTyped* memberInitializer = initializer.getSequence()[member]->getAsTyped();
-        TIntermTyped* flattenedMember = flattenAccess(symbol, member);
-        if (flattenedMember->getType().containsOpaque())
-            setOpaqueLvalue(flattenedMember, memberInitializer);
-        else
-            initList = intermediate.growAggregate(initList, handleAssign(loc, EOpAssign, flattenedMember,
-                                                  memberInitializer));
-    }
-
-    if (initList)
-        initList->setOperator(EOpSequence);
-    return initList;
-}
-
 // Some simple source assignments need to be flattened to a sequence
 // of AST assignments. Catch these and flatten, otherwise, pass through
 // to intermediate.addAssign().
@@ -2559,17 +2538,32 @@
     if (left == nullptr || right == nullptr)
         return nullptr;
 
+    // writing to opaques will require fixing transforms
+    if (left->getType().containsOpaque())
+        intermediate.setNeedsLegalization();
+
     if (left->getAsOperator() && left->getAsOperator()->getOp() == EOpMatrixSwizzle)
         return handleAssignToMatrixSwizzle(loc, op, left, right);
 
-    const bool isSplitLeft    = wasSplit(left);
-    const bool isSplitRight   = wasSplit(right);
+    // Return true if the given node is an index operation into a split variable.
+    const auto indexesSplit = [this](const TIntermTyped* node) -> bool {
+        const TIntermBinary* binaryNode = node->getAsBinaryNode();
+
+        if (binaryNode == nullptr)
+            return false;
+
+        return (binaryNode->getOp() == EOpIndexDirect || binaryNode->getOp() == EOpIndexIndirect) && 
+               wasSplit(binaryNode->getLeft());
+    };
+
+    const bool isSplitLeft    = wasSplit(left) || indexesSplit(left);
+    const bool isSplitRight   = wasSplit(right) || indexesSplit(right);
 
     const bool isFlattenLeft  = wasFlattened(left);
     const bool isFlattenRight = wasFlattened(right);
 
-    // OK to do a single assign if both are split, or both are unsplit.  But if one is and the other
-    // isn't, we fall back to a member-wise copy.
+    // OK to do a single assign if neither side is split or flattened.  Otherwise, 
+    // fall through to a member-wise copy.
     if (!isFlattenLeft && !isFlattenRight && !isSplitLeft && !isSplitRight) {
         // Clip and cull distance requires more processing.  See comment above assignClipCullDistance.
         if (isClipOrCullDistance(left->getType()) || isClipOrCullDistance(right->getType())) {
@@ -2631,30 +2625,29 @@
         }
     }
 
-    int memberIdx = 0;
-
     // When dealing with split arrayed structures of built-ins, the arrayness is moved to the extracted built-in
     // variables, which is awkward when copying between split and unsplit structures.  This variable tracks
     // array indirections so they can be percolated from outer structs to inner variables.
     std::vector <int> arrayElement;
 
-    // We track the outer-most aggregate, so that we can use its storage class later.
-    const TIntermTyped* outerLeft  = left;
-    const TIntermTyped* outerRight = right;
+    TStorageQualifier leftStorage = left->getType().getQualifier().storage;
+    TStorageQualifier rightStorage = right->getType().getQualifier().storage;
 
-    const auto getMember = [&](bool isLeft, TIntermTyped* node, int member, TIntermTyped* splitNode, int splitMember)
+    int leftOffset = findSubtreeOffset(*left);
+    int rightOffset = findSubtreeOffset(*right);
+
+    const auto getMember = [&](bool isLeft, const TType& type, int member, TIntermTyped* splitNode, int splitMember,
+                               bool flattened)
                            -> TIntermTyped * {
-        const bool flattened = isLeft ? isFlattenLeft : isFlattenRight;
         const bool split     = isLeft ? isSplitLeft   : isSplitRight;
 
         TIntermTyped* subTree;
-        const TType derefType(node->getType(), member);
+        const TType derefType(type, member);
         const TVariable* builtInVar = nullptr;
         if ((flattened || split) && derefType.isBuiltIn()) {
-            const TIntermTyped* outer = isLeft ? outerLeft : outerRight;
             auto splitPair = splitBuiltIns.find(HlslParseContext::tInterstageIoData(
                                                    derefType.getQualifier().builtIn,
-                                                   outer->getType().getQualifier().storage));
+                                                   isLeft ? leftStorage : rightStorage));
             if (splitPair != splitBuiltIns.end())
                 builtInVar = splitPair->second;
         }
@@ -2670,13 +2663,15 @@
                                                 intermediate.addConstantUnion(arrayElement.back(), loc), loc);
                 subTree->setType(splitDerefType);
             }
-        } else if (flattened && isFinalFlattening(derefType)) {
-            const TVector<TVariable*>& flatVariables = isLeft ? *leftVariables : *rightVariables;
-            subTree = intermediate.addSymbol(*flatVariables[memberIdx++]);
+        } else if (flattened && !shouldFlatten(derefType, isLeft ? leftStorage : rightStorage, false)) {
+            if (isLeft)
+                subTree = intermediate.addSymbol(*(*leftVariables)[leftOffset++]);
+            else
+                subTree = intermediate.addSymbol(*(*rightVariables)[rightOffset++]);
         } else {
             // Index operator if it's an aggregate, else EOpNull
-            const TOperator accessOp = node->getType().isArray()  ? EOpIndexDirect
-                                     : node->getType().isStruct() ? EOpIndexDirectStruct
+            const TOperator accessOp = type.isArray()  ? EOpIndexDirect
+                                     : type.isStruct() ? EOpIndexDirectStruct
                                      : EOpNull;
             if (accessOp == EOpNull) {
                 subTree = splitNode;
@@ -2699,16 +2694,24 @@
 
     // Cannot use auto here, because this is recursive, and auto can't work out the type without seeing the
     // whole thing.  So, we'll resort to an explicit type via std::function.
-    const std::function<void(TIntermTyped* left, TIntermTyped* right, TIntermTyped* splitLeft, TIntermTyped* splitRight)>
-    traverse = [&](TIntermTyped* left, TIntermTyped* right, TIntermTyped* splitLeft, TIntermTyped* splitRight) -> void {
+    const std::function<void(TIntermTyped* left, TIntermTyped* right, TIntermTyped* splitLeft, TIntermTyped* splitRight,
+                             bool topLevel)>
+    traverse = [&](TIntermTyped* left, TIntermTyped* right, TIntermTyped* splitLeft, TIntermTyped* splitRight,
+                   bool topLevel) -> void {
         // If we get here, we are assigning to or from a whole array or struct that must be
         // flattened, so have to do member-by-member assignment:
 
-        if (left->getType().isArray() || right->getType().isArray()) {
+        bool shouldFlattenSubsetLeft = isFlattenLeft && shouldFlatten(left->getType(), leftStorage, topLevel);
+        bool shouldFlattenSubsetRight = isFlattenRight && shouldFlatten(right->getType(), rightStorage, topLevel);
+
+        if ((left->getType().isArray() || right->getType().isArray()) &&
+              (shouldFlattenSubsetLeft  || isSplitLeft ||
+               shouldFlattenSubsetRight || isSplitRight)) {
             const int elementsL = left->getType().isArray()  ? left->getType().getOuterArraySize()  : 1;
             const int elementsR = right->getType().isArray() ? right->getType().getOuterArraySize() : 1;
 
-            // The arrays may not be the same size, e.g, if the size has been forced for EbvTessLevelInner or Outer.
+            // The arrays might not be the same size,
+            // e.g., if the size has been forced for EbvTessLevelInner/Outer.
             const int elementsToCopy = std::min(elementsL, elementsR);
 
             // array case
@@ -2716,19 +2719,24 @@
                 arrayElement.push_back(element);
 
                 // Add a new AST symbol node if we have a temp variable holding a complex RHS.
-                TIntermTyped* subLeft  = getMember(true,  left,  element, left, element);
-                TIntermTyped* subRight = getMember(false, right, element, right, element);
+                TIntermTyped* subLeft  = getMember(true,  left->getType(),  element, left, element,
+                                                   shouldFlattenSubsetLeft);
+                TIntermTyped* subRight = getMember(false, right->getType(), element, right, element,
+                                                   shouldFlattenSubsetRight);
 
-                TIntermTyped* subSplitLeft =  isSplitLeft  ? getMember(true,  left,  element, splitLeft, element)
+                TIntermTyped* subSplitLeft =  isSplitLeft  ? getMember(true,  left->getType(),  element, splitLeft,
+                                                                       element, shouldFlattenSubsetLeft)
                                                            : subLeft;
-                TIntermTyped* subSplitRight = isSplitRight ? getMember(false, right, element, splitRight, element)
+                TIntermTyped* subSplitRight = isSplitRight ? getMember(false, right->getType(), element, splitRight,
+                                                                       element, shouldFlattenSubsetRight)
                                                            : subRight;
 
-                traverse(subLeft, subRight, subSplitLeft, subSplitRight);
+                traverse(subLeft, subRight, subSplitLeft, subSplitRight, false);
 
                 arrayElement.pop_back();
             }
-        } else if (left->getType().isStruct()) {
+        } else if (left->getType().isStruct() && (shouldFlattenSubsetLeft  || isSplitLeft ||
+                                                  shouldFlattenSubsetRight || isSplitRight)) {
             // struct case
             const auto& membersL = *left->getType().getStruct();
             const auto& membersR = *right->getType().getStruct();
@@ -2746,13 +2754,17 @@
                 const TType& typeL = *membersL[member].type;
                 const TType& typeR = *membersR[member].type;
 
-                TIntermTyped* subLeft  = getMember(true,  left, member, left, member);
-                TIntermTyped* subRight = getMember(false, right, member, right, member);
+                TIntermTyped* subLeft  = getMember(true,  left->getType(), member, left, member,
+                                                   shouldFlattenSubsetLeft);
+                TIntermTyped* subRight = getMember(false, right->getType(), member, right, member,
+                                                   shouldFlattenSubsetRight);
 
                 // If there is no splitting, use the same values to avoid inefficiency.
-                TIntermTyped* subSplitLeft =  isSplitLeft  ? getMember(true,  left,  member, splitLeft, memberL)
+                TIntermTyped* subSplitLeft =  isSplitLeft  ? getMember(true,  left->getType(),  member, splitLeft,
+                                                                       memberL, shouldFlattenSubsetLeft)
                                                            : subLeft;
-                TIntermTyped* subSplitRight = isSplitRight ? getMember(false, right, member, splitRight, memberR)
+                TIntermTyped* subSplitRight = isSplitRight ? getMember(false, right->getType(), member, splitRight,
+                                                                       memberR, shouldFlattenSubsetRight)
                                                            : subRight;
 
                 if (isClipOrCullDistance(subSplitLeft->getType()) || isClipOrCullDistance(subSplitRight->getType())) {
@@ -2771,9 +2783,8 @@
 
                     assignList = intermediate.growAggregate(assignList, clipCullAssign, loc);
 
-                } else if (!isFlattenLeft && !isFlattenRight &&
-                           !typeL.containsBuiltIn() &&
-                           !typeR.containsBuiltIn()) {
+                } else if (!shouldFlattenSubsetLeft && !shouldFlattenSubsetRight &&
+                           !typeL.containsBuiltIn() && !typeR.containsBuiltIn()) {
                     // If this is the final flattening (no nested types below to flatten)
                     // we'll copy the member, else recurse into the type hierarchy.
                     // However, if splitting the struct, that means we can copy a whole
@@ -2786,7 +2797,7 @@
                                                             intermediate.addAssign(op, subSplitLeft, subSplitRight, loc),
                                                             loc);
                 } else {
-                    traverse(subLeft, subRight, subSplitLeft, subSplitRight);
+                    traverse(subLeft, subRight, subSplitLeft, subSplitRight, false);
                 }
 
                 memberL += (typeL.isBuiltIn() ? 0 : 1);
@@ -2804,14 +2815,31 @@
 
     // If either left or right was a split structure, we must read or write it, but still have to
     // parallel-recurse through the unsplit structure to identify the built-in IO vars.
-    if (isSplitLeft)
-        splitLeft = intermediate.addSymbol(*getSplitNonIoVar(left->getAsSymbolNode()->getId()), loc);
+    // The left can be either a symbol, or an index into a symbol (e.g, array reference)
+    if (isSplitLeft) {
+        if (indexesSplit(left)) {
+            // Index case: Refer to the indexed symbol, if the left is an index operator.
+            const TIntermSymbol* symNode = left->getAsBinaryNode()->getLeft()->getAsSymbolNode();
+
+            TIntermTyped* splitLeftNonIo = intermediate.addSymbol(*getSplitNonIoVar(symNode->getId()), loc);
+
+            splitLeft = intermediate.addIndex(left->getAsBinaryNode()->getOp(), splitLeftNonIo,
+                                              left->getAsBinaryNode()->getRight(), loc);
+
+            const TType derefType(splitLeftNonIo->getType(), 0);
+            splitLeft->setType(derefType);
+        } else {
+            // Symbol case: otherwise, if not indexed, we have the symbol directly.
+            const TIntermSymbol* symNode = left->getAsSymbolNode();
+            splitLeft = intermediate.addSymbol(*getSplitNonIoVar(symNode->getId()), loc);
+        }
+    }
 
     if (isSplitRight)
         splitRight = intermediate.addSymbol(*getSplitNonIoVar(right->getAsSymbolNode()->getId()), loc);
 
     // This makes the whole assignment, recursing through subtypes as needed.
-    traverse(left, right, splitLeft, splitRight);
+    traverse(left, right, splitLeft, splitRight, true);
 
     assert(assignList != nullptr);
     assignList->setOperator(EOpSequence);
@@ -2915,7 +2943,66 @@
 
     TSampler samplerType = argTex->getType().getSampler();
     samplerType.combined = true;
-    samplerType.shadow   = argSampler->getType().getSampler().shadow;
+
+    // TODO:
+    // This block exists until the spec no longer requires shadow modes on texture objects.
+    // It can be deleted after that, along with the shadowTextureVariant member.
+    {
+        const bool shadowMode = argSampler->getType().getSampler().shadow;
+
+        TIntermSymbol* texSymbol = argTex->getAsSymbolNode();
+
+        if (texSymbol == nullptr)
+            texSymbol = argTex->getAsBinaryNode()->getLeft()->getAsSymbolNode();
+
+        if (texSymbol == nullptr) {
+            error(loc, "unable to find texture symbol", "", "");
+            return nullptr;
+        }
+
+        // This forces the texture's shadow state to be the sampler's
+        // shadow state.  This depends on downstream optimization to
+        // DCE one variant in [shadow, nonshadow] if both are present,
+        // or the SPIR-V module would be invalid.
+        int newId = texSymbol->getId();
+
+        // Check to see if this texture has been given a shadow mode already.
+        // If so, look up the one we already have.
+        const auto textureShadowEntry = textureShadowVariant.find(texSymbol->getId());
+
+        if (textureShadowEntry != textureShadowVariant.end())
+            newId = textureShadowEntry->second->get(shadowMode);
+        else
+            textureShadowVariant[texSymbol->getId()] = new tShadowTextureSymbols;
+
+        // Sometimes we have to create another symbol (if this texture has been seen before,
+        // and we haven't created the form for this shadow mode).
+        if (newId == -1) {
+            TType texType;
+            texType.shallowCopy(argTex->getType());
+            texType.getSampler().shadow = shadowMode;  // set appropriate shadow mode.
+            globalQualifierFix(loc, texType.getQualifier());
+
+            TVariable* newTexture = makeInternalVariable(texSymbol->getName(), texType);
+
+            trackLinkage(*newTexture);
+
+            newId = newTexture->getUniqueId();
+        }
+
+        assert(newId != -1);
+
+        if (textureShadowVariant.find(newId) == textureShadowVariant.end())
+            textureShadowVariant[newId] = textureShadowVariant[texSymbol->getId()];
+
+        textureShadowVariant[newId]->set(shadowMode, newId);
+
+        // Remember this shadow mode in the texture and the merged type.
+        argTex->getWritableType().getSampler().shadow = shadowMode;
+        samplerType.shadow = shadowMode;
+
+        texSymbol->switchId(newId);
+    }
 
     txcombine->setType(TType(samplerType, EvqTemporary));
     txcombine->setLoc(loc);
@@ -4203,6 +4290,25 @@
             break;
         }
 
+    case EOpSubpassLoad:
+        {
+            const TIntermTyped* argSubpass = 
+                argAggregate ? argAggregate->getSequence()[0]->getAsTyped() :
+                arguments->getAsTyped();
+
+            const TSampler& sampler = argSubpass->getType().getSampler();
+
+            // subpass load: the multisample form is overloaded.  Here, we convert that to
+            // the EOpSubpassLoadMS opcode.
+            if (argAggregate != nullptr && argAggregate->getSequence().size() > 1)
+                node->getAsOperator()->setOp(EOpSubpassLoadMS);
+
+            node = convertReturn(node, sampler);
+
+            break;
+        }
+        
+
     default:
         break; // most pass through unchanged
     }
@@ -4432,14 +4538,21 @@
                     std::max(arg0->getType().getMatrixRows(), 1);
 
                 TConstUnion zero;
-                zero.setDConst(0.0);
+                if (arg0->getType().isIntegerDomain())
+                    zero.setDConst(0);
+                else
+                    zero.setDConst(0.0);
                 TConstUnionArray zeros(constComponentCount, zero);
 
                 less->getSequence().push_back(intermediate.addConstantUnion(zeros, arg0->getType(), loc, true));
 
                 compareNode = intermediate.addBuiltInFunctionCall(loc, EOpAny, true, less, TType(EbtBool));
             } else {
-                TIntermTyped* zero = intermediate.addConstantUnion(0, type0, loc, true);
+                TIntermTyped* zero;
+                if (arg0->getType().isIntegerDomain())
+                    zero = intermediate.addConstantUnion(0, loc, true);
+                else
+                    zero = intermediate.addConstantUnion(0.0, type0, loc, true);
                 compareNode = handleBinaryMath(loc, "clip", EOpLessThan, arg0, zero);
             }
 
@@ -4882,8 +4995,10 @@
             // It's a constructor, of type 'type'.
             //
             result = handleConstructor(loc, arguments, type);
-            if (result == nullptr)
+            if (result == nullptr) {
                 error(loc, "cannot construct with these arguments", type.getCompleteString().c_str(), "");
+                return nullptr;
+            }
         }
     } else {
         //
@@ -5010,7 +5125,8 @@
                         // add buffer and counter buffer argument qualifier
                         qualifierList.push_back(qual);
                         qualifierList.push_back(qual);
-                    } else if (shouldFlatten(*(*fnCandidate)[i].type)) {
+                    } else if (shouldFlatten(*(*fnCandidate)[i].type, (*fnCandidate)[i].type->getQualifier().storage,
+                                             true)) {
                         // add structure member expansion
                         for (int memb = 0; memb < (int)(*fnCandidate)[i].type->getStruct()->size(); ++memb)
                             qualifierList.push_back(qual);
@@ -5099,7 +5215,7 @@
             if (wasFlattened(arg)) {
                 // If both formal and calling arg are to be flattened, leave that to argument
                 // expansion, not conversion.
-                if (!shouldFlatten(*function[param].type)) {
+                if (!shouldFlatten(*function[param].type, function[param].type->getQualifier().storage, true)) {
                     // Will make a two-level subtree.
                     // The deepest will copy member-by-member to build the structure to pass.
                     // The level above that will be a two-operand EOpComma sequence that follows the copy by the
@@ -5176,7 +5292,7 @@
                                         aggregate->getSequence()[param + functionParamNumberOffset]->getAsTyped() :
                                         arguments->getAsTyped());
 
-        if (wasFlattened(arg) && shouldFlatten(*function[param].type)) {
+        if (wasFlattened(arg) && shouldFlatten(*function[param].type, function[param].type->getQualifier().storage, true)) {
             // Need to pass the structure members instead of the structure.
             TVector<TIntermTyped*> memberArgs;
             for (int memb = 0; memb < (int)arg->getType().getStruct()->size(); ++memb)
@@ -7359,7 +7475,7 @@
 
     inheritGlobalDefaults(type.getQualifier());
 
-    const bool flattenVar = shouldFlatten(type);
+    const bool flattenVar = shouldFlatten(type, type.getQualifier().storage, true);
 
     // correct IO in the type
     switch (type.getQualifier().storage) {
@@ -7408,7 +7524,7 @@
         error(loc, "initializer requires a variable, not a member", identifier.c_str(), "");
         return nullptr;
     }
-    return executeInitializer(loc, initializer, variable, flattenVar);
+    return executeInitializer(loc, initializer, variable);
 }
 
 // Pick up global defaults from the provide global defaults into dst.
@@ -7476,8 +7592,7 @@
 // Returning nullptr just means there is no code to execute to handle the
 // initializer, which will, for example, be the case for constant initializers.
 //
-TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TIntermTyped* initializer, TVariable* variable,
-                                                  bool flattened)
+TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TIntermTyped* initializer, TVariable* variable)
 {
     //
     // Identifier must be of type constant, a global, or a temporary, and
@@ -7557,20 +7672,10 @@
         // normal assigning of a value to a variable...
         specializationCheck(loc, initializer->getType(), "initializer");
         TIntermSymbol* intermSymbol = intermediate.addSymbol(*variable, loc);
-
-        // If we are flattening, it could be due to setting opaques, which must be handled
-        // as aliases, and the 'initializer' node cannot actually be emitted, because it
-        // itself stores the result of the constructor, and we can't store to opaques.
-        // handleAssign() will emit the initializer.
-        TIntermNode* initNode = nullptr;
-        if (flattened && intermSymbol->getType().containsOpaque())
-            return executeFlattenedInitializer(loc, intermSymbol, *initializer->getAsAggregate());
-        else {
-            initNode = handleAssign(loc, EOpAssign, intermSymbol, initializer);
-            if (initNode == nullptr)
-                assignError(loc, "=", intermSymbol->getCompleteString(), initializer->getCompleteString());
-            return initNode;
-        }
+        TIntermNode* initNode = handleAssign(loc, EOpAssign, intermSymbol, initializer);
+        if (initNode == nullptr)
+            assignError(loc, "=", intermSymbol->getCompleteString(), initializer->getCompleteString());
+        return initNode;
     }
 
     return nullptr;
@@ -7648,6 +7753,14 @@
 
         return addConstructor(loc, initList, arrayType);
     } else if (type.isStruct()) {
+        // do we have implicit assignments to opaques?
+        for (size_t i = initList->getSequence().size(); i < type.getStruct()->size(); ++i) {
+            if ((*type.getStruct())[i].type->containsOpaque()) {
+                error(loc, "cannot implicitly initialize opaque members", "initializer list", "");
+                return nullptr;
+            }
+        }
+
         // lengthen list to be long enough
         lengthenList(loc, initList->getSequence(), static_cast<int>(type.getStruct()->size()), scalarInit);
 
@@ -7778,12 +7891,13 @@
 //
 TIntermTyped* HlslParseContext::addConstructor(const TSourceLoc& loc, TIntermTyped* node, const TType& type)
 {
+    TIntermAggregate* aggrNode = node->getAsAggregate();
     TOperator op = intermediate.mapTypeToConstructorOp(type);
 
     // Combined texture-sampler constructors are completely semantic checked
     // in constructorTextureSamplerError()
     if (op == EOpConstructTextureSampler)
-        return intermediate.setAggregateOperator(node->getAsAggregate(), op, type, loc);
+        return intermediate.setAggregateOperator(aggrNode, op, type, loc);
 
     TTypeList::const_iterator memberTypes;
     if (op == EOpConstructStruct)
@@ -7797,9 +7911,8 @@
         elementType.shallowCopy(type);
 
     bool singleArg;
-    TIntermAggregate* aggrNode = node->getAsAggregate();
     if (aggrNode != nullptr) {
-        if (aggrNode->getOp() != EOpNull || aggrNode->getSequence().size() == 1)
+        if (aggrNode->getOp() != EOpNull)
             singleArg = true;
         else
             singleArg = false;
@@ -7815,7 +7928,7 @@
             newNode = convertArray(node, type);
 
         // If structure constructor or array constructor is being called
-        // for only one parameter inside the structure, we need to call constructAggregate function once.
+        // for only one parameter inside the aggregate, we need to call constructAggregate function once.
         else if (type.isArray())
             newNode = constructAggregate(node, elementType, 1, node->getLoc());
         else if (op == EOpConstructStruct)
@@ -7839,7 +7952,7 @@
     //
     // Handle list of arguments.
     //
-    TIntermSequence &sequenceVector = aggrNode->getSequence();    // Stores the information about the parameter to the constructor
+    TIntermSequence& sequenceVector = aggrNode->getSequence();    // Stores the information about the parameter to the constructor
     // if the structure constructor contains more than one parameter, then construct
     // each parameter
 
@@ -8230,8 +8343,9 @@
         return;
     }
 
-    // Save it in the AST for linker use.
-    trackLinkage(variable);
+	// Save it in the AST for linker use.
+    if (symbolTable.atGlobalLevel())
+        trackLinkage(variable);
 }
 
 //
@@ -8710,7 +8824,7 @@
 
 // Use the class/struct nesting string to create a global name for
 // a member of a class/struct.
-void HlslParseContext::getFullNamespaceName(const TString*& name) const
+void HlslParseContext::getFullNamespaceName(TString*& name) const
 {
     if (currentTypePrefix.size() == 0)
         return;
@@ -8726,15 +8840,6 @@
     name.append(scopeMangler);
 }
 
-// Potentially rename shader entry point function
-void HlslParseContext::renameShaderFunction(const TString*& name) const
-{
-    // Replace the entry point name given in the shader with the real entry point name,
-    // if there is a substitution.
-    if (name != nullptr && *name == sourceEntryPointName)
-        name = NewPoolTString(intermediate.getEntryPointName().c_str());
-}
-
 // Return true if this has uniform-interface like decorations.
 bool HlslParseContext::hasUniform(const TQualifier& qualifier) const
 {
@@ -8960,6 +9065,12 @@
         return false;
     }
 
+    // TODO: Subpass doesn't handle struct returns, due to some oddities with fn overloading.
+    if (sampler.isSubpass()) {
+        error(loc, "Unimplemented: structure template type in subpass input", "", "");
+        return false;
+    }
+
     TTypeList* members = retType.getWritableStruct();
 
     // Check for too many or not enough structure members.
@@ -9045,19 +9156,12 @@
     return intermediate.addSymbol(*it->second->getAsVariable());
 }
 
-// Finalization step: Add patch constant function invocation
-void HlslParseContext::addPatchConstantInvocation()
+// Find the patch constant function (issues error, returns nullptr if not found)
+const TFunction* HlslParseContext::findPatchConstantFunction(const TSourceLoc& loc)
 {
-    TSourceLoc loc;
-    loc.init();
-
-    // If there's no patch constant function, or we're not a HS, do nothing.
-    if (patchConstantFunctionName.empty() || language != EShLangTessControl)
-        return;
-
     if (symbolTable.isFunctionNameVariable(patchConstantFunctionName)) {
         error(loc, "can't use variable in patch constant function", patchConstantFunctionName.c_str(), "");
-        return;
+        return nullptr;
     }
 
     const TString mangledName = patchConstantFunctionName + "(";
@@ -9071,7 +9175,7 @@
     // allow any disambiguation of overloads.
     if (candidateList.empty()) {
         error(loc, "patch constant function not found", patchConstantFunctionName.c_str(), "");
-        return;
+        return nullptr;
     }
 
     // Based on directed experiments, it appears that if there are overloaded patchconstantfunctions,
@@ -9079,9 +9183,22 @@
     // out if there is more than one candidate.
     if (candidateList.size() > 1) {
         error(loc, "ambiguous patch constant function", patchConstantFunctionName.c_str(), "");
-        return;
+        return nullptr;
     }
 
+    return candidateList[0];
+}
+
+// Finalization step: Add patch constant function invocation
+void HlslParseContext::addPatchConstantInvocation()
+{
+    TSourceLoc loc;
+    loc.init();
+
+    // If there's no patch constant function, or we're not a HS, do nothing.
+    if (patchConstantFunctionName.empty() || language != EShLangTessControl)
+        return;
+
     // Look for built-in variables in a function's parameter list.
     const auto findBuiltIns = [&](const TFunction& function, std::set<tInterstageIoData>& builtIns) {
         for (int p=0; p<function.getParamCount(); ++p) {
@@ -9118,7 +9235,7 @@
         }
     };
 
-    const auto isOutputPatch = [this](TFunction& patchConstantFunction, int param) {
+    const auto isOutputPatch = [](TFunction& patchConstantFunction, int param) {
         const TType& type = *patchConstantFunction[param].type;
         const TBuiltInVariable biType = patchConstantFunction[param].getDeclaredBuiltIn();
 
@@ -9146,7 +9263,13 @@
     // 
     // 5/5B. Call the PCF inside an if test for (invocation id == 0).
 
-    TFunction& patchConstantFunction = const_cast<TFunction&>(*candidateList[0]);
+    TFunction* patchConstantFunctionPtr = const_cast<TFunction*>(findPatchConstantFunction(loc));
+
+    if (patchConstantFunctionPtr == nullptr)
+        return;
+
+    TFunction& patchConstantFunction = *patchConstantFunctionPtr;
+
     const int pcfParamCount = patchConstantFunction.getParamCount();
     TIntermSymbol* invocationIdSym = findTessLinkageSymbol(EbvInvocationId);
     TIntermSequence& epBodySeq = entryPointFunctionBody->getAsAggregate()->getSequence();
@@ -9227,10 +9350,9 @@
 
     // ================ Step 1B: Argument synthesis ================
     // Create pcfArguments for synthesis of patchconstantfunction invocation
-    // TODO: handle struct or array inputs
     {
         for (int p=0; p<pcfParamCount; ++p) {
-            TIntermSymbol* inputArg = nullptr;
+            TIntermTyped* inputArg = nullptr;
 
             if (p == outPatchParam) {
                 if (perCtrlPtVar == nullptr) {
@@ -9244,6 +9366,11 @@
                 // find which built-in it is
                 const TBuiltInVariable biType = patchConstantFunction[p].getDeclaredBuiltIn();
                 
+                if (biType == EbvInputPatch && inputPatch == nullptr) {
+                    error(loc, "unimplemented: PCF input patch without entry point input patch parameter", "", "");
+                    return;
+                }
+
                 inputArg = findTessLinkageSymbol(biType);
 
                 if (inputArg == nullptr) {
@@ -9427,6 +9554,26 @@
     linkageSymbols.erase(endIt, linkageSymbols.end());
 }
 
+// Finalization step: patch texture shadow modes to match samplers they were combined with
+void HlslParseContext::fixTextureShadowModes()
+{
+    for (auto symbol = linkageSymbols.begin(); symbol != linkageSymbols.end(); ++symbol) {
+        TSampler& sampler = (*symbol)->getWritableType().getSampler();
+
+        if (sampler.isTexture()) {
+            const auto shadowMode = textureShadowVariant.find((*symbol)->getUniqueId());
+            if (shadowMode != textureShadowVariant.end()) {
+
+                if (shadowMode->second->overloaded())
+                    // Texture needs legalization if it's been seen with both shadow and non-shadow modes.
+                    intermediate.setNeedsLegalization();
+
+                sampler.shadow = shadowMode->second->isShadowId((*symbol)->getUniqueId());
+            }
+        }
+    }
+}
+
 // post-processing
 void HlslParseContext::finish()
 {
@@ -9438,6 +9585,12 @@
 
     removeUnusedStructBufferCounters();
     addPatchConstantInvocation();
+    fixTextureShadowModes();
+
+    // Communicate out (esp. for command line) that we formed AST that will make
+    // illegal AST SPIR-V and it needs transforms to legalize it.
+    if (intermediate.needsLegalization())
+        infoSink.info << "WARNING: AST will form illegal SPIR-V; need to transform to legalize";
 
     TParseContextBase::finish();
 }
diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h
index a276d6e..c1752f1 100755
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -73,7 +73,6 @@
     TIntermTyped* handleVariable(const TSourceLoc&, const TString* string);
     TIntermTyped* handleBracketDereference(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index);
     TIntermTyped* handleBracketOperator(const TSourceLoc&, TIntermTyped* base, TIntermTyped* index);
-    void checkIndex(const TSourceLoc&, const TType&, int& index);
 
     TIntermTyped* handleBinaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right);
     TIntermTyped* handleUnaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* childNode);
@@ -84,12 +83,12 @@
     TIntermAggregate* handleFunctionDefinition(const TSourceLoc&, TFunction&, const TAttributeMap&, TIntermNode*& entryPointTree);
     TIntermNode* transformEntryPoint(const TSourceLoc&, TFunction&, const TAttributeMap&);
     void handleEntryPointAttributes(const TSourceLoc&, const TAttributeMap&);
+    void transferTypeAttributes(const TAttributeMap&, TType&);
     void handleFunctionBody(const TSourceLoc&, TFunction&, TIntermNode* functionBody, TIntermNode*& node);
     void remapEntryPointIO(TFunction& function, TVariable*& returnValue, TVector<TVariable*>& inputs, TVector<TVariable*>& outputs);
     void remapNonEntryPointIO(TFunction& function);
     TIntermNode* handleReturnValue(const TSourceLoc&, TIntermTyped*);
     void handleFunctionArgument(TFunction*, TIntermTyped*& arguments, TIntermTyped* newArg);
-    TIntermTyped* executeFlattenedInitializer(const TSourceLoc&, TIntermSymbol*, TIntermAggregate&);
     TIntermTyped* handleAssign(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right);
     TIntermTyped* handleAssignToMatrixSwizzle(const TSourceLoc&, TOperator, TIntermTyped* left, TIntermTyped* right);
     TIntermTyped* handleFunctionCall(const TSourceLoc&, TFunction*, TIntermTyped*);
@@ -182,18 +181,17 @@
 
     void pushNamespace(const TString& name);
     void popNamespace();
-    void getFullNamespaceName(const TString*&) const;
+    void getFullNamespaceName(TString*&) const;
     void addScopeMangler(TString&);
 
     void pushSwitchSequence(TIntermSequence* sequence) { switchSequenceStack.push_back(sequence); }
     void popSwitchSequence() { switchSequenceStack.pop_back(); }
 
-    virtual void growGlobalUniformBlock(const TSourceLoc&, TType&, const TString& memberName, TTypeList* typeList = nullptr) override;
+    virtual void growGlobalUniformBlock(const TSourceLoc&, TType&, const TString& memberName,
+        TTypeList* typeList = nullptr) override;
 
     // Apply L-value conversions.  E.g, turning a write to a RWTexture into an ImageStore.
     TIntermTyped* handleLvalue(const TSourceLoc&, const char* op, TIntermTyped*& node);
-    TIntermTyped* handleSamplerLvalue(const TSourceLoc&, const char* op, TIntermTyped*& node);
-    TIntermTyped* setOpaqueLvalue(TIntermTyped* left, TIntermTyped* right);
     bool lValueErrorCheck(const TSourceLoc&, const char* op, TIntermTyped*) override;
 
     TLayoutFormat getLayoutFromTxType(const TSourceLoc&, const TType&);
@@ -207,9 +205,6 @@
     // Determine loop control from attributes
     TLoopControl handleLoopControl(const TAttributeMap& attributes) const;
 
-    // Potentially rename shader entry point function
-    void renameShaderFunction(const TString*& name) const;
-
     // Share struct buffer deep types
     void shareStructBufferType(TType&);
 
@@ -240,7 +235,7 @@
     TIntermSymbol* makeInternalVariableNode(const TSourceLoc&, const char* name, const TType&) const;
     TVariable* declareNonArray(const TSourceLoc&, const TString& identifier, const TType&, bool track);
     void declareArray(const TSourceLoc&, const TString& identifier, const TType&, TSymbol*&, bool track);
-    TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable, bool flattened);
+    TIntermNode* executeInitializer(const TSourceLoc&, TIntermTyped* initializer, TVariable* variable);
     TIntermTyped* convertInitializerList(const TSourceLoc&, const TType&, TIntermTyped* initializer, TIntermTyped* scalarInit);
     bool isScalarConstructor(const TIntermNode*);
     TOperator mapAtomicOp(const TSourceLoc& loc, TOperator op, bool isImage);
@@ -250,13 +245,14 @@
 
     // Array and struct flattening
     TIntermTyped* flattenAccess(TIntermTyped* base, int member);
-    TIntermTyped* flattenAccess(int uniqueId, int member, const TType&, int subset = -1);
-    bool shouldFlatten(const TType&) const;
+    TIntermTyped* flattenAccess(int uniqueId, int member, TStorageQualifier outerStorage, const TType&, int subset = -1);
+    int findSubtreeOffset(const TIntermNode&) const;
+    int findSubtreeOffset(const TType&, int subset, const TVector<int>& offsets) const;
+    bool shouldFlatten(const TType&, TStorageQualifier, bool topLevel) const;
     bool wasFlattened(const TIntermTyped* node) const;
     bool wasFlattened(int id) const { return flattenMap.find(id) != flattenMap.end(); }
     int  addFlattenedMember(const TVariable&, const TType&, TFlattenData&, const TString& name, bool linkage,
                             const TQualifier& outerQualifier, const TArraySizes* builtInArraySizes);
-    bool isFinalFlattening(const TType& type) const { return !(type.isStruct() || type.isArray()); }
 
     // Structure splitting (splits interstage built-in types into its own struct)
     void split(const TVariable&);
@@ -266,6 +262,7 @@
     bool wasSplit(int id) const { return splitNonIoVars.find(id) != splitNonIoVars.end(); }
     TVariable* getSplitNonIoVar(int id) const;
     void addPatchConstantInvocation();
+    void fixTextureShadowModes();
     TIntermTyped* makeIntegerIndex(TIntermTyped*);
 
     void fixBuiltInIoType(TType&);
@@ -319,6 +316,9 @@
     static bool isClipOrCullDistance(const TQualifier& qual) { return isClipOrCullDistance(qual.builtIn); }
     static bool isClipOrCullDistance(const TType& type) { return isClipOrCullDistance(type.getQualifier()); }
 
+    // Find the patch constant function (issues error, returns nullptr if not found)
+    const TFunction* findPatchConstantFunction(const TSourceLoc& loc);
+
     // Pass through to base class after remembering built-in mappings.
     using TParseContextBase::trackLinkage;
     void trackLinkage(TSymbol& variable) override;
@@ -418,12 +418,12 @@
     };
 
     TMap<tInterstageIoData, TVariable*> splitBuiltIns; // split built-ins, indexed by built-in type.
-    TVariable* inputPatch;
+    TVariable* inputPatch; // input patch is special for PCF: it's the only non-builtin PCF input,
+                           // and is handled as a pseudo-builtin.
 
     unsigned int nextInLocation;
     unsigned int nextOutLocation;
 
-    TString    sourceEntryPointName;
     TFunction* entryPointFunction;
     TIntermNode* entryPointFunctionBody;
 
@@ -456,6 +456,30 @@
     };
 
     TVector<tMipsOperatorData> mipsOperatorMipArg;
+
+    // A texture object may be used with shadow and non-shadow samplers, but both may not be
+    // alive post-DCE in the same shader.  We do not know at compilation time which are alive: that's
+    // only known post-DCE.  If a texture is used both ways, we create two textures, and
+    // leave the elimiation of one to the optimizer.  This maps the shader variant to
+    // the shadow variant.
+    //
+    // This can be removed if and when the texture shadow code in
+    // HlslParseContext::handleSamplerTextureCombine is removed.
+    struct tShadowTextureSymbols {
+        tShadowTextureSymbols() { symId.fill(-1); }
+
+        void set(bool shadow, int id) { symId[int(shadow)] = id; }
+        int get(bool shadow) const { return symId[int(shadow)]; }
+
+        // True if this texture has been seen with both shadow and non-shadow modes
+        bool overloaded() const { return symId[0] != -1 && symId[1] != -1; }
+        bool isShadowId(int id) const { return symId[1] == id; }
+
+    private:
+        std::array<int, 2> symId;
+    };
+
+    TMap<int, tShadowTextureSymbols*> textureShadowVariant;
 };
 
 // This is the prefix we use for built-in methods to avoid namespace collisions with
diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp
index db67c39..bae9e6e 100755
--- a/hlsl/hlslParseables.cpp
+++ b/hlsl/hlslParseables.cpp
@@ -68,14 +68,21 @@
     }
 }
 
-bool IsSamplerType(const char argType) { return argType == 'S' || argType == 's'; }
-bool IsArrayed(const char argOrder)    { return argOrder == '@' || argOrder == '&' || argOrder == '#'; }
-bool IsTextureMS(const char argOrder)  { return argOrder == '$' || argOrder == '&'; }
-bool IsBuffer(const char argOrder)     { return argOrder == '*' || argOrder == '~'; }
-bool IsImage(const char argOrder)      { return argOrder == '!' || argOrder == '#' || argOrder == '~'; }
+// arg order queries
+bool IsSamplerType(const char argType)     { return argType == 'S' || argType == 's'; }
+bool IsArrayed(const char argOrder)        { return argOrder == '@' || argOrder == '&' || argOrder == '#'; }
+bool IsTextureNonMS(const char argOrder)   { return argOrder == '%'; }
+bool IsSubpassInput(const char argOrder)   { return argOrder == '[' || argOrder == ']'; }
+bool IsArrayedTexture(const char argOrder) { return argOrder == '@'; }
+bool IsTextureMS(const char argOrder)      { return argOrder == '$' || argOrder == '&'; }
+bool IsMS(const char argOrder)             { return IsTextureMS(argOrder) || argOrder == ']'; }
+bool IsBuffer(const char argOrder)         { return argOrder == '*' || argOrder == '~'; }
+bool IsImage(const char argOrder)          { return argOrder == '!' || argOrder == '#' || argOrder == '~'; }
+
 bool IsTextureType(const char argOrder)
 {
-    return argOrder == '%' || argOrder == '@' || IsTextureMS(argOrder) || IsBuffer(argOrder) | IsImage(argOrder);
+    return IsTextureNonMS(argOrder) || IsArrayedTexture(argOrder) ||
+           IsTextureMS(argOrder) || IsBuffer(argOrder) || IsImage(argOrder);
 }
 
 // Reject certain combinations that are illegal sample methods.  For example,
@@ -222,15 +229,16 @@
     const bool isTexture   = IsTextureType(argOrder[0]);
     const bool isArrayed   = IsArrayed(argOrder[0]);
     const bool isSampler   = IsSamplerType(argType[0]);
-    const bool isMS        = IsTextureMS(argOrder[0]);
+    const bool isMS        = IsMS(argOrder[0]);
     const bool isBuffer    = IsBuffer(argOrder[0]);
     const bool isImage     = IsImage(argOrder[0]);
+    const bool isSubpass   = IsSubpassInput(argOrder[0]);
 
     char type  = *argType;
 
     if (isTranspose) {  // Take transpose of matrix dimensions
         std::swap(dim0, dim1);
-    } else if (isTexture) {
+    } else if (isTexture || isSubpass) {
         if (type == 'F')       // map base type to texture of that type.
             type = 'T';        // e.g, int -> itexture, uint -> utexture, etc.
         else if (type == 'I')
@@ -255,16 +263,23 @@
         case 'S': s += "sampler";                             break;
         case 's': s += "SamplerComparisonState";              break;
         case 'T': s += ((isBuffer && isImage) ? "RWBuffer" :
+                        isSubpass ? "SubpassInput" :
                         isBuffer ? "Buffer" :
                         isImage  ? "RWTexture" : "Texture");  break;
         case 'i': s += ((isBuffer && isImage) ? "RWBuffer" :
+                        isSubpass ? "SubpassInput" :
                         isBuffer ? "Buffer" :
                         isImage ? "RWTexture" : "Texture");   break;
         case 'u': s += ((isBuffer && isImage) ? "RWBuffer" :
+                        isSubpass ? "SubpassInput" :
                         isBuffer ? "Buffer" :
                         isImage ? "RWTexture" : "Texture");   break;
         default:  s += "UNKNOWN_TYPE";                        break;
         }
+
+        if (isSubpass && isMS)
+            s += "MS";
+
     } else {
         switch (type) {
         case '-': s += "void"; break;
@@ -282,6 +297,7 @@
                 s += type;
 
             s += ((isImage && isBuffer) ? "imageBuffer"   :
+                  isSubpass             ? "subpassInput" :
                   isImage               ? "image"         :
                   isBuffer              ? "samplerBuffer" :
                   "texture");
@@ -296,6 +312,9 @@
     if (fixedVecSize != 0)
         dim0 = dim1 = fixedVecSize;
 
+    const char dim0Char = ('0' + char(dim0));
+    const char dim1Char = ('0' + char(dim1));
+
     // Add sampler dimensions
     if (isSampler || isTexture) {
         if ((order == 'V' || isTexture) && !isBuffer) {
@@ -320,12 +339,12 @@
         case '-': break;  // no dimensions for voids
         case 'S': break;  // no dimensions on scalars
         case 'V':
-            s += ('0' + char(dim0));
+            s += dim0Char;
             break;
         case 'M':
-            s += ('0' + char(dim0));
+            s += dim0Char;
             s += 'x';
-            s += ('0' + char(dim1));
+            s += dim1Char;
             break;
         default:
             break;
@@ -339,9 +358,9 @@
     // 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;
+        case 'i': s += "<int";   s += dim0Char; s += ">"; break;
+        case 'u': s += "<uint";  s += dim0Char; s += ">"; break;
+        case 'T': s += "<float"; s += dim0Char; s += ">"; break;
         default: break;
         }
     }
@@ -414,7 +433,7 @@
         const char* nthArgOrder(NthArg(argOrder, arg));
         if (nthArgOrder == nullptr)
             break;
-        else if (*nthArgOrder == 'V')
+        else if (*nthArgOrder == 'V' || IsSubpassInput(*nthArgOrder))
             dim0Max = 4;
         else if (*nthArgOrder == 'M')
             dim0Max = dim1Max = 4;
@@ -537,6 +556,7 @@
     // '!' as first letter of order creates image object
     // '#' as first letter of order creates arrayed image object
     // '~' as first letter of order creates an image buffer object
+    // '[' / ']' as first letter of order creates a SubpassInput/SubpassInputMS object
 
     static const struct {
         const char*   name;      // intrinsic name
@@ -547,8 +567,8 @@
         unsigned int  stage;     // stage mask
         bool          method;    // true if it's a method.
     } hlslIntrinsics[] = {
-        // name                               retOrd   retType    argOrder          argType   stage mask
-        // -----------------------------------------------------------------------------------------------
+        // name                               retOrd   retType    argOrder          argType          stage mask     method
+        // ----------------------------------------------------------------------------------------------------------------
         { "abort",                            nullptr, nullptr,   "-",              "-",             EShLangAll,    false },
         { "abs",                              nullptr, nullptr,   "SVM",            "DFUI",          EShLangAll,    false },
         { "acos",                             nullptr, nullptr,   "SVM",            "F",             EShLangAll,    false },
@@ -567,7 +587,7 @@
         { "ceil",                             nullptr, nullptr,   "SVM",            "F",             EShLangAll,    false },
         { "CheckAccessFullyMapped",           "S",     "B" ,      "S",              "U",             EShLangPSCS,   false },
         { "clamp",                            nullptr, nullptr,   "SVM,,",          "FUI,,",         EShLangAll,    false },
-        { "clip",                             "-",     "-",       "SVM",            "F",             EShLangPS,     false },
+        { "clip",                             "-",     "-",       "SVM",            "FUI",           EShLangPS,     false },
         { "cos",                              nullptr, nullptr,   "SVM",            "F",             EShLangAll,    false },
         { "cosh",                             nullptr, nullptr,   "SVM",            "F",             EShLangAll,    false },
         { "countbits",                        nullptr, nullptr,   "SV",             "UI",            EShLangAll,    false },
@@ -882,6 +902,10 @@
         { "DecrementCounter",                 nullptr, nullptr,   "-",              "-",              EShLangAll,   true },
         { "Consume",                          nullptr, nullptr,   "-",              "-",              EShLangAll,   true },
 
+        // Methods for subpass input objects
+        { "SubpassLoad",                      "V4",    nullptr,   "[",              "FIU",            EShLangPS,    true },
+        { "SubpassLoad",                      "V4",    nullptr,   "],S",            "FIU,I",          EShLangPS,    true },
+
         // 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, false },
     };
@@ -1219,6 +1243,10 @@
     // GS methods
     symbolTable.relateToOperator(BUILTIN_PREFIX "Append",                      EOpMethodAppend);
     symbolTable.relateToOperator(BUILTIN_PREFIX "RestartStrip",                EOpMethodRestartStrip);
+
+    // Subpass input methods
+    symbolTable.relateToOperator(BUILTIN_PREFIX "SubpassLoad",                 EOpSubpassLoad);
+    symbolTable.relateToOperator(BUILTIN_PREFIX "SubpassLoadMS",               EOpSubpassLoadMS);
 }
 
 //
diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp
index 392efeb..c16fdfa 100755
--- a/hlsl/hlslScanContext.cpp
+++ b/hlsl/hlslScanContext.cpp
@@ -336,6 +336,8 @@
     (*KeywordMap)["RWTexture2DArray"] =        EHTokRWTexture2darray;
     (*KeywordMap)["RWTexture3D"] =             EHTokRWTexture3d;
     (*KeywordMap)["RWBuffer"] =                EHTokRWBuffer;
+    (*KeywordMap)["SubpassInput"] =            EHTokSubpassInput;
+    (*KeywordMap)["SubpassInputMS"] =          EHTokSubpassInputMS;
 
     (*KeywordMap)["AppendStructuredBuffer"] =  EHTokAppendStructuredBuffer;
     (*KeywordMap)["ByteAddressBuffer"] =       EHTokByteAddressBuffer;
@@ -827,6 +829,8 @@
     case EHTokRWByteAddressBuffer:
     case EHTokRWStructuredBuffer:
     case EHTokStructuredBuffer:
+    case EHTokSubpassInput:
+    case EHTokSubpassInputMS:
         return keyword;
 
     // variable, user type, ...
diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h
index 15de63a..1c827bf 100755
--- a/hlsl/hlslTokens.h
+++ b/hlsl/hlslTokens.h
@@ -273,6 +273,8 @@
     EHTokRWTexture2darray,
     EHTokRWTexture3d,
     EHTokRWBuffer,
+    EHTokSubpassInput,
+    EHTokSubpassInputMS,
 
     // Structure buffer variants
     EHTokAppendStructuredBuffer,
diff --git a/known_good.json b/known_good.json
new file mode 100644
index 0000000..87cc63d
--- /dev/null
+++ b/known_good.json
@@ -0,0 +1,18 @@
+{
+  "commits" : [
+    {
+      "name" : "spirv-tools",
+      "site" : "github",
+      "subrepo" : "KhronosGroup/SPIRV-Tools",
+      "subdir" : "External/spirv-tools",
+      "commit" : "5834719fc17d4735fce0102738b87b70255cfd5f"
+    },
+    {
+      "name" : "spirv-tools/external/spirv-headers",
+      "site" : "github",
+      "subrepo" : "KhronosGroup/SPIRV-Headers",
+      "subdir" : "External/spirv-tools/external/spirv-headers",
+      "commit" : "061097878467b8e040fbf153a837d844ef9f9f96"
+    }
+  ]
+}
diff --git a/update_glslang_sources.py b/update_glslang_sources.py
new file mode 100755
index 0000000..b2988f9
--- /dev/null
+++ b/update_glslang_sources.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python
+
+# Copyright 2017 The Glslang Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Get source files for Glslang and its dependencies from public repositories.
+"""
+
+from __future__ import print_function
+
+import argparse
+import json
+import distutils.dir_util
+import os.path
+import subprocess
+import sys
+
+KNOWN_GOOD_FILE = 'known_good.json'
+
+# Maps a site name to its hostname.
+SITE_TO_HOST = { 'github' : 'github.com' }
+
+VERBOSE = True
+
+
+def command_output(cmd, directory, fail_ok=False):
+    """Runs a command in a directory and returns its standard output stream.
+
+    Captures the standard error stream.
+
+    Raises a RuntimeError if the command fails to launch or otherwise fails.
+    """
+    if VERBOSE:
+        print('In {d}: {cmd}'.format(d=directory, cmd=cmd))
+    p = subprocess.Popen(cmd,
+                         cwd=directory,
+                         stdout=subprocess.PIPE)
+    (stdout, _) = p.communicate()
+    if p.returncode != 0 and not fail_ok:
+        raise RuntimeError('Failed to run {} in {}'.format(cmd, directory))
+    if VERBOSE:
+        print(stdout)
+    return stdout
+
+
+def command_retval(cmd, directory):
+    """Runs a command in a directory and returns its return value.
+
+    Captures the standard error stream.
+    """
+    p = subprocess.Popen(cmd,
+                         cwd=directory,
+                         stdout=subprocess.PIPE)
+    (stdout, _) = p.communicate()
+    return p.returncode
+
+
+class GoodCommit(object):
+    """Represents a good commit for a repository."""
+
+    def __init__(self, json):
+        """Initializes this good commit object.
+
+        Args:
+        'json':  A fully populated JSON object describing the commit.
+        """
+        self._json = json
+        self.name = json['name']
+        self.site = json['site']
+        self.subrepo = json['subrepo']
+        self.subdir = json['subdir'] if ('subdir' in json) else '.'
+        self.commit = json['commit']
+
+    def GetUrl(self, style='https'):
+        """Returns the URL for the repository."""
+        host = SITE_TO_HOST[self.site]
+        sep = '/' if (style is 'https') else ':'
+        return '{style}://{host}{sep}{subrepo}'.format(
+                    style=style,
+                    host=host,
+                    sep=sep,
+                    subrepo=self.subrepo)
+
+    def AddRemote(self):
+        """Add the remote 'known-good' if it does not exist."""
+        print('Ignore "fatal" errors for missing known-good remote:')
+        if command_retval(['git', 'remote', 'show', 'known-good'], self.subdir) != 0:
+            command_output(['git', 'remote', 'add', 'known-good', self.GetUrl()], self.subdir)
+
+    def HasCommit(self):
+        """Check if the repository contains the known-good commit."""
+        return 0 == subprocess.call(['git', 'rev-parse', '--verify', '--quiet',
+                                     self.commit + "^{commit}"],
+                                    cwd=self.subdir)
+
+    def Clone(self):
+        distutils.dir_util.mkpath(self.subdir)
+        command_output(['git', 'clone', self.GetUrl(), '.'], self.subdir)
+
+    def Fetch(self):
+        command_output(['git', 'fetch', 'known-good'], self.subdir)
+
+    def Checkout(self):
+        if not os.path.exists(os.path.join(self.subdir,'.git')):
+            self.Clone()
+        self.AddRemote()
+        if not self.HasCommit():
+            self.Fetch()
+        command_output(['git', 'checkout', self.commit], self.subdir)
+
+
+def GetGoodCommits():
+    """Returns the latest list of GoodCommit objects."""
+    with open(KNOWN_GOOD_FILE) as known_good:
+        return [GoodCommit(c) for c in json.loads(known_good.read())['commits']]
+
+
+def main():
+    parser = argparse.ArgumentParser(description='Get Glslang source dependencies at a known-good commit')
+    parser.add_argument('--dir', dest='dir', default='.',
+                        help="Set target directory for Glslang source root. Default is \'.\'.")
+
+    args = parser.parse_args()
+
+    commits = GetGoodCommits()
+
+    distutils.dir_util.mkpath(args.dir)
+    print('Change directory to {d}'.format(d=args.dir))
+    os.chdir(args.dir)
+
+    # Create the subdirectories in sorted order so that parent git repositories
+    # are created first.
+    for c in sorted(commits, cmp=lambda x,y: cmp(x.subdir, y.subdir)):
+        print('Get {n}\n'.format(n=c.name))
+        c.Checkout()
+    sys.exit(0)
+
+
+if __name__ == '__main__':
+    main()
