diff --git a/.appveyor.yml b/.appveyor.yml
index 4463fa6..55ce618 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -40,7 +40,7 @@
 
 build_script:
   - mkdir build && cd build
-  - cmake .. -DCMAKE_INSTALL_PREFIX=install
+  - cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=install ..
   - cmake --build . --config %CONFIGURATION% --target install
 
 test_script:
diff --git a/.gitattributes b/.gitattributes
old mode 100755
new mode 100644
diff --git a/.travis.yml b/.travis.yml
old mode 100755
new mode 100644
diff --git a/BUILD.gn b/BUILD.gn
new file mode 100644
index 0000000..91bb4bb
--- /dev/null
+++ b/BUILD.gn
@@ -0,0 +1,165 @@
+# Copyright (C) 2018 Google, Inc.
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#    Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+#    Redistributions in binary form must reproduce the above
+#    copyright notice, this list of conditions and the following
+#    disclaimer in the documentation and/or other materials provided
+#    with the distribution.
+#
+#    Neither the name of Google Inc. nor the names of its
+#    contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+import("//build_overrides/glslang.gni")
+
+spirv_tools_dir = glslang_spirv_tools_dir
+
+config("glslang_public") {
+  include_dirs = [ "." ]
+}
+
+source_set("glslang_sources") {
+  sources = [
+    "OGLCompilersDLL/InitializeDll.cpp",
+    "OGLCompilersDLL/InitializeDll.h",
+    "SPIRV/GLSL.ext.EXT.h",
+    "SPIRV/GLSL.ext.KHR.h",
+    "SPIRV/GLSL.std.450.h",
+    "SPIRV/GlslangToSpv.cpp",
+    "SPIRV/GlslangToSpv.h",
+    "SPIRV/InReadableOrder.cpp",
+    "SPIRV/Logger.cpp",
+    "SPIRV/Logger.h",
+    "SPIRV/SPVRemapper.cpp",
+    "SPIRV/SPVRemapper.h",
+    "SPIRV/SpvBuilder.cpp",
+    "SPIRV/SpvBuilder.h",
+    "SPIRV/SpvPostProcess.cpp",
+    "SPIRV/SpvPostProcess.h",
+    "SPIRV/bitutils.h",
+    "SPIRV/disassemble.cpp",
+    "SPIRV/disassemble.h",
+    "SPIRV/doc.cpp",
+    "SPIRV/doc.h",
+    "SPIRV/hex_float.h",
+    "SPIRV/spirv.hpp",
+    "SPIRV/spvIR.h",
+    "glslang/GenericCodeGen/CodeGen.cpp",
+    "glslang/GenericCodeGen/Link.cpp",
+    "glslang/Include/BaseTypes.h",
+    "glslang/Include/Common.h",
+    "glslang/Include/ConstantUnion.h",
+    "glslang/Include/InfoSink.h",
+    "glslang/Include/InitializeGlobals.h",
+    "glslang/Include/PoolAlloc.h",
+    "glslang/Include/ResourceLimits.h",
+    "glslang/Include/ShHandle.h",
+    "glslang/Include/Types.h",
+    "glslang/Include/arrays.h",
+    "glslang/Include/intermediate.h",
+    "glslang/Include/revision.h",
+    "glslang/MachineIndependent/Constant.cpp",
+    "glslang/MachineIndependent/InfoSink.cpp",
+    "glslang/MachineIndependent/Initialize.cpp",
+    "glslang/MachineIndependent/Initialize.h",
+    "glslang/MachineIndependent/IntermTraverse.cpp",
+    "glslang/MachineIndependent/Intermediate.cpp",
+    "glslang/MachineIndependent/LiveTraverser.h",
+    "glslang/MachineIndependent/ParseContextBase.cpp",
+    "glslang/MachineIndependent/ParseHelper.cpp",
+    "glslang/MachineIndependent/ParseHelper.h",
+    "glslang/MachineIndependent/PoolAlloc.cpp",
+    "glslang/MachineIndependent/RemoveTree.cpp",
+    "glslang/MachineIndependent/RemoveTree.h",
+    "glslang/MachineIndependent/Scan.cpp",
+    "glslang/MachineIndependent/Scan.h",
+    "glslang/MachineIndependent/ScanContext.h",
+    "glslang/MachineIndependent/ShaderLang.cpp",
+    "glslang/MachineIndependent/SymbolTable.cpp",
+    "glslang/MachineIndependent/SymbolTable.h",
+    "glslang/MachineIndependent/Versions.cpp",
+    "glslang/MachineIndependent/Versions.h",
+    "glslang/MachineIndependent/attribute.cpp",
+    "glslang/MachineIndependent/attribute.h",
+    "glslang/MachineIndependent/gl_types.h",
+    "glslang/MachineIndependent/glslang.y",
+    "glslang/MachineIndependent/glslang_tab.cpp",
+    "glslang/MachineIndependent/glslang_tab.cpp.h",
+    "glslang/MachineIndependent/intermOut.cpp",
+    "glslang/MachineIndependent/iomapper.cpp",
+    "glslang/MachineIndependent/iomapper.h",
+    "glslang/MachineIndependent/limits.cpp",
+    "glslang/MachineIndependent/linkValidate.cpp",
+    "glslang/MachineIndependent/localintermediate.h",
+    "glslang/MachineIndependent/parseConst.cpp",
+    "glslang/MachineIndependent/parseVersions.h",
+    "glslang/MachineIndependent/preprocessor/Pp.cpp",
+    "glslang/MachineIndependent/preprocessor/PpAtom.cpp",
+    "glslang/MachineIndependent/preprocessor/PpContext.cpp",
+    "glslang/MachineIndependent/preprocessor/PpContext.h",
+    "glslang/MachineIndependent/preprocessor/PpScanner.cpp",
+    "glslang/MachineIndependent/preprocessor/PpTokens.cpp",
+    "glslang/MachineIndependent/preprocessor/PpTokens.h",
+    "glslang/MachineIndependent/propagateNoContraction.cpp",
+    "glslang/MachineIndependent/propagateNoContraction.h",
+    "glslang/MachineIndependent/reflection.cpp",
+    "glslang/MachineIndependent/reflection.h",
+    "glslang/OSDependent/osinclude.h",
+    "glslang/Public/ShaderLang.h",
+  ]
+
+  defines = []
+  if (is_win) {
+    sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
+    defines += [ "GLSLANG_OSINCLUDE_WIN32" ]
+  } else {
+    sources += [ "glslang/OSDependent/Unix/ossource.cpp" ]
+    defines += [ "GLSLANG_OSINCLUDE_UNIX" ]
+  }
+
+  if (is_clang) {
+    cflags_cc = [
+      "-Wno-implicit-fallthrough",
+      "-Wno-ignored-qualifiers",
+      "-Wno-unused-variable",
+    ]
+  }
+
+  deps = [
+    "${spirv_tools_dir}:spvtools_opt",
+  ]
+}
+
+static_library("glslang_static") {
+  public_configs = [ ":glslang_public" ]
+
+  deps = [
+    ":glslang_sources",
+  ]
+  complete_static_lib = true
+
+  configs -= [ "//build/config/compiler:chromium_code" ]
+  configs += [ "//build/config/compiler:no_chromium_code" ]
+}
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a869c2..a4d7bcd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -21,6 +21,7 @@
 if(NOT ${SKIP_GLSLANG_INSTALL})
   set(ENABLE_GLSLANG_INSTALL ON)
 endif()
+option(ENABLE_SPVREMAPPER "Enables building of SPVRemapper" ON)
 
 option(ENABLE_AMD_EXTENSIONS "Enables support of AMD-specific extensions" ON)
 option(ENABLE_GLSLANG_BINARIES "Builds glslangValidator and spirv-remap" ON)
@@ -35,6 +36,14 @@
     set(CMAKE_INSTALL_PREFIX "install" CACHE STRING "..." FORCE)
 endif()
 
+option(USE_CCACHE "Use ccache" OFF)
+if(USE_CCACHE)
+    find_program(CCACHE_FOUND ccache)
+    if(CCACHE_FOUND)
+        set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
+    endif(CCACHE_FOUND)
+endif()
+
 project(glslang)
 # make testing optional
 include(CTest)
@@ -52,7 +61,7 @@
 endif(ENABLE_HLSL)
 
 if(WIN32)
-    set(CMAKE_DEBUG_POSTFIX "d")
+    set(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "Adds a postfix for debug-built libraries.")
     if(MSVC)
         include(ChooseMSVCCRT.cmake)
     endif(MSVC)
diff --git a/README.md b/README.md
old mode 100644
new mode 100755
index 402b4d6..544081d
--- a/README.md
+++ b/README.md
@@ -105,8 +105,8 @@
 For building on Linux:
 
 ```bash
-cmake -DCMAKE_BUILD_TYPE={Debug|Release|RelWithDebInfo} \
-      -DCMAKE_INSTALL_PREFIX="$(pwd)/install" $SOURCE_DIR
+cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(pwd)/install" $SOURCE_DIR
+# "Release" (for CMAKE_BUILD_TYPE) could also be "Debug" or "RelWithDebInfo"
 ```
 
 For building on Windows:
@@ -125,8 +125,8 @@
 make -j4 install
 
 # for Windows:
-cmake --build . --config {Release|Debug|MinSizeRel|RelWithDebInfo} \
-      --target install
+cmake --build . --config Release --target install
+# "Release" (for --config) could also be "Debug", "MinSizeRel", or "RelWithDebInfo"
 ```
 
 If using MSVC, after running CMake to configure, use the
diff --git a/SPIRV/CMakeLists.txt b/SPIRV/CMakeLists.txt
old mode 100755
new mode 100644
index bf2be16..1997e74
--- a/SPIRV/CMakeLists.txt
+++ b/SPIRV/CMakeLists.txt
@@ -3,7 +3,9 @@
     InReadableOrder.cpp
     Logger.cpp
     SpvBuilder.cpp
+    SpvPostProcess.cpp
     doc.cpp
+    SpvTools.cpp
     disassemble.cpp)
 
 set(SPVREMAP_SOURCES
@@ -22,6 +24,7 @@
     SpvBuilder.h
     spvIR.h
     doc.h
+    SpvTools.h
     disassemble.h)
 
 set(SPVREMAP_HEADERS
@@ -45,13 +48,17 @@
 set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
 target_include_directories(SPIRV PUBLIC ..)
 
-add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
-set_property(TARGET SPVRemapper PROPERTY FOLDER glslang)
-set_property(TARGET SPVRemapper PROPERTY POSITION_INDEPENDENT_CODE ON)
+if (ENABLE_SPVREMAPPER)
+    add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
+    set_property(TARGET SPVRemapper PROPERTY FOLDER glslang)
+    set_property(TARGET SPVRemapper PROPERTY POSITION_INDEPENDENT_CODE ON)
+endif()
 
 if(WIN32 AND BUILD_SHARED_LIBS)
     set_target_properties(SPIRV PROPERTIES PREFIX "")
-    set_target_properties(SPVRemapper PROPERTIES PREFIX "")
+    if (ENABLE_SPVREMAPPER)
+        set_target_properties(SPVRemapper PROPERTIES PREFIX "")
+    endif()
 endif()
 
 if(ENABLE_OPT)
@@ -72,11 +79,20 @@
 
 if(ENABLE_GLSLANG_INSTALL)
     if(BUILD_SHARED_LIBS)
-        install(TARGETS SPIRV SPVRemapper
+        if (ENABLE_SPVREMAPPER)
+            install(TARGETS SPVRemapper
+                    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+                    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        endif()
+        install(TARGETS SPIRV
                 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
                 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
     else()
-        install(TARGETS SPIRV SPVRemapper
+        if (ENABLE_SPVREMAPPER)
+            install(TARGETS SPVRemapper
+                    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        endif()
+        install(TARGETS SPIRV
                 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
     endif()
 
diff --git a/SPIRV/GLSL.ext.KHR.h b/SPIRV/GLSL.ext.KHR.h
old mode 100755
new mode 100644
index ec0c06d..16b0d9c
--- a/SPIRV/GLSL.ext.KHR.h
+++ b/SPIRV/GLSL.ext.KHR.h
@@ -39,5 +39,6 @@
 static const char* const E_SPV_KHR_8bit_storage                 = "SPV_KHR_8bit_storage";
 static const char* const E_SPV_KHR_storage_buffer_storage_class = "SPV_KHR_storage_buffer_storage_class";
 static const char* const E_SPV_KHR_post_depth_coverage          = "SPV_KHR_post_depth_coverage";
+static const char* const E_SPV_KHR_vulkan_memory_model          = "SPV_KHR_vulkan_memory_model";
 
 #endif  // #ifndef GLSLextKHR_H
diff --git a/SPIRV/GLSL.ext.NV.h b/SPIRV/GLSL.ext.NV.h
index 148d4b4..6abc469 100644
--- a/SPIRV/GLSL.ext.NV.h
+++ b/SPIRV/GLSL.ext.NV.h
@@ -33,7 +33,7 @@
 enum Capability;
 
 static const int GLSLextNVVersion = 100;
-static const int GLSLextNVRevision = 5;
+static const int GLSLextNVRevision = 11;
 
 //SPV_NV_sample_mask_override_coverage
 const char* const E_SPV_NV_sample_mask_override_coverage = "SPV_NV_sample_mask_override_coverage";
@@ -54,4 +54,22 @@
 //SPV_NV_shader_subgroup_partitioned
 const char* const E_SPV_NV_shader_subgroup_partitioned = "SPV_NV_shader_subgroup_partitioned";
 
-#endif  // #ifndef GLSLextNV_H
\ No newline at end of file
+//SPV_NV_fragment_shader_barycentric
+const char* const E_SPV_NV_fragment_shader_barycentric = "SPV_NV_fragment_shader_barycentric";
+
+//SPV_NV_compute_shader_derivatives
+const char* const E_SPV_NV_compute_shader_derivatives = "SPV_NV_compute_shader_derivatives";
+
+//SPV_NV_shader_image_footprint
+const char* const E_SPV_NV_shader_image_footprint = "SPV_NV_shader_image_footprint";
+
+//SPV_NV_mesh_shader
+const char* const E_SPV_NV_mesh_shader = "SPV_NV_mesh_shader";
+
+//SPV_NVX_raytracing
+const char* const E_SPV_NVX_raytracing = "SPV_NVX_raytracing";
+
+//SPV_NV_shading_rate
+const char* const E_SPV_NV_shading_rate = "SPV_NV_shading_rate";
+
+#endif  // #ifndef GLSLextNV_H
diff --git a/SPIRV/GLSL.std.450.h b/SPIRV/GLSL.std.450.h
old mode 100755
new mode 100644
diff --git a/SPIRV/GlslangToSpv.cpp b/SPIRV/GlslangToSpv.cpp
index d5fb1ac..f0040b8 100755
--- a/SPIRV/GlslangToSpv.cpp
+++ b/SPIRV/GlslangToSpv.cpp
@@ -54,15 +54,6 @@
 #endif
 }
 
-#if ENABLE_OPT
-    #include "spirv-tools/optimizer.hpp"
-    #include "message.h"
-#endif
-
-#if ENABLE_OPT
-using namespace spvtools;
-#endif
-
 // Glslang includes
 #include "../glslang/MachineIndependent/localintermediate.h"
 #include "../glslang/MachineIndependent/SymbolTable.h"
@@ -138,6 +129,10 @@
     spv::Decoration TranslateInterpolationDecoration(const glslang::TQualifier& qualifier);
     spv::Decoration TranslateAuxiliaryStorageDecoration(const glslang::TQualifier& qualifier);
     spv::Decoration TranslateNonUniformDecoration(const glslang::TQualifier& qualifier);
+    spv::Builder::AccessChain::CoherentFlags TranslateCoherent(const glslang::TType& type);
+    spv::MemoryAccessMask TranslateMemoryAccess(const spv::Builder::AccessChain::CoherentFlags &coherentFlags);
+    spv::ImageOperandsMask TranslateImageOperands(const spv::Builder::AccessChain::CoherentFlags &coherentFlags);
+    spv::Scope TranslateMemoryScope(const spv::Builder::AccessChain::CoherentFlags &coherentFlags);
     spv::BuiltIn TranslateBuiltInDecoration(glslang::TBuiltInVariable, bool memberDeclaration);
     spv::ImageFormat TranslateImageFormat(const glslang::TType& type);
     spv::SelectionControlMask TranslateSelectionControl(const glslang::TIntermSelection&) const;
@@ -199,6 +194,9 @@
     spv::Id createMiscOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy);
     spv::Id createNoArgOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId);
     spv::Id getSymbolId(const glslang::TIntermSymbol* node);
+#ifdef NV_EXTENSIONS
+    void addMeshNVDecoration(spv::Id id, int member, const glslang::TQualifier & qualifier);
+#endif
     spv::Id createSpvConstant(const glslang::TIntermTyped&);
     spv::Id createSpvConstantFromConstUnionArray(const glslang::TType& type, const glslang::TConstUnionArray&, int& nextConst, bool specConstant);
     bool isTrivialLeaf(const glslang::TIntermTyped* node);
@@ -277,6 +275,16 @@
     case EShLangGeometry:         return spv::ExecutionModelGeometry;
     case EShLangFragment:         return spv::ExecutionModelFragment;
     case EShLangCompute:          return spv::ExecutionModelGLCompute;
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:         return spv::ExecutionModelRayGenerationNVX;
+    case EShLangIntersectNV:      return spv::ExecutionModelIntersectionNVX;
+    case EShLangAnyHitNV:         return spv::ExecutionModelAnyHitNVX;
+    case EShLangClosestHitNV:     return spv::ExecutionModelClosestHitNVX;
+    case EShLangMissNV:           return spv::ExecutionModelMissNVX;
+    case EShLangCallableNV:       return spv::ExecutionModelCallableNVX;
+    case EShLangTaskNV:           return spv::ExecutionModelTaskNV;
+    case EShLangMeshNV:           return spv::ExecutionModelMeshNV;
+#endif
     default:
         assert(0);
         return spv::ExecutionModelFragment;
@@ -326,6 +334,11 @@
         case glslang::EvqBuffer:       return useStorageBuffer ? spv::DecorationBlock : spv::DecorationBufferBlock;
         case glslang::EvqVaryingIn:    return spv::DecorationBlock;
         case glslang::EvqVaryingOut:   return spv::DecorationBlock;
+#ifdef NV_EXTENSIONS
+        case glslang::EvqPayloadNV:    return spv::DecorationBlock;
+        case glslang::EvqPayloadInNV:  return spv::DecorationBlock;
+        case glslang::EvqHitAttrNV:    return spv::DecorationBlock;
+#endif
         default:
             assert(0);
             break;
@@ -336,13 +349,15 @@
 }
 
 // Translate glslang type to SPIR-V memory decorations.
-void TranslateMemoryDecoration(const glslang::TQualifier& qualifier, std::vector<spv::Decoration>& memory)
+void TranslateMemoryDecoration(const glslang::TQualifier& qualifier, std::vector<spv::Decoration>& memory, bool useVulkanMemoryModel)
 {
-    if (qualifier.coherent)
-        memory.push_back(spv::DecorationCoherent);
-    if (qualifier.volatil) {
-        memory.push_back(spv::DecorationVolatile);
-        memory.push_back(spv::DecorationCoherent);
+    if (!useVulkanMemoryModel) {
+        if (qualifier.coherent)
+            memory.push_back(spv::DecorationCoherent);
+        if (qualifier.volatil) {
+            memory.push_back(spv::DecorationVolatile);
+            memory.push_back(spv::DecorationCoherent);
+        }
     }
     if (qualifier.restrict)
         memory.push_back(spv::DecorationRestrict);
@@ -382,8 +397,22 @@
                 }
             case glslang::EvqVaryingIn:
             case glslang::EvqVaryingOut:
-                assert(type.getQualifier().layoutPacking == glslang::ElpNone);
+                if (type.getQualifier().isTaskMemory()) {
+                    switch (type.getQualifier().layoutPacking) {
+                    case glslang::ElpShared:  return spv::DecorationGLSLShared;
+                    case glslang::ElpPacked:  return spv::DecorationGLSLPacked;
+                    default: break;
+                    }
+                } else {
+                    assert(type.getQualifier().layoutPacking == glslang::ElpNone);
+                }
                 return spv::DecorationMax;
+#ifdef NV_EXTENSIONS
+            case glslang::EvqPayloadNV:
+            case glslang::EvqPayloadInNV:
+            case glslang::EvqHitAttrNV:
+                return spv::DecorationMax;
+#endif
             default:
                 assert(0);
                 return spv::DecorationMax;
@@ -459,6 +488,105 @@
         return spv::DecorationMax;
 }
 
+spv::MemoryAccessMask TGlslangToSpvTraverser::TranslateMemoryAccess(const spv::Builder::AccessChain::CoherentFlags &coherentFlags)
+{
+    if (!glslangIntermediate->usingVulkanMemoryModel() || coherentFlags.isImage) {
+        return spv::MemoryAccessMaskNone;
+    }
+    spv::MemoryAccessMask mask = spv::MemoryAccessMaskNone;
+    if (coherentFlags.volatil ||
+        coherentFlags.coherent ||
+        coherentFlags.devicecoherent ||
+        coherentFlags.queuefamilycoherent ||
+        coherentFlags.workgroupcoherent ||
+        coherentFlags.subgroupcoherent) {
+        mask = mask | spv::MemoryAccessMakePointerAvailableKHRMask |
+                      spv::MemoryAccessMakePointerVisibleKHRMask;
+    }
+    if (coherentFlags.nonprivate) {
+        mask = mask | spv::MemoryAccessNonPrivatePointerKHRMask;
+    }
+    if (coherentFlags.volatil) {
+        mask = mask | spv::MemoryAccessVolatileMask;
+    }
+    if (mask != spv::MemoryAccessMaskNone) {
+        builder.addCapability(spv::CapabilityVulkanMemoryModelKHR);
+    }
+    return mask;
+}
+
+spv::ImageOperandsMask TGlslangToSpvTraverser::TranslateImageOperands(const spv::Builder::AccessChain::CoherentFlags &coherentFlags)
+{
+    if (!glslangIntermediate->usingVulkanMemoryModel()) {
+        return spv::ImageOperandsMaskNone;
+    }
+    spv::ImageOperandsMask mask = spv::ImageOperandsMaskNone;
+    if (coherentFlags.volatil ||
+        coherentFlags.coherent ||
+        coherentFlags.devicecoherent ||
+        coherentFlags.queuefamilycoherent ||
+        coherentFlags.workgroupcoherent ||
+        coherentFlags.subgroupcoherent) {
+        mask = mask | spv::ImageOperandsMakeTexelAvailableKHRMask |
+                      spv::ImageOperandsMakeTexelVisibleKHRMask;
+    }
+    if (coherentFlags.nonprivate) {
+        mask = mask | spv::ImageOperandsNonPrivateTexelKHRMask;
+    }
+    if (coherentFlags.volatil) {
+        mask = mask | spv::ImageOperandsVolatileTexelKHRMask;
+    }
+    if (mask != spv::ImageOperandsMaskNone) {
+        builder.addCapability(spv::CapabilityVulkanMemoryModelKHR);
+    }
+    return mask;
+}
+
+spv::Builder::AccessChain::CoherentFlags TGlslangToSpvTraverser::TranslateCoherent(const glslang::TType& type)
+{
+    spv::Builder::AccessChain::CoherentFlags flags;
+    flags.coherent = type.getQualifier().coherent;
+    flags.devicecoherent = type.getQualifier().devicecoherent;
+    flags.queuefamilycoherent = type.getQualifier().queuefamilycoherent;
+    // shared variables are implicitly workgroupcoherent in GLSL.
+    flags.workgroupcoherent = type.getQualifier().workgroupcoherent ||
+                              type.getQualifier().storage == glslang::EvqShared;
+    flags.subgroupcoherent = type.getQualifier().subgroupcoherent;
+    // *coherent variables are implicitly nonprivate in GLSL
+    flags.nonprivate = type.getQualifier().nonprivate ||
+                       type.getQualifier().subgroupcoherent ||
+                       type.getQualifier().workgroupcoherent ||
+                       type.getQualifier().queuefamilycoherent ||
+                       type.getQualifier().devicecoherent ||
+                       type.getQualifier().coherent;
+    flags.volatil = type.getQualifier().volatil;
+    flags.isImage = type.getBasicType() == glslang::EbtSampler;
+    return flags;
+}
+
+spv::Scope TGlslangToSpvTraverser::TranslateMemoryScope(const spv::Builder::AccessChain::CoherentFlags &coherentFlags)
+{
+    spv::Scope scope;
+    if (coherentFlags.coherent) {
+        // coherent defaults to Device scope in the old model, QueueFamilyKHR scope in the new model
+        scope = glslangIntermediate->usingVulkanMemoryModel() ? spv::ScopeQueueFamilyKHR : spv::ScopeDevice;
+    } else if (coherentFlags.devicecoherent) {
+        scope = spv::ScopeDevice;
+    } else if (coherentFlags.queuefamilycoherent) {
+        scope = spv::ScopeQueueFamilyKHR;
+    } else if (coherentFlags.workgroupcoherent) {
+        scope = spv::ScopeWorkgroup;
+    } else if (coherentFlags.subgroupcoherent) {
+        scope = spv::ScopeSubgroup;
+    } else {
+        scope = spv::ScopeMax;
+    }
+    if (glslangIntermediate->usingVulkanMemoryModel() && scope == spv::ScopeDevice) {
+        builder.addCapability(spv::CapabilityVulkanMemoryModelDeviceScopeKHR);
+    }
+    return scope;
+}
+
 // Translate a glslang built-in variable to a SPIR-V built in decoration.  Also generate
 // associated capabilities when required.  For some built-in variables, a capability
 // is generated only when using the variable in an executable instruction, but not when
@@ -523,6 +651,11 @@
         return spv::BuiltInSampleMask;
 
     case glslang::EbvLayer:
+#ifdef NV_EXTENSIONS
+        if (glslangIntermediate->getStage() == EShLangMeshNV) {
+            return spv::BuiltInLayer;
+        }
+#endif
         builder.addCapability(spv::CapabilityGeometry);
         if (glslangIntermediate->getStage() == EShLangVertex ||
             glslangIntermediate->getStage() == EShLangTessControl ||
@@ -731,6 +864,66 @@
         builder.addExtension(spv::E_SPV_EXT_fragment_fully_covered);
         builder.addCapability(spv::CapabilityFragmentFullyCoveredEXT);
         return spv::BuiltInFullyCoveredEXT;
+    case glslang::EbvFragmentSizeNV:
+        builder.addExtension(spv::E_SPV_NV_shading_rate);
+        builder.addCapability(spv::CapabilityShadingRateNV);
+        return spv::BuiltInFragmentSizeNV;
+    case glslang::EbvInvocationsPerPixelNV:
+        builder.addExtension(spv::E_SPV_NV_shading_rate);
+        builder.addCapability(spv::CapabilityShadingRateNV);
+        return spv::BuiltInInvocationsPerPixelNV;
+
+    // raytracing
+    case glslang::EbvLaunchIdNV:
+        return spv::BuiltInLaunchIdNVX;
+    case glslang::EbvLaunchSizeNV:
+        return spv::BuiltInLaunchSizeNVX;
+    case glslang::EbvWorldRayOriginNV:
+        return spv::BuiltInWorldRayOriginNVX;
+    case glslang::EbvWorldRayDirectionNV:
+        return spv::BuiltInWorldRayDirectionNVX;
+    case glslang::EbvObjectRayOriginNV:
+        return spv::BuiltInObjectRayOriginNVX;
+    case glslang::EbvObjectRayDirectionNV:
+        return spv::BuiltInObjectRayDirectionNVX;
+    case glslang::EbvRayTminNV:
+        return spv::BuiltInRayTminNVX;
+    case glslang::EbvRayTmaxNV:
+        return spv::BuiltInRayTmaxNVX;
+    case glslang::EbvInstanceCustomIndexNV:
+        return spv::BuiltInInstanceCustomIndexNVX;
+    case glslang::EbvHitTNV:
+        return spv::BuiltInHitTNVX;
+    case glslang::EbvHitKindNV:
+        return spv::BuiltInHitKindNVX;
+    case glslang::EbvObjectToWorldNV:
+        return spv::BuiltInObjectToWorldNVX;
+    case glslang::EbvWorldToObjectNV:
+        return spv::BuiltInWorldToObjectNVX;
+    case glslang::EbvBaryCoordNV:
+        builder.addExtension(spv::E_SPV_NV_fragment_shader_barycentric);
+        builder.addCapability(spv::CapabilityFragmentBarycentricNV);
+        return spv::BuiltInBaryCoordNV;
+    case glslang::EbvBaryCoordNoPerspNV:
+        builder.addExtension(spv::E_SPV_NV_fragment_shader_barycentric);
+        builder.addCapability(spv::CapabilityFragmentBarycentricNV);
+        return spv::BuiltInBaryCoordNoPerspNV;
+     case glslang::EbvTaskCountNV:
+        return spv::BuiltInTaskCountNV;
+     case glslang::EbvPrimitiveCountNV:
+        return spv::BuiltInPrimitiveCountNV;
+     case glslang::EbvPrimitiveIndicesNV:
+        return spv::BuiltInPrimitiveIndicesNV;
+     case glslang::EbvClipDistancePerViewNV:
+        return spv::BuiltInClipDistancePerViewNV;
+     case glslang::EbvCullDistancePerViewNV:
+        return spv::BuiltInCullDistancePerViewNV;
+     case glslang::EbvLayerPerViewNV:
+        return spv::BuiltInLayerPerViewNV;
+     case glslang::EbvMeshViewCountNV:
+        return spv::BuiltInMeshViewCountNV;
+     case glslang::EbvMeshViewIndicesNV:
+        return spv::BuiltInMeshViewIndicesNV;
 #endif 
     default:
         return spv::BuiltInMax;
@@ -887,6 +1080,10 @@
     if (type.getQualifier().isUniformOrBuffer()) {
         if (type.getQualifier().layoutPushConstant)
             return spv::StorageClassPushConstant;
+#ifdef NV_EXTENSIONS
+        if (type.getQualifier().layoutShaderRecordNV)
+            return spv::StorageClassShaderRecordBufferNVX;
+#endif
         if (type.getBasicType() == glslang::EbtBlock)
             return spv::StorageClassUniform;
         return spv::StorageClassUniformConstant;
@@ -897,6 +1094,11 @@
     case glslang::EvqGlobal:        return spv::StorageClassPrivate;
     case glslang::EvqConstReadOnly: return spv::StorageClassFunction;
     case glslang::EvqTemporary:     return spv::StorageClassFunction;
+#ifdef NV_EXTENSIONS
+    case glslang::EvqPayloadNV:     return spv::StorageClassRayPayloadNVX;
+    case glslang::EvqPayloadInNV:   return spv::StorageClassIncomingRayPayloadNVX;
+    case glslang::EvqHitAttrNV:     return spv::StorageClassHitAttributeNVX;
+#endif
     default:
         assert(0);
         break;
@@ -911,6 +1113,7 @@
 {
     if (indexType.getQualifier().isNonUniform()) {
         // deal with an asserted non-uniform index
+        // SPV_EXT_descriptor_indexing already added in TranslateNonUniformDecoration
         if (baseType.getBasicType() == glslang::EbtSampler) {
             if (baseType.getQualifier().hasAttachment())
                 builder.addCapability(spv::CapabilityInputAttachmentArrayNonUniformIndexingEXT);
@@ -931,12 +1134,16 @@
     } else {
         // assume a dynamically uniform index
         if (baseType.getBasicType() == glslang::EbtSampler) {
-            if (baseType.getQualifier().hasAttachment())
+            if (baseType.getQualifier().hasAttachment()) {
+                builder.addExtension("SPV_EXT_descriptor_indexing");
                 builder.addCapability(spv::CapabilityInputAttachmentArrayDynamicIndexingEXT);
-            else if (baseType.isImage() && baseType.getSampler().dim == glslang::EsdBuffer)
+            } else if (baseType.isImage() && baseType.getSampler().dim == glslang::EsdBuffer) {
+                builder.addExtension("SPV_EXT_descriptor_indexing");
                 builder.addCapability(spv::CapabilityStorageTexelBufferArrayDynamicIndexingEXT);
-            else if (baseType.isTexture() && baseType.getSampler().dim == glslang::EsdBuffer)
+            } else if (baseType.isTexture() && baseType.getSampler().dim == glslang::EsdBuffer) {
+                builder.addExtension("SPV_EXT_descriptor_indexing");
                 builder.addCapability(spv::CapabilityUniformTexelBufferArrayDynamicIndexingEXT);
+            }
         }
     }
 }
@@ -947,7 +1154,11 @@
 {
     // uniform and buffer blocks are included, unless it is a push_constant
     if (type.getBasicType() == glslang::EbtBlock)
-        return type.getQualifier().isUniformOrBuffer() && ! type.getQualifier().layoutPushConstant;
+        return type.getQualifier().isUniformOrBuffer() &&
+#ifdef NV_EXTENSIONS
+        ! type.getQualifier().layoutShaderRecordNV &&
+#endif
+        ! type.getQualifier().layoutPushConstant;
 
     // non block...
     // basically samplerXXX/subpass/sampler/texture are all included
@@ -983,6 +1194,16 @@
         child.sample = true;
     if (parent.coherent)
         child.coherent = true;
+    if (parent.devicecoherent)
+        child.devicecoherent = true;
+    if (parent.queuefamilycoherent)
+        child.queuefamilycoherent = true;
+    if (parent.workgroupcoherent)
+        child.workgroupcoherent = true;
+    if (parent.subgroupcoherent)
+        child.subgroupcoherent = true;
+    if (parent.nonprivate)
+        child.nonprivate = true;
     if (parent.volatil)
         child.volatil = true;
     if (parent.restrict)
@@ -991,6 +1212,14 @@
         child.readonly = true;
     if (parent.writeonly)
         child.writeonly = true;
+#ifdef NV_EXTENSIONS
+    if (parent.perPrimitiveNV)
+        child.perPrimitiveNV = true;
+    if (parent.perViewNV)
+        child.perViewNV = true;
+    if (parent.perTaskNV)
+        child.perTaskNV = true;
+#endif
 }
 
 bool HasNonLayoutQualifiers(const glslang::TType& type, const glslang::TQualifier& qualifier)
@@ -1049,7 +1278,12 @@
         builder.setSourceText(text);
     }
     stdBuiltins = builder.import("GLSL.std.450");
-    builder.setMemoryModel(spv::AddressingModelLogical, spv::MemoryModelGLSL450);
+    if (glslangIntermediate->usingVulkanMemoryModel()) {
+        builder.setMemoryModel(spv::AddressingModelLogical, spv::MemoryModelVulkanKHR);
+        builder.addExtension(spv::E_SPV_KHR_vulkan_memory_model);
+    } else {
+        builder.setMemoryModel(spv::AddressingModelLogical, spv::MemoryModelGLSL450);
+    }
     shaderEntry = builder.makeEntryPoint(glslangIntermediate->getEntryPointName().c_str());
     entryPoint = builder.addEntryPoint(executionModel, shaderEntry, glslangIntermediate->getEntryPointName().c_str());
 
@@ -1176,8 +1410,52 @@
         builder.addExecutionMode(shaderEntry, spv::ExecutionModeLocalSize, glslangIntermediate->getLocalSize(0),
                                                                            glslangIntermediate->getLocalSize(1),
                                                                            glslangIntermediate->getLocalSize(2));
+#ifdef NV_EXTENSIONS
+        if (glslangIntermediate->getLayoutDerivativeModeNone() == glslang::LayoutDerivativeGroupQuads) {
+            builder.addCapability(spv::CapabilityComputeDerivativeGroupQuadsNV);
+            builder.addExecutionMode(shaderEntry, spv::ExecutionModeDerivativeGroupQuadsNV);
+            builder.addExtension(spv::E_SPV_NV_compute_shader_derivatives);
+        } else if (glslangIntermediate->getLayoutDerivativeModeNone() == glslang::LayoutDerivativeGroupLinear) {
+            builder.addCapability(spv::CapabilityComputeDerivativeGroupLinearNV);
+            builder.addExecutionMode(shaderEntry, spv::ExecutionModeDerivativeGroupLinearNV);
+            builder.addExtension(spv::E_SPV_NV_compute_shader_derivatives);
+        }
+#endif
         break;
 
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:
+    case EShLangIntersectNV:
+    case EShLangAnyHitNV:
+    case EShLangClosestHitNV:
+    case EShLangMissNV:
+    case EShLangCallableNV:
+        builder.addCapability(spv::CapabilityRaytracingNVX);
+        builder.addExtension("SPV_NVX_raytracing");
+        break;
+    case EShLangTaskNV:
+    case EShLangMeshNV:
+        builder.addCapability(spv::CapabilityMeshShadingNV);
+        builder.addExtension(spv::E_SPV_NV_mesh_shader);
+        builder.addExecutionMode(shaderEntry, spv::ExecutionModeLocalSize, glslangIntermediate->getLocalSize(0),
+                                                                           glslangIntermediate->getLocalSize(1),
+                                                                           glslangIntermediate->getLocalSize(2));
+        if (glslangIntermediate->getStage() == EShLangMeshNV) {
+            builder.addExecutionMode(shaderEntry, spv::ExecutionModeOutputVertices, glslangIntermediate->getVertices());
+            builder.addExecutionMode(shaderEntry, spv::ExecutionModeOutputPrimitivesNV, glslangIntermediate->getPrimitives());
+
+            switch (glslangIntermediate->getOutputPrimitive()) {
+            case glslang::ElgPoints:        mode = spv::ExecutionModeOutputPoints;      break;
+            case glslang::ElgLines:         mode = spv::ExecutionModeOutputLinesNV;     break;
+            case glslang::ElgTriangles:     mode = spv::ExecutionModeOutputTrianglesNV; break;
+            default:                        mode = spv::ExecutionModeMax;               break;
+            }
+            if (mode != spv::ExecutionModeMax)
+                builder.addExecutionMode(shaderEntry, (spv::ExecutionMode)mode);
+        }
+        break;
+#endif
+
     default:
         break;
     }
@@ -1186,6 +1464,7 @@
 // Finish creating SPV, after the traversal is complete.
 void TGlslangToSpvTraverser::finishSpv()
 {
+    // Finish the entry point function
     if (! entryPointTerminated) {
         builder.setBuildPoint(shaderEntry->getLastBlock());
         builder.leaveFunction();
@@ -1195,7 +1474,9 @@
     for (auto it = iOSet.cbegin(); it != iOSet.cend(); ++it)
         entryPoint->addIdOperand(*it);
 
-    builder.eliminateDeadDecorations();
+    // Add capabilities, extensions, remove unneeded decorations, etc., 
+    // based on the resulting SPIR-V.
+    builder.postProcess();
 }
 
 // Write the SPV into 'out'.
@@ -1352,7 +1633,7 @@
 
             // store the result
             builder.setAccessChain(lValue);
-            multiTypeStore(node->getType(), rValue);
+            multiTypeStore(node->getLeft()->getType(), rValue);
 
             // assignments are expressions having an rValue after they are evaluated...
             builder.clearAccessChain();
@@ -1389,7 +1670,7 @@
                 }
 
                 // normal case for indexing array or structure or block
-                builder.accessChainPush(builder.makeIntConstant(spvIndex));
+                builder.accessChainPush(builder.makeIntConstant(spvIndex), TranslateCoherent(node->getLeft()->getType()));
 
                 // Add capabilities here for accessing PointSize and clip/cull distance.
                 // We have deferred generation of associated capabilities until now.
@@ -1425,7 +1706,7 @@
             if (! node->getLeft()->getType().isArray() && node->getLeft()->getType().isVector())
                 builder.accessChainPushComponent(index, convertGlslangToSpvType(node->getLeft()->getType()));
             else
-                builder.accessChainPush(index);
+                builder.accessChainPush(index, TranslateCoherent(node->getLeft()->getType()));
         }
         return false;
     case glslang::EOpVectorSwizzle:
@@ -1659,11 +1940,11 @@
         builder.setAccessChainRValue(result);
 
         return false;
+    } else if (node->getOp() == glslang::EOpImageStore ||
 #ifdef AMD_EXTENSIONS
-    } else if (node->getOp() == glslang::EOpImageStore || node->getOp() == glslang::EOpImageStoreLod) {
-#else
-    } else if (node->getOp() == glslang::EOpImageStore) {
+        node->getOp() == glslang::EOpImageStoreLod ||
 #endif
+        node->getOp() == glslang::EOpImageAtomicStore) {
         // "imageStore" is a special case, which has no result
         return false;
     }
@@ -1953,6 +2234,10 @@
         // These all have 0 operands and will naturally finish up in the code below for 0 operands
         break;
 
+    case glslang::EOpAtomicStore:
+        noReturnValue = true;
+        // fallthrough
+    case glslang::EOpAtomicLoad:
     case glslang::EOpAtomicAdd:
     case glslang::EOpAtomicMin:
     case glslang::EOpAtomicMax:
@@ -1978,6 +2263,15 @@
         atomic = true;
         break;
 
+#ifdef NV_EXTENSIONS
+    case glslang::EOpIgnoreIntersectionNV:
+    case glslang::EOpTerminateRayNV:
+    case glslang::EOpTraceNV:
+    case glslang::EOpWritePackedPrimitiveIndices4x8NV:
+        noReturnValue = true;
+        break;
+#endif
+
     default:
         break;
     }
@@ -2051,6 +2345,8 @@
         case glslang::EOpAtomicXor:
         case glslang::EOpAtomicExchange:
         case glslang::EOpAtomicCompSwap:
+        case glslang::EOpAtomicLoad:
+        case glslang::EOpAtomicStore:
         case glslang::EOpAtomicCounterAdd:
         case glslang::EOpAtomicCounterSubtract:
         case glslang::EOpAtomicCounterMin:
@@ -2604,11 +2900,6 @@
         spvType = builder.makeFloatType(64);
         break;
     case glslang::EbtFloat16:
-        builder.addCapability(spv::CapabilityFloat16);
-#if AMD_EXTENSIONS
-        if (builder.getSpvVersion() < glslang::EShTargetSpv_1_3)
-            builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
-#endif
         spvType = builder.makeFloatType(16);
         break;
     case glslang::EbtBool:
@@ -2619,28 +2910,16 @@
         else
             spvType = builder.makeBoolType();
         break;
-   case glslang::EbtInt8:
-        builder.addCapability(spv::CapabilityInt8);
+    case glslang::EbtInt8:
         spvType = builder.makeIntType(8);
         break;
     case glslang::EbtUint8:
-        builder.addCapability(spv::CapabilityInt8);
         spvType = builder.makeUintType(8);
         break;
-   case glslang::EbtInt16:
-        builder.addCapability(spv::CapabilityInt16);
-#ifdef AMD_EXTENSIONS
-        if (builder.getSpvVersion() < glslang::EShTargetSpv_1_3)
-            builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
-#endif
+    case glslang::EbtInt16:
         spvType = builder.makeIntType(16);
         break;
     case glslang::EbtUint16:
-        builder.addCapability(spv::CapabilityInt16);
-#ifdef AMD_EXTENSIONS
-        if (builder.getSpvVersion() < glslang::EShTargetSpv_1_3)
-            builder.addExtension(spv::E_SPV_AMD_gpu_shader_int16);
-#endif
         spvType = builder.makeUintType(16);
         break;
     case glslang::EbtInt:
@@ -2659,6 +2938,11 @@
         builder.addCapability(spv::CapabilityAtomicStorage);
         spvType = builder.makeUintType(32);
         break;
+#ifdef NV_EXTENSIONS
+    case glslang::EbtAccStructNV:
+        spvType = builder.makeAccelerationStructureNVType();
+        break;
+#endif
     case glslang::EbtSampler:
         {
             const glslang::TSampler& sampler = type.getSampler();
@@ -2765,23 +3049,28 @@
 //
 bool TGlslangToSpvTraverser::filterMember(const glslang::TType& member)
 {
+#ifdef NV_EXTENSIONS
     auto& extensions = glslangIntermediate->getRequestedExtensions();
 
-    if (member.getFieldName() == "gl_ViewportMask" &&
-        extensions.find("GL_NV_viewport_array2") == extensions.end())
-        return true;
     if (member.getFieldName() == "gl_SecondaryViewportMaskNV" &&
         extensions.find("GL_NV_stereo_view_rendering") == extensions.end())
         return true;
     if (member.getFieldName() == "gl_SecondaryPositionNV" &&
         extensions.find("GL_NV_stereo_view_rendering") == extensions.end())
         return true;
-    if (member.getFieldName() == "gl_PositionPerViewNV" &&
-        extensions.find("GL_NVX_multiview_per_view_attributes") == extensions.end())
-        return true;
-    if (member.getFieldName() == "gl_ViewportMaskPerViewNV" &&
-        extensions.find("GL_NVX_multiview_per_view_attributes") == extensions.end())
-        return true;
+
+    if (glslangIntermediate->getStage() != EShLangMeshNV) {
+        if (member.getFieldName() == "gl_ViewportMask" &&
+            extensions.find("GL_NV_viewport_array2") == extensions.end())
+            return true;
+        if (member.getFieldName() == "gl_PositionPerViewNV" &&
+            extensions.find("GL_NVX_multiview_per_view_attributes") == extensions.end())
+            return true;
+        if (member.getFieldName() == "gl_ViewportMaskPerViewNV" &&
+            extensions.find("GL_NVX_multiview_per_view_attributes") == extensions.end())
+            return true;
+    }
+#endif
 
     return false;
 };
@@ -2874,6 +3163,9 @@
                 glslangIntermediate->getSource() == glslang::EShSourceHlsl) {
                 builder.addMemberDecoration(spvType, member, TranslateInterpolationDecoration(memberQualifier));
                 builder.addMemberDecoration(spvType, member, TranslateAuxiliaryStorageDecoration(memberQualifier));
+#ifdef NV_EXTENSIONS
+                addMeshNVDecoration(spvType, member, memberQualifier);
+#endif
             }
         }
         builder.addMemberDecoration(spvType, member, TranslateInvariantDecoration(memberQualifier));
@@ -2882,7 +3174,7 @@
             qualifier.storage == glslang::EvqBuffer) {
             // Add memory decorations only to top-level members of shader storage block
             std::vector<spv::Decoration> memory;
-            TranslateMemoryDecoration(memberQualifier, memory);
+            TranslateMemoryDecoration(memberQualifier, memory, glslangIntermediate->usingVulkanMemoryModel());
             for (unsigned int i = 0; i < memory.size(); ++i)
                 builder.addMemberDecoration(spvType, member, memory[i]);
         }
@@ -2993,8 +3285,15 @@
 spv::Id TGlslangToSpvTraverser::accessChainLoad(const glslang::TType& type)
 {
     spv::Id nominalTypeId = builder.accessChainGetInferredType();
+
+    spv::Builder::AccessChain::CoherentFlags coherentFlags = builder.getAccessChain().coherentFlags;
+    coherentFlags |= TranslateCoherent(type);
+
     spv::Id loadedId = builder.accessChainLoad(TranslatePrecisionDecoration(type),
-                                               TranslateNonUniformDecoration(type.getQualifier()), nominalTypeId);
+                                               TranslateNonUniformDecoration(type.getQualifier()),
+                                               nominalTypeId,
+                                               spv::MemoryAccessMask(TranslateMemoryAccess(coherentFlags) & ~spv::MemoryAccessMakePointerAvailableKHRMask),
+                                               TranslateMemoryScope(coherentFlags));
 
     // Need to convert to abstract types when necessary
     if (type.getBasicType() == glslang::EbtBool) {
@@ -3050,7 +3349,12 @@
         }
     }
 
-    builder.accessChainStore(rvalue);
+    spv::Builder::AccessChain::CoherentFlags coherentFlags = builder.getAccessChain().coherentFlags;
+    coherentFlags |= TranslateCoherent(type);
+
+    builder.accessChainStore(rvalue,
+                             spv::MemoryAccessMask(TranslateMemoryAccess(coherentFlags) & ~spv::MemoryAccessMakePointerVisibleKHRMask),
+                             TranslateMemoryScope(coherentFlags));
 }
 
 // For storing when types match at the glslang level, but not might match at the
@@ -3096,7 +3400,7 @@
             // set up the target storage
             builder.clearAccessChain();
             builder.setAccessChainLValue(lValue);
-            builder.accessChainPush(builder.makeIntConstant(index));
+            builder.accessChainPush(builder.makeIntConstant(index), TranslateCoherent(type));
 
             // store the member
             multiTypeStore(glslangElementType, elementRValue);
@@ -3116,7 +3420,7 @@
             // set up the target storage
             builder.clearAccessChain();
             builder.setAccessChainLValue(lValue);
-            builder.accessChainPush(builder.makeIntConstant(m));
+            builder.accessChainPush(builder.makeIntConstant(m), TranslateCoherent(type));
 
             // store the member
             multiTypeStore(glslangMemberType, memberRValue);
@@ -3133,9 +3437,10 @@
     if (type.getBasicType() != glslang::EbtBlock)
         return glslang::ElpNone;
 
-    // has to be a uniform or buffer block
+    // has to be a uniform or buffer block or task in/out blocks
     if (type.getQualifier().storage != glslang::EvqUniform &&
-        type.getQualifier().storage != glslang::EvqBuffer)
+        type.getQualifier().storage != glslang::EvqBuffer &&
+        !type.getQualifier().isTaskMemory())
         return glslang::ElpNone;
 
     // return the layout to use
@@ -3217,7 +3522,7 @@
     //       adjusting this late means inconsistencies with earlier code, which for reflection is an issue
     // Until reflection is brought in sync with these adjustments, don't apply to $Global,
     // which is the most likely to rely on reflection, and least likely to rely implicit layouts
-    if (glslangIntermediate->usingHlslOFfsets() &&
+    if (glslangIntermediate->usingHlslOffsets() &&
         ! memberType.isArray() && memberType.isVector() && structType.getTypeName().compare("$Global") != 0) {
         int dummySize;
         int componentAlignment = glslangIntermediate->getBaseAlignmentScalar(memberType, dummySize);
@@ -3249,6 +3554,14 @@
     case glslang::EbvSecondaryViewportMaskNV:
     case glslang::EbvPositionPerViewNV:
     case glslang::EbvViewportMaskPerViewNV:
+    case glslang::EbvTaskCountNV:
+    case glslang::EbvPrimitiveCountNV:
+    case glslang::EbvPrimitiveIndicesNV:
+    case glslang::EbvClipDistancePerViewNV:
+    case glslang::EbvCullDistancePerViewNV:
+    case glslang::EbvLayerPerViewNV:
+    case glslang::EbvMeshViewCountNV:
+    case glslang::EbvMeshViewIndicesNV:
 #endif
         // Generate the associated capability.  Delegate to TranslateBuiltInDecoration.
         // Alternately, we could just call this for any glslang built-in, since the
@@ -3293,11 +3606,11 @@
 // Make all the functions, skeletally, without actually visiting their bodies.
 void TGlslangToSpvTraverser::makeFunctions(const glslang::TIntermSequence& glslFunctions)
 {
-    const auto getParamDecorations = [](std::vector<spv::Decoration>& decorations, const glslang::TType& type) {
+    const auto getParamDecorations = [](std::vector<spv::Decoration>& decorations, const glslang::TType& type, bool useVulkanMemoryModel) {
         spv::Decoration paramPrecision = TranslatePrecisionDecoration(type);
         if (paramPrecision != spv::NoPrecision)
             decorations.push_back(paramPrecision);
-        TranslateMemoryDecoration(type.getQualifier(), decorations);
+        TranslateMemoryDecoration(type.getQualifier(), decorations, useVulkanMemoryModel);
     };
 
     for (int f = 0; f < (int)glslFunctions.size(); ++f) {
@@ -3336,7 +3649,7 @@
                 typeId = builder.makePointer(spv::StorageClassFunction, typeId);
             else
                 rValueParameters.insert(parameters[p]->getAsSymbolNode()->getId());
-            getParamDecorations(paramDecorations[p], paramType);
+            getParamDecorations(paramDecorations[p], paramType, glslangIntermediate->usingVulkanMemoryModel());
             paramTypes.push_back(typeId);
         }
 
@@ -3426,6 +3739,8 @@
         case glslang::EOpImageAtomicXor:
         case glslang::EOpImageAtomicExchange:
         case glslang::EOpImageAtomicCompSwap:
+        case glslang::EOpImageAtomicLoad:
+        case glslang::EOpImageAtomicStore:
             if (i == 0)
                 lvalue = true;
             break;
@@ -3527,6 +3842,25 @@
                 lvalue = true;
             break;
 #endif
+#ifdef NV_EXTENSIONS
+        case glslang::EOpImageSampleFootprintNV:
+            if (i == 4)
+                lvalue = true;
+            break;
+        case glslang::EOpImageSampleFootprintClampNV:
+        case glslang::EOpImageSampleFootprintLodNV:
+            if (i == 5)
+                lvalue = true;
+            break;
+        case glslang::EOpImageSampleFootprintGradNV:
+            if (i == 6)
+                lvalue = true;
+            break;
+        case glslang::EOpImageSampleFootprintGradClampNV:
+            if (i == 7)
+                lvalue = true;
+            break;
+#endif
         default:
             break;
         }
@@ -3553,8 +3887,10 @@
     builder.setLine(node->getLoc().line);
 
     // Process a GLSL texturing op (will be SPV image)
-    const glslang::TSampler sampler = node->getAsAggregate() ? node->getAsAggregate()->getSequence()[0]->getAsTyped()->getType().getSampler()
-                                                             : node->getAsUnaryNode()->getOperand()->getAsTyped()->getType().getSampler();
+
+    const glslang::TType &imageType = node->getAsAggregate() ? node->getAsAggregate()->getSequence()[0]->getAsTyped()->getType()
+                                                             : node->getAsUnaryNode()->getOperand()->getAsTyped()->getType();
+    const glslang::TSampler sampler = imageType.getSampler();
 #ifdef AMD_EXTENSIONS
     bool f16ShadowCompare = (sampler.shadow && node->getAsAggregate())
                                 ? node->getAsAggregate()->getSequence()[1]->getAsTyped()->getType().getBasicType() == glslang::EbtFloat16
@@ -3622,9 +3958,10 @@
 
     // Check for image functions other than queries
     if (node->isImage()) {
-        std::vector<spv::Id> operands;
+        std::vector<spv::IdImmediate> operands;
         auto opIt = arguments.begin();
-        operands.push_back(*(opIt++));
+        spv::IdImmediate image = { true, *(opIt++) };
+        operands.push_back(image);
 
         // Handle subpass operations
         // TODO: GLSL should change to have the "MS" only on the type rather than the
@@ -3635,38 +3972,63 @@
             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));
+            spv::IdImmediate coord = { true,
+                builder.makeCompositeConstant(builder.makeVectorType(builder.makeIntType(32), 2), comps) };
+            operands.push_back(coord);
             if (sampler.ms) {
-                operands.push_back(spv::ImageOperandsSampleMask);
-                operands.push_back(*(opIt++));
+                spv::IdImmediate imageOperands = { false, spv::ImageOperandsSampleMask };
+                operands.push_back(imageOperands);
+                spv::IdImmediate imageOperand = { true, *(opIt++) };
+                operands.push_back(imageOperand);
             }
             spv::Id result = builder.createOp(spv::OpImageRead, resultType(), operands);
             builder.setPrecision(result, precision);
             return result;
         }
 
-        operands.push_back(*(opIt++));
+        spv::IdImmediate coord = { true, *(opIt++) };
+        operands.push_back(coord);
 #ifdef AMD_EXTENSIONS
         if (node->getOp() == glslang::EOpImageLoad || node->getOp() == glslang::EOpImageLoadLod) {
 #else
         if (node->getOp() == glslang::EOpImageLoad) {
 #endif
+            spv::ImageOperandsMask mask = spv::ImageOperandsMaskNone;
             if (sampler.ms) {
-                operands.push_back(spv::ImageOperandsSampleMask);
-                operands.push_back(*opIt);
+                mask = mask | spv::ImageOperandsSampleMask;
+            }
 #ifdef AMD_EXTENSIONS
-            } else if (cracked.lod) {
+            if (cracked.lod) {
                 builder.addExtension(spv::E_SPV_AMD_shader_image_load_store_lod);
                 builder.addCapability(spv::CapabilityImageReadWriteLodAMD);
-
-                operands.push_back(spv::ImageOperandsLodMask);
-                operands.push_back(*opIt);
-#endif
+                mask = mask | spv::ImageOperandsLodMask;
             }
-            if (builder.getImageTypeFormat(builder.getImageType(operands.front())) == spv::ImageFormatUnknown)
+#endif
+            mask = mask | TranslateImageOperands(TranslateCoherent(imageType));
+            mask = (spv::ImageOperandsMask)(mask & ~spv::ImageOperandsMakeTexelAvailableKHRMask);
+            if (mask) {
+                spv::IdImmediate imageOperands = { false, (unsigned int)mask };
+                operands.push_back(imageOperands);
+            }
+            if (mask & spv::ImageOperandsSampleMask) {
+                spv::IdImmediate imageOperand = { true, *opIt++ };
+                operands.push_back(imageOperand);
+            }
+#ifdef AMD_EXTENSIONS
+            if (mask & spv::ImageOperandsLodMask) {
+                spv::IdImmediate imageOperand = { true, *opIt++ };
+                operands.push_back(imageOperand);
+            }
+#endif
+            if (mask & spv::ImageOperandsMakeTexelVisibleKHRMask) {
+                spv::IdImmediate imageOperand = { true, builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
+                operands.push_back(imageOperand);
+            }
+
+            if (builder.getImageTypeFormat(builder.getImageType(operands.front().word)) == spv::ImageFormatUnknown)
                 builder.addCapability(spv::CapabilityStorageImageReadWithoutFormat);
 
-            std::vector<spv::Id> result( 1, builder.createOp(spv::OpImageRead, resultType(), operands) );
+            std::vector<spv::Id> result(1, builder.createOp(spv::OpImageRead, resultType(), operands));
             builder.setPrecision(result[0], precision);
 
             // If needed, add a conversion constructor to the proper size.
@@ -3679,23 +4041,54 @@
 #else
         } else if (node->getOp() == glslang::EOpImageStore) {
 #endif
-            if (sampler.ms) {
-                operands.push_back(*(opIt + 1));
-                operands.push_back(spv::ImageOperandsSampleMask);
-                operands.push_back(*opIt);
+
+            // Push the texel value before the operands
 #ifdef AMD_EXTENSIONS
-            } else if (cracked.lod) {
+            if (sampler.ms || cracked.lod) {
+#else
+            if (sampler.ms) {
+#endif
+                spv::IdImmediate texel = { true, *(opIt + 1) };
+                operands.push_back(texel);
+            } else {
+                spv::IdImmediate texel = { true, *opIt };
+                operands.push_back(texel);
+            }
+
+            spv::ImageOperandsMask mask = spv::ImageOperandsMaskNone;
+            if (sampler.ms) {
+                mask = mask | spv::ImageOperandsSampleMask;
+            }
+#ifdef AMD_EXTENSIONS
+            if (cracked.lod) {
                 builder.addExtension(spv::E_SPV_AMD_shader_image_load_store_lod);
                 builder.addCapability(spv::CapabilityImageReadWriteLodAMD);
-
-                operands.push_back(*(opIt + 1));
-                operands.push_back(spv::ImageOperandsLodMask);
-                operands.push_back(*opIt);
+                mask = mask | spv::ImageOperandsLodMask;
+            }
 #endif
-            } else
-                operands.push_back(*opIt);
+            mask = mask | TranslateImageOperands(TranslateCoherent(imageType));
+            mask = (spv::ImageOperandsMask)(mask & ~spv::ImageOperandsMakeTexelVisibleKHRMask);
+            if (mask) {
+                spv::IdImmediate imageOperands = { false, (unsigned int)mask };
+                operands.push_back(imageOperands);
+            }
+            if (mask & spv::ImageOperandsSampleMask) {
+                spv::IdImmediate imageOperand = { true, *opIt++ };
+                operands.push_back(imageOperand);
+            }
+#ifdef AMD_EXTENSIONS
+            if (mask & spv::ImageOperandsLodMask) {
+                spv::IdImmediate imageOperand = { true, *opIt++ };
+                operands.push_back(imageOperand);
+            }
+#endif
+            if (mask & spv::ImageOperandsMakeTexelAvailableKHRMask) {
+                spv::IdImmediate imageOperand = { true, builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
+                operands.push_back(imageOperand);
+            }
+
             builder.createNoResultOp(spv::OpImageWrite, operands);
-            if (builder.getImageTypeFormat(builder.getImageType(operands.front())) == spv::ImageFormatUnknown)
+            if (builder.getImageTypeFormat(builder.getImageType(operands.front().word)) == spv::ImageFormatUnknown)
                 builder.addCapability(spv::CapabilityStorageImageWriteWithoutFormat);
             return spv::NoResult;
 #ifdef AMD_EXTENSIONS
@@ -3704,20 +4097,40 @@
         } else if (node->getOp() == glslang::EOpSparseImageLoad) {
 #endif
             builder.addCapability(spv::CapabilitySparseResidency);
-            if (builder.getImageTypeFormat(builder.getImageType(operands.front())) == spv::ImageFormatUnknown)
+            if (builder.getImageTypeFormat(builder.getImageType(operands.front().word)) == spv::ImageFormatUnknown)
                 builder.addCapability(spv::CapabilityStorageImageReadWithoutFormat);
 
+            spv::ImageOperandsMask mask = spv::ImageOperandsMaskNone;
             if (sampler.ms) {
-                operands.push_back(spv::ImageOperandsSampleMask);
-                operands.push_back(*opIt++);
+                mask = mask | spv::ImageOperandsSampleMask;
+            }
 #ifdef AMD_EXTENSIONS
-            } else if (cracked.lod) {
+            if (cracked.lod) {
                 builder.addExtension(spv::E_SPV_AMD_shader_image_load_store_lod);
                 builder.addCapability(spv::CapabilityImageReadWriteLodAMD);
 
-                operands.push_back(spv::ImageOperandsLodMask);
-                operands.push_back(*opIt++);
+                mask = mask | spv::ImageOperandsLodMask;
+            }
 #endif
+            mask = mask | TranslateImageOperands(TranslateCoherent(imageType));
+            mask = (spv::ImageOperandsMask)(mask & ~spv::ImageOperandsMakeTexelAvailableKHRMask);
+            if (mask) {
+                spv::IdImmediate imageOperands = { false, (unsigned int)mask };
+                operands.push_back(imageOperands);
+            }
+            if (mask & spv::ImageOperandsSampleMask) {
+                spv::IdImmediate imageOperand = { true, *opIt++ };
+                operands.push_back(imageOperand);
+            }
+#ifdef AMD_EXTENSIONS
+            if (mask & spv::ImageOperandsLodMask) {
+                spv::IdImmediate imageOperand = { true, *opIt++ };
+                operands.push_back(imageOperand);
+            }
+#endif
+            if (mask & spv::ImageOperandsMakeTexelVisibleKHRMask) {
+                spv::IdImmediate imageOperand = { true, builder.makeUintConstant(TranslateMemoryScope(TranslateCoherent(imageType))) };
+                operands.push_back(imageOperand);
             }
 
             // Create the return type that was a special structure
@@ -3736,9 +4149,18 @@
 
             // GLSL "IMAGE_PARAMS" will involve in constructing an image texel pointer and this pointer,
             // as the first source operand, is required by SPIR-V atomic operations.
-            operands.push_back(sampler.ms ? *(opIt++) : builder.makeUintConstant(0)); // For non-MS, the value should be 0
+            // For non-MS, the sample value should be 0
+            spv::IdImmediate sample = { true, sampler.ms ? *(opIt++) : builder.makeUintConstant(0) };
+            operands.push_back(sample);
 
-            spv::Id resultTypeId = builder.makePointer(spv::StorageClassImage, resultType());
+            spv::Id resultTypeId;
+            // imageAtomicStore has a void return type so base the pointer type on
+            // the type of the value operand.
+            if (node->getOp() == glslang::EOpImageAtomicStore) {
+                resultTypeId = builder.makePointer(spv::StorageClassImage, builder.getTypeId(operands[2].word));                
+            } else {
+                resultTypeId = builder.makePointer(spv::StorageClassImage, resultType());
+            }
             spv::Id pointer = builder.createOp(spv::OpImageTexelPointer, resultTypeId, operands);
 
             std::vector<spv::Id> operands;
@@ -3791,6 +4213,10 @@
 
     // Check for texture functions other than queries
     bool sparse = node->isSparseTexture();
+#ifdef NV_EXTENSIONS
+    bool imageFootprint = node->isImageFootprint();
+#endif
+
     bool cubeCompare = sampler.dim == glslang::EsdCube && sampler.arrayed && sampler.shadow;
 
     // check for bias argument
@@ -3820,7 +4246,12 @@
             ++nonBiasArgCount;
         if (sparse)
             ++nonBiasArgCount;
-
+#ifdef NV_EXTENSIONS
+        if (imageFootprint)
+            //Following three extra arguments
+            // int granularity, bool coarse, out gl_TextureFootprint2DNV footprint
+            nonBiasArgCount += 3;
+#endif
         if ((int)arguments.size() > nonBiasArgCount)
             bias = true;
     }
@@ -3875,7 +4306,13 @@
     if (cracked.lod) {
         params.lod = arguments[2 + extraArgs];
         ++extraArgs;
-    } else if (glslangIntermediate->getStage() != EShLangFragment) {
+    } else if (glslangIntermediate->getStage() != EShLangFragment
+#ifdef NV_EXTENSIONS
+        // NV_compute_shader_derivatives layout qualifiers allow for implicit LODs
+           && !(glslangIntermediate->getStage() == EShLangCompute &&
+                (glslangIntermediate->getLayoutDerivativeModeNone() != glslang::LayoutDerivativeNone))
+#endif
+        ) {
         // we need to invent the default lod for an explicit lod instruction for a non-fragment stage
         noImplicitLod = true;
     }
@@ -3907,7 +4344,6 @@
         params.lodClamp = arguments[2 + extraArgs];
         ++extraArgs;
     }
-
     // sparse
     if (sparse) {
         params.texelOut = arguments[2 + extraArgs];
@@ -3923,13 +4359,81 @@
         } else
             params.component = builder.makeIntConstant(0);
     }
-
+#ifdef NV_EXTENSIONS
+    spv::Id  resultStruct = spv::NoResult;
+    if (imageFootprint) {
+        //Following three extra arguments
+        // int granularity, bool coarse, out gl_TextureFootprint2DNV footprint
+        params.granularity = arguments[2 + extraArgs];
+        params.coarse = arguments[3 + extraArgs];
+        resultStruct = arguments[4 + extraArgs];
+        extraArgs += 3;
+    }
+#endif
     // bias
     if (bias) {
         params.bias = arguments[2 + extraArgs];
         ++extraArgs;
     }
 
+#ifdef NV_EXTENSIONS
+    if (imageFootprint) {
+        builder.addExtension(spv::E_SPV_NV_shader_image_footprint);
+        builder.addCapability(spv::CapabilityImageFootprintNV);
+
+
+        //resultStructType(OpenGL type) contains 5 elements:
+        //struct gl_TextureFootprint2DNV {
+        //    uvec2 anchor;
+        //    uvec2 offset;
+        //    uvec2 mask;
+        //    uint  lod;
+        //    uint  granularity;
+        //};
+        //or
+        //struct gl_TextureFootprint3DNV {
+        //    uvec3 anchor;
+        //    uvec3 offset;
+        //    uvec2 mask;
+        //    uint  lod;
+        //    uint  granularity;
+        //};
+        spv::Id resultStructType = builder.getContainedTypeId(builder.getTypeId(resultStruct));
+        assert(builder.isStructType(resultStructType));
+
+        //resType (SPIR-V type) contains 6 elements:
+        //Member 0 must be a Boolean type scalar(LOD), 
+        //Member 1 must be a vector of integer type, whose Signedness operand is 0(anchor),  
+        //Member 2 must be a vector of integer type, whose Signedness operand is 0(offset), 
+        //Member 3 must be a vector of integer type, whose Signedness operand is 0(mask), 
+        //Member 4 must be a scalar of integer type, whose Signedness operand is 0(lod),
+        //Member 5 must be a scalar of integer type, whose Signedness operand is 0(granularity).
+        std::vector<spv::Id> members;
+        members.push_back(resultType());
+        for (int i = 0; i < 5; i++) {
+            members.push_back(builder.getContainedTypeId(resultStructType, i));
+        }
+        spv::Id resType = builder.makeStructType(members, "ResType");
+
+        //call ImageFootprintNV
+        spv::Id res = builder.createTextureCall(precision, resType, sparse, cracked.fetch, cracked.proj, cracked.gather, noImplicitLod, params);
+        
+        //copy resType (SPIR-V type) to resultStructType(OpenGL type)
+        for (int i = 0; i < 5; i++) {
+            builder.clearAccessChain();
+            builder.setAccessChainLValue(resultStruct);
+
+            //Accessing to a struct we created, no coherent flag is set
+            spv::Builder::AccessChain::CoherentFlags flags;
+            flags.clear();
+
+            builder.accessChainPush(builder.makeIntConstant(i), flags);
+            builder.accessChainStore(builder.createCompositeExtract(res, builder.getContainedTypeId(resType, i+1), i+1));
+        }
+        return builder.createCompositeExtract(res, resultType(), 0);
+    }
+#endif
+
     // projective component (might not to move)
     // GLSL: "The texture coordinates consumed from P, not including the last component of P,
     //       are divided by the last component of P."
@@ -3954,6 +4458,16 @@
         }
     }
 
+    // nonprivate
+    if (imageType.getQualifier().nonprivate) {
+        params.nonprivate = true;
+    }
+
+    // volatile
+    if (imageType.getQualifier().volatil) {
+        params.volatil = true;
+    }
+
     std::vector<spv::Id> result( 1, 
         builder.createTextureCall(precision, resultType(), sparse, cracked.fetch, cracked.proj, cracked.gather, noImplicitLod, params)
     );
@@ -4622,27 +5136,21 @@
         unaryOp = spv::OpFwidth;
         break;
     case glslang::EOpDPdxFine:
-        builder.addCapability(spv::CapabilityDerivativeControl);
         unaryOp = spv::OpDPdxFine;
         break;
     case glslang::EOpDPdyFine:
-        builder.addCapability(spv::CapabilityDerivativeControl);
         unaryOp = spv::OpDPdyFine;
         break;
     case glslang::EOpFwidthFine:
-        builder.addCapability(spv::CapabilityDerivativeControl);
         unaryOp = spv::OpFwidthFine;
         break;
     case glslang::EOpDPdxCoarse:
-        builder.addCapability(spv::CapabilityDerivativeControl);
         unaryOp = spv::OpDPdxCoarse;
         break;
     case glslang::EOpDPdyCoarse:
-        builder.addCapability(spv::CapabilityDerivativeControl);
         unaryOp = spv::OpDPdyCoarse;
         break;
     case glslang::EOpFwidthCoarse:
-        builder.addCapability(spv::CapabilityDerivativeControl);
         unaryOp = spv::OpFwidthCoarse;
         break;
     case glslang::EOpInterpolateAtCentroid:
@@ -4650,7 +5158,6 @@
         if (typeProxy == glslang::EbtFloat16)
             builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
 #endif
-        builder.addCapability(spv::CapabilityInterpolationFunction);
         libCall = spv::GLSLstd450InterpolateAtCentroid;
         break;
     case glslang::EOpAny:
@@ -4786,8 +5293,6 @@
 #endif
 #ifdef NV_EXTENSIONS
     case glslang::EOpSubgroupPartition:
-        builder.addExtension(spv::E_SPV_NV_shader_subgroup_partitioned);
-        builder.addCapability(spv::CapabilityGroupNonUniformPartitionedNV);
         unaryOp = spv::OpGroupNonUniformPartitionNV;
         break;
 #endif
@@ -5331,8 +5836,14 @@
         opCode = spv::OpAtomicIDecrement;
         break;
     case glslang::EOpAtomicCounter:
+    case glslang::EOpImageAtomicLoad:
+    case glslang::EOpAtomicLoad:
         opCode = spv::OpAtomicLoad;
         break;
+    case glslang::EOpAtomicStore:
+    case glslang::EOpImageAtomicStore:
+        opCode = spv::OpAtomicStore;
+        break;
     default:
         assert(0);
         break;
@@ -5343,46 +5854,94 @@
 
     // Sort out the operands
     //  - mapping from glslang -> SPV
-    //  - there are extra SPV operands with no glslang source
+    //  - there are extra SPV operands that are optional in glslang
     //  - 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++));
-    spvAtomicOperands.push_back(builder.makeUintConstant(spv::ScopeDevice));     // TBD: what is the correct scope?
-    spvAtomicOperands.push_back(builder.makeUintConstant(spv::MemorySemanticsMaskNone)); // TBD: what are the correct memory semantics?
-    if (opCode == spv::OpAtomicCompareExchange) {
-        // There are 2 memory semantics for compare-exchange. And the operand order of "comparator" and "new value" in GLSL
-        // differs from that in SPIR-V. Hence, special processing is required.
-        spvAtomicOperands.push_back(builder.makeUintConstant(spv::MemorySemanticsMaskNone));
-        spvAtomicOperands.push_back(*(opIt + 1));
-        spvAtomicOperands.push_back(*opIt);
-        opIt += 2;
+    spv::Id pointerId = 0, compareId = 0, valueId = 0;
+    // scope defaults to Device in the old model, QueueFamilyKHR in the new model
+    spv::Id scopeId;
+    if (glslangIntermediate->usingVulkanMemoryModel()) {
+        scopeId = builder.makeUintConstant(spv::ScopeQueueFamilyKHR);
+    } else {
+        scopeId = builder.makeUintConstant(spv::ScopeDevice);
+    }
+    // semantics default to relaxed 
+    spv::Id semanticsId = builder.makeUintConstant(spv::MemorySemanticsMaskNone);
+    spv::Id semanticsId2 = semanticsId;
+
+    pointerId = operands[0];
+    if (opCode == spv::OpAtomicIIncrement || opCode == spv::OpAtomicIDecrement) {
+        // no additional operands
+    } else if (opCode == spv::OpAtomicCompareExchange) {
+        compareId = operands[1];
+        valueId = operands[2];
+        if (operands.size() > 3) {
+            scopeId = operands[3];
+            semanticsId = builder.makeUintConstant(builder.getConstantScalar(operands[4]) | builder.getConstantScalar(operands[5]));
+            semanticsId2 = builder.makeUintConstant(builder.getConstantScalar(operands[6]) | builder.getConstantScalar(operands[7]));
+        }
+    } else if (opCode == spv::OpAtomicLoad) {
+        if (operands.size() > 1) {
+            scopeId = operands[1];
+            semanticsId = builder.makeUintConstant(builder.getConstantScalar(operands[2]) | builder.getConstantScalar(operands[3]));
+        }
+    } else {
+        // atomic store or RMW
+        valueId = operands[1];
+        if (operands.size() > 2) {
+            scopeId = operands[2];
+            semanticsId = builder.makeUintConstant(builder.getConstantScalar(operands[3]) | builder.getConstantScalar(operands[4]));
+        }
     }
 
-    // Add the rest of the operands, skipping any that were dealt with above.
-    for (; opIt != operands.end(); ++opIt)
-        spvAtomicOperands.push_back(*opIt);
+    // Check for capabilities
+    unsigned semanticsImmediate = builder.getConstantScalar(semanticsId) | builder.getConstantScalar(semanticsId2);
+    if (semanticsImmediate & (spv::MemorySemanticsMakeAvailableKHRMask | spv::MemorySemanticsMakeVisibleKHRMask | spv::MemorySemanticsOutputMemoryKHRMask)) {
+        builder.addCapability(spv::CapabilityVulkanMemoryModelKHR);
+    }
 
-    spv::Id resultId = builder.createOp(opCode, typeId, spvAtomicOperands);
+    if (glslangIntermediate->usingVulkanMemoryModel() && builder.getConstantScalar(scopeId) == spv::ScopeDevice) {
+        builder.addCapability(spv::CapabilityVulkanMemoryModelDeviceScopeKHR);
+    }
 
-    // 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));
+    std::vector<spv::Id> spvAtomicOperands;  // hold the spv operands
+    spvAtomicOperands.push_back(pointerId);
+    spvAtomicOperands.push_back(scopeId);
+    spvAtomicOperands.push_back(semanticsId);
+    if (opCode == spv::OpAtomicCompareExchange) {
+        spvAtomicOperands.push_back(semanticsId2);
+        spvAtomicOperands.push_back(valueId);
+        spvAtomicOperands.push_back(compareId);
+    } else if (opCode != spv::OpAtomicLoad && opCode != spv::OpAtomicIIncrement && opCode != spv::OpAtomicIDecrement) {
+        spvAtomicOperands.push_back(valueId);
+    }
 
-    return resultId;
+    if (opCode == spv::OpAtomicStore) {
+        builder.createNoResultOp(opCode, spvAtomicOperands);
+        return 0;
+    } else {
+        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.
 spv::Id TGlslangToSpvTraverser::createInvocationsOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
 {
+#ifdef AMD_EXTENSIONS
     bool isUnsigned = isTypeUnsignedInt(typeProxy);
     bool isFloat = isTypeFloat(typeProxy);
+#endif
 
     spv::Op opCode = spv::OpNop;
-    std::vector<spv::Id> spvGroupOperands;
+    std::vector<spv::IdImmediate> spvGroupOperands;
     spv::GroupOperation groupOperation = spv::GroupOperationMax;
 
     if (op == glslang::EOpBallot || op == glslang::EOpReadFirstInvocation ||
@@ -5409,7 +5968,6 @@
             builder.addExtension(spv::E_SPV_AMD_shader_ballot);
 #endif
 
-        spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
 #ifdef AMD_EXTENSIONS
         switch (op) {
         case glslang::EOpMinInvocations:
@@ -5419,7 +5977,6 @@
         case glslang::EOpMaxInvocationsNonUniform:
         case glslang::EOpAddInvocationsNonUniform:
             groupOperation = spv::GroupOperationReduce;
-            spvGroupOperands.push_back(groupOperation);
             break;
         case glslang::EOpMinInvocationsInclusiveScan:
         case glslang::EOpMaxInvocationsInclusiveScan:
@@ -5428,7 +5985,6 @@
         case glslang::EOpMaxInvocationsInclusiveScanNonUniform:
         case glslang::EOpAddInvocationsInclusiveScanNonUniform:
             groupOperation = spv::GroupOperationInclusiveScan;
-            spvGroupOperands.push_back(groupOperation);
             break;
         case glslang::EOpMinInvocationsExclusiveScan:
         case glslang::EOpMaxInvocationsExclusiveScan:
@@ -5437,16 +5993,23 @@
         case glslang::EOpMaxInvocationsExclusiveScanNonUniform:
         case glslang::EOpAddInvocationsExclusiveScanNonUniform:
             groupOperation = spv::GroupOperationExclusiveScan;
-            spvGroupOperands.push_back(groupOperation);
             break;
         default:
             break;
         }
+        spv::IdImmediate scope = { true, builder.makeUintConstant(spv::ScopeSubgroup) };
+        spvGroupOperands.push_back(scope);
+        if (groupOperation != spv::GroupOperationMax) {
+            spv::IdImmediate groupOp = { false, (unsigned)groupOperation };
+            spvGroupOperands.push_back(groupOp);
+        }
 #endif
     }
 
-    for (auto opIt = operands.begin(); opIt != operands.end(); ++opIt)
-        spvGroupOperands.push_back(*opIt);
+    for (auto opIt = operands.begin(); opIt != operands.end(); ++opIt) {
+        spv::IdImmediate op = { true, *opIt };
+        spvGroupOperands.push_back(op);
+    }
 
     switch (op) {
     case glslang::EOpAnyInvocation:
@@ -5585,7 +6148,8 @@
 }
 
 // Create group invocation operations on a vector
-spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv::GroupOperation groupOperation, spv::Id typeId, std::vector<spv::Id>& operands)
+spv::Id TGlslangToSpvTraverser::CreateInvocationsVectorOperation(spv::Op op, spv::GroupOperation groupOperation,
+    spv::Id typeId, std::vector<spv::Id>& operands)
 {
 #ifdef AMD_EXTENSIONS
     assert(op == spv::OpGroupFMin || op == spv::OpGroupUMin || op == spv::OpGroupSMin ||
@@ -5618,18 +6182,23 @@
     for (int comp = 0; comp < numComponents; ++comp) {
         std::vector<unsigned int> indexes;
         indexes.push_back(comp);
-        spv::Id scalar = builder.createCompositeExtract(operands[0], scalarType, indexes);
-        std::vector<spv::Id> spvGroupOperands;
+        spv::IdImmediate scalar = { true, builder.createCompositeExtract(operands[0], scalarType, indexes) };
+        std::vector<spv::IdImmediate> spvGroupOperands;
         if (op == spv::OpSubgroupReadInvocationKHR) {
             spvGroupOperands.push_back(scalar);
-            spvGroupOperands.push_back(operands[1]);
+            spv::IdImmediate operand = { true, operands[1] };
+            spvGroupOperands.push_back(operand);
         } else if (op == spv::OpGroupBroadcast) {
-            spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
+            spv::IdImmediate scope = { true, builder.makeUintConstant(spv::ScopeSubgroup) };
+            spvGroupOperands.push_back(scope);
             spvGroupOperands.push_back(scalar);
-            spvGroupOperands.push_back(operands[1]);
+            spv::IdImmediate operand = { true, operands[1] };
+            spvGroupOperands.push_back(operand);
         } else {
-            spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
-            spvGroupOperands.push_back(groupOperation);
+            spv::IdImmediate scope = { true, builder.makeUintConstant(spv::ScopeSubgroup) };
+            spvGroupOperands.push_back(scope);
+            spv::IdImmediate groupOp = { false, (unsigned)groupOperation };
+            spvGroupOperands.push_back(groupOp);
             spvGroupOperands.push_back(scalar);
         }
 
@@ -5641,7 +6210,8 @@
 }
 
 // Create subgroup invocation operations.
-spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, spv::Id typeId, std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
+spv::Id TGlslangToSpvTraverser::createSubgroupOperation(glslang::TOperator op, spv::Id typeId,
+    std::vector<spv::Id>& operands, glslang::TBasicType typeProxy)
 {
     // Add the required capabilities.
     switch (op) {
@@ -5889,14 +6459,11 @@
     default: assert(0 && "Unhandled subgroup operation!");
     }
 
-    std::vector<spv::Id> spvGroupOperands;
-
-    // Every operation begins with the Execution Scope operand.
-    spvGroupOperands.push_back(builder.makeUintConstant(spv::ScopeSubgroup));
-
-    // Next, for all operations that use a Group Operation, push that as an operand.
+    // get the right Group Operation
+    spv::GroupOperation groupOperation = spv::GroupOperationMax;
     switch (op) {
-    default: break;
+    default:
+        break;
     case glslang::EOpSubgroupBallotBitCount:
     case glslang::EOpSubgroupAdd:
     case glslang::EOpSubgroupMul:
@@ -5905,7 +6472,7 @@
     case glslang::EOpSubgroupAnd:
     case glslang::EOpSubgroupOr:
     case glslang::EOpSubgroupXor:
-        spvGroupOperands.push_back(spv::GroupOperationReduce);
+        groupOperation = spv::GroupOperationReduce;
         break;
     case glslang::EOpSubgroupBallotInclusiveBitCount:
     case glslang::EOpSubgroupInclusiveAdd:
@@ -5915,7 +6482,7 @@
     case glslang::EOpSubgroupInclusiveAnd:
     case glslang::EOpSubgroupInclusiveOr:
     case glslang::EOpSubgroupInclusiveXor:
-        spvGroupOperands.push_back(spv::GroupOperationInclusiveScan);
+        groupOperation = spv::GroupOperationInclusiveScan;
         break;
     case glslang::EOpSubgroupBallotExclusiveBitCount:
     case glslang::EOpSubgroupExclusiveAdd:
@@ -5925,7 +6492,7 @@
     case glslang::EOpSubgroupExclusiveAnd:
     case glslang::EOpSubgroupExclusiveOr:
     case glslang::EOpSubgroupExclusiveXor:
-        spvGroupOperands.push_back(spv::GroupOperationExclusiveScan);
+        groupOperation = spv::GroupOperationExclusiveScan;
         break;
     case glslang::EOpSubgroupClusteredAdd:
     case glslang::EOpSubgroupClusteredMul:
@@ -5934,7 +6501,7 @@
     case glslang::EOpSubgroupClusteredAnd:
     case glslang::EOpSubgroupClusteredOr:
     case glslang::EOpSubgroupClusteredXor:
-        spvGroupOperands.push_back(spv::GroupOperationClusteredReduce);
+        groupOperation = spv::GroupOperationClusteredReduce;
         break;
 #ifdef NV_EXTENSIONS
     case glslang::EOpSubgroupPartitionedAdd:
@@ -5944,7 +6511,7 @@
     case glslang::EOpSubgroupPartitionedAnd:
     case glslang::EOpSubgroupPartitionedOr:
     case glslang::EOpSubgroupPartitionedXor:
-        spvGroupOperands.push_back(spv::GroupOperationPartitionedReduceNV);
+        groupOperation = spv::GroupOperationPartitionedReduceNV;
         break;
     case glslang::EOpSubgroupPartitionedInclusiveAdd:
     case glslang::EOpSubgroupPartitionedInclusiveMul:
@@ -5953,7 +6520,7 @@
     case glslang::EOpSubgroupPartitionedInclusiveAnd:
     case glslang::EOpSubgroupPartitionedInclusiveOr:
     case glslang::EOpSubgroupPartitionedInclusiveXor:
-        spvGroupOperands.push_back(spv::GroupOperationPartitionedInclusiveScanNV);
+        groupOperation = spv::GroupOperationPartitionedInclusiveScanNV;
         break;
     case glslang::EOpSubgroupPartitionedExclusiveAdd:
     case glslang::EOpSubgroupPartitionedExclusiveMul:
@@ -5962,22 +6529,41 @@
     case glslang::EOpSubgroupPartitionedExclusiveAnd:
     case glslang::EOpSubgroupPartitionedExclusiveOr:
     case glslang::EOpSubgroupPartitionedExclusiveXor:
-        spvGroupOperands.push_back(spv::GroupOperationPartitionedExclusiveScanNV);
+        groupOperation = spv::GroupOperationPartitionedExclusiveScanNV;
         break;
 #endif
     }
 
+    // build the instruction
+    std::vector<spv::IdImmediate> spvGroupOperands;
+
+    // Every operation begins with the Execution Scope operand.
+    spv::IdImmediate executionScope = { true, builder.makeUintConstant(spv::ScopeSubgroup) };
+    spvGroupOperands.push_back(executionScope);
+
+    // Next, for all operations that use a Group Operation, push that as an operand.
+    if (groupOperation != spv::GroupOperationMax) {
+        spv::IdImmediate groupOperand = { false, (unsigned)groupOperation };
+        spvGroupOperands.push_back(groupOperand);
+    }
+
     // Push back the operands next.
-    for (auto opIt : operands) {
-        spvGroupOperands.push_back(opIt);
+    for (auto opIt = operands.cbegin(); opIt != operands.cend(); ++opIt) {
+        spv::IdImmediate operand = { true, *opIt };
+        spvGroupOperands.push_back(operand);
     }
 
     // Some opcodes have additional operands.
+    spv::Id directionId = spv::NoResult;
     switch (op) {
     default: break;
-    case glslang::EOpSubgroupQuadSwapHorizontal: spvGroupOperands.push_back(builder.makeUintConstant(0)); break;
-    case glslang::EOpSubgroupQuadSwapVertical:   spvGroupOperands.push_back(builder.makeUintConstant(1)); break;
-    case glslang::EOpSubgroupQuadSwapDiagonal:   spvGroupOperands.push_back(builder.makeUintConstant(2)); break;
+    case glslang::EOpSubgroupQuadSwapHorizontal: directionId = builder.makeUintConstant(0); break;
+    case glslang::EOpSubgroupQuadSwapVertical:   directionId = builder.makeUintConstant(1); break;
+    case glslang::EOpSubgroupQuadSwapDiagonal:   directionId = builder.makeUintConstant(2); break;
+    }
+    if (directionId != spv::NoResult) {
+        spv::IdImmediate direction = { true, directionId };
+        spvGroupOperands.push_back(direction);
     }
 
     return builder.createOp(opCode, typeId, spvGroupOperands);
@@ -6082,7 +6668,6 @@
         if (typeProxy == glslang::EbtFloat16)
             builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
 #endif
-        builder.addCapability(spv::CapabilityInterpolationFunction);
         libCall = spv::GLSLstd450InterpolateAtSample;
         break;
     case glslang::EOpInterpolateAtOffset:
@@ -6090,7 +6675,6 @@
         if (typeProxy == glslang::EbtFloat16)
             builder.addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
 #endif
-        builder.addCapability(spv::CapabilityInterpolationFunction);
         libCall = spv::GLSLstd450InterpolateAtOffset;
         break;
     case glslang::EOpAddCarry:
@@ -6246,7 +6830,59 @@
         libCall = spv::InterpolateAtVertexAMD;
         break;
 #endif
+    case glslang::EOpBarrier:
+        {
+            // This is for the extended controlBarrier function, with four operands.
+            // The unextended barrier() goes through createNoArgOperation.
+            assert(operands.size() == 4);
+            unsigned int executionScope = builder.getConstantScalar(operands[0]);
+            unsigned int memoryScope = builder.getConstantScalar(operands[1]);
+            unsigned int semantics = builder.getConstantScalar(operands[2]) | builder.getConstantScalar(operands[3]);
+            builder.createControlBarrier((spv::Scope)executionScope, (spv::Scope)memoryScope, (spv::MemorySemanticsMask)semantics);
+            if (semantics & (spv::MemorySemanticsMakeAvailableKHRMask | spv::MemorySemanticsMakeVisibleKHRMask | spv::MemorySemanticsOutputMemoryKHRMask)) {
+                builder.addCapability(spv::CapabilityVulkanMemoryModelKHR);
+            }
+            if (glslangIntermediate->usingVulkanMemoryModel() && (executionScope == spv::ScopeDevice || memoryScope == spv::ScopeDevice)) {
+                builder.addCapability(spv::CapabilityVulkanMemoryModelDeviceScopeKHR);
+            }
+            return 0;
+        }
+        break;
+    case glslang::EOpMemoryBarrier:
+        {
+            // This is for the extended memoryBarrier function, with three operands.
+            // The unextended memoryBarrier() goes through createNoArgOperation.
+            assert(operands.size() == 3);
+            unsigned int memoryScope = builder.getConstantScalar(operands[0]);
+            unsigned int semantics = builder.getConstantScalar(operands[1]) | builder.getConstantScalar(operands[2]);
+            builder.createMemoryBarrier((spv::Scope)memoryScope, (spv::MemorySemanticsMask)semantics);
+            if (semantics & (spv::MemorySemanticsMakeAvailableKHRMask | spv::MemorySemanticsMakeVisibleKHRMask | spv::MemorySemanticsOutputMemoryKHRMask)) {
+                builder.addCapability(spv::CapabilityVulkanMemoryModelKHR);
+            }
+            if (glslangIntermediate->usingVulkanMemoryModel() && memoryScope == spv::ScopeDevice) {
+                builder.addCapability(spv::CapabilityVulkanMemoryModelDeviceScopeKHR);
+            }
+            return 0;
+        }
+        break;
 
+#ifdef NV_EXTENSIONS
+    case glslang::EOpReportIntersectionNV:
+    {
+        typeId = builder.makeBoolType();
+        opCode = spv::OpReportIntersectionNVX;
+    }
+    break;
+    case glslang::EOpTraceNV:
+    {
+        builder.createNoResultOp(spv::OpTraceNVX, operands);
+        return 0;
+    }
+    break;
+    case glslang::EOpWritePackedPrimitiveIndices4x8NV:
+        builder.createNoResultOp(spv::OpWritePackedPrimitiveIndices4x8NV, operands);
+        return 0;
+#endif
     default:
         return 0;
     }
@@ -6315,7 +6951,8 @@
 // Intrinsics with no arguments (or no return value, and no precision).
 spv::Id TGlslangToSpvTraverser::createNoArgOperation(glslang::TOperator op, spv::Decoration precision, spv::Id typeId)
 {
-    // TODO: get the barrier operands correct
+    // GLSL memory barriers use queuefamily scope in new model, device scope in old model
+    spv::Scope memoryBarrierScope = glslangIntermediate->usingVulkanMemoryModel() ? spv::ScopeQueueFamilyKHR : spv::ScopeDevice;
 
     switch (op) {
     case glslang::EOpEmitVertex:
@@ -6326,11 +6963,14 @@
         return 0;
     case glslang::EOpBarrier:
         if (glslangIntermediate->getStage() == EShLangTessControl) {
-            builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeInvocation, spv::MemorySemanticsMaskNone);
-            // TODO: prefer the following, when available:
-            // builder.createControlBarrier(spv::ScopePatch, spv::ScopePatch,
-            //                                 spv::MemorySemanticsPatchMask |
-            //                                 spv::MemorySemanticsAcquireReleaseMask);
+            if (glslangIntermediate->usingVulkanMemoryModel()) {
+                builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeWorkgroup,
+                                             spv::MemorySemanticsOutputMemoryKHRMask |
+                                             spv::MemorySemanticsAcquireReleaseMask);
+                builder.addCapability(spv::CapabilityVulkanMemoryModelKHR);
+            } else {
+                builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeInvocation, spv::MemorySemanticsMaskNone);
+            }
         } else {
             builder.createControlBarrier(spv::ScopeWorkgroup, spv::ScopeWorkgroup,
                                             spv::MemorySemanticsWorkgroupMemoryMask |
@@ -6338,24 +6978,24 @@
         }
         return 0;
     case glslang::EOpMemoryBarrier:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAllMemory |
-                                                      spv::MemorySemanticsAcquireReleaseMask);
+        builder.createMemoryBarrier(memoryBarrierScope, spv::MemorySemanticsAllMemory |
+                                                        spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierAtomicCounter:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsAtomicCounterMemoryMask |
-                                                      spv::MemorySemanticsAcquireReleaseMask);
+        builder.createMemoryBarrier(memoryBarrierScope, spv::MemorySemanticsAtomicCounterMemoryMask |
+                                                        spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierBuffer:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsUniformMemoryMask |
-                                                      spv::MemorySemanticsAcquireReleaseMask);
+        builder.createMemoryBarrier(memoryBarrierScope, spv::MemorySemanticsUniformMemoryMask |
+                                                        spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierImage:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsImageMemoryMask |
-                                                      spv::MemorySemanticsAcquireReleaseMask);
+        builder.createMemoryBarrier(memoryBarrierScope, spv::MemorySemanticsImageMemoryMask |
+                                                        spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpMemoryBarrierShared:
-        builder.createMemoryBarrier(spv::ScopeDevice, spv::MemorySemanticsWorkgroupMemoryMask |
-                                                      spv::MemorySemanticsAcquireReleaseMask);
+        builder.createMemoryBarrier(memoryBarrierScope, spv::MemorySemanticsWorkgroupMemoryMask |
+                                                        spv::MemorySemanticsAcquireReleaseMask);
         return 0;
     case glslang::EOpGroupMemoryBarrier:
         builder.createMemoryBarrier(spv::ScopeWorkgroup, spv::MemorySemanticsAllMemory |
@@ -6417,6 +7057,14 @@
         return builder.setPrecision(id, precision);
     }
 #endif
+#ifdef NV_EXTENSIONS
+    case glslang::EOpIgnoreIntersectionNV:
+        builder.createNoResultOp(spv::OpIgnoreIntersectionNVX);
+        return 0;
+    case glslang::EOpTerminateRayNV:
+        builder.createNoResultOp(spv::OpTerminateRayNVX);
+        return 0;
+#endif
     default:
         logger->missingFunctionality("unknown operation with no arguments");
         return 0;
@@ -6440,6 +7088,9 @@
         builder.addDecoration(id, TranslatePrecisionDecoration(symbol->getType()));
         builder.addDecoration(id, TranslateInterpolationDecoration(symbol->getType().getQualifier()));
         builder.addDecoration(id, TranslateAuxiliaryStorageDecoration(symbol->getType().getQualifier()));
+#ifdef NV_EXTENSIONS
+        addMeshNVDecoration(id, /*member*/ -1, symbol->getType().getQualifier());
+#endif
         if (symbol->getType().getQualifier().hasSpecConstantId())
             builder.addDecoration(id, spv::DecorationSpecId, symbol->getType().getQualifier().layoutSpecConstantId);
         if (symbol->getQualifier().hasIndex())
@@ -6484,7 +7135,7 @@
 
     if (symbol->getType().isImage()) {
         std::vector<spv::Decoration> memory;
-        TranslateMemoryDecoration(symbol->getType().getQualifier(), memory);
+        TranslateMemoryDecoration(symbol->getType().getQualifier(), memory, glslangIntermediate->usingVulkanMemoryModel());
         for (unsigned int i = 0; i < memory.size(); ++i)
             builder.addDecoration(id, memory[i]);
     }
@@ -6530,6 +7181,11 @@
         builder.addCapability(spv::CapabilityGeometryShaderPassthroughNV);
         builder.addExtension(spv::E_SPV_NV_geometry_shader_passthrough);
     }
+    if (symbol->getQualifier().pervertexNV) {
+        builder.addDecoration(id, spv::DecorationPerVertexNV);
+        builder.addCapability(spv::CapabilityFragmentBarycentricNV);
+        builder.addExtension(spv::E_SPV_NV_fragment_shader_barycentric);
+    }
 #endif
 
     if (glslangIntermediate->getHlslFunctionality1() && symbol->getType().getQualifier().semanticName != nullptr) {
@@ -6541,6 +7197,28 @@
     return id;
 }
 
+#ifdef NV_EXTENSIONS
+// add per-primitive, per-view. per-task decorations to a struct member (member >= 0) or an object
+void TGlslangToSpvTraverser::addMeshNVDecoration(spv::Id id, int member, const glslang::TQualifier& qualifier)
+{
+    if (member >= 0) {
+        if (qualifier.perPrimitiveNV)
+            builder.addMemberDecoration(id, (unsigned)member, spv::DecorationPerPrimitiveNV);
+        if (qualifier.perViewNV)
+            builder.addMemberDecoration(id, (unsigned)member, spv::DecorationPerViewNV);
+        if (qualifier.perTaskNV)
+            builder.addMemberDecoration(id, (unsigned)member, spv::DecorationPerTaskNV);
+    } else {
+        if (qualifier.perPrimitiveNV)
+            builder.addDecoration(id, spv::DecorationPerPrimitiveNV);
+        if (qualifier.perViewNV)
+            builder.addDecoration(id, spv::DecorationPerViewNV);
+        if (qualifier.perTaskNV)
+            builder.addDecoration(id, spv::DecorationPerTaskNV);
+    }
+}
+#endif
+
 // Make a full tree of instructions to build a SPIR-V specialization constant,
 // or regular constant if possible.
 //
@@ -6926,7 +7604,7 @@
     if (out.fail())
         printf("ERROR: Failed to open file: %s\n", baseName);
     out << "\t// " << 
-        glslang::GetSpirvGeneratorVersion() << "." << GLSLANG_MINOR_VERSION << "." << GLSLANG_PATCH_LEVEL <<
+        GetSpirvGeneratorVersion() << "." << GLSLANG_MINOR_VERSION << "." << GLSLANG_PATCH_LEVEL <<
         std::endl;
     if (varName != nullptr) {
         out << "\t #pragma once" << std::endl;
@@ -6953,13 +7631,13 @@
 //
 // Set up the glslang traversal
 //
-void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv, SpvOptions* options)
+void GlslangToSpv(const TIntermediate& intermediate, std::vector<unsigned int>& spirv, SpvOptions* options)
 {
     spv::SpvBuildLogger logger;
     GlslangToSpv(intermediate, spirv, &logger, options);
 }
 
-void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
+void GlslangToSpv(const TIntermediate& intermediate, std::vector<unsigned int>& spirv,
                   spv::SpvBuildLogger* logger, SpvOptions* options)
 {
     TIntermNode* root = intermediate.getTreeRoot();
@@ -6967,11 +7645,11 @@
     if (root == 0)
         return;
 
-    glslang::SpvOptions defaultOptions;
+    SpvOptions defaultOptions;
     if (options == nullptr)
         options = &defaultOptions;
 
-    glslang::GetThreadPoolAllocator().push();
+    GetThreadPoolAllocator().push();
 
     TGlslangToSpvTraverser it(intermediate.getSpv().spv, &intermediate, logger, *options);
     root->traverse(&it);
@@ -6981,54 +7659,18 @@
 #if 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;
+    if ((intermediate.getSource() == EShSourceHlsl || options->optimizeSize) && !options->disableOptimizer)
+        SpirvToolsLegalize(intermediate, spirv, logger, options);
 
-        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;
-        });
+    if (options->validate)
+        SpirvToolsValidate(intermediate, spirv, logger);
 
-        optimizer.RegisterPass(CreateMergeReturnPass());
-        optimizer.RegisterPass(CreateInlineExhaustivePass());
-        optimizer.RegisterPass(CreateEliminateDeadFunctionsPass());
-        optimizer.RegisterPass(CreateScalarReplacementPass());
-        optimizer.RegisterPass(CreateLocalAccessChainConvertPass());
-        optimizer.RegisterPass(CreateLocalSingleBlockLoadStoreElimPass());
-        optimizer.RegisterPass(CreateLocalSingleStoreElimPass());
-        optimizer.RegisterPass(CreateSimplificationPass());
-        optimizer.RegisterPass(CreateAggressiveDCEPass());
-        optimizer.RegisterPass(CreateVectorDCEPass());
-        optimizer.RegisterPass(CreateDeadInsertElimPass());
-        optimizer.RegisterPass(CreateAggressiveDCEPass());
-        optimizer.RegisterPass(CreateDeadBranchElimPass());
-        optimizer.RegisterPass(CreateBlockMergePass());
-        optimizer.RegisterPass(CreateLocalMultiStoreElimPass());
-        optimizer.RegisterPass(CreateIfConversionPass());
-        optimizer.RegisterPass(CreateSimplificationPass());
-        optimizer.RegisterPass(CreateAggressiveDCEPass());
-        optimizer.RegisterPass(CreateVectorDCEPass());
-        optimizer.RegisterPass(CreateDeadInsertElimPass());
-        if (options->optimizeSize) {
-            optimizer.RegisterPass(CreateRedundancyEliminationPass());
-            // TODO(greg-lunarg): Add this when AMD driver issues are resolved
-            // optimizer.RegisterPass(CreateCommonUniformElimPass());
-        }
-        optimizer.RegisterPass(CreateAggressiveDCEPass());
-        optimizer.RegisterPass(CreateCFGCleanupPass());
+    if (options->disassemble)
+        SpirvToolsDisassemble(std::cout, spirv);
 
-        if (!optimizer.Run(spirv.data(), spirv.size(), &spirv))
-            return;
-    }
 #endif
 
-    glslang::GetThreadPoolAllocator().pop();
+    GetThreadPoolAllocator().pop();
 }
 
 }; // end namespace glslang
diff --git a/SPIRV/GlslangToSpv.h b/SPIRV/GlslangToSpv.h
old mode 100644
new mode 100755
index f7f7cff..4169c12
--- a/SPIRV/GlslangToSpv.h
+++ b/SPIRV/GlslangToSpv.h
@@ -38,6 +38,7 @@
     #pragma warning(disable : 4464) // relative include path contains '..'
 #endif
 
+#include "SpvTools.h"
 #include "../glslang/Include/intermediate.h"
 
 #include <string>
@@ -47,14 +48,6 @@
 
 namespace glslang {
 
-struct SpvOptions {
-    SpvOptions() : generateDebugInfo(false), disableOptimizer(true),
-        optimizeSize(false) { }
-    bool generateDebugInfo;
-    bool disableOptimizer;
-    bool optimizeSize;
-};
-
 void GetSpirvVersion(std::string&);
 int GetSpirvGeneratorVersion();
 void GlslangToSpv(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
diff --git a/SPIRV/SPVRemapper.cpp b/SPIRV/SPVRemapper.cpp
old mode 100755
new mode 100644
diff --git a/SPIRV/SPVRemapper.h b/SPIRV/SPVRemapper.h
old mode 100755
new mode 100644
diff --git a/SPIRV/SpvBuilder.cpp b/SPIRV/SpvBuilder.cpp
old mode 100755
new mode 100644
index 10d655b..7d77934
--- a/SPIRV/SpvBuilder.cpp
+++ b/SPIRV/SpvBuilder.cpp
@@ -81,6 +81,7 @@
 {
     Instruction* import = new Instruction(getUniqueId(), NoType, OpExtInstImport);
     import->addStringOperand(name);
+    module.mapInstruction(import);
 
     imports.push_back(std::unique_ptr<Instruction>(import));
     return import->getResultId();
@@ -193,10 +194,8 @@
     // deal with capabilities
     switch (width) {
     case 8:
-        addCapability(CapabilityInt8);
-        break;
     case 16:
-        addCapability(CapabilityInt16);
+        // these are currently handled by storage-type declarations and post processing
         break;
     case 64:
         addCapability(CapabilityInt64);
@@ -228,7 +227,7 @@
     // deal with capabilities
     switch (width) {
     case 16:
-        addCapability(CapabilityFloat16);
+        // currently handled by storage-type declarations and post processing
         break;
     case 64:
         addCapability(CapabilityFloat64);
@@ -504,12 +503,27 @@
     return type->getResultId();
 }
 
+#ifdef NV_EXTENSIONS
+Id Builder::makeAccelerationStructureNVType()
+{
+    Instruction *type;
+    if (groupedTypes[OpTypeAccelerationStructureNVX].size() == 0) {
+        type = new Instruction(getUniqueId(), NoType, OpTypeAccelerationStructureNVX);
+        constantsTypesGlobals.push_back(std::unique_ptr<Instruction>(type));
+        module.mapInstruction(type);
+    } else {
+        type = groupedTypes[OpTypeAccelerationStructureNVX].back();
+    }
+
+    return type->getResultId();
+}
+#endif
 Id Builder::getDerefTypeId(Id resultId) const
 {
     Id typeId = getTypeId(resultId);
     assert(isPointerType(typeId));
 
-    return module.getInstruction(typeId)->getImmediateOperand(1);
+    return module.getInstruction(typeId)->getIdOperand(1);
 }
 
 Op Builder::getMostBasicTypeClass(Id typeId) const
@@ -519,12 +533,6 @@
     Op typeClass = instr->getOpCode();
     switch (typeClass)
     {
-    case OpTypeVoid:
-    case OpTypeBool:
-    case OpTypeInt:
-    case OpTypeFloat:
-    case OpTypeStruct:
-        return typeClass;
     case OpTypeVector:
     case OpTypeMatrix:
     case OpTypeArray:
@@ -533,8 +541,7 @@
     case OpTypePointer:
         return getMostBasicTypeClass(instr->getIdOperand(1));
     default:
-        assert(0);
-        return OpTypeFloat;
+        return typeClass;
     }
 }
 
@@ -553,7 +560,7 @@
         return instr->getImmediateOperand(1);
     case OpTypeArray:
     {
-        Id lengthId = instr->getImmediateOperand(1);
+        Id lengthId = instr->getIdOperand(1);
         return module.getInstruction(lengthId)->getImmediateOperand(0);
     }
     case OpTypeStruct:
@@ -621,6 +628,36 @@
     return getContainedTypeId(typeId, 0);
 }
 
+// Returns true if 'typeId' is or contains a scalar type declared with 'typeOp'
+// of width 'width'. The 'width' is only consumed for int and float types.
+// Returns false otherwise.
+bool Builder::containsType(Id typeId, spv::Op typeOp, unsigned int width) const
+{
+    const Instruction& instr = *module.getInstruction(typeId);
+
+    Op typeClass = instr.getOpCode();
+    switch (typeClass)
+    {
+    case OpTypeInt:
+    case OpTypeFloat:
+        return typeClass == typeOp && instr.getImmediateOperand(0) == width;
+    case OpTypeStruct:
+        for (int m = 0; m < instr.getNumOperands(); ++m) {
+            if (containsType(instr.getIdOperand(m), typeOp, width))
+                return true;
+        }
+        return false;
+    case OpTypeVector:
+    case OpTypeMatrix:
+    case OpTypeArray:
+    case OpTypeRuntimeArray:
+    case OpTypePointer:
+        return containsType(getContainedTypeId(typeId), typeOp, width);
+    default:
+        return typeClass == typeOp;
+    }
+}
+
 // See if a scalar constant of this type has already been created, so it
 // can be reused rather than duplicated.  (Required by the specification).
 Id Builder::findScalarConstant(Op typeClass, Op opcode, Id typeId, unsigned value)
@@ -1194,19 +1231,35 @@
 }
 
 // Comments in header
-void Builder::createStore(Id rValue, Id lValue)
+void Builder::createStore(Id rValue, Id lValue, spv::MemoryAccessMask memoryAccess, spv::Scope scope)
 {
     Instruction* store = new Instruction(OpStore);
     store->addIdOperand(lValue);
     store->addIdOperand(rValue);
+
+    if (memoryAccess != MemoryAccessMaskNone) {
+        store->addImmediateOperand(memoryAccess);
+        if (memoryAccess & spv::MemoryAccessMakePointerAvailableKHRMask) {
+            store->addIdOperand(makeUintConstant(scope));
+        }
+    }
+
     buildPoint->addInstruction(std::unique_ptr<Instruction>(store));
 }
 
 // Comments in header
-Id Builder::createLoad(Id lValue)
+Id Builder::createLoad(Id lValue, spv::MemoryAccessMask memoryAccess, spv::Scope scope)
 {
     Instruction* load = new Instruction(getUniqueId(), getDerefTypeId(lValue), OpLoad);
     load->addIdOperand(lValue);
+
+    if (memoryAccess != MemoryAccessMaskNone) {
+        load->addImmediateOperand(memoryAccess);
+        if (memoryAccess & spv::MemoryAccessMakePointerVisibleKHRMask) {
+            load->addIdOperand(makeUintConstant(scope));
+        }
+    }
+
     buildPoint->addInstruction(std::unique_ptr<Instruction>(load));
 
     return load->getResultId();
@@ -1331,7 +1384,7 @@
     buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
 }
 
-// An opcode that has one operand, no result id, and no type
+// An opcode that has one id operand, no result id, and no type
 void Builder::createNoResultOp(Op opCode, Id operand)
 {
     Instruction* op = new Instruction(opCode);
@@ -1339,29 +1392,43 @@
     buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
 }
 
-// An opcode that has one operand, no result id, and no type
+// An opcode that has one or more operands, no result id, and no type
 void Builder::createNoResultOp(Op opCode, const std::vector<Id>& operands)
 {
     Instruction* op = new Instruction(opCode);
-    for (auto it = operands.cbegin(); it != operands.cend(); ++it)
+    for (auto it = operands.cbegin(); it != operands.cend(); ++it) {
         op->addIdOperand(*it);
+    }
+    buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
+}
+
+// An opcode that has multiple operands, no result id, and no type
+void Builder::createNoResultOp(Op opCode, const std::vector<IdImmediate>& operands)
+{
+    Instruction* op = new Instruction(opCode);
+    for (auto it = operands.cbegin(); it != operands.cend(); ++it) {
+        if (it->isId)
+            op->addIdOperand(it->word);
+        else
+            op->addImmediateOperand(it->word);
+    }
     buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
 }
 
 void Builder::createControlBarrier(Scope execution, Scope memory, MemorySemanticsMask semantics)
 {
     Instruction* op = new Instruction(OpControlBarrier);
-    op->addImmediateOperand(makeUintConstant(execution));
-    op->addImmediateOperand(makeUintConstant(memory));
-    op->addImmediateOperand(makeUintConstant(semantics));
+    op->addIdOperand(makeUintConstant(execution));
+    op->addIdOperand(makeUintConstant(memory));
+    op->addIdOperand(makeUintConstant(semantics));
     buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
 }
 
 void Builder::createMemoryBarrier(unsigned executionScope, unsigned memorySemantics)
 {
     Instruction* op = new Instruction(OpMemoryBarrier);
-    op->addImmediateOperand(makeUintConstant(executionScope));
-    op->addImmediateOperand(makeUintConstant(memorySemantics));
+    op->addIdOperand(makeUintConstant(executionScope));
+    op->addIdOperand(makeUintConstant(memorySemantics));
     buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
 }
 
@@ -1428,6 +1495,20 @@
     return op->getResultId();
 }
 
+Id Builder::createOp(Op opCode, Id typeId, const std::vector<IdImmediate>& operands)
+{
+    Instruction* op = new Instruction(getUniqueId(), typeId, opCode);
+    for (auto it = operands.cbegin(); it != operands.cend(); ++it) {
+        if (it->isId)
+            op->addIdOperand(it->word);
+        else
+            op->addImmediateOperand(it->word);
+    }
+    buildPoint->addInstruction(std::unique_ptr<Instruction>(op));
+
+    return op->getResultId();
+}
+
 Id Builder::createSpecConstantOp(Op opCode, Id typeId, const std::vector<Id>& operands, const std::vector<unsigned>& literals)
 {
     Instruction* op = new Instruction(getUniqueId(), typeId, OpSpecConstantOp);
@@ -1588,6 +1669,13 @@
     if (parameters.component != NoResult)
         texArgs[numArgs++] = parameters.component;
 
+#ifdef NV_EXTENSIONS
+    if (parameters.granularity != NoResult)
+        texArgs[numArgs++] = parameters.granularity;
+    if (parameters.coarse != NoResult)
+        texArgs[numArgs++] = parameters.coarse;
+#endif 
+
     //
     // Set up the optional arguments
     //
@@ -1639,6 +1727,12 @@
         mask = (ImageOperandsMask)(mask | ImageOperandsMinLodMask);
         texArgs[numArgs++] = parameters.lodClamp;
     }
+    if (parameters.nonprivate) {
+        mask = mask | ImageOperandsNonPrivateTexelKHRMask;
+    }
+    if (parameters.volatil) {
+        mask = mask | ImageOperandsVolatileTexelKHRMask;
+    }
     if (mask == ImageOperandsMaskNone)
         --numArgs;  // undo speculative reservation for the mask argument
     else
@@ -1653,6 +1747,10 @@
             opCode = OpImageSparseFetch;
         else
             opCode = OpImageFetch;
+#ifdef NV_EXTENSIONS
+    } else if (parameters.granularity && parameters.coarse) {
+        opCode = OpImageSampleFootprintNV;
+#endif
     } else if (gather) {
         if (parameters.Dref)
             if (sparse)
@@ -1774,9 +1872,6 @@
 // Comments in header
 Id Builder::createTextureQueryCall(Op opCode, const TextureParameters& parameters, bool isUnsignedResult)
 {
-    // All these need a capability
-    addCapability(CapabilityImageQuery);
-
     // Figure out the result type
     Id resultType = 0;
     switch (opCode) {
@@ -2029,9 +2124,39 @@
     int numRows = getTypeNumRows(resultTypeId);
 
     Instruction* instr = module.getInstruction(componentTypeId);
-    Id bitCount = instr->getIdOperand(0);
+    unsigned bitCount = instr->getImmediateOperand(0);
 
-    // Will use a two step process
+    // Optimize matrix constructed from a bigger matrix
+    if (isMatrix(sources[0]) && getNumColumns(sources[0]) >= numCols && getNumRows(sources[0]) >= numRows) {
+        // To truncate the matrix to a smaller number of rows/columns, we need to:
+        // 1. For each column, extract the column and truncate it to the required size using shuffle
+        // 2. Assemble the resulting matrix from all columns
+        Id matrix = sources[0];
+        Id columnTypeId = getContainedTypeId(resultTypeId);
+        Id sourceColumnTypeId = getContainedTypeId(getTypeId(matrix));
+
+        std::vector<unsigned> channels;
+        for (int row = 0; row < numRows; ++row)
+            channels.push_back(row);
+
+        std::vector<Id> matrixColumns;
+        for (int col = 0; col < numCols; ++col) {
+            std::vector<unsigned> indexes;
+            indexes.push_back(col);
+            Id colv = createCompositeExtract(matrix, sourceColumnTypeId, indexes);
+            setPrecision(colv, precision);
+
+            if (numRows != getNumRows(matrix)) {
+                matrixColumns.push_back(createRvalueSwizzle(precision, columnTypeId, colv, channels));
+            } else {
+                matrixColumns.push_back(colv);
+            }
+        }
+
+        return setPrecision(createCompositeConstruct(resultTypeId, matrixColumns), precision);
+    }
+
+    // Otherwise, will use a two step process
     // 1. make a compile-time 2D array of values
     // 2. construct a matrix from that array
 
@@ -2285,6 +2410,7 @@
     accessChain.component = NoResult;
     accessChain.preSwizzleBaseType = NoType;
     accessChain.isRValue = false;
+    accessChain.coherentFlags.clear();
 }
 
 // Comments in header
@@ -2311,7 +2437,7 @@
 }
 
 // Comments in header
-void Builder::accessChainStore(Id rvalue)
+void Builder::accessChainStore(Id rvalue, spv::MemoryAccessMask memoryAccess, spv::Scope scope)
 {
     assert(accessChain.isRValue == false);
 
@@ -2329,11 +2455,11 @@
         source = createLvalueSwizzle(getTypeId(tempBaseId), tempBaseId, source, accessChain.swizzle);
     }
 
-    createStore(source, base);
+    createStore(source, base, memoryAccess, scope);
 }
 
 // Comments in header
-Id Builder::accessChainLoad(Decoration precision, Decoration nonUniform, Id resultType)
+Id Builder::accessChainLoad(Decoration precision, Decoration nonUniform, Id resultType, spv::MemoryAccessMask memoryAccess, spv::Scope scope)
 {
     Id id;
 
@@ -2377,7 +2503,7 @@
     } else {
         transferAccessChainSwizzle(true);
         // load through the access chain
-        id = createLoad(collapseAccessChain());
+        id = createLoad(collapseAccessChain(), memoryAccess, scope);
         setPrecision(id, precision);
         addDecoration(id, nonUniform);
     }
@@ -2453,42 +2579,6 @@
     return type;
 }
 
-// comment in header
-void Builder::eliminateDeadDecorations() {
-    std::unordered_set<const Block*> reachable_blocks;
-    std::unordered_set<Id> unreachable_definitions;
-    // Collect IDs defined in unreachable blocks. For each function, label the
-    // reachable blocks first. Then for each unreachable block, collect the
-    // result IDs of the instructions in it.
-    for (std::vector<Function*>::const_iterator fi = module.getFunctions().cbegin();
-        fi != module.getFunctions().cend(); fi++) {
-        Function* f = *fi;
-        Block* entry = f->getEntryBlock();
-        inReadableOrder(entry, [&reachable_blocks](const Block* b) {
-            reachable_blocks.insert(b);
-        });
-        for (std::vector<Block*>::const_iterator bi = f->getBlocks().cbegin();
-            bi != f->getBlocks().cend(); bi++) {
-            Block* b = *bi;
-            if (!reachable_blocks.count(b)) {
-                for (std::vector<std::unique_ptr<Instruction> >::const_iterator
-                         ii = b->getInstructions().cbegin();
-                    ii != b->getInstructions().cend(); ii++) {
-                    Instruction* i = ii->get();
-                    unreachable_definitions.insert(i->getResultId());
-                }
-            }
-        }
-    }
-    decorations.erase(std::remove_if(decorations.begin(), decorations.end(),
-        [&unreachable_definitions](std::unique_ptr<Instruction>& I) -> bool {
-            Instruction* inst = I.get();
-            Id decoration_id = inst->getIdOperand(0);
-            return unreachable_definitions.count(decoration_id) != 0;
-        }),
-        decorations.end());
-}
-
 void Builder::dump(std::vector<unsigned int>& out) const
 {
     // Header, before first instructions:
diff --git a/SPIRV/SpvBuilder.h b/SPIRV/SpvBuilder.h
old mode 100755
new mode 100644
index 099b1d9..7c1d421
--- a/SPIRV/SpvBuilder.h
+++ b/SPIRV/SpvBuilder.h
@@ -131,6 +131,9 @@
     Id makeSamplerType();
     Id makeSampledImageType(Id imageType);
 
+    // accelerationStructureNV type
+    Id makeAccelerationStructureNVType();
+
     // For querying about types.
     Id getTypeId(Id resultId) const { return module.getTypeId(resultId); }
     Id getDerefTypeId(Id resultId) const;
@@ -167,6 +170,7 @@
     bool isImageType(Id typeId)        const { return getTypeClass(typeId) == OpTypeImage; }
     bool isSamplerType(Id typeId)      const { return getTypeClass(typeId) == OpTypeSampler; }
     bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; }
+    bool containsType(Id typeId, Op typeOp, unsigned int width) const;
 
     bool isConstantOpCode(Op opcode) const;
     bool isSpecConstantOpCode(Op opcode) const;
@@ -273,10 +277,10 @@
     Id createUndefined(Id type);
 
     // Store into an Id and return the l-value
-    void createStore(Id rValue, Id lValue);
+    void createStore(Id rValue, Id lValue, spv::MemoryAccessMask memoryAccess = spv::MemoryAccessMaskNone, spv::Scope scope = spv::ScopeMax);
 
     // Load from an Id and return it
-    Id createLoad(Id lValue);
+    Id createLoad(Id lValue, spv::MemoryAccessMask memoryAccess = spv::MemoryAccessMaskNone, spv::Scope scope = spv::ScopeMax);
 
     // Create an OpAccessChain instruction
     Id createAccessChain(StorageClass, Id base, const std::vector<Id>& offsets);
@@ -296,12 +300,14 @@
     void createNoResultOp(Op);
     void createNoResultOp(Op, Id operand);
     void createNoResultOp(Op, const std::vector<Id>& operands);
+    void createNoResultOp(Op, const std::vector<IdImmediate>& operands);
     void createControlBarrier(Scope execution, Scope memory, MemorySemanticsMask);
     void createMemoryBarrier(unsigned executionScope, unsigned memorySemantics);
     Id createUnaryOp(Op, Id typeId, Id operand);
     Id createBinOp(Op, Id typeId, Id operand1, Id operand2);
     Id createTriOp(Op, Id typeId, Id operand1, Id operand2, Id operand3);
     Id createOp(Op, Id typeId, const std::vector<Id>& operands);
+    Id createOp(Op, Id typeId, const std::vector<IdImmediate>& operands);
     Id createFunctionCall(spv::Function*, const std::vector<spv::Id>&);
     Id createSpecConstantOp(Op, Id typeId, const std::vector<spv::Id>& operands, const std::vector<unsigned>& literals);
 
@@ -363,6 +369,10 @@
         Id component;
         Id texelOut;
         Id lodClamp;
+        Id granularity;
+        Id coarse;
+        bool nonprivate;
+        bool volatil;
     };
 
     // Select the correct texture operation based on all inputs, and emit the correct instruction
@@ -502,6 +512,43 @@
         Id component;                  // a dynamic component index, can coexist with a swizzle, done after the swizzle, NoResult if not present
         Id preSwizzleBaseType;         // dereferenced type, before swizzle or component is applied; NoType unless a swizzle or component is present
         bool isRValue;                 // true if 'base' is an r-value, otherwise, base is an l-value
+
+        // Accumulate whether anything in the chain of structures has coherent decorations.
+        struct CoherentFlags {
+            unsigned coherent : 1;
+            unsigned devicecoherent : 1;
+            unsigned queuefamilycoherent : 1;
+            unsigned workgroupcoherent : 1;
+            unsigned subgroupcoherent : 1;
+            unsigned nonprivate : 1;
+            unsigned volatil : 1;
+            unsigned isImage : 1;
+
+            void clear() {
+                coherent = 0;
+                devicecoherent = 0;
+                queuefamilycoherent = 0;
+                workgroupcoherent = 0;
+                subgroupcoherent = 0;
+                nonprivate = 0;
+                volatil = 0;
+                isImage = 0;
+            }
+
+            CoherentFlags() { clear(); }
+            CoherentFlags operator |=(const CoherentFlags &other) {
+                coherent |= other.coherent;
+                devicecoherent |= other.devicecoherent;
+                queuefamilycoherent |= other.queuefamilycoherent;
+                workgroupcoherent |= other.workgroupcoherent;
+                subgroupcoherent |= other.subgroupcoherent;
+                nonprivate |= other.nonprivate;
+                volatil |= other.volatil;
+                isImage |= other.isImage;
+                return *this;
+            }
+        };
+        CoherentFlags coherentFlags;
     };
 
     //
@@ -531,9 +578,10 @@
     }
 
     // push offset onto the end of the chain
-    void accessChainPush(Id offset)
+    void accessChainPush(Id offset, AccessChain::CoherentFlags coherentFlags)
     {
         accessChain.indexChain.push_back(offset);
+        accessChain.coherentFlags |= coherentFlags;
     }
 
     // push new swizzle onto the end of any existing swizzle, merging into a single swizzle
@@ -551,10 +599,10 @@
     }
 
     // use accessChain and swizzle to store value
-    void accessChainStore(Id rvalue);
+    void accessChainStore(Id rvalue, spv::MemoryAccessMask memoryAccess = spv::MemoryAccessMaskNone, spv::Scope scope = spv::ScopeMax);
 
     // use accessChain and swizzle to load an r-value
-    Id accessChainLoad(Decoration precision, Decoration nonUniform, Id ResultType);
+    Id accessChainLoad(Decoration precision, Decoration nonUniform, Id ResultType, spv::MemoryAccessMask memoryAccess = spv::MemoryAccessMaskNone, spv::Scope scope = spv::ScopeMax);
 
     // get the direct pointer for an l-value
     Id accessChainGetLValue();
@@ -563,9 +611,17 @@
     // based on the type of the base and the chain of dereferences.
     Id accessChainGetInferredType();
 
-    // Remove OpDecorate instructions whose operands are defined in unreachable
-    // blocks.
-    void eliminateDeadDecorations();
+    // Add capabilities, extensions, remove unneeded decorations, etc., 
+    // based on the resulting SPIR-V.
+    void postProcess();
+
+    // Hook to visit each instruction in a block in a function
+    void postProcess(const Instruction&);
+    // Hook to visit each instruction in a reachable block in a function.
+    void postProcessReachable(const Instruction&);
+    // Hook to visit each non-32-bit sized float/int operation in a block.
+    void postProcessType(const Instruction&, spv::Id typeId);
+
     void dump(std::vector<unsigned int>&) const;
 
     void createBranch(Block* block);
diff --git a/SPIRV/SpvPostProcess.cpp b/SPIRV/SpvPostProcess.cpp
new file mode 100755
index 0000000..27f145d
--- /dev/null
+++ b/SPIRV/SpvPostProcess.cpp
@@ -0,0 +1,265 @@
+//
+// Copyright (C) 2016-2018 Google, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+//    Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//    Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//    Neither the name of 3Dlabs Inc. Ltd. nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+//
+// Post-processing for SPIR-V IR, in internal form, not standard binary form.
+//
+
+#include <cassert>
+#include <cstdlib>
+
+#include <unordered_set>
+#include <algorithm>
+
+#include "SpvBuilder.h"
+
+#include "spirv.hpp"
+#include "GlslangToSpv.h"
+#include "SpvBuilder.h"
+namespace spv {
+    #include "GLSL.std.450.h"
+    #include "GLSL.ext.KHR.h"
+    #include "GLSL.ext.EXT.h"
+#ifdef AMD_EXTENSIONS
+    #include "GLSL.ext.AMD.h"
+#endif
+#ifdef NV_EXTENSIONS
+    #include "GLSL.ext.NV.h"
+#endif
+}
+
+namespace spv {
+
+// Hook to visit each operand type and result type of an instruction.
+// Will be called multiple times for one instruction, once for each typed
+// operand and the result.
+void Builder::postProcessType(const Instruction& inst, Id typeId)
+{
+    // Characterize the type being questioned
+    Id basicTypeOp = getMostBasicTypeClass(typeId);
+    int width = 0;
+    if (basicTypeOp == OpTypeFloat || basicTypeOp == OpTypeInt)
+        width = getScalarTypeWidth(typeId);
+
+    // Do opcode-specific checks
+    switch (inst.getOpCode()) {
+    case OpLoad:
+    case OpStore:
+        if (basicTypeOp == OpTypeStruct) {
+            if (containsType(typeId, OpTypeInt, 8))
+                addCapability(CapabilityInt8);
+            if (containsType(typeId, OpTypeInt, 16))
+                addCapability(CapabilityInt16);
+            if (containsType(typeId, OpTypeFloat, 16))
+                addCapability(CapabilityFloat16);
+        } else {
+            StorageClass storageClass = getStorageClass(inst.getIdOperand(0));
+            if (width == 8) {
+                switch (storageClass) {
+                case StorageClassUniform:
+                case StorageClassStorageBuffer:
+                case StorageClassPushConstant:
+                    break;
+                default:
+                    addCapability(CapabilityInt8);
+                    break;
+                }
+            } else if (width == 16) {
+                switch (storageClass) {
+                case StorageClassUniform:
+                case StorageClassStorageBuffer:
+                case StorageClassPushConstant:
+                case StorageClassInput:
+                case StorageClassOutput:
+                    break;
+                default:
+                    if (basicTypeOp == OpTypeInt)
+                        addCapability(CapabilityInt16);
+                    if (basicTypeOp == OpTypeFloat)
+                        addCapability(CapabilityFloat16);
+                    break;
+                }
+            }
+        }
+        break;
+    case OpAccessChain:
+    case OpPtrAccessChain:
+    case OpCopyObject:
+    case OpFConvert:
+    case OpSConvert:
+    case OpUConvert:
+        break;
+    case OpExtInst:
+        switch (inst.getImmediateOperand(1)) {
+#if AMD_EXTENSIONS
+        case GLSLstd450Frexp:
+        case GLSLstd450FrexpStruct:
+            if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeInt, 16))
+                addExtension(spv::E_SPV_AMD_gpu_shader_int16);
+            break;
+        case GLSLstd450InterpolateAtCentroid:
+        case GLSLstd450InterpolateAtSample:
+        case GLSLstd450InterpolateAtOffset:
+            if (getSpvVersion() < glslang::EShTargetSpv_1_3 && containsType(typeId, OpTypeFloat, 16))
+                addExtension(spv::E_SPV_AMD_gpu_shader_half_float);
+            break;
+#endif
+        default:
+            break;
+        }
+        break;
+    default:
+        if (basicTypeOp == OpTypeFloat && width == 16)
+            addCapability(CapabilityFloat16);
+        if (basicTypeOp == OpTypeInt && width == 16)
+            addCapability(CapabilityInt16);
+        if (basicTypeOp == OpTypeInt && width == 8)
+            addCapability(CapabilityInt8);
+        break;
+    }
+}
+
+// Called for each instruction that resides in a block.
+void Builder::postProcess(const Instruction& inst)
+{
+    // Add capabilities based simply on the opcode.
+    switch (inst.getOpCode()) {
+    case OpExtInst:
+        switch (inst.getImmediateOperand(1)) {
+        case GLSLstd450InterpolateAtCentroid:
+        case GLSLstd450InterpolateAtSample:
+        case GLSLstd450InterpolateAtOffset:
+            addCapability(CapabilityInterpolationFunction);
+            break;
+        default:
+            break;
+        }
+        break;
+    case OpDPdxFine:
+    case OpDPdyFine:
+    case OpFwidthFine:
+    case OpDPdxCoarse:
+    case OpDPdyCoarse:
+    case OpFwidthCoarse:
+        addCapability(CapabilityDerivativeControl);
+        break;
+
+    case OpImageQueryLod:
+    case OpImageQuerySize:
+    case OpImageQuerySizeLod:
+    case OpImageQuerySamples:
+    case OpImageQueryLevels:
+        addCapability(CapabilityImageQuery);
+        break;
+
+#ifdef NV_EXTENSIONS
+    case OpGroupNonUniformPartitionNV:
+        addExtension(E_SPV_NV_shader_subgroup_partitioned);
+        addCapability(CapabilityGroupNonUniformPartitionedNV);
+        break;
+#endif
+
+    default:
+        break;
+    }
+
+    // Checks based on type
+    if (inst.getTypeId() != NoType)
+        postProcessType(inst, inst.getTypeId());
+    for (int op = 0; op < inst.getNumOperands(); ++op) {
+        if (inst.isIdOperand(op)) {
+            // In blocks, these are always result ids, but we are relying on
+            // getTypeId() to return NoType for things like OpLabel.
+            if (getTypeId(inst.getIdOperand(op)) != NoType)
+                postProcessType(inst, getTypeId(inst.getIdOperand(op)));
+        }
+    }
+}
+
+// Called for each instruction in a reachable block.
+void Builder::postProcessReachable(const Instruction& inst)
+{
+    // did have code here, but questionable to do so without deleting the instructions
+}
+
+// comment in header
+void Builder::postProcess()
+{
+    std::unordered_set<const Block*> reachableBlocks;
+    std::unordered_set<Id> unreachableDefinitions;
+    // Collect IDs defined in unreachable blocks. For each function, label the
+    // reachable blocks first. Then for each unreachable block, collect the
+    // result IDs of the instructions in it.
+    for (auto fi = module.getFunctions().cbegin(); fi != module.getFunctions().cend(); fi++) {
+        Function* f = *fi;
+        Block* entry = f->getEntryBlock();
+        inReadableOrder(entry, [&reachableBlocks](const Block* b) { reachableBlocks.insert(b); });
+        for (auto bi = f->getBlocks().cbegin(); bi != f->getBlocks().cend(); bi++) {
+            Block* b = *bi;
+            if (reachableBlocks.count(b) == 0) {
+                for (auto ii = b->getInstructions().cbegin(); ii != b->getInstructions().cend(); ii++)
+                    unreachableDefinitions.insert(ii->get()->getResultId());
+            }
+        }
+    }
+
+    // Remove unneeded decorations, for unreachable instructions
+    decorations.erase(std::remove_if(decorations.begin(), decorations.end(),
+        [&unreachableDefinitions](std::unique_ptr<Instruction>& I) -> bool {
+            Id decoration_id = I.get()->getIdOperand(0);
+            return unreachableDefinitions.count(decoration_id) != 0;
+        }),
+        decorations.end());
+
+    // Add per-instruction capabilities, extensions, etc.,
+
+    // process all reachable instructions...
+    for (auto bi = reachableBlocks.cbegin(); bi != reachableBlocks.cend(); ++bi) {
+        const Block* block = *bi;
+        const auto function = [this](const std::unique_ptr<Instruction>& inst) { postProcessReachable(*inst.get()); };
+        std::for_each(block->getInstructions().begin(), block->getInstructions().end(), function);
+    }
+
+    // process all block-contained instructions
+    for (auto fi = module.getFunctions().cbegin(); fi != module.getFunctions().cend(); fi++) {
+        Function* f = *fi;
+        for (auto bi = f->getBlocks().cbegin(); bi != f->getBlocks().cend(); bi++) {
+            Block* b = *bi;
+            for (auto ii = b->getInstructions().cbegin(); ii != b->getInstructions().cend(); ii++)
+                postProcess(*ii->get());
+        }
+    }
+}
+
+}; // end spv namespace
diff --git a/SPIRV/SpvTools.cpp b/SPIRV/SpvTools.cpp
new file mode 100755
index 0000000..4807b42
--- /dev/null
+++ b/SPIRV/SpvTools.cpp
@@ -0,0 +1,188 @@
+//
+// Copyright (C) 2014-2016 LunarG, Inc.
+// Copyright (C) 2018 Google, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+//    Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//    Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//    Neither the name of 3Dlabs Inc. Ltd. nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+//
+// Call into SPIRV-Tools to disassemble, validate, and optimize.
+//
+
+#if ENABLE_OPT
+
+#include <cstdio>
+#include <iostream>
+
+#include "SpvTools.h"
+#include "spirv-tools/optimizer.hpp"
+#include "spirv-tools/libspirv.h"
+
+namespace glslang {
+
+// Translate glslang's view of target versioning to what SPIRV-Tools uses.
+spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLogger* logger)
+{
+    switch (spvVersion.vulkan) {
+    case glslang::EShTargetVulkan_1_0: return spv_target_env::SPV_ENV_VULKAN_1_0;
+    case glslang::EShTargetVulkan_1_1: return spv_target_env::SPV_ENV_VULKAN_1_1;
+    default:
+        break;
+    }
+
+    if (spvVersion.openGl > 0)
+        return spv_target_env::SPV_ENV_OPENGL_4_5;
+
+    logger->missingFunctionality("Target version for SPIRV-Tools validator");
+    return spv_target_env::SPV_ENV_UNIVERSAL_1_0;
+}
+
+
+// Use the SPIRV-Tools disassembler to print SPIR-V.
+void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv)
+{
+    // disassemble
+    spv_context context = spvContextCreate(SPV_ENV_UNIVERSAL_1_3);
+    spv_text text;
+    spv_diagnostic diagnostic = nullptr;
+    spvBinaryToText(context, spirv.data(), spirv.size(),
+        SPV_BINARY_TO_TEXT_OPTION_FRIENDLY_NAMES | SPV_BINARY_TO_TEXT_OPTION_INDENT,
+        &text, &diagnostic);
+
+    // dump
+    if (diagnostic == nullptr)
+        out << text->str;
+    else
+        spvDiagnosticPrint(diagnostic);
+
+    // teardown
+    spvDiagnosticDestroy(diagnostic);
+    spvContextDestroy(context);
+}
+
+// Apply the SPIRV-Tools validator to generated SPIR-V.
+void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
+                        spv::SpvBuildLogger* logger)
+{
+    // validate
+    spv_context context = spvContextCreate(MapToSpirvToolsEnv(intermediate.getSpv(), logger));
+    spv_const_binary_t binary = { spirv.data(), spirv.size() };
+    spv_diagnostic diagnostic = nullptr;
+    spv_validator_options options = spvValidatorOptionsCreate();
+    spvValidatorOptionsSetRelaxBlockLayout(options, intermediate.usingHlslOffsets());
+    spvValidateWithOptions(context, options, &binary, &diagnostic);
+
+    // report
+    if (diagnostic != nullptr) {
+        logger->error("SPIRV-Tools Validation Errors");
+        logger->error(diagnostic->error);
+    }
+
+    // tear down
+    spvValidatorOptionsDestroy(options);
+    spvDiagnosticDestroy(diagnostic);
+    spvContextDestroy(context);
+}
+
+// Apply the SPIRV-Tools optimizer to generated SPIR-V, for the purpose of
+// legalizing HLSL SPIR-V.
+void SpirvToolsLegalize(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
+                        spv::SpvBuildLogger* logger, const SpvOptions* options)
+{
+    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) {
+            auto &out = std::cerr;
+            switch (level)
+            {
+            case SPV_MSG_FATAL:
+            case SPV_MSG_INTERNAL_ERROR:
+            case SPV_MSG_ERROR:
+                out << "error: ";
+                break;
+            case SPV_MSG_WARNING:
+                out << "warning: ";
+                break;
+            case SPV_MSG_INFO:
+            case SPV_MSG_DEBUG:
+                out << "info: ";
+                break;
+            default:
+                break;
+            }
+            if (source)
+            {
+                out << source << ":";
+            }
+            out << position.line << ":" << position.column << ":" << position.index << ":";
+            if (message)
+            {
+                out << " " << message;
+            }
+            out << std::endl;
+        });
+
+    optimizer.RegisterPass(spvtools::CreateMergeReturnPass());
+    optimizer.RegisterPass(spvtools::CreateInlineExhaustivePass());
+    optimizer.RegisterPass(spvtools::CreateEliminateDeadFunctionsPass());
+    optimizer.RegisterPass(spvtools::CreateScalarReplacementPass());
+    optimizer.RegisterPass(spvtools::CreateLocalAccessChainConvertPass());
+    optimizer.RegisterPass(spvtools::CreateLocalSingleBlockLoadStoreElimPass());
+    optimizer.RegisterPass(spvtools::CreateLocalSingleStoreElimPass());
+    optimizer.RegisterPass(spvtools::CreateSimplificationPass());
+    optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
+    optimizer.RegisterPass(spvtools::CreateVectorDCEPass());
+    optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass());
+    optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
+    optimizer.RegisterPass(spvtools::CreateDeadBranchElimPass());
+    optimizer.RegisterPass(spvtools::CreateBlockMergePass());
+    optimizer.RegisterPass(spvtools::CreateLocalMultiStoreElimPass());
+    optimizer.RegisterPass(spvtools::CreateIfConversionPass());
+    optimizer.RegisterPass(spvtools::CreateSimplificationPass());
+    optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
+    optimizer.RegisterPass(spvtools::CreateVectorDCEPass());
+    optimizer.RegisterPass(spvtools::CreateDeadInsertElimPass());
+    if (options->optimizeSize) {
+        optimizer.RegisterPass(spvtools::CreateRedundancyEliminationPass());
+        // TODO(greg-lunarg): Add this when AMD driver issues are resolved
+        // optimizer.RegisterPass(CreateCommonUniformElimPass());
+    }
+    optimizer.RegisterPass(spvtools::CreateAggressiveDCEPass());
+    optimizer.RegisterPass(spvtools::CreateCFGCleanupPass());
+
+    optimizer.Run(spirv.data(), spirv.size(), &spirv, spvtools::ValidatorOptions(), true);
+}
+
+}; // end namespace glslang
+
+#endif
diff --git a/SPIRV/SpvTools.h b/SPIRV/SpvTools.h
new file mode 100755
index 0000000..08bcf3a
--- /dev/null
+++ b/SPIRV/SpvTools.h
@@ -0,0 +1,80 @@
+//
+// Copyright (C) 2014-2016 LunarG, Inc.
+// Copyright (C) 2018 Google, Inc.
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+//
+//    Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+//
+//    Redistributions in binary form must reproduce the above
+//    copyright notice, this list of conditions and the following
+//    disclaimer in the documentation and/or other materials provided
+//    with the distribution.
+//
+//    Neither the name of 3Dlabs Inc. Ltd. nor the names of its
+//    contributors may be used to endorse or promote products derived
+//    from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+
+//
+// Call into SPIRV-Tools to disassemble, validate, and optimize.
+//
+
+#pragma once
+#ifndef GLSLANG_SPV_TOOLS_H
+#define GLSLANG_SPV_TOOLS_H
+
+#include <vector>
+#include <ostream>
+
+#include "../glslang/MachineIndependent/localintermediate.h"
+#include "Logger.h"
+
+namespace glslang {
+
+struct SpvOptions {
+    SpvOptions() : generateDebugInfo(false), disableOptimizer(true),
+        optimizeSize(false), disassemble(false), validate(false) { }
+    bool generateDebugInfo;
+    bool disableOptimizer;
+    bool optimizeSize;
+    bool disassemble;
+    bool validate;
+};
+
+#if ENABLE_OPT
+
+// Use the SPIRV-Tools disassembler to print SPIR-V.
+void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv);
+
+// Apply the SPIRV-Tools validator to generated SPIR-V.
+void SpirvToolsValidate(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
+                        spv::SpvBuildLogger*);
+
+// Apply the SPIRV-Tools optimizer to generated SPIR-V, for the purpose of
+// legalizing HLSL SPIR-V.
+void SpirvToolsLegalize(const glslang::TIntermediate& intermediate, std::vector<unsigned int>& spirv,
+                        spv::SpvBuildLogger*, const SpvOptions*);
+
+#endif
+
+}; // end namespace glslang
+
+#endif // GLSLANG_SPV_TOOLS_H
\ No newline at end of file
diff --git a/SPIRV/bitutils.h b/SPIRV/bitutils.h
index 31288ab..22e44ce 100644
--- a/SPIRV/bitutils.h
+++ b/SPIRV/bitutils.h
@@ -26,7 +26,7 @@
   Dest dest;
   static_assert(sizeof(source) == sizeof(dest),
                 "BitwiseCast: Source and destination must have the same size");
-  std::memcpy(&dest, &source, sizeof(dest));
+  std::memcpy(static_cast<void*>(&dest), &source, sizeof(dest));
   return dest;
 }
 
diff --git a/SPIRV/disassemble.cpp b/SPIRV/disassemble.cpp
old mode 100755
new mode 100644
index a8efd69..22c83ea
--- a/SPIRV/disassemble.cpp
+++ b/SPIRV/disassemble.cpp
@@ -46,6 +46,7 @@
 
 #include "disassemble.h"
 #include "doc.h"
+#include "SpvTools.h"
 
 namespace spv {
     extern "C" {
@@ -509,7 +510,9 @@
                 }else if (strcmp(spv::E_SPV_NV_sample_mask_override_coverage, name) == 0 ||
                           strcmp(spv::E_SPV_NV_geometry_shader_passthrough, name) == 0 ||
                           strcmp(spv::E_SPV_NV_viewport_array2, name) == 0 ||
-                          strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0) {
+                          strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0 || 
+                          strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 ||
+                          strcmp(spv::E_SPV_NV_mesh_shader, name) == 0) {
                     extInstSet = GLSLextNVInst;
 #endif
                 }
@@ -534,6 +537,11 @@
         case OperandLiteralString:
             numOperands -= disassembleString();
             break;
+        case OperandMemoryAccess:
+            outputMask(OperandMemoryAccess, stream[word++]);
+            --numOperands;
+            disassembleIds(numOperands);
+            return;
         default:
             assert(operandClass >= OperandSource && operandClass < OperandOpcode);
 
@@ -685,21 +693,45 @@
         strcmp(name, spv::E_SPV_NV_geometry_shader_passthrough) == 0 ||
         strcmp(name, spv::E_ARB_shader_viewport_layer_array) == 0 ||
         strcmp(name, spv::E_SPV_NV_viewport_array2) == 0 ||
-        strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0) {
+        strcmp(spv::E_SPV_NVX_multiview_per_view_attributes, name) == 0 ||
+        strcmp(spv::E_SPV_NV_fragment_shader_barycentric, name) == 0 ||
+        strcmp(name, spv::E_SPV_NV_mesh_shader) == 0) {
         switch (entrypoint) {
-        case DecorationOverrideCoverageNV:          return "OverrideCoverageNV";
-        case DecorationPassthroughNV:               return "PassthroughNV";
-        case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
-        case DecorationViewportRelativeNV:          return "ViewportRelativeNV";
+        // NV builtins
         case BuiltInViewportMaskNV:                 return "ViewportMaskNV";
-        case CapabilityShaderViewportMaskNV:        return "ShaderViewportMaskNV";
-        case DecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
         case BuiltInSecondaryPositionNV:            return "SecondaryPositionNV";
         case BuiltInSecondaryViewportMaskNV:        return "SecondaryViewportMaskNV";
-        case CapabilityShaderStereoViewNV:          return "ShaderStereoViewNV";
         case BuiltInPositionPerViewNV:              return "PositionPerViewNV";
         case BuiltInViewportMaskPerViewNV:          return "ViewportMaskPerViewNV";
+        case BuiltInBaryCoordNV:                    return "BaryCoordNV";
+        case BuiltInBaryCoordNoPerspNV:             return "BaryCoordNoPerspNV";
+        case BuiltInTaskCountNV:                    return "TaskCountNV";
+        case BuiltInPrimitiveCountNV:               return "PrimitiveCountNV";
+        case BuiltInPrimitiveIndicesNV:             return "PrimitiveIndicesNV";
+        case BuiltInClipDistancePerViewNV:          return "ClipDistancePerViewNV";
+        case BuiltInCullDistancePerViewNV:          return "CullDistancePerViewNV";
+        case BuiltInLayerPerViewNV:                 return "LayerPerViewNV";
+        case BuiltInMeshViewCountNV:                return "MeshViewCountNV";
+        case BuiltInMeshViewIndicesNV:              return "MeshViewIndicesNV";
+
+        // NV Capabilities
+        case CapabilityGeometryShaderPassthroughNV: return "GeometryShaderPassthroughNV";
+        case CapabilityShaderViewportMaskNV:        return "ShaderViewportMaskNV";
+        case CapabilityShaderStereoViewNV:          return "ShaderStereoViewNV";
         case CapabilityPerViewAttributesNV:         return "PerViewAttributesNV";
+        case CapabilityFragmentBarycentricNV:       return "FragmentBarycentricNV";
+        case CapabilityMeshShadingNV:               return "MeshShadingNV";
+
+        // NV Decorations
+        case DecorationOverrideCoverageNV:          return "OverrideCoverageNV";
+        case DecorationPassthroughNV:               return "PassthroughNV";
+        case DecorationViewportRelativeNV:          return "ViewportRelativeNV";
+        case DecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
+        case DecorationPerVertexNV:                 return "PerVertexNV";
+        case DecorationPerPrimitiveNV:              return "PerPrimitiveNV";
+        case DecorationPerViewNV:                   return "PerViewNV";
+        case DecorationPerTaskNV:                   return "PerTaskNV";
+
         default:                                    return "Bad";
         }
     }
@@ -716,25 +748,4 @@
     SpirvStream.processInstructions();
 }
 
-#if ENABLE_OPT
-
-#include "spirv-tools/libspirv.h"
-
-// Use the SPIRV-Tools disassembler to print SPIR-V.
-void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& spirv)
-{
-    spv_context context = spvContextCreate(SPV_ENV_UNIVERSAL_1_3);
-    spv_text text;
-    spv_diagnostic diagnostic = nullptr;
-    spvBinaryToText(context, &spirv.front(), spirv.size(),
-        SPV_BINARY_TO_TEXT_OPTION_FRIENDLY_NAMES | SPV_BINARY_TO_TEXT_OPTION_INDENT,
-        &text, &diagnostic);
-    if (diagnostic == nullptr)
-        out << text->str;
-    else
-        spvDiagnosticPrint(diagnostic);
-}
-
-#endif
-
 }; // end namespace spv
diff --git a/SPIRV/disassemble.h b/SPIRV/disassemble.h
old mode 100755
new mode 100644
index bdde5cb..2a9a89b
--- a/SPIRV/disassemble.h
+++ b/SPIRV/disassemble.h
@@ -48,9 +48,6 @@
     // disassemble with glslang custom disassembler
     void Disassemble(std::ostream& out, const std::vector<unsigned int>&);
 
-    // disassemble with SPIRV-Tools disassembler
-    void SpirvToolsDisassemble(std::ostream& out, const std::vector<unsigned int>& stream);
-
 };  // end namespace spv
 
 #endif // disassembler_H
diff --git a/SPIRV/doc.cpp b/SPIRV/doc.cpp
old mode 100755
new mode 100644
index ae32efe..dbbe97d
--- a/SPIRV/doc.cpp
+++ b/SPIRV/doc.cpp
@@ -98,8 +98,22 @@
     case 4:  return "Fragment";
     case 5:  return "GLCompute";
     case 6:  return "Kernel";
+#ifdef NV_EXTENSIONS
+    case ExecutionModelTaskNV: return "TaskNV";
+    case ExecutionModelMeshNV: return "MeshNV";
+#endif
 
     default: return "Bad";
+
+#ifdef NV_EXTENSIONS
+    case ExecutionModelRayGenerationNVX: return "RayGenerationNVX";
+    case ExecutionModelIntersectionNVX:  return "IntersectionNVX";
+    case ExecutionModelAnyHitNVX:        return "AnyHitNVX";
+    case ExecutionModelClosestHitNVX:    return "ClosestHitNVX";
+    case ExecutionModelMissNVX:          return "MissNVX";
+    case ExecutionModelCallableNVX:      return "CallableNVX";
+#endif
+
     }
 }
 
@@ -117,9 +131,10 @@
 const char* MemoryString(int mem)
 {
     switch (mem) {
-    case 0:  return "Simple";
-    case 1:  return "GLSL450";
-    case 2:  return "OpenCL";
+    case MemoryModelSimple:     return "Simple";
+    case MemoryModelGLSL450:    return "GLSL450";
+    case MemoryModelOpenCL:     return "OpenCL";
+    case MemoryModelVulkanKHR:  return "VulkanKHR";
 
     default: return "Bad";
     }
@@ -165,6 +180,15 @@
     case 32: return "Bad";
 
     case 4446:  return "PostDepthCoverage";
+
+#ifdef NV_EXTENSIONS
+    case ExecutionModeOutputLinesNV:            return "OutputLinesNV";
+    case ExecutionModeOutputPrimitivesNV:       return "OutputPrimitivesNV";
+    case ExecutionModeOutputTrianglesNV:        return "OutputTrianglesNV";
+    case ExecutionModeDerivativeGroupQuadsNV:   return "DerivativeGroupQuadsNV";
+    case ExecutionModeDerivativeGroupLinearNV:  return "DerivativeGroupLinearNV";
+#endif
+
     case ExecutionModeCeiling:
     default: return "Bad";
     }
@@ -187,6 +211,13 @@
     case 11: return "Image";
     case 12: return "StorageBuffer";
 
+#ifdef NV_EXTENSIONS
+    case StorageClassRayPayloadNVX:         return "RayPayloadNVX";
+    case StorageClassHitAttributeNVX:       return "HitAttributeNVX";
+    case StorageClassIncomingRayPayloadNVX: return "IncomingRayPayloadNVX";
+    case StorageClassShaderRecordBufferNVX: return "ShaderRecordBufferNVX";
+#endif
+
     default: return "Bad";
     }
 }
@@ -253,6 +284,10 @@
     case DecorationPassthroughNV:               return "PassthroughNV";
     case DecorationViewportRelativeNV:          return "ViewportRelativeNV";
     case DecorationSecondaryViewportRelativeNV: return "SecondaryViewportRelativeNV";
+    case DecorationPerPrimitiveNV:              return "PerPrimitiveNV";
+    case DecorationPerViewNV:                   return "PerViewNV";
+    case DecorationPerTaskNV:                   return "PerTaskNV";
+    case DecorationPerVertexNV:                 return "PerVertexNV";
 #endif
 
     case DecorationNonUniformEXT:           return "DecorationNonUniformEXT";
@@ -332,15 +367,44 @@
 #endif
 
 #ifdef NV_EXTENSIONS
-    case 5253: return "ViewportMaskNV";
-    case 5257: return "SecondaryPositionNV";
-    case 5258: return "SecondaryViewportMaskNV";
-    case 5261: return "PositionPerViewNV";
-    case 5262: return "ViewportMaskPerViewNV";
+    case BuiltInLaunchIdNVX:                return "LaunchIdNVX";
+    case BuiltInLaunchSizeNVX:              return "LaunchSizeNVX";
+    case BuiltInWorldRayOriginNVX:          return "WorldRayOriginNVX";
+    case BuiltInWorldRayDirectionNVX:       return "WorldRayDirectionNVX";
+    case BuiltInObjectRayOriginNVX:         return "ObjectRayOriginNVX";
+    case BuiltInObjectRayDirectionNVX:      return "ObjectRayDirectionNVX";
+    case BuiltInRayTminNVX:                 return "RayTminNVX";
+    case BuiltInRayTmaxNVX:                 return "RayTmaxNVX";
+    case BuiltInInstanceCustomIndexNVX:     return "InstanceCustomIndexNVX";
+    case BuiltInObjectToWorldNVX:           return "ObjectToWorldNVX";
+    case BuiltInWorldToObjectNVX:           return "WorldToObjectNVX";
+    case BuiltInHitTNVX:                    return "HitTNVX";
+    case BuiltInHitKindNVX:                 return "HitKindNVX";
+    case BuiltInViewportMaskNV:             return "ViewportMaskNV";
+    case BuiltInSecondaryPositionNV:        return "SecondaryPositionNV";
+    case BuiltInSecondaryViewportMaskNV:    return "SecondaryViewportMaskNV";
+    case BuiltInPositionPerViewNV:          return "PositionPerViewNV";
+    case BuiltInViewportMaskPerViewNV:      return "ViewportMaskPerViewNV";
+    case BuiltInFragmentSizeNV:             return "FragmentSizeNV";
+    case BuiltInInvocationsPerPixelNV:      return "InvocationsPerPixelNV";
+    case BuiltInBaryCoordNV:                return "BaryCoordNV";
+    case BuiltInBaryCoordNoPerspNV:         return "BaryCoordNoPerspNV";
 #endif
 
     case 5264: return "FullyCoveredEXT";
 
+
+#ifdef NV_EXTENSIONS
+    case BuiltInTaskCountNV:           return "TaskCountNV";
+    case BuiltInPrimitiveCountNV:      return "PrimitiveCountNV";
+    case BuiltInPrimitiveIndicesNV:    return "PrimitiveIndicesNV";
+    case BuiltInClipDistancePerViewNV: return "ClipDistancePerViewNV";
+    case BuiltInCullDistancePerViewNV: return "CullDistancePerViewNV";
+    case BuiltInLayerPerViewNV:        return "LayerPerViewNV";
+    case BuiltInMeshViewCountNV:       return "MeshViewCountNV";
+    case BuiltInMeshViewIndicesNV:     return "MeshViewIndicesNV";
+#endif
+
     default: return "Bad";
     }
 }
@@ -499,19 +563,23 @@
     }
 }
 
-const int ImageOperandsCeiling = 8;
+const int ImageOperandsCeiling = 12;
 
 const char* ImageOperandsString(int format)
 {
     switch (format) {
-    case 0: return "Bias";
-    case 1: return "Lod";
-    case 2: return "Grad";
-    case 3: return "ConstOffset";
-    case 4: return "Offset";
-    case 5: return "ConstOffsets";
-    case 6: return "Sample";
-    case 7: return "MinLod";
+    case ImageOperandsBiasShift:                    return "Bias";
+    case ImageOperandsLodShift:                     return "Lod";
+    case ImageOperandsGradShift:                    return "Grad";
+    case ImageOperandsConstOffsetShift:             return "ConstOffset";
+    case ImageOperandsOffsetShift:                  return "Offset";
+    case ImageOperandsConstOffsetsShift:            return "ConstOffsets";
+    case ImageOperandsSampleShift:                  return "Sample";
+    case ImageOperandsMinLodShift:                  return "MinLod";
+    case ImageOperandsMakeTexelAvailableKHRShift:   return "MakeTexelAvailableKHR";
+    case ImageOperandsMakeTexelVisibleKHRShift:     return "MakeTexelVisibleKHR";
+    case ImageOperandsNonPrivateTexelKHRShift:      return "NonPrivateTexelKHR";
+    case ImageOperandsVolatileTexelKHRShift:        return "VolatileTexelKHR";
 
     case ImageOperandsCeiling:
     default:
@@ -645,12 +713,17 @@
     }
 }
 
+const int MemoryAccessCeiling = 6;
+
 const char* MemoryAccessString(int mem)
 {
     switch (mem) {
-    case 0:  return "Volatile";
-    case 1:  return "Aligned";
-    case 2:  return "Nontemporal";
+    case MemoryAccessVolatileShift:                 return "Volatile";
+    case MemoryAccessAlignedShift:                  return "Aligned";
+    case MemoryAccessNontemporalShift:              return "Nontemporal";
+    case MemoryAccessMakePointerAvailableKHRShift:  return "MakePointerAvailableKHR";
+    case MemoryAccessMakePointerVisibleKHRShift:    return "MakePointerVisibleKHR";
+    case MemoryAccessNonPrivatePointerKHRShift:     return "NonPrivatePointerKHR";
 
     default: return "Bad";
     }
@@ -810,12 +883,18 @@
 
     case CapabilitySampleMaskPostDepthCoverage:  return "SampleMaskPostDepthCoverage";
 #ifdef NV_EXTENSIONS
-    case CapabilityGeometryShaderPassthroughNV:  return "GeometryShaderPassthroughNV";
-    case CapabilityShaderViewportIndexLayerNV:   return "ShaderViewportIndexLayerNV";
-    case CapabilityShaderViewportMaskNV:         return "ShaderViewportMaskNV";
-    case CapabilityShaderStereoViewNV:           return "ShaderStereoViewNV";
-    case CapabilityPerViewAttributesNV:          return "PerViewAttributesNV";
-    case CapabilityGroupNonUniformPartitionedNV: return "GroupNonUniformPartitionedNV";
+    case CapabilityGeometryShaderPassthroughNV:     return "GeometryShaderPassthroughNV";
+    case CapabilityShaderViewportIndexLayerNV:      return "ShaderViewportIndexLayerNV";
+    case CapabilityShaderViewportMaskNV:            return "ShaderViewportMaskNV";
+    case CapabilityShaderStereoViewNV:              return "ShaderStereoViewNV";
+    case CapabilityPerViewAttributesNV:             return "PerViewAttributesNV";
+    case CapabilityGroupNonUniformPartitionedNV:    return "GroupNonUniformPartitionedNV";
+    case CapabilityRaytracingNVX:                   return "RaytracingNVX";
+    case CapabilityComputeDerivativeGroupQuadsNV:   return "ComputeDerivativeGroupQuadsNV";
+    case CapabilityComputeDerivativeGroupLinearNV:  return "ComputeDerivativeGroupLinearNV";
+    case CapabilityFragmentBarycentricNV:           return "FragmentBarycentricNV";
+    case CapabilityMeshShadingNV:                   return "MeshShadingNV";
+    case CapabilityShadingRateNV:                   return "ShadingRateNV";
 #endif
 
     case CapabilityFragmentFullyCoveredEXT: return "FragmentFullyCoveredEXT";
@@ -833,6 +912,9 @@
     case CapabilityUniformTexelBufferArrayNonUniformIndexingEXT: return "CapabilityUniformTexelBufferArrayNonUniformIndexingEXT";
     case CapabilityStorageTexelBufferArrayNonUniformIndexingEXT: return "CapabilityStorageTexelBufferArrayNonUniformIndexingEXT";
 
+    case CapabilityVulkanMemoryModelKHR:                return "CapabilityVulkanMemoryModelKHR";
+    case CapabilityVulkanMemoryModelDeviceScopeKHR:     return "CapabilityVulkanMemoryModelDeviceScopeKHR";
+
     default: return "Bad";
     }
 }
@@ -1225,8 +1307,16 @@
     case OpMemberDecorateStringGOOGLE: return "OpMemberDecorateStringGOOGLE";
 
 #ifdef NV_EXTENSIONS
-    case OpGroupNonUniformPartitionNV: return "OpGroupNonUniformPartitionNV";
+    case OpGroupNonUniformPartitionNV:       return "OpGroupNonUniformPartitionNV";
+    case OpReportIntersectionNVX:            return "OpReportIntersectionNVX";
+    case OpIgnoreIntersectionNVX:            return "OpIgnoreIntersectionNVX";
+    case OpTerminateRayNVX:                  return "OpTerminateRayNVX";
+    case OpTraceNVX:                         return "OpTraceNVX";
+    case OpTypeAccelerationStructureNVX:     return "OpTypeAccelerationStructureNVX";
+    case OpImageSampleFootprintNV:           return "OpImageSampleFootprintNV";
+    case OpWritePackedPrimitiveIndices4x8NV: return "OpWritePackedPrimitiveIndices4x8NV";
 #endif
+
     default:
         return "Bad";
     }
@@ -1245,6 +1335,7 @@
 EnumParameters LoopControlParams[FunctionControlCeiling];
 EnumParameters SelectionControlParams[SelectControlCeiling];
 EnumParameters FunctionControlParams[FunctionControlCeiling];
+EnumParameters MemoryAccessParams[MemoryAccessCeiling];
 
 // Set up all the parameterizing descriptions of the opcodes, operands, etc.
 void Parameterize()
@@ -1400,7 +1491,7 @@
     OperandClassParams[OperandLoop].set(LoopControlCeiling, LoopControlString, LoopControlParams, true);
     OperandClassParams[OperandFunction].set(FunctionControlCeiling, FunctionControlString, FunctionControlParams, true);
     OperandClassParams[OperandMemorySemantics].set(0, MemorySemanticsString, nullptr, true);
-    OperandClassParams[OperandMemoryAccess].set(0, MemoryAccessString, nullptr, true);
+    OperandClassParams[OperandMemoryAccess].set(MemoryAccessCeiling, MemoryAccessString, MemoryAccessParams, true);
     OperandClassParams[OperandScope].set(0, ScopeString, nullptr);
     OperandClassParams[OperandGroupOperation].set(0, GroupOperationString, nullptr);
     OperandClassParams[OperandKernelEnqueueFlags].set(0, KernelEnqueueFlagsString, nullptr);
@@ -1522,10 +1613,14 @@
 
     InstructionDesc[OpLoad].operands.push(OperandId, "'Pointer'");
     InstructionDesc[OpLoad].operands.push(OperandMemoryAccess, "", true);
+    InstructionDesc[OpLoad].operands.push(OperandLiteralNumber, "", true);
+    InstructionDesc[OpLoad].operands.push(OperandId, "", true);
 
     InstructionDesc[OpStore].operands.push(OperandId, "'Pointer'");
     InstructionDesc[OpStore].operands.push(OperandId, "'Object'");
     InstructionDesc[OpStore].operands.push(OperandMemoryAccess, "", true);
+    InstructionDesc[OpStore].operands.push(OperandLiteralNumber, "", true);
+    InstructionDesc[OpStore].operands.push(OperandId, "", true);
 
     InstructionDesc[OpPhi].operands.push(OperandVariableIds, "'Variable, Parent, ...'");
 
@@ -2566,6 +2661,38 @@
 
 #ifdef NV_EXTENSIONS
     InstructionDesc[OpGroupNonUniformPartitionNV].operands.push(OperandId, "X");
+
+    InstructionDesc[OpTypeAccelerationStructureNVX].setResultAndType(true, false);
+
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'NV Acceleration Structure'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Ray Flags'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Cull Mask'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'SBT Record Offset'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'SBT Record Stride'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Miss Index'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Ray Origin'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'TMin'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Ray Direction'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'TMax'");
+    InstructionDesc[OpTraceNVX].operands.push(OperandId, "'Payload'");
+    InstructionDesc[OpTraceNVX].setResultAndType(false, false);
+
+    InstructionDesc[OpReportIntersectionNVX].operands.push(OperandId, "'Hit Parameter'");
+    InstructionDesc[OpReportIntersectionNVX].operands.push(OperandId, "'Hit Kind'");
+
+    InstructionDesc[OpIgnoreIntersectionNVX].setResultAndType(false, false);
+
+    InstructionDesc[OpTerminateRayNVX].setResultAndType(false, false);
+    
+    InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Sampled Image'");
+    InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Coordinate'");
+    InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Granularity'");
+    InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandId, "'Coarse'");
+    InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandImageOperands, "", true);
+    InstructionDesc[OpImageSampleFootprintNV].operands.push(OperandVariableIds, "", true);
+    
+    InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Index Offset'");
+    InstructionDesc[OpWritePackedPrimitiveIndices4x8NV].operands.push(OperandId, "'Packed Indices'");
 #endif
 }
 
diff --git a/SPIRV/spirv.hpp b/SPIRV/spirv.hpp
old mode 100755
new mode 100644
index f16c296..14605b8
--- a/SPIRV/spirv.hpp
+++ b/SPIRV/spirv.hpp
@@ -73,6 +73,14 @@
     ExecutionModelFragment = 4,
     ExecutionModelGLCompute = 5,
     ExecutionModelKernel = 6,
+    ExecutionModelTaskNV = 5267,
+    ExecutionModelMeshNV = 5268,
+    ExecutionModelRayGenerationNVX = 5313,
+    ExecutionModelIntersectionNVX = 5314,
+    ExecutionModelAnyHitNVX = 5315,
+    ExecutionModelClosestHitNVX = 5316,
+    ExecutionModelMissNVX = 5317,
+    ExecutionModelCallableNVX = 5318,
     ExecutionModelMax = 0x7fffffff,
 };
 
@@ -87,6 +95,7 @@
     MemoryModelSimple = 0,
     MemoryModelGLSL450 = 1,
     MemoryModelOpenCL = 2,
+    MemoryModelVulkanKHR = 3,
     MemoryModelMax = 0x7fffffff,
 };
 
@@ -131,6 +140,11 @@
     ExecutionModeLocalSizeHintId = 39,
     ExecutionModePostDepthCoverage = 4446,
     ExecutionModeStencilRefReplacingEXT = 5027,
+    ExecutionModeOutputLinesNV = 5269,
+    ExecutionModeOutputPrimitivesNV = 5270,
+    ExecutionModeDerivativeGroupQuadsNV = 5289,
+    ExecutionModeDerivativeGroupLinearNV = 5290,
+    ExecutionModeOutputTrianglesNV = 5298,
     ExecutionModeMax = 0x7fffffff,
 };
 
@@ -148,6 +162,10 @@
     StorageClassAtomicCounter = 10,
     StorageClassImage = 11,
     StorageClassStorageBuffer = 12,
+    StorageClassRayPayloadNVX = 5338,
+    StorageClassHitAttributeNVX = 5339,
+    StorageClassIncomingRayPayloadNVX = 5342,
+    StorageClassShaderRecordBufferNVX = 5343,
     StorageClassMax = 0x7fffffff,
 };
 
@@ -275,6 +293,10 @@
     ImageOperandsConstOffsetsShift = 5,
     ImageOperandsSampleShift = 6,
     ImageOperandsMinLodShift = 7,
+    ImageOperandsMakeTexelAvailableKHRShift = 8,
+    ImageOperandsMakeTexelVisibleKHRShift = 9,
+    ImageOperandsNonPrivateTexelKHRShift = 10,
+    ImageOperandsVolatileTexelKHRShift = 11,
     ImageOperandsMax = 0x7fffffff,
 };
 
@@ -288,6 +310,10 @@
     ImageOperandsConstOffsetsMask = 0x00000020,
     ImageOperandsSampleMask = 0x00000040,
     ImageOperandsMinLodMask = 0x00000080,
+    ImageOperandsMakeTexelAvailableKHRMask = 0x00000100,
+    ImageOperandsMakeTexelVisibleKHRMask = 0x00000200,
+    ImageOperandsNonPrivateTexelKHRMask = 0x00000400,
+    ImageOperandsVolatileTexelKHRMask = 0x00000800,
 };
 
 enum FPFastMathModeShift {
@@ -393,6 +419,10 @@
     DecorationPassthroughNV = 5250,
     DecorationViewportRelativeNV = 5252,
     DecorationSecondaryViewportRelativeNV = 5256,
+    DecorationPerPrimitiveNV = 5271,
+    DecorationPerViewNV = 5272,
+    DecorationPerTaskNV = 5273,
+    DecorationPerVertexNV = 5285,
     DecorationNonUniformEXT = 5300,
     DecorationHlslCounterBufferGOOGLE = 5634,
     DecorationHlslSemanticGOOGLE = 5635,
@@ -470,6 +500,31 @@
     BuiltInPositionPerViewNV = 5261,
     BuiltInViewportMaskPerViewNV = 5262,
     BuiltInFullyCoveredEXT = 5264,
+    BuiltInTaskCountNV = 5274,
+    BuiltInPrimitiveCountNV = 5275,
+    BuiltInPrimitiveIndicesNV = 5276,
+    BuiltInClipDistancePerViewNV = 5277,
+    BuiltInCullDistancePerViewNV = 5278,
+    BuiltInLayerPerViewNV = 5279,
+    BuiltInMeshViewCountNV = 5280,
+    BuiltInMeshViewIndicesNV = 5281,
+    BuiltInBaryCoordNV = 5286,
+    BuiltInBaryCoordNoPerspNV = 5287,
+    BuiltInFragmentSizeNV = 5292,
+    BuiltInInvocationsPerPixelNV = 5293,
+    BuiltInLaunchIdNVX = 5319,
+    BuiltInLaunchSizeNVX = 5320,
+    BuiltInWorldRayOriginNVX = 5321,
+    BuiltInWorldRayDirectionNVX = 5322,
+    BuiltInObjectRayOriginNVX = 5323,
+    BuiltInObjectRayDirectionNVX = 5324,
+    BuiltInRayTminNVX = 5325,
+    BuiltInRayTmaxNVX = 5326,
+    BuiltInInstanceCustomIndexNVX = 5327,
+    BuiltInObjectToWorldNVX = 5330,
+    BuiltInWorldToObjectNVX = 5331,
+    BuiltInHitTNVX = 5332,
+    BuiltInHitKindNVX = 5333,
     BuiltInMax = 0x7fffffff,
 };
 
@@ -528,6 +583,9 @@
     MemorySemanticsCrossWorkgroupMemoryShift = 9,
     MemorySemanticsAtomicCounterMemoryShift = 10,
     MemorySemanticsImageMemoryShift = 11,
+    MemorySemanticsOutputMemoryKHRShift = 12,
+    MemorySemanticsMakeAvailableKHRShift = 13,
+    MemorySemanticsMakeVisibleKHRShift = 14,
     MemorySemanticsMax = 0x7fffffff,
 };
 
@@ -543,12 +601,18 @@
     MemorySemanticsCrossWorkgroupMemoryMask = 0x00000200,
     MemorySemanticsAtomicCounterMemoryMask = 0x00000400,
     MemorySemanticsImageMemoryMask = 0x00000800,
+    MemorySemanticsOutputMemoryKHRMask = 0x00001000,
+    MemorySemanticsMakeAvailableKHRMask = 0x00002000,
+    MemorySemanticsMakeVisibleKHRMask = 0x00004000,
 };
 
 enum MemoryAccessShift {
     MemoryAccessVolatileShift = 0,
     MemoryAccessAlignedShift = 1,
     MemoryAccessNontemporalShift = 2,
+    MemoryAccessMakePointerAvailableKHRShift = 3,
+    MemoryAccessMakePointerVisibleKHRShift = 4,
+    MemoryAccessNonPrivatePointerKHRShift = 5,
     MemoryAccessMax = 0x7fffffff,
 };
 
@@ -557,6 +621,9 @@
     MemoryAccessVolatileMask = 0x00000001,
     MemoryAccessAlignedMask = 0x00000002,
     MemoryAccessNontemporalMask = 0x00000004,
+    MemoryAccessMakePointerAvailableKHRMask = 0x00000008,
+    MemoryAccessMakePointerVisibleKHRMask = 0x00000010,
+    MemoryAccessNonPrivatePointerKHRMask = 0x00000020,
 };
 
 enum Scope {
@@ -565,6 +632,7 @@
     ScopeWorkgroup = 2,
     ScopeSubgroup = 3,
     ScopeInvocation = 4,
+    ScopeQueueFamilyKHR = 5,
     ScopeMax = 0x7fffffff,
 };
 
@@ -695,6 +763,11 @@
     CapabilityShaderStereoViewNV = 5259,
     CapabilityPerViewAttributesNV = 5260,
     CapabilityFragmentFullyCoveredEXT = 5265,
+    CapabilityMeshShadingNV = 5266,
+    CapabilityImageFootprintNV = 5282,
+    CapabilityFragmentBarycentricNV = 5284,
+    CapabilityComputeDerivativeGroupQuadsNV = 5288,
+    CapabilityShadingRateNV = 5291,
     CapabilityGroupNonUniformPartitionedNV = 5297,
     CapabilityShaderNonUniformEXT = 5301,
     CapabilityRuntimeDescriptorArrayEXT = 5302,
@@ -708,6 +781,10 @@
     CapabilityInputAttachmentArrayNonUniformIndexingEXT = 5310,
     CapabilityUniformTexelBufferArrayNonUniformIndexingEXT = 5311,
     CapabilityStorageTexelBufferArrayNonUniformIndexingEXT = 5312,
+    CapabilityRaytracingNVX = 5340,
+    CapabilityVulkanMemoryModelKHR = 5345,
+    CapabilityVulkanMemoryModelDeviceScopeKHR = 5346,
+    CapabilityComputeDerivativeGroupLinearNV = 5350,
     CapabilitySubgroupShuffleINTEL = 5568,
     CapabilitySubgroupBufferBlockIOINTEL = 5569,
     CapabilitySubgroupImageBlockIOINTEL = 5570,
@@ -1071,7 +1148,14 @@
     OpGroupSMaxNonUniformAMD = 5007,
     OpFragmentMaskFetchAMD = 5011,
     OpFragmentFetchAMD = 5012,
+    OpImageSampleFootprintNV = 5283,
     OpGroupNonUniformPartitionNV = 5296,
+    OpWritePackedPrimitiveIndices4x8NV = 5299,
+    OpReportIntersectionNVX = 5334,
+    OpIgnoreIntersectionNVX = 5335,
+    OpTerminateRayNVX = 5336,
+    OpTraceNVX = 5337,
+    OpTypeAccelerationStructureNVX = 5341,
     OpSubgroupShuffleINTEL = 5571,
     OpSubgroupShuffleDownINTEL = 5572,
     OpSubgroupShuffleUpINTEL = 5573,
diff --git a/SPIRV/spvIR.h b/SPIRV/spvIR.h
old mode 100755
new mode 100644
index 8b6c644..2532b17
--- a/SPIRV/spvIR.h
+++ b/SPIRV/spvIR.h
@@ -79,6 +79,11 @@
                                       MemorySemanticsAtomicCounterMemoryMask |
                                       MemorySemanticsImageMemoryMask);
 
+struct IdImmediate {
+    bool isId;      // true if word is an Id, false if word is an immediate
+    unsigned word;
+};
+
 //
 // SPIR-V IR instruction.
 //
@@ -88,8 +93,14 @@
     Instruction(Id resultId, Id typeId, Op opCode) : resultId(resultId), typeId(typeId), opCode(opCode), block(nullptr) { }
     explicit Instruction(Op opCode) : resultId(NoResult), typeId(NoType), opCode(opCode), block(nullptr) { }
     virtual ~Instruction() {}
-    void addIdOperand(Id id) { operands.push_back(id); }
-    void addImmediateOperand(unsigned int immediate) { operands.push_back(immediate); }
+    void addIdOperand(Id id) {
+        operands.push_back(id);
+        idOperand.push_back(true);
+    }
+    void addImmediateOperand(unsigned int immediate) {
+        operands.push_back(immediate);
+        idOperand.push_back(false);
+    }
     void addStringOperand(const char* str)
     {
         unsigned int word;
@@ -116,14 +127,25 @@
             addImmediateOperand(word);
         }
     }
+    bool isIdOperand(int op) const { return idOperand[op]; }
     void setBlock(Block* b) { block = b; }
     Block* getBlock() const { return block; }
     Op getOpCode() const { return opCode; }
-    int getNumOperands() const { return (int)operands.size(); }
+    int getNumOperands() const
+    {
+        assert(operands.size() == idOperand.size());
+        return (int)operands.size();
+    }
     Id getResultId() const { return resultId; }
     Id getTypeId() const { return typeId; }
-    Id getIdOperand(int op) const { return operands[op]; }
-    unsigned int getImmediateOperand(int op) const { return operands[op]; }
+    Id getIdOperand(int op) const {
+        assert(idOperand[op]);
+        return operands[op];
+    }
+    unsigned int getImmediateOperand(int op) const {
+        assert(!idOperand[op]);
+        return operands[op];
+    }
 
     // Write out the binary form.
     void dump(std::vector<unsigned int>& out) const
@@ -153,7 +175,8 @@
     Id resultId;
     Id typeId;
     Op opCode;
-    std::vector<Id> operands;
+    std::vector<Id> operands;     // operands, both <id> and immediates (both are unsigned int)
+    std::vector<bool> idOperand;  // true for operands that are <id>, false for immediates
     Block* block;
 };
 
@@ -331,7 +354,9 @@
 
     Instruction* getInstruction(Id id) const { return idToInstruction[id]; }
     const std::vector<Function*>& getFunctions() const { return functions; }
-    spv::Id getTypeId(Id resultId) const { return idToInstruction[resultId]->getTypeId(); }
+    spv::Id getTypeId(Id resultId) const {
+        return idToInstruction[resultId] == nullptr ? NoType : idToInstruction[resultId]->getTypeId();
+    }
     StorageClass getStorageClass(Id typeId) const
     {
         assert(idToInstruction[typeId]->getOpCode() == spv::OpTypePointer);
diff --git a/StandAlone/CMakeLists.txt b/StandAlone/CMakeLists.txt
old mode 100755
new mode 100644
diff --git a/StandAlone/ResourceLimits.cpp b/StandAlone/ResourceLimits.cpp
index e22ec80..66e79af 100644
--- a/StandAlone/ResourceLimits.cpp
+++ b/StandAlone/ResourceLimits.cpp
@@ -125,6 +125,16 @@
     /* .MaxCullDistances = */ 8,
     /* .MaxCombinedClipAndCullDistances = */ 8,
     /* .MaxSamples = */ 4,
+    /* .maxMeshOutputVerticesNV = */ 256,
+    /* .maxMeshOutputPrimitivesNV = */ 512,
+    /* .maxMeshWorkGroupSizeX_NV = */ 32,
+    /* .maxMeshWorkGroupSizeY_NV = */ 1,
+    /* .maxMeshWorkGroupSizeZ_NV = */ 1,
+    /* .maxTaskWorkGroupSizeX_NV = */ 32,
+    /* .maxTaskWorkGroupSizeY_NV = */ 1,
+    /* .maxTaskWorkGroupSizeZ_NV = */ 1,
+    /* .maxMeshViewCountNV = */ 4,
+
     /* .limits = */ {
         /* .nonInductiveForLoops = */ 1,
         /* .whileLoops = */ 1,
@@ -224,7 +234,17 @@
             << "MaxCullDistances "                          << DefaultTBuiltInResource.maxCullDistances << "\n"
             << "MaxCombinedClipAndCullDistances "           << DefaultTBuiltInResource.maxCombinedClipAndCullDistances << "\n"
             << "MaxSamples "                                << DefaultTBuiltInResource.maxSamples << "\n"
-
+#ifdef NV_EXTENSIONS
+            << "MaxMeshOutputVerticesNV "                   << DefaultTBuiltInResource.maxMeshOutputVerticesNV << "\n"
+            << "MaxMeshOutputPrimitivesNV "                 << DefaultTBuiltInResource.maxMeshOutputPrimitivesNV << "\n"
+            << "MaxMeshWorkGroupSizeX_NV "                  << DefaultTBuiltInResource.maxMeshWorkGroupSizeX_NV << "\n"
+            << "MaxMeshWorkGroupSizeY_NV "                  << DefaultTBuiltInResource.maxMeshWorkGroupSizeY_NV << "\n"
+            << "MaxMeshWorkGroupSizeZ_NV "                  << DefaultTBuiltInResource.maxMeshWorkGroupSizeZ_NV << "\n"
+            << "MaxTaskWorkGroupSizeX_NV "                  << DefaultTBuiltInResource.maxTaskWorkGroupSizeX_NV << "\n"
+            << "MaxTaskWorkGroupSizeY_NV "                  << DefaultTBuiltInResource.maxTaskWorkGroupSizeY_NV << "\n"
+            << "MaxTaskWorkGroupSizeZ_NV "                  << DefaultTBuiltInResource.maxTaskWorkGroupSizeZ_NV << "\n"
+            << "MaxMeshViewCountNV "                        << DefaultTBuiltInResource.maxMeshViewCountNV << "\n"
+#endif
             << "nonInductiveForLoops "                      << DefaultTBuiltInResource.limits.nonInductiveForLoops << "\n"
             << "whileLoops "                                << DefaultTBuiltInResource.limits.whileLoops << "\n"
             << "doWhileLoops "                              << DefaultTBuiltInResource.limits.doWhileLoops << "\n"
@@ -431,6 +451,26 @@
             resources->maxCombinedClipAndCullDistances = value;
         else if (tokenStr == "MaxSamples")
             resources->maxSamples = value;
+#ifdef NV_EXTENSIONS
+        else if (tokenStr == "MaxMeshOutputVerticesNV")
+            resources->maxMeshOutputVerticesNV = value;
+        else if (tokenStr == "MaxMeshOutputPrimitivesNV")
+            resources->maxMeshOutputPrimitivesNV = value;
+        else if (tokenStr == "MaxMeshWorkGroupSizeX_NV")
+            resources->maxMeshWorkGroupSizeX_NV = value;
+        else if (tokenStr == "MaxMeshWorkGroupSizeY_NV")
+            resources->maxMeshWorkGroupSizeY_NV = value;
+        else if (tokenStr == "MaxMeshWorkGroupSizeZ_NV")
+            resources->maxMeshWorkGroupSizeZ_NV = value;
+        else if (tokenStr == "MaxTaskWorkGroupSizeX_NV")
+            resources->maxTaskWorkGroupSizeX_NV = value;
+        else if (tokenStr == "MaxTaskWorkGroupSizeY_NV")
+            resources->maxTaskWorkGroupSizeY_NV = value;
+        else if (tokenStr == "MaxTaskWorkGroupSizeZ_NV")
+            resources->maxTaskWorkGroupSizeZ_NV = value;
+        else if (tokenStr == "MaxMeshViewCountNV")
+            resources->maxMeshViewCountNV = value;
+#endif
         else if (tokenStr == "nonInductiveForLoops")
             resources->limits.nonInductiveForLoops = (value != 0);
         else if (tokenStr == "whileLoops")
diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp
old mode 100755
new mode 100644
index a159bc8..fd14476
--- a/StandAlone/StandAlone.cpp
+++ b/StandAlone/StandAlone.cpp
@@ -103,6 +103,7 @@
 };
 bool targetHlslFunctionality1 = false;
 bool SpvToolsDisassembler = false;
+bool SpvToolsValidate = false;
 
 //
 // Return codes from main/exit().
@@ -243,6 +244,16 @@
         case EShLangGeometry:        name = "geom.spv";    break;
         case EShLangFragment:        name = "frag.spv";    break;
         case EShLangCompute:         name = "comp.spv";    break;
+#ifdef NV_EXTENSIONS
+        case EShLangRayGenNV:        name = "rgen.spv";    break;
+        case EShLangIntersectNV:     name = "rint.spv";    break;
+        case EShLangAnyHitNV:        name = "rahit.spv";   break;
+        case EShLangClosestHitNV:    name = "rchit.spv";   break;
+        case EShLangMissNV:          name = "rmiss.spv";   break;
+        case EShLangCallableNV:      name = "rcall.spv";   break;
+        case EShLangMeshNV:          name = "mesh.spv";    break;
+        case EShLangTaskNV:          name = "task.spv";    break;
+#endif
         default:                     name = "unknown";     break;
         }
     } else
@@ -322,7 +333,7 @@
 
     for (int lang = langMin; lang < langMax; ++lang) {
         if (!perSetBase.empty())
-            baseBindingForSet[res][lang] = perSetBase;
+            baseBindingForSet[res][lang].insert(perSetBase.begin(), perSetBase.end());
         else
             baseBinding[res][lang] = singleBase;
     }
@@ -446,6 +457,11 @@
                                 Error("--client expects vulkan100 or opengl100");
                         }
                         bumpArg();
+                    } else if (lowerword == "entry-point") {
+                        entryPointName = argv[1];
+                        if (argc <= 1)
+                            Error("no <name> provided for --entry-point");
+                        bumpArg();
                     } else if (lowerword == "flatten-uniform-arrays" || // synonyms
                                lowerword == "flatten-uniform-array"  ||
                                lowerword == "fua") {
@@ -478,8 +494,8 @@
                                lowerword == "sib") {
                         ProcessBindingBase(argc, argv, glslang::EResImage);
                     } else if (lowerword == "shift-sampler-bindings" || // synonyms
-                        lowerword == "shift-sampler-binding"  ||
-                        lowerword == "ssb") {
+                               lowerword == "shift-sampler-binding"  ||
+                               lowerword == "ssb") {
                         ProcessBindingBase(argc, argv, glslang::EResSampler);
                     } else if (lowerword == "shift-uav-bindings" ||  // synonyms
                                lowerword == "shift-uav-binding"  ||
@@ -509,6 +525,8 @@
                         break;
                     } else if (lowerword == "spirv-dis") {
                         SpvToolsDisassembler = true;
+                    } else if (lowerword == "spirv-val") {
+                        SpvToolsValidate = true;
                     } else if (lowerword == "stdin") {
                         Options |= EOptionStdin;
                         shaderStageName = argv[1];
@@ -610,8 +628,6 @@
                     Options |= EOptionDefaultDesktop;
                 break;
             case 'e':
-                // HLSL todo: entry point handle needs much more sophistication.
-                // This is okay for one compilation unit with one entry point.
                 entryPointName = argv[1];
                 if (argc <= 1)
                     Error("no <name> provided for -e");
@@ -840,7 +856,7 @@
         const auto &compUnit = *it;
         glslang::TShader* shader = new glslang::TShader(compUnit.stage);
         shader->setStringsWithLengthsAndNames(compUnit.text, NULL, compUnit.fileNameList, compUnit.count);
-        if (entryPointName) // HLSL todo: this needs to be tracked per compUnits
+        if (entryPointName)
             shader->setEntryPoint(entryPointName);
         if (sourceEntryPointName) {
             if (entryPointName == nullptr)
@@ -975,6 +991,8 @@
                         spvOptions.generateDebugInfo = true;
                     spvOptions.disableOptimizer = (Options & EOptionOptimizeDisable) != 0;
                     spvOptions.optimizeSize = (Options & EOptionOptimizeSize) != 0;
+                    spvOptions.disassemble = SpvToolsDisassembler;
+                    spvOptions.validate = SpvToolsValidate;
                     glslang::GlslangToSpv(*program.getIntermediate((EShLanguage)stage), spirv, &logger, &spvOptions);
 
                     // Dump the spv to a file or stdout, etc., but only if not doing
@@ -986,13 +1004,6 @@
                         } else {
                             glslang::OutputSpvBin(spirv, GetBinaryName((EShLanguage)stage));
                         }
-#if ENABLE_OPT
-                        if (SpvToolsDisassembler)
-                            spv::SpirvToolsDisassemble(std::cout, spirv);
-#else
-                        if (SpvToolsDisassembler)
-                            printf("SPIRV-Tools is not enabled; use -H for human readable SPIR-V\n");
-#endif
                         if (!SpvToolsDisassembler && (Options & EOptionHumanReadableSpv))
                             spv::Disassemble(std::cout, spirv);
                     }
@@ -1205,7 +1216,12 @@
 //   .geom = geometry
 //   .frag = fragment
 //   .comp = compute
-//
+//   .rgen = ray generation
+//   .rint = ray intersection
+//   .rahit = ray any hit
+//   .rchit = ray closest hit
+//   .rmiss = ray miss
+//   .rcall = ray callable
 //   Additionally, the file names may end in .<stage>.glsl and .<stage>.hlsl
 //   where <stage> is one of the stages listed above.
 //
@@ -1249,6 +1265,24 @@
         return EShLangFragment;
     else if (stageName == "comp")
         return EShLangCompute;
+#ifdef NV_EXTENSIONS
+    else if (stageName == "rgen")
+        return EShLangRayGenNV;
+    else if (stageName == "rint")
+        return EShLangIntersectNV;
+    else if (stageName == "rahit")
+        return EShLangAnyHitNV;
+    else if (stageName == "rchit")
+        return EShLangClosestHitNV;
+    else if (stageName == "rmiss")
+        return EShLangMissNV;
+    else if (stageName == "rcall")
+        return EShLangCallableNV;
+    else if (stageName == "mesh")
+        return EShLangMeshNV;
+    else if (stageName == "task")
+        return EShLangTaskNV;
+#endif
 
     usage();
     return EShLangVertex;
@@ -1318,27 +1352,37 @@
            "    .geom   for a geometry shader\n"
            "    .frag   for a fragment shader\n"
            "    .comp   for a compute shader\n"
+#ifdef NV_EXTENSIONS
+           "    .mesh   for a mesh shader\n"
+           "    .task   for a task shader\n"
+           "    .rgen    for a ray generation shader\n"
+           "    .rint    for a ray intersection shader\n"
+           "    .rahit   for a ray any hit shader\n"
+           "    .rchit   for a ray closest hit shader\n"
+           "    .rmiss   for a ray miss shader\n"
+           "    .rcall   for a ray callable shader"
+#endif
            "    .glsl   for .vert.glsl, .tesc.glsl, ..., .comp.glsl compound suffixes\n"
            "    .hlsl   for .vert.hlsl, .tesc.hlsl, ..., .comp.hlsl compound suffixes\n"
            "\n"
            "Options:\n"
            "  -C          cascading errors; risk crash from accumulation of error recoveries\n"
-           "  -D          input is HLSL (default when any suffix is .hlsl)\n"
+           "  -D          input is HLSL (this is the default when any suffix is .hlsl)\n"
            "  -D<macro=def>\n"
            "  -D<macro>   define a pre-processor macro\n"
            "  -E          print pre-processed GLSL; cannot be used with -l;\n"
-           "              errors will appear on stderr.\n"
+           "              errors will appear on stderr\n"
            "  -G[ver]     create SPIR-V binary, under OpenGL semantics; turns on -l;\n"
-           "              default file name is <stage>.spv (-o overrides this)\n"
+           "              default file name is <stage>.spv (-o overrides this);\n"
            "              'ver', when present, is the version of the input semantics,\n"
-           "              which will appear in #define GL_SPIRV ver\n"
-           "              '--client opengl100' is the same as -G100\n"
+           "              which will appear in #define GL_SPIRV ver;\n"
+           "              '--client opengl100' is the same as -G100;\n"
            "              a '--target-env' for OpenGL will also imply '-G'\n"
            "  -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"
+           "  -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"
@@ -1352,10 +1396,11 @@
            "              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 <name>   specify <name> as the entry-point name\n"
+           "  -e <name> | --entry-point <name>\n"
+           "              specify <name> as the entry-point function name\n"
            "  -f{hlsl_functionality1}\n"
            "              'hlsl_functionality1' enables use of the\n"
-           "                  SPV_GOOGLE_hlsl_functionality1 extension\n"
+           "              SPV_GOOGLE_hlsl_functionality1 extension\n"
            "  -g          generate debug information\n"
            "  -h          print this usage message\n"
            "  -i          intermediate tree (glslang AST) is printed out\n"
@@ -1363,80 +1408,82 @@
            "  -m          memory leak mode\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"
+           "  -r | --relaxed-errors"
+           "              relaxed GLSL semantic error-checking mode\n"
            "  -s          silence syntax and semantic error reporting\n"
            "  -t          multi-threaded mode\n"
-           "  -v          print version strings\n"
-           "  -w          synonym for --suppress-warnings\n"
+           "  -v | --version\n"
+           "              print version strings\n"
+           "  -w | --suppress-warnings\n"
+           "              suppress GLSL warnings, except as required by \"#extension : warn\"\n"
            "  -x          save binary output as text-based 32-bit hexadecimal numbers\n"
-           "  --auto-map-bindings                  automatically bind uniform variables\n"
-           "                                       without explicit bindings.\n"
-           "  --amb                                synonym for --auto-map-bindings\n"
-           "  --auto-map-locations                 automatically locate input/output lacking\n"
-           "                                       'location' (fragile, not cross stage)\n"
-           "  --aml                                synonym for --auto-map-locations\n"
-           "  --client {vulkan<ver>|opengl<ver>}   see -V and -G\n"
-           "  -dumpfullversion                     print bare major.minor.patchlevel\n"
-           "  -dumpversion                         same as -dumpfullversion\n"
-           "  --flatten-uniform-arrays             flatten uniform texture/sampler arrays to\n"
-           "                                       scalars\n"
-           "  --fua                                synonym for --flatten-uniform-arrays\n"
-           "  --hlsl-offsets                       Allow block offsets to follow HLSL rules\n"
-           "                                       Works independently of source language\n"
-           "  --hlsl-iomap                         Perform IO mapping in HLSL register space\n"
-           "  --hlsl-enable-16bit-types            Allow use of 16-bit types in SPIR-V for HLSL\n"
-           "  --invert-y | --iy                    invert position.Y output in vertex shader\n"
-           "  --keep-uncalled                      don't eliminate uncalled functions\n"
-           "  --ku                                 synonym for --keep-uncalled\n"
-           "  --no-storage-format                  use Unknown image format\n"
-           "  --nsf                                synonym for --no-storage-format\n"
-           "  --relaxed-errors                     relaxed GLSL semantic error-checking mode\n"
+           "  --auto-map-bindings | --amb       automatically bind uniform variables\n"
+           "                                    without explicit bindings\n"
+           "  --auto-map-locations | --aml      automatically locate input/output lacking\n"
+           "                                    'location' (fragile, not cross stage)\n"
+           "  --client {vulkan<ver>|opengl<ver>} see -V and -G\n"
+           "  -dumpfullversion | -dumpversion   print bare major.minor.patchlevel\n"
+           "  --flatten-uniform-arrays | --fua  flatten uniform texture/sampler arrays to\n"
+           "                                    scalars\n"
+           "  --hlsl-offsets                    allow block offsets to follow HLSL rules\n"
+           "                                    works independently of source language\n"
+           "  --hlsl-iomap                      perform IO mapping in HLSL register space\n"
+           "  --hlsl-enable-16bit-types         allow 16-bit types in SPIR-V for HLSL\n"
+           "  --invert-y | --iy                 invert position.Y output in vertex shader\n"
+           "  --keep-uncalled | --ku            don't eliminate uncalled functions\n"
+           "  --no-storage-format | --nsf       use Unknown image format\n"
            "  --resource-set-binding [stage] name set binding\n"
-           "              Set descriptor set and binding for individual resources\n"
+           "                                    set descriptor set and binding for\n"
+           "                                    individual resources\n"
            "  --resource-set-binding [stage] set\n"
-           "              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] [num set]... 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] [num set]... 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] [num set]... 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] [num set]... 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] [num set]... 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] [num set]... per-descriptor-set shift values\n"
-           "  --shift-cbuffer-binding [stage] num  synonym for --shift-UBO-binding\n"
-           "  --shift-cbuffer-binding [stage] [num set]... per-descriptor-set shift values\n"
-           "  --spirv-dis                          output standard form disassembly; works only\n"
-           "                                       when a SPIR-V generation option is also used\n"
-           "  --sub [stage] num                    synonym for --shift-UBO-binding\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"
+           "                                    set descriptor set for all resources\n"
+           "  --rsb                             synonym for --resource-set-binding\n"
+           "  --shift-image-binding [stage] num\n"
+           "                                    base binding number for images (uav)\n"
+           "  --shift-image-binding [stage] [num set]...\n"
+           "                                    per-descriptor-set shift values\n"
+           "  --sib                             synonym for --shift-image-binding\n"
+           "  --shift-sampler-binding [stage] num\n"
+           "                                    base binding number for samplers\n"
+           "  --shift-sampler-binding [stage] [num set]...\n"
+           "                                    per-descriptor-set shift values\n"
+           "  --ssb                             synonym for --shift-sampler-binding\n"
+           "  --shift-ssbo-binding [stage] num  base binding number for SSBOs\n"
+           "  --shift-ssbo-binding [stage] [num set]...\n"
+           "                                    per-descriptor-set shift values\n"
+           "  --sbb                             synonym for --shift-ssbo-binding\n"
+           "  --shift-texture-binding [stage] num\n"
+           "                                    base binding number for textures\n"
+           "  --shift-texture-binding [stage] [num set]...\n"
+           "                                    per-descriptor-set shift values\n"
+           "  --stb                             synonym for --shift-texture-binding\n"
+           "  --shift-uav-binding [stage] num   base binding number for UAVs\n"
+           "  --shift-uav-binding [stage] [num set]...\n"
+           "                                    per-descriptor-set shift values\n"
+           "  --suavb                           synonym for --shift-uav-binding\n"
+           "  --shift-UBO-binding [stage] num   base binding number for UBOs\n"
+           "  --shift-UBO-binding [stage] [num set]...\n"
+           "                                    per-descriptor-set shift values\n"
+           "  --sub                             synonym for --shift-UBO-binding\n"
+           "  --shift-cbuffer-binding | --scb   synonyms for --shift-UBO-binding\n"
+           "  --spirv-dis                       output standard-form disassembly; works only\n"
+           "                                    when a SPIR-V generation option is also used\n"
+           "  --spirv-val                       execute the SPIRV-Tools validator\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"
+           "                                    requires providing the shader stage using -S\n"
            "  --target-env {vulkan1.0 | vulkan1.1 | opengl} \n"
-           "                                       set execution environment that emitted code\n"
-           "                                       will execute in (as opposed to the language\n"
-           "                                       semantics selected by --client) defaults:\n"
-           "                                          'vulkan1.0' under '--client vulkan<ver>'\n"
-           "                                          'opengl' under '--client opengl<ver>'\n"
-           "  --variable-name <name>               Creates a C header file that contains a\n"
-           "                                       uint32_t array named <name>\n"
-           "                                       initialized with the shader binary code.\n"
-           "  --version                            synonym for -v\n"
-           "  --vn <name>                          synonym for --variable-name <name>\n"
+           "                                    set execution environment that emitted code\n"
+           "                                    will execute in (as opposed to the language\n"
+           "                                    semantics selected by --client) defaults:\n"
+           "                                     * 'vulkan1.0' under '--client vulkan<ver>'\n"
+           "                                     * 'opengl' under '--client opengl<ver>'\n"
+           "  --variable-name <name>\n"
+           "  --vn <name>                       creates a C header file that contains a\n"
+           "                                    uint32_t array named <name>\n"
+           "                                    initialized with the shader binary code\n"
            );
 
     exit(EFailUsage);
diff --git a/Test/110scope.vert b/Test/110scope.vert
old mode 100755
new mode 100644
diff --git a/Test/400.geom b/Test/400.geom
old mode 100755
new mode 100644
diff --git a/Test/420.comp b/Test/420.comp
old mode 100755
new mode 100644
diff --git a/Test/badMacroArgs.frag b/Test/badMacroArgs.frag
old mode 100755
new mode 100644
diff --git a/Test/baseLegalResults/hlsl.flattenSubset.frag.out b/Test/baseLegalResults/hlsl.flattenSubset.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseLegalResults/hlsl.flattenSubset2.frag.out b/Test/baseLegalResults/hlsl.flattenSubset2.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out b/Test/baseLegalResults/hlsl.partialFlattenLocal.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out b/Test/baseLegalResults/hlsl.partialFlattenMixed.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/310runtimeArray.vert.out b/Test/baseResults/310runtimeArray.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/320.comp.out b/Test/baseResults/320.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/320.frag.out b/Test/baseResults/320.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/320.geom.out b/Test/baseResults/320.geom.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/320.tesc.out b/Test/baseResults/320.tesc.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/320.tese.out b/Test/baseResults/320.tese.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/320.vert.out b/Test/baseResults/320.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/400.vert.out b/Test/baseResults/400.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/410.vert.out b/Test/baseResults/410.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/420.comp.out b/Test/baseResults/420.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/435.vert.out b/Test/baseResults/435.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/460.frag.out b/Test/baseResults/460.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/460.vert.out b/Test/baseResults/460.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/cppBad.vert.out b/Test/baseResults/cppBad.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/cppBad2.vert.out b/Test/baseResults/cppBad2.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/cppDeepNest.frag.out b/Test/baseResults/cppDeepNest.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/cppPassMacroName.frag.out b/Test/baseResults/cppPassMacroName.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/cppRelaxSkipTokensErrors.vert.out b/Test/baseResults/cppRelaxSkipTokensErrors.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/glspv.esversion.vert.out b/Test/baseResults/glspv.esversion.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/glspv.frag.out b/Test/baseResults/glspv.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/glspv.version.frag.out b/Test/baseResults/glspv.version.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/glspv.version.vert.out b/Test/baseResults/glspv.version.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/glspv.vert.out b/Test/baseResults/glspv.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.PointSize.geom.out b/Test/baseResults/hlsl.PointSize.geom.out
old mode 100755
new mode 100644
index 0d18f1f..c21008d
--- a/Test/baseResults/hlsl.PointSize.geom.out
+++ b/Test/baseResults/hlsl.PointSize.geom.out
@@ -69,6 +69,10 @@
 0:?     'ps' ( in 3-element array of uint PointSize)
 0:?     'OutputStream.ps' ( out float PointSize)
 
+error: SPIRV-Tools Validation Errors
+error: According to the Vulkan spec BuiltIn PointSize variable needs to be a 32-bit float scalar. ID <28> (OpVariable) is not a float scalar.
+  %29 = OpLoad %_arr_uint_uint_3 %ps_1
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 36
diff --git a/Test/baseResults/hlsl.PointSize.vert.out b/Test/baseResults/hlsl.PointSize.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.aliasOpaque.frag.out b/Test/baseResults/hlsl.aliasOpaque.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.amend.frag.out b/Test/baseResults/hlsl.amend.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.array.frag.out b/Test/baseResults/hlsl.array.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.assoc.frag.out b/Test/baseResults/hlsl.assoc.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.attribute.frag.out b/Test/baseResults/hlsl.attribute.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.attributeC11.frag.out b/Test/baseResults/hlsl.attributeC11.frag.out
old mode 100755
new mode 100644
index becb500..afc7466
--- a/Test/baseResults/hlsl.attributeC11.frag.out
+++ b/Test/baseResults/hlsl.attributeC11.frag.out
@@ -93,6 +93,10 @@
 0:?     '@entryPointOutput' (layout( location=7) out 4-component vector of float)
 0:?     'input' (layout( location=8) in 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Operand 2 of Decorate requires one of these capabilities: InputAttachment 
+  OpDecorate %attach InputAttachmentIndex 4
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 51
diff --git a/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out b/Test/baseResults/hlsl.attributeGlobalBuffer.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.basic.comp.out b/Test/baseResults/hlsl.basic.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.boolConv.vert.out b/Test/baseResults/hlsl.boolConv.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.buffer.frag.out b/Test/baseResults/hlsl.buffer.frag.out
old mode 100755
new mode 100644
index 8d2c514..4528d98
--- a/Test/baseResults/hlsl.buffer.frag.out
+++ b/Test/baseResults/hlsl.buffer.frag.out
@@ -145,6 +145,10 @@
 0:?     '@entryPointOutput.a' (layout( location=0) out 4-component vector of float)
 0:?     'input' ( in 4-component vector of float FragCoord)
 
+error: SPIRV-Tools Validation Errors
+error: Structure id 50 decorated as BufferBlock for variable in Uniform storage class must follow standard storage buffer layout rules: member 7 at offset 128 overlaps previous member ending at offset 171
+  %tbufName = OpTypeStruct %v4float %int %float %float %float %float %float %float %mat3v4float %mat3v4float %mat3v4float %mat3v4float
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 73
diff --git a/Test/baseResults/hlsl.cast.frag.out b/Test/baseResults/hlsl.cast.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.cbuffer-identifier.vert.out b/Test/baseResults/hlsl.cbuffer-identifier.vert.out
index 6142ca0..f7225f8 100644
--- a/Test/baseResults/hlsl.cbuffer-identifier.vert.out
+++ b/Test/baseResults/hlsl.cbuffer-identifier.vert.out
@@ -251,12 +251,12 @@
 
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 106
+// Id's are bound by 93
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Vertex 4  "main" 87 91 99 103
+                              EntryPoint Vertex 4  "main" 74 78 86 90
                               Source HLSL 500
                               Name 4  "main"
                               Name 9  "VS_INPUT"
@@ -274,13 +274,13 @@
                               MemberName 28(C) 1  "View"
                               MemberName 28(C) 2  "Projection"
                               Name 30  ""
-                              Name 85  "input"
-                              Name 87  "input.Pos"
-                              Name 91  "input.Norm"
-                              Name 94  "flattenTemp"
-                              Name 95  "param"
-                              Name 99  "@entryPointOutput.Pos"
-                              Name 103  "@entryPointOutput.Norm"
+                              Name 72  "input"
+                              Name 74  "input.Pos"
+                              Name 78  "input.Norm"
+                              Name 81  "flattenTemp"
+                              Name 82  "param"
+                              Name 86  "@entryPointOutput.Pos"
+                              Name 90  "@entryPointOutput.Norm"
                               MemberDecorate 28(C) 0 RowMajor
                               MemberDecorate 28(C) 0 Offset 0
                               MemberDecorate 28(C) 0 MatrixStride 16
@@ -293,10 +293,10 @@
                               Decorate 28(C) Block
                               Decorate 30 DescriptorSet 0
                               Decorate 30 Binding 0
-                              Decorate 87(input.Pos) Location 0
-                              Decorate 91(input.Norm) Location 1
-                              Decorate 99(@entryPointOutput.Pos) BuiltIn Position
-                              Decorate 103(@entryPointOutput.Norm) Location 0
+                              Decorate 74(input.Pos) Location 0
+                              Decorate 78(input.Norm) Location 1
+                              Decorate 86(@entryPointOutput.Pos) BuiltIn Position
+                              Decorate 90(@entryPointOutput.Norm) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -324,37 +324,36 @@
               39:     16(int) Constant 1
               46:     16(int) Constant 2
               55:             TypeMatrix 7(fvec4) 3
-              56:    6(float) Constant 1065353216
-              73:             TypePointer Function 8(fvec3)
-              86:             TypePointer Input 7(fvec4)
-   87(input.Pos):     86(ptr) Variable Input
-              90:             TypePointer Input 8(fvec3)
-  91(input.Norm):     90(ptr) Variable Input
-              98:             TypePointer Output 7(fvec4)
-99(@entryPointOutput.Pos):     98(ptr) Variable Output
-             102:             TypePointer Output 8(fvec3)
-103(@entryPointOutput.Norm):    102(ptr) Variable Output
+              60:             TypePointer Function 8(fvec3)
+              73:             TypePointer Input 7(fvec4)
+   74(input.Pos):     73(ptr) Variable Input
+              77:             TypePointer Input 8(fvec3)
+  78(input.Norm):     77(ptr) Variable Input
+              85:             TypePointer Output 7(fvec4)
+86(@entryPointOutput.Pos):     85(ptr) Variable Output
+              89:             TypePointer Output 8(fvec3)
+90(@entryPointOutput.Norm):     89(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-       85(input):     10(ptr) Variable Function
- 94(flattenTemp):     20(ptr) Variable Function
-       95(param):     10(ptr) Variable Function
-              88:    7(fvec4) Load 87(input.Pos)
-              89:     34(ptr) AccessChain 85(input) 26
-                              Store 89 88
-              92:    8(fvec3) Load 91(input.Norm)
-              93:     73(ptr) AccessChain 85(input) 39
-                              Store 93 92
-              96: 9(VS_INPUT) Load 85(input)
-                              Store 95(param) 96
-              97:11(PS_INPUT) FunctionCall 14(@main(struct-VS_INPUT-vf4-vf31;) 95(param)
-                              Store 94(flattenTemp) 97
-             100:     34(ptr) AccessChain 94(flattenTemp) 26
-             101:    7(fvec4) Load 100
-                              Store 99(@entryPointOutput.Pos) 101
-             104:     73(ptr) AccessChain 94(flattenTemp) 39
-             105:    8(fvec3) Load 104
-                              Store 103(@entryPointOutput.Norm) 105
+       72(input):     10(ptr) Variable Function
+ 81(flattenTemp):     20(ptr) Variable Function
+       82(param):     10(ptr) Variable Function
+              75:    7(fvec4) Load 74(input.Pos)
+              76:     34(ptr) AccessChain 72(input) 26
+                              Store 76 75
+              79:    8(fvec3) Load 78(input.Norm)
+              80:     60(ptr) AccessChain 72(input) 39
+                              Store 80 79
+              83: 9(VS_INPUT) Load 72(input)
+                              Store 82(param) 83
+              84:11(PS_INPUT) FunctionCall 14(@main(struct-VS_INPUT-vf4-vf31;) 82(param)
+                              Store 81(flattenTemp) 84
+              87:     34(ptr) AccessChain 81(flattenTemp) 26
+              88:    7(fvec4) Load 87
+                              Store 86(@entryPointOutput.Pos) 88
+              91:     60(ptr) AccessChain 81(flattenTemp) 39
+              92:    8(fvec3) Load 91
+                              Store 90(@entryPointOutput.Norm) 92
                               Return
                               FunctionEnd
 14(@main(struct-VS_INPUT-vf4-vf31;):11(PS_INPUT) Function None 12
@@ -387,31 +386,19 @@
                               Store 52 51
               53:     31(ptr) AccessChain 30 26
               54:          27 Load 53
-              57:    6(float) CompositeExtract 54 0 0
-              58:    6(float) CompositeExtract 54 0 1
-              59:    6(float) CompositeExtract 54 0 2
-              60:    6(float) CompositeExtract 54 0 3
-              61:    6(float) CompositeExtract 54 1 0
-              62:    6(float) CompositeExtract 54 1 1
-              63:    6(float) CompositeExtract 54 1 2
-              64:    6(float) CompositeExtract 54 1 3
-              65:    6(float) CompositeExtract 54 2 0
-              66:    6(float) CompositeExtract 54 2 1
-              67:    6(float) CompositeExtract 54 2 2
-              68:    6(float) CompositeExtract 54 2 3
-              69:    7(fvec4) CompositeConstruct 57 58 59 60
-              70:    7(fvec4) CompositeConstruct 61 62 63 64
-              71:    7(fvec4) CompositeConstruct 65 66 67 68
-              72:          55 CompositeConstruct 69 70 71
-              74:     73(ptr) AccessChain 13(input) 39
-              75:    8(fvec3) Load 74
-              76:    7(fvec4) MatrixTimesVector 72 75
-              77:    6(float) CompositeExtract 76 0
-              78:    6(float) CompositeExtract 76 1
-              79:    6(float) CompositeExtract 76 2
-              80:    8(fvec3) CompositeConstruct 77 78 79
-              81:     73(ptr) AccessChain 21(output) 39
-                              Store 81 80
-              82:11(PS_INPUT) Load 21(output)
-                              ReturnValue 82
+              56:    7(fvec4) CompositeExtract 54 0
+              57:    7(fvec4) CompositeExtract 54 1
+              58:    7(fvec4) CompositeExtract 54 2
+              59:          55 CompositeConstruct 56 57 58
+              61:     60(ptr) AccessChain 13(input) 39
+              62:    8(fvec3) Load 61
+              63:    7(fvec4) MatrixTimesVector 59 62
+              64:    6(float) CompositeExtract 63 0
+              65:    6(float) CompositeExtract 63 1
+              66:    6(float) CompositeExtract 63 2
+              67:    8(fvec3) CompositeConstruct 64 65 66
+              68:     60(ptr) AccessChain 21(output) 39
+                              Store 68 67
+              69:11(PS_INPUT) Load 21(output)
+                              ReturnValue 69
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.charLit.vert.out b/Test/baseResults/hlsl.charLit.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.conditional.frag.out b/Test/baseResults/hlsl.conditional.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.constantbuffer.frag.out b/Test/baseResults/hlsl.constantbuffer.frag.out
index 4b5c6b1..4185ea9 100644
--- a/Test/baseResults/hlsl.constantbuffer.frag.out
+++ b/Test/baseResults/hlsl.constantbuffer.frag.out
@@ -131,6 +131,10 @@
 0:?     'anon@0' (layout( row_major std140) uniform block{layout( row_major std140) uniform int c1})
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Only a single level of array is allowed for descriptor set variables
+  %cb3_0 = OpVariable %_ptr_Uniform__arr__arr_cb3_uint_4_uint_2 Uniform
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 66
diff --git a/Test/baseResults/hlsl.constructArray.vert.out b/Test/baseResults/hlsl.constructArray.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.constructimat.frag.out b/Test/baseResults/hlsl.constructimat.frag.out
index c36ff6d..e88c3d8 100644
--- a/Test/baseResults/hlsl.constructimat.frag.out
+++ b/Test/baseResults/hlsl.constructimat.frag.out
@@ -543,6 +543,10 @@
 0:?   Linker Objects
 0:?     '@entryPointOutput' (layout( location=0) out int)
 
+error: SPIRV-Tools Validation Errors
+error: Matrix types can only be parameterized with floating-point types.
+  %mat4v4int = OpTypeMatrix %v4int 4
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 98
diff --git a/Test/baseResults/hlsl.coverage.frag.out b/Test/baseResults/hlsl.coverage.frag.out
index 8afc59a..bea2fc0 100644
--- a/Test/baseResults/hlsl.coverage.frag.out
+++ b/Test/baseResults/hlsl.coverage.frag.out
@@ -117,6 +117,10 @@
 0:?     '@entryPointOutput.nCoverageMask' ( out 1-element array of uint SampleMaskIn)
 0:?     '@entryPointOutput.vColor' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Input variable id <34> is used by entry point 'main' id <4>, but is not listed as an interface
+  %i_1 = OpVariable %_ptr_Input_PS_INPUT Input
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 52
diff --git a/Test/baseResults/hlsl.depthGreater.frag.out b/Test/baseResults/hlsl.depthGreater.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.depthLess.frag.out b/Test/baseResults/hlsl.depthLess.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.discard.frag.out b/Test/baseResults/hlsl.discard.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.doLoop.frag.out b/Test/baseResults/hlsl.doLoop.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.emptystructreturn.frag.out b/Test/baseResults/hlsl.emptystructreturn.frag.out
index 8c8b62b..34a635c 100644
--- a/Test/baseResults/hlsl.emptystructreturn.frag.out
+++ b/Test/baseResults/hlsl.emptystructreturn.frag.out
@@ -49,6 +49,10 @@
 0:?             'i' ( temp structure{})
 0:?   Linker Objects
 
+error: SPIRV-Tools Validation Errors
+error: Input variable id <20> is used by entry point 'main' id <4>, but is not listed as an interface
+  %i_1 = OpVariable %_ptr_Input_ps_in Input
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 27
diff --git a/Test/baseResults/hlsl.emptystructreturn.vert.out b/Test/baseResults/hlsl.emptystructreturn.vert.out
index b2aaf5e..6170458 100644
--- a/Test/baseResults/hlsl.emptystructreturn.vert.out
+++ b/Test/baseResults/hlsl.emptystructreturn.vert.out
@@ -47,6 +47,10 @@
 0:?             'i' ( temp structure{})
 0:?   Linker Objects
 
+error: SPIRV-Tools Validation Errors
+error: Input variable id <20> is used by entry point 'main' id <4>, but is not listed as an interface
+  %i_1 = OpVariable %_ptr_Input_vs_in Input
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 27
diff --git a/Test/baseResults/hlsl.entry-in.frag.out b/Test/baseResults/hlsl.entry-in.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.entry-out.frag.out b/Test/baseResults/hlsl.entry-out.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.flattenOpaque.frag.out b/Test/baseResults/hlsl.flattenOpaque.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.flattenOpaqueInit.vert.out b/Test/baseResults/hlsl.flattenOpaqueInit.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out b/Test/baseResults/hlsl.flattenOpaqueInitMix.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.flattenSubset.frag.out b/Test/baseResults/hlsl.flattenSubset.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.flattenSubset2.frag.out b/Test/baseResults/hlsl.flattenSubset2.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.float1.frag.out b/Test/baseResults/hlsl.float1.frag.out
old mode 100755
new mode 100644
index 7862123..31febfd
--- a/Test/baseResults/hlsl.float1.frag.out
+++ b/Test/baseResults/hlsl.float1.frag.out
@@ -64,6 +64,10 @@
 0:?     'f1' ( global 1-component vector of float)
 0:?     'scalar' ( global float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected int scalar or vector type as Result Type: IMul
+  %20 = OpIMul %float %18 %19
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 27
diff --git a/Test/baseResults/hlsl.float4.frag.out b/Test/baseResults/hlsl.float4.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.forLoop.frag.out b/Test/baseResults/hlsl.forLoop.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.function.frag.out b/Test/baseResults/hlsl.function.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
index 49fda31..33c9af4 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offset.dx10.frag.out
@@ -1261,6 +1261,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image Operand ConstOffsets to be a const object
+  %90 = OpImageGather %v4float %76 %78 %int_0 ConstOffsets %89
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 399
diff --git a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
index 9de1a97..22b02e7 100644
--- a/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.gatherRGBA.offsetarray.dx10.frag.out
@@ -1253,6 +1253,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image Operand ConstOffsets to be a const object
+  %90 = OpImageGather %v4float %76 %78 %int_0 ConstOffsets %89
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 389
diff --git a/Test/baseResults/hlsl.hull.3.tesc.out b/Test/baseResults/hlsl.hull.3.tesc.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.if.frag.out b/Test/baseResults/hlsl.if.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.implicitBool.frag.out b/Test/baseResults/hlsl.implicitBool.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.include.vert.out b/Test/baseResults/hlsl.include.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.includeNegative.vert.out b/Test/baseResults/hlsl.includeNegative.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.inf.vert.out b/Test/baseResults/hlsl.inf.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.init.frag.out b/Test/baseResults/hlsl.init.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.intrinsics.comp.out b/Test/baseResults/hlsl.intrinsics.comp.out
index a5b543c..5058f23 100644
--- a/Test/baseResults/hlsl.intrinsics.comp.out
+++ b/Test/baseResults/hlsl.intrinsics.comp.out
@@ -715,6 +715,10 @@
 0:?     'inU0' (layout( location=3) in 4-component vector of uint)
 0:?     'inU1' (layout( location=4) in 4-component vector of uint)
 
+error: SPIRV-Tools Validation Errors
+error: Expected operand to be vector bool: All
+  %64 = OpAll %bool %63
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 265
diff --git a/Test/baseResults/hlsl.intrinsics.evalfns.frag.out b/Test/baseResults/hlsl.intrinsics.evalfns.frag.out
index e786562..4fd1e7b 100644
--- a/Test/baseResults/hlsl.intrinsics.evalfns.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.evalfns.frag.out
@@ -153,6 +153,10 @@
 0:?     'inF4' (layout( location=3) in 4-component vector of float)
 0:?     'inI2' (layout( location=4) flat in 2-component vector of int)
 
+error: SPIRV-Tools Validation Errors
+error: GLSL.std.450 InterpolateAtOffset: expected Interpolant storage class to be Input
+  %28 = OpExtInst %float %1 InterpolateAtOffset %inF1 %27
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 80
diff --git a/Test/baseResults/hlsl.intrinsics.frag.out b/Test/baseResults/hlsl.intrinsics.frag.out
index b7d7139..20d2bb0 100644
--- a/Test/baseResults/hlsl.intrinsics.frag.out
+++ b/Test/baseResults/hlsl.intrinsics.frag.out
@@ -142,1110 +142,1104 @@
 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          'r027' ( temp float)
-0:48          exp ( temp float)
-0:48            'inF0' ( in float)
+0:45      Sequence
+0:45        move second child to first child ( temp float)
+0:45          'r024' ( temp float)
+0:45          distance ( temp float)
+0:45            'inF0' ( in float)
+0:45            'inF1' ( in float)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
-0:49          'r028' ( temp float)
-0:49          exp2 ( temp float)
+0:49          'r027' ( temp float)
+0:49          exp ( temp float)
 0:49            'inF0' ( in float)
 0:50      Sequence
-0:50        move second child to first child ( temp uint)
-0:50          'r029' ( temp uint)
-0:50          Convert int to uint ( temp uint)
-0:50            findMSB ( temp int)
-0:50              Constant:
-0:50                7 (const int)
+0:50        move second child to first child ( temp float)
+0:50          'r028' ( temp float)
+0:50          exp2 ( temp float)
+0:50            'inF0' ( in float)
 0:51      Sequence
 0:51        move second child to first child ( temp uint)
-0:51          'r030' ( temp uint)
+0:51          'r029' ( temp uint)
 0:51          Convert int to uint ( temp uint)
-0:51            findLSB ( temp int)
+0:51            findMSB ( 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          'r033' ( temp float)
-0:54          mod ( temp float)
-0:54            'inF0' ( in float)
-0:54            'inF1' ( in float)
+0:52        move second child to first child ( temp uint)
+0:52          'r030' ( temp uint)
+0:52          Convert int to uint ( temp uint)
+0:52            findLSB ( temp int)
+0:52              Constant:
+0:52                7 (const int)
+0:53      Sequence
+0:53        move second child to first child ( temp float)
+0:53          'r031' ( temp float)
+0:53          Floor ( temp float)
+0:53            'inF0' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r034' ( temp float)
-0:55          Fraction ( temp float)
+0:55          'r033' ( temp float)
+0:55          mod ( temp float)
 0:55            'inF0' ( in float)
+0:55            'inF1' ( in float)
 0:56      Sequence
 0:56        move second child to first child ( temp float)
-0:56          'r036' ( temp float)
-0:56          fwidth ( temp float)
+0:56          'r034' ( temp float)
+0:56          Fraction ( temp float)
 0:56            'inF0' ( in float)
 0:57      Sequence
-0:57        move second child to first child ( temp bool)
-0:57          'r037' ( temp bool)
-0:57          isinf ( temp bool)
+0:57        move second child to first child ( temp float)
+0:57          'r036' ( temp float)
+0:57          fwidth ( temp float)
 0:57            'inF0' ( in float)
 0:58      Sequence
 0:58        move second child to first child ( temp bool)
-0:58          'r038' ( temp bool)
-0:58          isnan ( temp bool)
+0:58          'r037' ( temp bool)
+0:58          isinf ( temp bool)
 0:58            'inF0' ( in float)
 0:59      Sequence
-0:59        move second child to first child ( temp float)
-0:59          'r039' ( temp float)
-0:59          ldexp ( temp float)
+0:59        move second child to first child ( temp bool)
+0:59          'r038' ( temp bool)
+0:59          isnan ( temp bool)
 0:59            'inF0' ( in float)
-0:59            'inF1' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r039a' ( temp float)
-0:60          mix ( temp float)
+0:60          'r039' ( temp float)
+0:60          ldexp ( temp float)
 0:60            'inF0' ( in float)
 0:60            'inF1' ( in float)
-0:60            'inF2' ( in float)
 0:61      Sequence
 0:61        move second child to first child ( temp float)
-0:61          'r040' ( temp float)
-0:61          log ( temp float)
+0:61          'r039a' ( temp float)
+0:61          mix ( temp float)
 0:61            'inF0' ( in float)
+0:61            'inF1' ( in float)
+0:61            'inF2' ( in float)
 0:62      Sequence
 0:62        move second child to first child ( temp 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:62          'r040' ( temp float)
+0:62          log ( temp float)
+0:62            'inF0' ( in float)
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r042' ( temp float)
-0:63          log2 ( temp float)
-0:63            'inF0' ( in float)
+0:63          'r041' ( temp float)
+0:63          component-wise multiply ( temp float)
+0:63            log2 ( temp float)
+0:63              'inF0' ( in float)
+0:63            Constant:
+0:63              0.301030
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r043' ( temp float)
-0:64          max ( temp float)
+0:64          'r042' ( temp float)
+0:64          log2 ( temp float)
 0:64            'inF0' ( in float)
-0:64            'inF1' ( in float)
 0:65      Sequence
 0:65        move second child to first child ( temp float)
-0:65          'r044' ( temp float)
-0:65          min ( temp float)
+0:65          'r043' ( temp float)
+0:65          max ( temp float)
 0:65            'inF0' ( in float)
 0:65            'inF1' ( in float)
 0:66      Sequence
 0:66        move second child to first child ( temp float)
-0:66          'r045' ( temp float)
-0:66          pow ( temp float)
+0:66          'r044' ( temp float)
+0:66          min ( temp float)
 0:66            'inF0' ( in float)
 0:66            'inF1' ( in float)
 0:67      Sequence
 0:67        move second child to first child ( temp float)
-0:67          'r046' ( temp float)
-0:67          radians ( temp float)
+0:67          'r045' ( temp float)
+0:67          pow ( temp float)
 0:67            'inF0' ( in float)
+0:67            'inF1' ( in float)
 0:68      Sequence
 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          'r046' ( temp float)
+0:68          radians ( temp float)
 0:68            'inF0' ( in float)
 0:69      Sequence
-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:69        move second child to first child ( temp float)
+0:69          'r047' ( temp float)
+0:69          divide ( temp float)
+0:69            Constant:
+0:69              1.000000
+0:69            'inF0' ( in float)
 0:70      Sequence
-0:70        move second child to first child ( temp float)
-0:70          'r049' ( temp float)
-0:70          roundEven ( temp float)
-0:70            'inF0' ( in float)
+0:70        move second child to first child ( temp uint)
+0:70          'r048' ( temp uint)
+0:70          Convert int to uint ( temp uint)
+0:70            bitFieldReverse ( temp int)
+0:70              Constant:
+0:70                2 (const int)
 0:71      Sequence
 0:71        move second child to first child ( temp float)
-0:71          'r050' ( temp float)
-0:71          inverse sqrt ( temp float)
+0:71          'r049' ( temp float)
+0:71          roundEven ( temp float)
 0:71            'inF0' ( in float)
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r051' ( temp float)
-0:72          clamp ( temp float)
+0:72          'r050' ( temp float)
+0:72          inverse sqrt ( 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          'r052' ( temp float)
-0:73          Sign ( temp float)
+0:73          'r051' ( temp float)
+0:73          clamp ( temp float)
 0:73            'inF0' ( in float)
+0:73            Constant:
+0:73              0.000000
+0:73            Constant:
+0:73              1.000000
 0:74      Sequence
 0:74        move second child to first child ( temp float)
-0:74          'r053' ( temp float)
-0:74          sine ( temp float)
+0:74          'r052' ( temp float)
+0:74          Sign ( temp float)
 0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'inF1' ( in float)
+0:75          'r053' ( temp 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          'r055' ( temp float)
-0:76          hyp. sine ( temp float)
+0:76          'inF1' ( in float)
+0:76          sine ( temp float)
+0:76            'inF0' ( in float)
+0:76        move second child to first child ( temp float)
+0:76          'inF2' ( in float)
+0:76          cosine ( temp float)
 0:76            'inF0' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r056' ( temp float)
-0:77          smoothstep ( temp float)
+0:77          'r055' ( temp float)
+0:77          hyp. sine ( temp float)
 0:77            'inF0' ( in float)
-0:77            'inF1' ( in float)
-0:77            'inF2' ( in float)
 0:78      Sequence
 0:78        move second child to first child ( temp float)
-0:78          'r057' ( temp float)
-0:78          sqrt ( temp float)
+0:78          'r056' ( temp float)
+0:78          smoothstep ( temp float)
 0:78            'inF0' ( in float)
+0:78            'inF1' ( in float)
+0:78            'inF2' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r058' ( temp float)
-0:79          step ( temp float)
+0:79          'r057' ( temp float)
+0:79          sqrt ( temp float)
 0:79            'inF0' ( in float)
-0:79            'inF1' ( in float)
 0:80      Sequence
 0:80        move second child to first child ( temp float)
-0:80          'r059' ( temp float)
-0:80          tangent ( temp float)
+0:80          'r058' ( temp float)
+0:80          step ( temp float)
 0:80            'inF0' ( in float)
+0:80            'inF1' ( in 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          'r059' ( temp float)
+0:81          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:82      Sequence
+0:82        move second child to first child ( temp float)
+0:82          'r060' ( temp float)
+0:82          hyp. tangent ( temp float)
+0:82            'inF0' ( in float)
+0:84      Sequence
+0:84        move second child to first child ( temp float)
+0:84          'r061' ( temp float)
+0:84          trunc ( temp float)
+0:84            'inF0' ( in float)
+0:86      Branch: Return with expression
+0:86        Constant:
+0:86          0.000000
+0:90  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:90    Function Parameters: 
+0:90      'inF0' ( in 1-component vector of float)
+0:90      'inF1' ( in 1-component vector of float)
+0:90      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-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:92      Branch: Return with expression
+0:92        Constant:
+0:92          0.000000
+0:96  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:96    Function Parameters: 
+0:96      'inF0' ( in 2-component vector of float)
+0:96      'inF1' ( in 2-component vector of float)
+0:96      'inF2' ( in 2-component vector of float)
+0:96      'inU0' ( in 2-component vector of uint)
+0:96      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:98      Sequence
-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          '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:99        move second child to first child ( temp bool)
+0:99          'r000' ( temp bool)
+0:99          all ( temp bool)
+0:99            Convert float to bool ( temp 2-component vector of bool)
+0:99              'inF0' ( in 2-component vector of float)
 0:100      Sequence
 0:100        move second child to first child ( temp 2-component vector of float)
-0:100          'r002' ( temp 2-component vector of float)
-0:100          arc cosine ( temp 2-component vector of float)
+0:100          'r001' ( temp 2-component vector of float)
+0:100          Absolute value ( temp 2-component vector of float)
 0:100            'inF0' ( in 2-component vector of float)
 0:101      Sequence
-0:101        move second child to first child ( temp bool)
-0:101          'r003' ( temp bool)
-0:101          any ( temp bool)
-0:101            Convert float to bool ( temp 2-component vector of bool)
-0:101              'inF0' ( in 2-component vector of float)
+0:101        move second child to first child ( temp 2-component vector of float)
+0:101          'r002' ( temp 2-component vector of float)
+0:101          arc cosine ( temp 2-component vector of float)
+0:101            'inF0' ( in 2-component vector of float)
 0:102      Sequence
-0:102        move second child to first child ( temp 2-component vector of float)
-0:102          'r004' ( temp 2-component vector of float)
-0:102          arc sine ( temp 2-component vector of float)
-0:102            'inF0' ( in 2-component vector of float)
+0:102        move second child to first child ( temp bool)
+0:102          'r003' ( temp bool)
+0:102          any ( temp bool)
+0:102            Convert float to bool ( temp 2-component vector of bool)
+0:102              'inF0' ( in 2-component vector of float)
 0:103      Sequence
-0:103        move second child to first child ( temp 2-component vector of int)
-0:103          'r005' ( temp 2-component vector of int)
-0:103          floatBitsToInt ( temp 2-component vector of int)
+0:103        move second child to first child ( temp 2-component vector of float)
+0:103          'r004' ( temp 2-component vector of float)
+0:103          arc sine ( temp 2-component vector of float)
 0:103            'inF0' ( in 2-component vector of float)
 0:104      Sequence
-0:104        move second child to first child ( temp 2-component vector of uint)
-0:104          'r006' ( temp 2-component vector of uint)
-0:104          floatBitsToUint ( temp 2-component vector of uint)
+0:104        move second child to first child ( temp 2-component vector of int)
+0:104          'r005' ( temp 2-component vector of int)
+0:104          floatBitsToInt ( temp 2-component vector of int)
 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          '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:105        move second child to first child ( temp 2-component vector of uint)
+0:105          'r006' ( temp 2-component vector of uint)
+0:105          floatBitsToUint ( temp 2-component vector of uint)
+0:105            'inF0' ( in 2-component vector of float)
+0:106      Sequence
+0:106        move second child to first child ( temp 2-component vector of float)
+0:106          'r007' ( temp 2-component vector of float)
+0:106          intBitsToFloat ( temp 2-component vector of float)
+0:106            'inU0' ( in 2-component vector of uint)
 0:108      Sequence
 0:108        move second child to first child ( temp 2-component vector of float)
-0:108          'r010' ( temp 2-component vector of float)
+0:108          'r009' ( 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          'r011' ( temp 2-component vector of float)
-0:109          Ceiling ( temp 2-component vector of float)
+0:109          'r010' ( temp 2-component vector of float)
+0:109          arc tangent ( 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: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          'r011' ( temp 2-component vector of float)
+0:110          Ceiling ( temp 2-component vector of float)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            'inF1' ( in 2-component vector of float)
-0:110            'inF2' ( in 2-component vector of float)
-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      Sequence
+0:111        move second child to first child ( temp 2-component vector of float)
+0:111          'r012' ( temp 2-component vector of float)
+0:111          clamp ( temp 2-component vector of float)
 0:111            '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:111            'inF1' ( in 2-component vector of float)
+0:111            'inF2' ( in 2-component vector of float)
 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            'inF0' ( in 2-component vector of float)
 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 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:113      Test condition and select ( temp void)
+0:113        Condition
+0:113        any ( temp bool)
+0:113          Compare Less Than ( temp 2-component vector of bool)
+0:113            'inU0' ( in 2-component vector of uint)
+0:113            Constant:
+0:113              0.000000
+0:113              0.000000
+0:113        true case
+0:113        Branch: Kill
 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          'r013' ( temp 2-component vector of float)
+0:114          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:115        move second child to first child ( temp 2-component vector of float)
+0:115          'r015' ( temp 2-component vector of float)
+0:115          hyp. cosine ( 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 int)
+0:116          '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:116      Sequence
-0:116        move second child to first child ( 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          'r018' ( temp 2-component vector of float)
-0:117          dPdxCoarse ( temp 2-component vector of float)
+0:117          'r017' ( temp 2-component vector of float)
+0:117          dPdx ( 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          'r019' ( temp 2-component vector of float)
-0:118          dPdxFine ( temp 2-component vector of float)
+0:118          'r018' ( temp 2-component vector of float)
+0:118          dPdxCoarse ( 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          'r020' ( temp 2-component vector of float)
-0:119          dPdy ( temp 2-component vector of float)
+0:119          'r019' ( temp 2-component vector of float)
+0:119          dPdxFine ( 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          'r021' ( temp 2-component vector of float)
-0:120          dPdyCoarse ( temp 2-component vector of float)
+0:120          'r020' ( temp 2-component vector of float)
+0:120          dPdy ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
 0:121      Sequence
 0:121        move second child to first child ( temp 2-component vector of float)
-0:121          'r022' ( temp 2-component vector of float)
-0:121          dPdyFine ( temp 2-component vector of float)
+0:121          'r021' ( temp 2-component vector of float)
+0:121          dPdyCoarse ( 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          'r022' ( temp 2-component vector of float)
+0:122          dPdyFine ( 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:123      Sequence
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'r023' ( temp 2-component vector of float)
+0:123          degrees ( temp 2-component vector of float)
+0:123            'inF0' ( 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          'r026' ( temp float)
+0:127          distance ( 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          '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:128      Sequence
+0:128        move second child to first child ( temp float)
+0:128          'r027' ( temp float)
+0:128          dot-product ( temp float)
+0:128            'inF0' ( in 2-component vector of float)
+0:128            'inF1' ( in 2-component vector of float)
 0:132      Sequence
 0:132        move second child to first child ( temp 2-component vector of float)
-0:132          'r029' ( temp 2-component vector of float)
-0:132          exp2 ( temp 2-component vector of float)
+0:132          'r028' ( temp 2-component vector of float)
+0:132          exp ( 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          'r029' ( temp 2-component vector of float)
+0:133          exp2 ( 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:134        move second child to first child ( temp 2-component vector of float)
+0:134          'r030' ( temp 2-component vector of float)
+0:134          face-forward ( temp 2-component vector of float)
+0:134            'inF0' ( in 2-component vector of float)
+0:134            'inF1' ( in 2-component vector of float)
+0:134            'inF2' ( in 2-component vector of float)
+0:135      Sequence
+0:135        move second child to first child ( temp 2-component vector of uint)
+0:135          '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: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:136      Sequence
+0:136        move second child to first child ( temp 2-component vector of uint)
+0:136          '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:136      Sequence
-0:136        move second child to first child ( 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:138      Sequence
-0:138        move second child to first child ( 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:137      Sequence
+0:137        move second child to first child ( temp 2-component vector of float)
+0:137          'r033' ( temp 2-component vector of float)
+0:137          Floor ( temp 2-component vector of float)
+0:137            'inF0' ( in 2-component vector of float)
 0:139      Sequence
 0:139        move second child to first child ( temp 2-component vector of float)
-0:139          'r036' ( temp 2-component vector of float)
-0:139          Fraction ( temp 2-component vector of float)
+0:139          'r035' ( temp 2-component vector of float)
+0:139          mod ( temp 2-component vector of float)
 0:139            'inF0' ( in 2-component vector of float)
+0:139            'inF1' ( in 2-component vector of float)
 0:140      Sequence
 0:140        move second child to first child ( temp 2-component vector of float)
-0:140          'r038' ( temp 2-component vector of float)
-0:140          fwidth ( temp 2-component vector of float)
+0:140          'r036' ( temp 2-component vector of float)
+0:140          Fraction ( temp 2-component vector of float)
 0:140            'inF0' ( in 2-component vector of float)
 0:141      Sequence
-0:141        move second child to first child ( temp 2-component vector of bool)
-0:141          'r039' ( temp 2-component vector of bool)
-0:141          isinf ( temp 2-component vector of bool)
+0:141        move second child to first child ( temp 2-component vector of float)
+0:141          'r038' ( temp 2-component vector of float)
+0:141          fwidth ( temp 2-component vector of float)
 0:141            'inF0' ( in 2-component vector of float)
 0:142      Sequence
 0:142        move second child to first child ( temp 2-component vector of bool)
-0:142          'r040' ( temp 2-component vector of bool)
-0:142          isnan ( temp 2-component vector of bool)
+0:142          'r039' ( temp 2-component vector of bool)
+0:142          isinf ( temp 2-component vector of bool)
 0:142            'inF0' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp 2-component vector of float)
-0:143          'r041' ( temp 2-component vector of float)
-0:143          ldexp ( temp 2-component vector of float)
+0:143        move second child to first child ( temp 2-component vector of bool)
+0:143          'r040' ( temp 2-component vector of bool)
+0:143          isnan ( temp 2-component vector of bool)
 0:143            'inF0' ( in 2-component vector of float)
-0:143            'inF1' ( in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child ( temp 2-component vector of float)
-0:144          'r039a' ( temp 2-component vector of float)
-0:144          mix ( temp 2-component vector of float)
+0:144          'r041' ( temp 2-component vector of float)
+0:144          ldexp ( temp 2-component vector of float)
 0:144            'inF0' ( in 2-component vector of float)
 0:144            'inF1' ( in 2-component vector of float)
-0:144            'inF2' ( in 2-component vector of float)
 0:145      Sequence
-0:145        move second child to first child ( temp float)
-0:145          'r042' ( temp float)
-0:145          length ( temp float)
+0:145        move second child to first child ( temp 2-component vector of float)
+0:145          'r039a' ( temp 2-component vector of float)
+0:145          mix ( temp 2-component vector of float)
 0:145            'inF0' ( in 2-component vector of float)
+0:145            'inF1' ( in 2-component vector of float)
+0:145            'inF2' ( in 2-component vector of float)
 0:146      Sequence
-0:146        move second child to first child ( temp 2-component vector of float)
-0:146          'r043' ( temp 2-component vector of float)
-0:146          log ( temp 2-component vector of float)
+0:146        move second child to first child ( temp float)
+0:146          'r042' ( temp float)
+0:146          length ( temp 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          '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:147          'r043' ( temp 2-component vector of float)
+0:147          log ( temp 2-component vector of float)
+0:147            'inF0' ( in 2-component vector of float)
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r045' ( temp 2-component vector of float)
-0:148          log2 ( temp 2-component vector of float)
-0:148            'inF0' ( in 2-component vector of float)
+0:148          'r044' ( temp 2-component vector of float)
+0:148          vector-scale ( 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            Constant:
+0:148              0.301030
 0:149      Sequence
 0:149        move second child to first child ( temp 2-component vector of float)
-0:149          'r046' ( temp 2-component vector of float)
-0:149          max ( temp 2-component vector of float)
+0:149          'r045' ( temp 2-component vector of float)
+0:149          log2 ( temp 2-component vector of float)
 0:149            'inF0' ( in 2-component vector of float)
-0:149            'inF1' ( in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child ( temp 2-component vector of float)
-0:150          'r047' ( temp 2-component vector of float)
-0:150          min ( temp 2-component vector of float)
+0:150          'r046' ( temp 2-component vector of float)
+0:150          max ( temp 2-component vector of float)
 0:150            'inF0' ( in 2-component vector of float)
 0:150            'inF1' ( in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child ( temp 2-component vector of float)
-0:151          'r048' ( temp 2-component vector of float)
-0:151          normalize ( temp 2-component vector of float)
+0:151          'r047' ( temp 2-component vector of float)
+0:151          min ( temp 2-component vector of float)
 0:151            'inF0' ( in 2-component vector of float)
+0:151            'inF1' ( in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child ( temp 2-component vector of float)
-0:152          'r049' ( temp 2-component vector of float)
-0:152          pow ( temp 2-component vector of float)
+0:152          'r048' ( temp 2-component vector of float)
+0:152          normalize ( temp 2-component vector of float)
 0:152            'inF0' ( in 2-component vector of float)
-0:152            'inF1' ( in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child ( temp 2-component vector of float)
-0:153          'r050' ( temp 2-component vector of float)
-0:153          radians ( temp 2-component vector of float)
+0:153          'r049' ( temp 2-component vector of float)
+0:153          pow ( 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          'r051' ( temp 2-component vector of float)
-0:154          divide ( temp 2-component vector of float)
-0:154            Constant:
-0:154              1.000000
+0:154          'r050' ( temp 2-component vector of float)
+0:154          radians ( temp 2-component vector of float)
 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 float)
-0:155          'r052' ( temp 2-component vector of float)
-0:155          reflect ( temp 2-component vector of float)
+0:155          'r051' ( temp 2-component vector of float)
+0:155          divide ( temp 2-component vector of float)
+0:155            Constant:
+0:155              1.000000
 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          'r052' ( temp 2-component vector of float)
+0:156          reflect ( 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:157        move second child to first child ( temp 2-component vector of float)
+0:157          'r053' ( temp 2-component vector of float)
+0:157          refract ( temp 2-component vector of float)
+0:157            'inF0' ( in 2-component vector of float)
+0:157            'inF1' ( in 2-component vector of float)
+0:157            Constant:
+0:157              2.000000
+0:158      Sequence
+0:158        move second child to first child ( temp 2-component vector of uint)
+0:158          '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:158      Sequence
-0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r055' ( temp 2-component vector of float)
-0:158          roundEven ( temp 2-component vector of float)
-0:158            'inF0' ( in 2-component vector of float)
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r056' ( temp 2-component vector of float)
-0:159          inverse sqrt ( temp 2-component vector of float)
+0:159          'r055' ( temp 2-component vector of float)
+0:159          roundEven ( 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          'r057' ( temp 2-component vector of float)
-0:160          clamp ( temp 2-component vector of float)
+0:160          'r056' ( temp 2-component vector of float)
+0:160          inverse sqrt ( 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          'r058' ( temp 2-component vector of float)
-0:161          Sign ( temp 2-component vector of float)
+0:161          'r057' ( temp 2-component vector of float)
+0:161          clamp ( temp 2-component vector of float)
 0:161            'inF0' ( in 2-component vector of float)
+0:161            Constant:
+0:161              0.000000
+0:161            Constant:
+0:161              1.000000
 0:162      Sequence
 0:162        move second child to first child ( temp 2-component vector of float)
-0:162          'r059' ( temp 2-component vector of float)
-0:162          sine ( temp 2-component vector of float)
+0:162          'r058' ( temp 2-component vector of float)
+0:162          Sign ( 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          'inF1' ( in 2-component vector of float)
+0:163          'r059' ( temp 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        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          'r060' ( temp 2-component vector of float)
-0:164          hyp. sine ( temp 2-component vector of float)
+0:164          'inF1' ( in 2-component vector of float)
+0:164          sine ( temp 2-component vector of float)
+0:164            'inF0' ( in 2-component vector of float)
+0:164        move second child to first child ( temp 2-component vector of float)
+0:164          'inF2' ( in 2-component vector of float)
+0:164          cosine ( temp 2-component vector of float)
 0:164            'inF0' ( in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child ( temp 2-component vector of float)
-0:165          'r061' ( temp 2-component vector of float)
-0:165          smoothstep ( temp 2-component vector of float)
+0:165          'r060' ( temp 2-component vector of float)
+0:165          hyp. sine ( temp 2-component vector of float)
 0:165            'inF0' ( in 2-component vector of float)
-0:165            'inF1' ( in 2-component vector of float)
-0:165            'inF2' ( in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child ( temp 2-component vector of float)
-0:166          'r062' ( temp 2-component vector of float)
-0:166          sqrt ( temp 2-component vector of float)
+0:166          'r061' ( temp 2-component vector of float)
+0:166          smoothstep ( temp 2-component vector of float)
 0:166            'inF0' ( in 2-component vector of float)
+0:166            'inF1' ( in 2-component vector of float)
+0:166            'inF2' ( in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child ( temp 2-component vector of float)
-0:167          'r063' ( temp 2-component vector of float)
-0:167          step ( temp 2-component vector of float)
+0:167          'r062' ( temp 2-component vector of float)
+0:167          sqrt ( 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          'r063' ( temp 2-component vector of float)
+0:168          step ( temp 2-component vector of float)
 0:168            'inF0' ( in 2-component vector of float)
+0:168            'inF1' ( in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child ( temp 2-component vector of float)
-0:169          'r065' ( temp 2-component vector of float)
-0:169          hyp. tangent ( temp 2-component vector of float)
+0:169          'r064' ( temp 2-component vector of float)
+0:169          tangent ( temp 2-component vector of float)
 0:169            'inF0' ( in 2-component vector of float)
-0:171      Sequence
-0:171        move second child to first child ( temp 2-component vector of float)
-0:171          'r066' ( temp 2-component vector of float)
-0:171          trunc ( temp 2-component vector of float)
-0:171            'inF0' ( in 2-component vector of float)
-0:174      Branch: Return with expression
+0:170      Sequence
+0:170        move second child to first child ( temp 2-component vector of float)
+0:170          'r065' ( temp 2-component vector of float)
+0:170          hyp. tangent ( temp 2-component vector of float)
+0:170            'inF0' ( in 2-component vector of float)
+0:172      Sequence
+0:172        move second child to first child ( temp 2-component vector of float)
+0:172          'r066' ( temp 2-component vector of float)
+0:172          trunc ( temp 2-component vector of float)
+0:172            'inF0' ( in 2-component vector of float)
+0:175      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-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:179  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:179    Function Parameters: 
+0:179      'inF0' ( in 3-component vector of float)
+0:179      'inF1' ( in 3-component vector of float)
+0:179      'inF2' ( in 3-component vector of float)
+0:179      'inU0' ( in 3-component vector of uint)
+0:179      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:181      Sequence
-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 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:182        move second child to first child ( temp bool)
+0:182          'r000' ( temp bool)
+0:182          all ( temp bool)
+0:182            Convert float to bool ( temp 3-component vector of bool)
+0:182              'inF0' ( in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child ( temp 3-component vector of float)
-0:183          'r002' ( temp 3-component vector of float)
-0:183          arc cosine ( temp 3-component vector of float)
+0:183          'r001' ( temp 3-component vector of float)
+0:183          Absolute value ( temp 3-component vector of float)
 0:183            'inF0' ( in 3-component vector of float)
 0:184      Sequence
-0:184        move second child to first child ( temp bool)
-0:184          'r003' ( temp bool)
-0:184          any ( temp bool)
-0:184            Convert float to bool ( temp 3-component vector of bool)
-0:184              'inF0' ( in 3-component vector of float)
+0:184        move second child to first child ( temp 3-component vector of float)
+0:184          'r002' ( temp 3-component vector of float)
+0:184          arc cosine ( temp 3-component vector of float)
+0:184            'inF0' ( in 3-component vector of float)
 0:185      Sequence
-0:185        move second child to first child ( temp 3-component vector of float)
-0:185          'r004' ( temp 3-component vector of float)
-0:185          arc sine ( temp 3-component vector of float)
-0:185            'inF0' ( in 3-component vector of float)
+0:185        move second child to first child ( temp bool)
+0:185          'r003' ( temp bool)
+0:185          any ( temp bool)
+0:185            Convert float to bool ( temp 3-component vector of bool)
+0:185              'inF0' ( in 3-component vector of float)
 0:186      Sequence
-0:186        move second child to first child ( temp 3-component vector of int)
-0:186          'r005' ( temp 3-component vector of int)
-0:186          floatBitsToInt ( temp 3-component vector of int)
+0:186        move second child to first child ( temp 3-component vector of float)
+0:186          'r004' ( temp 3-component vector of float)
+0:186          arc sine ( temp 3-component vector of float)
 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        move second child to first child ( temp 3-component vector of int)
+0:187          'r005' ( temp 3-component vector of int)
+0:187          floatBitsToInt ( temp 3-component vector of int)
 0:187            'inF0' ( in 3-component vector of float)
 0:188      Sequence
-0:188        move second child to first child ( temp 3-component vector of float)
-0:188          'r007' ( temp 3-component vector of float)
-0:188          intBitsToFloat ( temp 3-component vector of float)
-0:188            'inU0' ( in 3-component vector of uint)
-0:190      Sequence
-0:190        move second child to first child ( temp 3-component vector of float)
-0:190          'r009' ( temp 3-component vector of float)
-0:190          arc tangent ( temp 3-component vector of float)
-0:190            'inF0' ( in 3-component vector of float)
+0:188        move second child to first child ( temp 3-component vector of uint)
+0:188          'r006' ( temp 3-component vector of uint)
+0:188          floatBitsToUint ( temp 3-component vector of uint)
+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          'r007' ( temp 3-component vector of float)
+0:189          intBitsToFloat ( temp 3-component vector of float)
+0:189            'inU0' ( in 3-component vector of uint)
 0:191      Sequence
 0:191        move second child to first child ( temp 3-component vector of float)
-0:191          'r010' ( temp 3-component vector of float)
+0:191          'r009' ( 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: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          'r010' ( temp 3-component vector of float)
+0:192          arc tangent ( temp 3-component vector of float)
 0:192            'inF0' ( in 3-component vector of float)
+0:192            'inF1' ( in 3-component vector of float)
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r012' ( temp 3-component vector of float)
-0:193          clamp ( temp 3-component vector of float)
+0:193          'r011' ( temp 3-component vector of float)
+0:193          Ceiling ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:193            'inF1' ( in 3-component vector of float)
-0:193            'inF2' ( in 3-component vector of float)
-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      Sequence
+0:194        move second child to first child ( temp 3-component vector of float)
+0:194          'r012' ( temp 3-component vector of float)
+0:194          clamp ( temp 3-component vector of float)
 0:194            'inF0' ( in 3-component vector of float)
-0:194            Constant:
-0:194              0.000000
-0:194              0.000000
-0:194              0.000000
-0:194        true case
-0:194        Branch: Kill
+0:194            'inF1' ( in 3-component vector of float)
+0:194            'inF2' ( in 3-component vector of float)
 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            'inF0' ( in 3-component vector of float)
 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:196      Test condition and select ( temp void)
+0:196        Condition
+0:196        any ( temp bool)
+0:196          Compare Less Than ( temp 3-component vector of bool)
+0:196            'inU0' ( in 3-component vector of uint)
+0:196            Constant:
+0:196              0.000000
+0:196              0.000000
+0:196              0.000000
+0:196        true case
+0:196        Branch: Kill
 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          'r013' ( temp 3-component vector of float)
+0:197          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:198        move second child to first child ( temp 3-component vector of float)
+0:198          'r014' ( temp 3-component vector of float)
+0:198          hyp. cosine ( 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 uint)
+0:199          '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:199      Sequence
-0:199        move second child to first child ( 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          'r017' ( temp 3-component vector of float)
-0:200          dPdx ( temp 3-component vector of float)
+0:200          'r016' ( temp 3-component vector of float)
+0:200          cross-product ( temp 3-component vector of float)
 0:200            'inF0' ( in 3-component vector of float)
+0:200            'inF1' ( in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child ( 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          'r017' ( temp 3-component vector of float)
+0:201          dPdx ( 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          'r019' ( temp 3-component vector of float)
-0:202          dPdxFine ( temp 3-component vector of float)
+0:202          'r018' ( temp 3-component vector of float)
+0:202          dPdxCoarse ( 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          'r020' ( temp 3-component vector of float)
-0:203          dPdy ( temp 3-component vector of float)
+0:203          'r019' ( temp 3-component vector of float)
+0:203          dPdxFine ( temp 3-component vector of float)
 0:203            'inF0' ( in 3-component vector of float)
 0:204      Sequence
 0:204        move second child to first child ( temp 3-component vector of float)
-0:204          'r021' ( temp 3-component vector of float)
-0:204          dPdyCoarse ( temp 3-component vector of float)
+0:204          'r020' ( temp 3-component vector of float)
+0:204          dPdy ( temp 3-component vector of float)
 0:204            'inF0' ( in 3-component vector of float)
 0:205      Sequence
 0:205        move second child to first child ( temp 3-component vector of float)
-0:205          'r022' ( temp 3-component vector of float)
-0:205          dPdyFine ( temp 3-component vector of float)
+0:205          'r021' ( temp 3-component vector of float)
+0:205          dPdyCoarse ( temp 3-component vector of float)
 0:205            'inF0' ( in 3-component vector of float)
 0:206      Sequence
 0:206        move second child to first child ( temp 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          'r022' ( temp 3-component vector of float)
+0:206          dPdyFine ( 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        move second child to first child ( temp 3-component vector of float)
+0:207          'r023' ( temp 3-component vector of float)
+0:207          degrees ( temp 3-component vector of 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          'r024' ( temp float)
+0:208          distance ( 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 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:209      Sequence
+0:209        move second child to first child ( temp float)
+0:209          'r025' ( temp float)
+0:209          dot-product ( temp float)
+0:209            'inF0' ( in 3-component vector of float)
+0:209            'inF1' ( 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          'r029' ( temp 3-component vector of float)
+0:213          exp ( 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          'r030' ( temp 3-component vector of float)
+0:214          exp2 ( 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:215        move second child to first child ( temp 3-component vector of float)
+0:215          'r031' ( temp 3-component vector of float)
+0:215          face-forward ( temp 3-component vector of float)
+0:215            'inF0' ( in 3-component vector of float)
+0:215            'inF1' ( in 3-component vector of float)
+0:215            'inF2' ( in 3-component vector of float)
+0:216      Sequence
+0:216        move second child to first child ( temp 3-component vector of uint)
+0:216          '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: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:217      Sequence
+0:217        move second child to first child ( temp 3-component vector of uint)
+0:217          '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:217      Sequence
-0:217        move second child to first child ( 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:219      Sequence
-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:218      Sequence
+0:218        move second child to first child ( temp 3-component vector of float)
+0:218          'r034' ( temp 3-component vector of float)
+0:218          Floor ( temp 3-component vector of float)
+0:218            'inF0' ( in 3-component vector of float)
 0:220      Sequence
 0:220        move second child to first child ( temp 3-component vector of float)
-0:220          'r037' ( temp 3-component vector of float)
-0:220          Fraction ( temp 3-component vector of float)
+0:220          'r036' ( temp 3-component vector of float)
+0:220          mod ( temp 3-component vector of float)
 0:220            'inF0' ( in 3-component vector of float)
+0:220            'inF1' ( in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child ( temp 3-component vector of float)
-0:221          'r039' ( temp 3-component vector of float)
-0:221          fwidth ( temp 3-component vector of float)
+0:221          'r037' ( temp 3-component vector of float)
+0:221          Fraction ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of bool)
-0:222          'r040' ( temp 3-component vector of bool)
-0:222          isinf ( temp 3-component vector of bool)
+0:222        move second child to first child ( temp 3-component vector of float)
+0:222          'r039' ( temp 3-component vector of float)
+0:222          fwidth ( temp 3-component vector of float)
 0:222            'inF0' ( in 3-component vector of float)
 0:223      Sequence
 0:223        move second child to first child ( temp 3-component vector of bool)
-0:223          'r041' ( temp 3-component vector of bool)
-0:223          isnan ( temp 3-component vector of bool)
+0:223          'r040' ( temp 3-component vector of bool)
+0:223          isinf ( temp 3-component vector of bool)
 0:223            'inF0' ( in 3-component vector of float)
 0:224      Sequence
-0:224        move second child to first child ( temp 3-component vector of float)
-0:224          'r042' ( temp 3-component vector of float)
-0:224          ldexp ( temp 3-component vector of float)
+0:224        move second child to first child ( temp 3-component vector of bool)
+0:224          'r041' ( temp 3-component vector of bool)
+0:224          isnan ( temp 3-component vector of bool)
 0:224            'inF0' ( in 3-component vector of float)
-0:224            'inF1' ( in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child ( temp 3-component vector of float)
-0:225          'r039a' ( temp 3-component vector of float)
-0:225          mix ( temp 3-component vector of float)
+0:225          'r042' ( temp 3-component vector of float)
+0:225          ldexp ( temp 3-component vector of float)
 0:225            'inF0' ( in 3-component vector of float)
 0:225            'inF1' ( in 3-component vector of float)
-0:225            'inF2' ( in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child ( temp 3-component vector of float)
-0:226          'r039b' ( temp 3-component vector of float)
+0:226          'r039a' ( 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.300000
+0:226            'inF2' ( in 3-component vector of float)
 0:227      Sequence
-0:227        move second child to first child ( temp float)
-0:227          'r043' ( temp float)
-0:227          length ( temp float)
+0:227        move second child to first child ( temp 3-component vector of float)
+0:227          'r039b' ( temp 3-component vector of float)
+0:227          mix ( temp 3-component vector of float)
 0:227            'inF0' ( in 3-component vector of float)
+0:227            'inF1' ( in 3-component vector of float)
+0:227            Constant:
+0:227              0.300000
 0:228      Sequence
-0:228        move second child to first child ( temp 3-component vector of float)
-0:228          'r044' ( temp 3-component vector of float)
-0:228          log ( temp 3-component vector of float)
+0:228        move second child to first child ( temp float)
+0:228          'r043' ( temp float)
+0:228          length ( temp float)
 0:228            'inF0' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-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:229          'r044' ( temp 3-component vector of float)
+0:229          log ( temp 3-component vector of float)
+0:229            'inF0' ( in 3-component vector of float)
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r046' ( temp 3-component vector of float)
-0:230          log2 ( temp 3-component vector of float)
-0:230            'inF0' ( in 3-component vector of float)
+0:230          'r045' ( temp 3-component vector of float)
+0:230          vector-scale ( 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:230            Constant:
+0:230              0.301030
 0:231      Sequence
 0:231        move second child to first child ( temp 3-component vector of float)
-0:231          'r047' ( temp 3-component vector of float)
-0:231          max ( temp 3-component vector of float)
+0:231          'r046' ( temp 3-component vector of float)
+0:231          log2 ( temp 3-component vector of float)
 0:231            'inF0' ( in 3-component vector of float)
-0:231            'inF1' ( in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child ( temp 3-component vector of float)
-0:232          'r048' ( temp 3-component vector of float)
-0:232          min ( temp 3-component vector of float)
+0:232          'r047' ( temp 3-component vector of float)
+0:232          max ( temp 3-component vector of float)
 0:232            'inF0' ( in 3-component vector of float)
 0:232            'inF1' ( in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child ( temp 3-component vector of float)
-0:233          'r049' ( temp 3-component vector of float)
-0:233          normalize ( temp 3-component vector of float)
+0:233          'r048' ( temp 3-component vector of float)
+0:233          min ( temp 3-component vector of float)
 0:233            'inF0' ( in 3-component vector of float)
+0:233            'inF1' ( in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child ( temp 3-component vector of float)
-0:234          'r050' ( temp 3-component vector of float)
-0:234          pow ( temp 3-component vector of float)
+0:234          'r049' ( temp 3-component vector of float)
+0:234          normalize ( temp 3-component vector of float)
 0:234            'inF0' ( in 3-component vector of float)
-0:234            'inF1' ( in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child ( temp 3-component vector of float)
-0:235          'r051' ( temp 3-component vector of float)
-0:235          radians ( temp 3-component vector of float)
+0:235          'r050' ( temp 3-component vector of float)
+0:235          pow ( 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:236      Sequence
 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          'r051' ( temp 3-component vector of float)
+0:236          radians ( temp 3-component vector of float)
 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          'r052' ( temp 3-component vector of float)
+0:237          divide ( temp 3-component vector of float)
+0:237            Constant:
+0:237              1.000000
 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          'r053' ( temp 3-component vector of float)
+0:238          reflect ( 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:239        move second child to first child ( temp 3-component vector of float)
+0:239          'r054' ( temp 3-component vector of float)
+0:239          refract ( temp 3-component vector of float)
+0:239            'inF0' ( in 3-component vector of float)
+0:239            'inF1' ( in 3-component vector of float)
+0:239            Constant:
+0:239              2.000000
+0:240      Sequence
+0:240        move second child to first child ( temp 3-component vector of uint)
+0:240          '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:240      Sequence
-0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r056' ( temp 3-component vector of float)
-0:240          roundEven ( temp 3-component vector of float)
-0:240            'inF0' ( in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of float)
-0:241          'r057' ( temp 3-component vector of float)
-0:241          inverse sqrt ( temp 3-component vector of float)
+0:241          'r056' ( temp 3-component vector of float)
+0:241          roundEven ( 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          'r058' ( temp 3-component vector of float)
-0:242          clamp ( temp 3-component vector of float)
+0:242          'r057' ( temp 3-component vector of float)
+0:242          inverse sqrt ( 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          'r059' ( temp 3-component vector of float)
-0:243          Sign ( temp 3-component vector of float)
+0:243          'r058' ( temp 3-component vector of float)
+0:243          clamp ( temp 3-component vector of float)
 0:243            'inF0' ( in 3-component vector of float)
+0:243            Constant:
+0:243              0.000000
+0:243            Constant:
+0:243              1.000000
 0:244      Sequence
 0:244        move second child to first child ( temp 3-component vector of float)
-0:244          'r060' ( temp 3-component vector of float)
-0:244          sine ( temp 3-component vector of float)
+0:244          'r059' ( temp 3-component vector of float)
+0:244          Sign ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF1' ( in 3-component vector of float)
+0:245          'r060' ( temp 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          'r061' ( temp 3-component vector of float)
-0:246          hyp. sine ( temp 3-component vector of float)
+0:246          'inF1' ( in 3-component vector of float)
+0:246          sine ( temp 3-component vector of float)
+0:246            'inF0' ( in 3-component vector of float)
+0:246        move second child to first child ( temp 3-component vector of float)
+0:246          'inF2' ( in 3-component vector of float)
+0:246          cosine ( temp 3-component vector of float)
 0:246            'inF0' ( in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child ( temp 3-component vector of float)
-0:247          'r062' ( temp 3-component vector of float)
-0:247          smoothstep ( temp 3-component vector of float)
+0:247          'r061' ( temp 3-component vector of float)
+0:247          hyp. sine ( temp 3-component vector of float)
 0:247            'inF0' ( in 3-component vector of float)
-0:247            'inF1' ( in 3-component vector of float)
-0:247            'inF2' ( in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child ( temp 3-component vector of float)
-0:248          'r063' ( temp 3-component vector of float)
-0:248          sqrt ( temp 3-component vector of float)
+0:248          'r062' ( temp 3-component vector of float)
+0:248          smoothstep ( temp 3-component vector of float)
 0:248            'inF0' ( in 3-component vector of float)
+0:248            'inF1' ( in 3-component vector of float)
+0:248            'inF2' ( 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          'r063' ( temp 3-component vector of float)
+0:249          sqrt ( temp 3-component vector of float)
 0:249            'inF0' ( in 3-component vector of float)
-0:249            'inF1' ( in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child ( temp 3-component vector of float)
-0:250          'r065' ( temp 3-component vector of float)
-0:250          tangent ( temp 3-component vector of float)
+0:250          'r064' ( temp 3-component vector of float)
+0:250          step ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
+0:250            'inF1' ( in 3-component vector of float)
 0:251      Sequence
 0:251        move second child to first child ( temp 3-component vector of float)
-0:251          'r066' ( temp 3-component vector of float)
-0:251          hyp. tangent ( temp 3-component vector of float)
+0:251          'r065' ( temp 3-component vector of float)
+0:251          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:252      Sequence
+0:252        move second child to first child ( temp 3-component vector of float)
+0:252          'r066' ( temp 3-component vector of float)
+0:252          hyp. tangent ( temp 3-component vector of float)
+0:252            'inF0' ( in 3-component vector of float)
+0:254      Sequence
+0:254        move second child to first child ( temp 3-component vector of float)
+0:254          'r067' ( temp 3-component vector of float)
+0:254          trunc ( temp 3-component vector of float)
+0:254            'inF0' ( in 3-component vector of float)
+0:257      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-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:261  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:261    Function Parameters: 
+0:261      'inF0' ( in 4-component vector of float)
+0:261      'inF1' ( in 4-component vector of float)
+0:261      'inF2' ( in 4-component vector of float)
+0:261      'inU0' ( in 4-component vector of uint)
+0:261      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:263      Sequence
-0:263        move second child to first child ( 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          '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:264        move second child to first child ( temp bool)
+0:264          'r000' ( temp bool)
+0:264          all ( temp bool)
+0:264            Convert float to bool ( temp 4-component vector of bool)
+0:264              'inF0' ( in 4-component vector of float)
 0:265      Sequence
 0:265        move second child to first child ( temp 4-component vector of float)
-0:265          'r002' ( temp 4-component vector of float)
-0:265          arc cosine ( temp 4-component vector of float)
+0:265          'r001' ( temp 4-component vector of float)
+0:265          Absolute value ( temp 4-component vector of float)
 0:265            'inF0' ( in 4-component vector of float)
 0:266      Sequence
-0:266        move second child to first child ( temp bool)
-0:266          'r003' ( temp bool)
-0:266          any ( temp bool)
-0:266            Convert float to bool ( temp 4-component vector of bool)
-0:266              'inF0' ( in 4-component vector of float)
+0:266        move second child to first child ( temp 4-component vector of float)
+0:266          'r002' ( temp 4-component vector of float)
+0:266          arc cosine ( temp 4-component vector of float)
+0:266            'inF0' ( in 4-component vector of float)
 0:267      Sequence
-0:267        move second child to first child ( temp 4-component vector of float)
-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:267        move second child to first child ( temp bool)
+0:267          'r003' ( temp bool)
+0:267          any ( temp bool)
+0:267            Convert float to bool ( temp 4-component vector of bool)
+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        move second child to first child ( temp 4-component vector of float)
+0:268          'r004' ( temp 4-component vector of float)
+0:268          arc sine ( temp 4-component vector of float)
 0:268            'inF0' ( in 4-component vector of float)
 0:269      Sequence
-0:269        move second child to first child ( temp 4-component vector of uint)
-0:269          'r006' ( temp 4-component vector of uint)
-0:269          floatBitsToUint ( temp 4-component vector of uint)
+0:269        move second child to first child ( temp 4-component vector of int)
+0:269          'r005' ( temp 4-component vector of int)
+0:269          floatBitsToInt ( temp 4-component vector of int)
 0:269            'inF0' ( in 4-component vector of float)
 0:270      Sequence
-0:270        move second child to first child ( temp 4-component vector of float)
-0:270          'r007' ( temp 4-component vector of float)
-0:270          intBitsToFloat ( temp 4-component vector of float)
-0:270            'inU0' ( in 4-component vector of uint)
-0:272      Sequence
-0:272        move second child to first child ( temp 4-component vector of float)
-0:272          'r009' ( temp 4-component vector of float)
-0:272          arc tangent ( temp 4-component vector of float)
-0:272            'inF0' ( in 4-component vector of float)
+0:270        move second child to first child ( temp 4-component vector of uint)
+0:270          'r006' ( temp 4-component vector of uint)
+0:270          floatBitsToUint ( temp 4-component vector of uint)
+0:270            'inF0' ( 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          'r007' ( temp 4-component vector of float)
+0:271          intBitsToFloat ( temp 4-component vector of float)
+0:271            'inU0' ( in 4-component vector of uint)
 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          'r009' ( 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            'inF1' ( in 4-component vector of float)
 0:274      Sequence
 0:274        move second child to first child ( temp 4-component vector of float)
-0:274          'r011' ( temp 4-component vector of float)
-0:274          Ceiling ( temp 4-component vector of float)
+0:274          'r010' ( temp 4-component vector of float)
+0:274          arc tangent ( temp 4-component vector of float)
 0:274            'inF0' ( in 4-component vector of float)
+0:274            'inF1' ( in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child ( temp 4-component vector of float)
-0:275          'r012' ( temp 4-component vector of float)
-0:275          clamp ( temp 4-component vector of float)
+0:275          'r011' ( temp 4-component vector of float)
+0:275          Ceiling ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:275            'inF1' ( in 4-component vector of float)
-0:275            'inF2' ( in 4-component vector of float)
-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      Sequence
+0:276        move second child to first child ( temp 4-component vector of float)
+0:276          'r012' ( temp 4-component vector of float)
+0:276          clamp ( temp 4-component vector of float)
 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:276            'inF1' ( in 4-component vector of float)
+0:276            'inF2' ( in 4-component vector of float)
 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            'inF0' ( in 4-component vector of float)
 0:277            Constant:
 0:277              0.000000
 0:277              0.000000
@@ -1253,905 +1247,917 @@
 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:278      Test condition and select ( temp void)
+0:278        Condition
+0:278        any ( temp bool)
+0:278          Compare Less Than ( temp 4-component vector of bool)
+0:278            'inU0' ( in 4-component vector of uint)
+0:278            Constant:
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278        true case
+0:278        Branch: Kill
 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          'r013' ( temp 4-component vector of float)
+0:279          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:280        move second child to first child ( temp 4-component vector of float)
+0:280          'r014' ( temp 4-component vector of float)
+0:280          hyp. cosine ( 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 uint)
+0:281          '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:281      Sequence
-0:281        move second child to first child ( 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          'r017' ( temp 4-component vector of float)
-0:282          dPdxCoarse ( temp 4-component vector of float)
+0:282          'r016' ( temp 4-component vector of float)
+0:282          dPdx ( 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          'r018' ( temp 4-component vector of float)
-0:283          dPdxFine ( temp 4-component vector of float)
+0:283          'r017' ( temp 4-component vector of float)
+0:283          dPdxCoarse ( temp 4-component vector of float)
 0:283            'inF0' ( in 4-component vector of float)
 0:284      Sequence
 0:284        move second child to first child ( temp 4-component vector of float)
-0:284          'r019' ( temp 4-component vector of float)
-0:284          dPdy ( temp 4-component vector of float)
+0:284          'r018' ( temp 4-component vector of float)
+0:284          dPdxFine ( temp 4-component vector of float)
 0:284            'inF0' ( in 4-component vector of float)
 0:285      Sequence
 0:285        move second child to first child ( temp 4-component vector of float)
-0:285          'r020' ( temp 4-component vector of float)
-0:285          dPdyCoarse ( temp 4-component vector of float)
+0:285          'r019' ( temp 4-component vector of float)
+0:285          dPdy ( temp 4-component vector of float)
 0:285            'inF0' ( in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child ( temp 4-component vector of float)
-0:286          'r021' ( temp 4-component vector of float)
-0:286          dPdyFine ( temp 4-component vector of float)
+0:286          'r020' ( temp 4-component vector of float)
+0:286          dPdyCoarse ( 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          'r021' ( temp 4-component vector of float)
+0:287          dPdyFine ( 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        move second child to first child ( temp 4-component vector of float)
+0:288          'r022' ( temp 4-component vector of float)
+0:288          degrees ( temp 4-component vector of 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          'r023' ( temp float)
+0:289          distance ( 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          '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:290        move second child to first child ( temp float)
+0:290          'r024' ( temp float)
+0:290          dot-product ( temp float)
+0:290            'inF0' ( in 4-component vector of float)
+0:290            'inF1' ( 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          'r025' ( temp 4-component vector of float)
+0:291          Construct vec4 ( temp 4-component vector of float)
+0:291            Constant:
+0:291              1.000000
+0:291            component-wise multiply ( temp float)
+0:291              direct index ( temp float)
+0:291                'inF0' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291              direct index ( temp float)
+0:291                'inF1' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291            direct index ( temp float)
+0:291              'inF0' ( in 4-component vector of float)
+0:291              Constant:
+0:291                2 (const int)
+0:291            direct index ( temp float)
+0:291              'inF1' ( in 4-component vector of float)
+0:291              Constant:
+0:291                3 (const int)
 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          'r029' ( temp 4-component vector of float)
+0:295          exp ( 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          'r030' ( temp 4-component vector of float)
+0:296          exp2 ( 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:297        move second child to first child ( temp 4-component vector of float)
+0:297          'r031' ( temp 4-component vector of float)
+0:297          face-forward ( 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:297            'inF2' ( in 4-component vector of float)
+0:298      Sequence
+0:298        move second child to first child ( temp 4-component vector of uint)
+0:298          '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: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:299      Sequence
+0:299        move second child to first child ( temp 4-component vector of uint)
+0:299          '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:299      Sequence
-0:299        move second child to first child ( 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:301      Sequence
-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:300      Sequence
+0:300        move second child to first child ( temp 4-component vector of float)
+0:300          'r034' ( temp 4-component vector of float)
+0:300          Floor ( temp 4-component vector of float)
+0:300            'inF0' ( in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child ( temp 4-component vector of float)
-0:302          'r037' ( temp 4-component vector of float)
-0:302          Fraction ( temp 4-component vector of float)
+0:302          'r036' ( temp 4-component vector of float)
+0:302          mod ( temp 4-component vector of float)
 0:302            'inF0' ( in 4-component vector of float)
+0:302            'inF1' ( in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child ( temp 4-component vector of float)
-0:303          'r039' ( temp 4-component vector of float)
-0:303          fwidth ( temp 4-component vector of float)
+0:303          'r037' ( temp 4-component vector of float)
+0:303          Fraction ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp 4-component vector of bool)
-0:304          'r040' ( temp 4-component vector of bool)
-0:304          isinf ( temp 4-component vector of bool)
+0:304        move second child to first child ( temp 4-component vector of float)
+0:304          'r039' ( temp 4-component vector of float)
+0:304          fwidth ( temp 4-component vector of float)
 0:304            'inF0' ( in 4-component vector of float)
 0:305      Sequence
 0:305        move second child to first child ( temp 4-component vector of bool)
-0:305          'r041' ( temp 4-component vector of bool)
-0:305          isnan ( temp 4-component vector of bool)
+0:305          'r040' ( temp 4-component vector of bool)
+0:305          isinf ( temp 4-component vector of bool)
 0:305            'inF0' ( in 4-component vector of float)
 0:306      Sequence
-0:306        move second child to first child ( temp 4-component vector of float)
-0:306          'r042' ( temp 4-component vector of float)
-0:306          ldexp ( temp 4-component vector of float)
+0:306        move second child to first child ( temp 4-component vector of bool)
+0:306          'r041' ( temp 4-component vector of bool)
+0:306          isnan ( temp 4-component vector of bool)
 0:306            'inF0' ( in 4-component vector of float)
-0:306            'inF1' ( in 4-component vector of float)
 0:307      Sequence
 0:307        move second child to first child ( temp 4-component vector of float)
-0:307          'r039a' ( temp 4-component vector of float)
-0:307          mix ( temp 4-component vector of float)
+0:307          'r042' ( temp 4-component vector of float)
+0:307          ldexp ( temp 4-component vector of float)
 0:307            'inF0' ( in 4-component vector of float)
 0:307            'inF1' ( in 4-component vector of float)
-0:307            'inF2' ( in 4-component vector of float)
 0:308      Sequence
-0:308        move second child to first child ( temp float)
-0:308          'r043' ( temp float)
-0:308          length ( temp float)
+0:308        move second child to first child ( temp 4-component vector of float)
+0:308          'r039a' ( temp 4-component vector of float)
+0:308          mix ( temp 4-component vector of float)
 0:308            'inF0' ( in 4-component vector of float)
+0:308            'inF1' ( in 4-component vector of float)
+0:308            'inF2' ( in 4-component vector of float)
 0:309      Sequence
-0:309        move second child to first child ( temp 4-component vector of float)
-0:309          'r044' ( temp 4-component vector of float)
-0:309          log ( temp 4-component vector of float)
+0:309        move second child to first child ( temp float)
+0:309          'r043' ( temp float)
+0:309          length ( temp float)
 0:309            'inF0' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-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:310          'r044' ( temp 4-component vector of float)
+0:310          log ( temp 4-component vector of float)
+0:310            'inF0' ( in 4-component vector of float)
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r046' ( temp 4-component vector of float)
-0:311          log2 ( temp 4-component vector of float)
-0:311            'inF0' ( in 4-component vector of float)
+0:311          'r045' ( temp 4-component vector of float)
+0:311          vector-scale ( 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            Constant:
+0:311              0.301030
 0:312      Sequence
 0:312        move second child to first child ( temp 4-component vector of float)
-0:312          'r047' ( temp 4-component vector of float)
-0:312          max ( temp 4-component vector of float)
+0:312          'r046' ( temp 4-component vector of float)
+0:312          log2 ( temp 4-component vector of float)
 0:312            'inF0' ( in 4-component vector of float)
-0:312            'inF1' ( in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child ( temp 4-component vector of float)
-0:313          'r048' ( temp 4-component vector of float)
-0:313          min ( temp 4-component vector of float)
+0:313          'r047' ( temp 4-component vector of float)
+0:313          max ( temp 4-component vector of float)
 0:313            'inF0' ( in 4-component vector of float)
 0:313            'inF1' ( in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child ( temp 4-component vector of float)
-0:314          'r049' ( temp 4-component vector of float)
-0:314          normalize ( temp 4-component vector of float)
+0:314          'r048' ( temp 4-component vector of float)
+0:314          min ( 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          'r050' ( temp 4-component vector of float)
-0:315          pow ( temp 4-component vector of float)
+0:315          'r049' ( temp 4-component vector of float)
+0:315          normalize ( temp 4-component vector of float)
 0:315            'inF0' ( in 4-component vector of float)
-0:315            'inF1' ( in 4-component vector of float)
 0:316      Sequence
 0:316        move second child to first child ( temp 4-component vector of float)
-0:316          'r051' ( temp 4-component vector of float)
-0:316          radians ( temp 4-component vector of float)
+0:316          'r050' ( temp 4-component vector of float)
+0:316          pow ( temp 4-component vector of float)
 0:316            'inF0' ( in 4-component vector of float)
+0:316            'inF1' ( 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          'r051' ( temp 4-component vector of float)
+0:317          radians ( 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          'r053' ( temp 4-component vector of float)
-0:318          reflect ( temp 4-component vector of float)
+0:318          'r052' ( temp 4-component vector of float)
+0:318          divide ( temp 4-component vector of float)
+0:318            Constant:
+0:318              1.000000
 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          'r053' ( temp 4-component vector of float)
+0:319          reflect ( 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:320        move second child to first child ( temp 4-component vector of float)
+0:320          'r054' ( temp 4-component vector of float)
+0:320          refract ( temp 4-component vector of float)
+0:320            'inF0' ( in 4-component vector of float)
+0:320            'inF1' ( in 4-component vector of float)
+0:320            Constant:
+0:320              2.000000
+0:321      Sequence
+0:321        move second child to first child ( temp 4-component vector of uint)
+0:321          '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:321      Sequence
-0:321        move second child to first child ( temp 4-component vector of float)
-0:321          'r056' ( temp 4-component vector of float)
-0:321          roundEven ( temp 4-component vector of float)
-0:321            'inF0' ( in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'r057' ( temp 4-component vector of float)
-0:322          inverse sqrt ( temp 4-component vector of float)
+0:322          'r056' ( temp 4-component vector of float)
+0:322          roundEven ( 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          'r058' ( temp 4-component vector of float)
-0:323          clamp ( temp 4-component vector of float)
+0:323          'r057' ( temp 4-component vector of float)
+0:323          inverse sqrt ( 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          'r059' ( temp 4-component vector of float)
-0:324          Sign ( temp 4-component vector of float)
+0:324          'r058' ( temp 4-component vector of float)
+0:324          clamp ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
+0:324            Constant:
+0:324              0.000000
+0:324            Constant:
+0:324              1.000000
 0:325      Sequence
 0:325        move second child to first child ( temp 4-component vector of float)
-0:325          'r060' ( temp 4-component vector of float)
-0:325          sine ( temp 4-component vector of float)
+0:325          'r059' ( temp 4-component vector of float)
+0:325          Sign ( 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          'inF1' ( in 4-component vector of float)
+0:326          'r060' ( temp 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        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          'r061' ( temp 4-component vector of float)
-0:327          hyp. sine ( temp 4-component vector of float)
+0:327          'inF1' ( in 4-component vector of float)
+0:327          sine ( temp 4-component vector of float)
+0:327            'inF0' ( in 4-component vector of float)
+0:327        move second child to first child ( temp 4-component vector of float)
+0:327          'inF2' ( in 4-component vector of float)
+0:327          cosine ( temp 4-component vector of float)
 0:327            'inF0' ( in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child ( temp 4-component vector of float)
-0:328          'r062' ( temp 4-component vector of float)
-0:328          smoothstep ( temp 4-component vector of float)
+0:328          'r061' ( temp 4-component vector of float)
+0:328          hyp. sine ( 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          'r062' ( temp 4-component vector of float)
+0:329          smoothstep ( temp 4-component vector of float)
 0:329            'inF0' ( in 4-component vector of float)
+0:329            'inF1' ( in 4-component vector of float)
+0:329            'inF2' ( in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child ( temp 4-component vector of float)
-0:330          'r064' ( temp 4-component vector of float)
-0:330          step ( temp 4-component vector of float)
+0:330          'r063' ( temp 4-component vector of float)
+0:330          sqrt ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:330            'inF1' ( in 4-component vector of float)
 0:331      Sequence
 0:331        move second child to first child ( temp 4-component vector of float)
-0:331          'r065' ( temp 4-component vector of float)
-0:331          tangent ( temp 4-component vector of float)
+0:331          'r064' ( temp 4-component vector of float)
+0:331          step ( temp 4-component vector of float)
 0:331            'inF0' ( in 4-component vector of float)
+0:331            'inF1' ( 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          'r065' ( temp 4-component vector of float)
+0:332          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:333      Sequence
+0:333        move second child to first child ( temp 4-component vector of float)
+0:333          'r066' ( temp 4-component vector of float)
+0:333          hyp. tangent ( temp 4-component vector of float)
+0:333            'inF0' ( in 4-component vector of float)
+0:335      Sequence
+0:335        move second child to first child ( temp 4-component vector of float)
+0:335          'r067' ( temp 4-component vector of float)
+0:335          trunc ( temp 4-component vector of float)
+0:335            'inF0' ( in 4-component vector of float)
+0:338      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-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:401  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:401    Function Parameters: 
+0:401      'inF0' ( in 2X2 matrix of float)
+0:401      'inF1' ( in 2X2 matrix of float)
+0:401      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-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:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r000' ( temp bool)
+0:403          all ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r001' ( temp 2X2 matrix of float)
+0:403          Absolute value ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      arc cosine ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r003' ( temp bool)
+0:403          any ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r004' ( temp 2X2 matrix of float)
+0:403          arc sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r005' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r006' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r007' ( temp 2X2 matrix of float)
+0:403          Ceiling ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Test condition and select ( temp void)
+0:403        Condition
+0:403        any ( temp bool)
+0:403          Compare Less Than ( temp 2X2 matrix of bool)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403        true case
+0:403        Branch: Kill
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r008' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r009' ( temp 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r010' ( temp 2X2 matrix of float)
+0:403          hyp. cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r011' ( temp 2X2 matrix of float)
+0:403          dPdx ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r012' ( temp 2X2 matrix of float)
+0:403          dPdxCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r013' ( temp 2X2 matrix of float)
+0:403          dPdxFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r014' ( temp 2X2 matrix of float)
+0:403          dPdy ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r015' ( temp 2X2 matrix of float)
+0:403          dPdyCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r016' ( temp 2X2 matrix of float)
+0:403          dPdyFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r017' ( temp 2X2 matrix of float)
+0:403          degrees ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp float)
+0:403          'r018' ( temp float)
+0:403          determinant ( temp float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r019' ( temp 2X2 matrix of float)
+0:403          exp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'R020' ( temp 2X2 matrix of float)
+0:403          exp2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r021' ( temp 2X2 matrix of float)
+0:403          Floor ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r022' ( temp 2X2 matrix of float)
+0:403          mod ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r023' ( temp 2X2 matrix of float)
+0:403          Fraction ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r025' ( temp 2X2 matrix of float)
+0:403          fwidth ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026' ( temp 2X2 matrix of float)
+0:403          ldexp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026a' ( temp 2X2 matrix of float)
+0:403          mix ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r027' ( temp 2X2 matrix of float)
+0:403          log ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r028' ( temp 2X2 matrix of float)
+0:403          matrix-scale ( temp 2X2 matrix of float)
+0:403            log2 ( temp 2X2 matrix of float)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.301030
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r029' ( temp 2X2 matrix of float)
+0:403          log2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r030' ( temp 2X2 matrix of float)
+0:403          max ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r031' ( temp 2X2 matrix of float)
+0:403          min ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r032' ( temp 2X2 matrix of float)
+0:403          pow ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r033' ( temp 2X2 matrix of float)
+0:403          radians ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r034' ( temp 2X2 matrix of float)
+0:403          roundEven ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r035' ( temp 2X2 matrix of float)
+0:403          inverse sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r036' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403            Constant:
+0:403              1.000000
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r037' ( temp 2X2 matrix of float)
+0:403          Sign ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r038' ( temp 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF1' ( in 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF2' ( in 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r039' ( temp 2X2 matrix of float)
+0:403          hyp. sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r049' ( temp 2X2 matrix of float)
+0:403          smoothstep ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r041' ( temp 2X2 matrix of float)
+0:403          sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r042' ( temp 2X2 matrix of float)
+0:403          step ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r043' ( temp 2X2 matrix of float)
+0:403          tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r044' ( temp 2X2 matrix of float)
+0:403          hyp. tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      transpose ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r046' ( temp 2X2 matrix of float)
+0:403          trunc ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:406      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-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:410  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:410    Function Parameters: 
+0:410      'inF0' ( in 3X3 matrix of float)
+0:410      'inF1' ( in 3X3 matrix of float)
+0:410      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-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:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r000' ( temp bool)
+0:412          all ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r001' ( temp 3X3 matrix of float)
+0:412          Absolute value ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      arc cosine ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r003' ( temp bool)
+0:412          any ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r004' ( temp 3X3 matrix of float)
+0:412          arc sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r005' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r006' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r007' ( temp 3X3 matrix of float)
+0:412          Ceiling ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Test condition and select ( temp void)
+0:412        Condition
+0:412        any ( temp bool)
+0:412          Compare Less Than ( temp 3X3 matrix of bool)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412        true case
+0:412        Branch: Kill
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r008' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r009' ( temp 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r010' ( temp 3X3 matrix of float)
+0:412          hyp. cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r011' ( temp 3X3 matrix of float)
+0:412          dPdx ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r012' ( temp 3X3 matrix of float)
+0:412          dPdxCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r013' ( temp 3X3 matrix of float)
+0:412          dPdxFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r014' ( temp 3X3 matrix of float)
+0:412          dPdy ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r015' ( temp 3X3 matrix of float)
+0:412          dPdyCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r016' ( temp 3X3 matrix of float)
+0:412          dPdyFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r017' ( temp 3X3 matrix of float)
+0:412          degrees ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp float)
+0:412          'r018' ( temp float)
+0:412          determinant ( temp float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r019' ( temp 3X3 matrix of float)
+0:412          exp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'R020' ( temp 3X3 matrix of float)
+0:412          exp2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r021' ( temp 3X3 matrix of float)
+0:412          Floor ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r022' ( temp 3X3 matrix of float)
+0:412          mod ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r023' ( temp 3X3 matrix of float)
+0:412          Fraction ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r025' ( temp 3X3 matrix of float)
+0:412          fwidth ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026' ( temp 3X3 matrix of float)
+0:412          ldexp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026a' ( temp 3X3 matrix of float)
+0:412          mix ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r027' ( temp 3X3 matrix of float)
+0:412          log ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r028' ( temp 3X3 matrix of float)
+0:412          matrix-scale ( temp 3X3 matrix of float)
+0:412            log2 ( temp 3X3 matrix of float)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.301030
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r029' ( temp 3X3 matrix of float)
+0:412          log2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r030' ( temp 3X3 matrix of float)
+0:412          max ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r031' ( temp 3X3 matrix of float)
+0:412          min ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r032' ( temp 3X3 matrix of float)
+0:412          pow ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r033' ( temp 3X3 matrix of float)
+0:412          radians ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r034' ( temp 3X3 matrix of float)
+0:412          roundEven ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r035' ( temp 3X3 matrix of float)
+0:412          inverse sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r036' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412            Constant:
+0:412              1.000000
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r037' ( temp 3X3 matrix of float)
+0:412          Sign ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r038' ( temp 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF1' ( in 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF2' ( in 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r039' ( temp 3X3 matrix of float)
+0:412          hyp. sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r049' ( temp 3X3 matrix of float)
+0:412          smoothstep ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r041' ( temp 3X3 matrix of float)
+0:412          sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r042' ( temp 3X3 matrix of float)
+0:412          step ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r043' ( temp 3X3 matrix of float)
+0:412          tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r044' ( temp 3X3 matrix of float)
+0:412          hyp. tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      transpose ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r046' ( temp 3X3 matrix of float)
+0:412          trunc ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:415      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -2162,297 +2168,297 @@
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-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:419  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:419    Function Parameters: 
+0:419      'inF0' ( in 4X4 matrix of float)
+0:419      'inF1' ( in 4X4 matrix of float)
+0:419      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-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:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r000' ( temp bool)
+0:421          all ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r001' ( temp 4X4 matrix of float)
+0:421          Absolute value ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      arc cosine ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r003' ( temp bool)
+0:421          any ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r004' ( temp 4X4 matrix of float)
+0:421          arc sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r005' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r006' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r007' ( temp 4X4 matrix of float)
+0:421          Ceiling ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Test condition and select ( temp void)
+0:421        Condition
+0:421        any ( temp bool)
+0:421          Compare Less Than ( temp 4X4 matrix of bool)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421        true case
+0:421        Branch: Kill
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r008' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r009' ( temp 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r010' ( temp 4X4 matrix of float)
+0:421          hyp. cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r011' ( temp 4X4 matrix of float)
+0:421          dPdx ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r012' ( temp 4X4 matrix of float)
+0:421          dPdxCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r013' ( temp 4X4 matrix of float)
+0:421          dPdxFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r014' ( temp 4X4 matrix of float)
+0:421          dPdy ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r015' ( temp 4X4 matrix of float)
+0:421          dPdyCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r016' ( temp 4X4 matrix of float)
+0:421          dPdyFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r017' ( temp 4X4 matrix of float)
+0:421          degrees ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp float)
+0:421          'r018' ( temp float)
+0:421          determinant ( temp float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r019' ( temp 4X4 matrix of float)
+0:421          exp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'R020' ( temp 4X4 matrix of float)
+0:421          exp2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r021' ( temp 4X4 matrix of float)
+0:421          Floor ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r022' ( temp 4X4 matrix of float)
+0:421          mod ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r023' ( temp 4X4 matrix of float)
+0:421          Fraction ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r025' ( temp 4X4 matrix of float)
+0:421          fwidth ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026' ( temp 4X4 matrix of float)
+0:421          ldexp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026a' ( temp 4X4 matrix of float)
+0:421          mix ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r027' ( temp 4X4 matrix of float)
+0:421          log ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r028' ( temp 4X4 matrix of float)
+0:421          matrix-scale ( temp 4X4 matrix of float)
+0:421            log2 ( temp 4X4 matrix of float)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.301030
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r029' ( temp 4X4 matrix of float)
+0:421          log2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r030' ( temp 4X4 matrix of float)
+0:421          max ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r031' ( temp 4X4 matrix of float)
+0:421          min ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r032' ( temp 4X4 matrix of float)
+0:421          pow ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r033' ( temp 4X4 matrix of float)
+0:421          radians ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r034' ( temp 4X4 matrix of float)
+0:421          roundEven ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r035' ( temp 4X4 matrix of float)
+0:421          inverse sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r036' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421            Constant:
+0:421              1.000000
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r037' ( temp 4X4 matrix of float)
+0:421          Sign ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r038' ( temp 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF1' ( in 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF2' ( in 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r039' ( temp 4X4 matrix of float)
+0:421          hyp. sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r049' ( temp 4X4 matrix of float)
+0:421          smoothstep ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r041' ( temp 4X4 matrix of float)
+0:421          sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r042' ( temp 4X4 matrix of float)
+0:421          step ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r043' ( temp 4X4 matrix of float)
+0:421          tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r044' ( temp 4X4 matrix of float)
+0:421          hyp. tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      transpose ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r046' ( temp 4X4 matrix of float)
+0:421          trunc ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:424      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -2470,334 +2476,334 @@
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-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:442  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:442    Function Parameters: 
+0:442      'inF0' ( in float)
+0:442      'inF1' ( in float)
+0:442      'inFV0' ( in 2-component vector of float)
+0:442      'inFV1' ( in 2-component vector of float)
+0:442      'inFM0' ( in 2X2 matrix of float)
+0:442      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-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:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r0' ( temp float)
+0:443          component-wise multiply ( temp float)
+0:443            'inF1' ( in float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r1' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r2' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r3' ( temp float)
+0:443          dot-product ( temp float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFV1' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r4' ( temp 2-component vector of float)
+0:443          vector-times-matrix ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r5' ( temp 2-component vector of float)
+0:443          matrix-times-vector ( temp 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r6' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r7' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r8' ( temp 2X2 matrix of float)
+0:443          matrix-multiply ( temp 2X2 matrix of float)
+0:443            'inFM1' ( in 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:449  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:449    Function Parameters: 
+0:449      'inF0' ( in float)
+0:449      'inF1' ( in float)
+0:449      'inFV0' ( in 3-component vector of float)
+0:449      'inFV1' ( in 3-component vector of float)
+0:449      'inFM0' ( in 3X3 matrix of float)
+0:449      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-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:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r0' ( temp float)
+0:450          component-wise multiply ( temp float)
+0:450            'inF1' ( in float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r1' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r2' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r3' ( temp float)
+0:450          dot-product ( temp float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFV1' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r4' ( temp 3-component vector of float)
+0:450          vector-times-matrix ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r5' ( temp 3-component vector of float)
+0:450          matrix-times-vector ( temp 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r6' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r7' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r8' ( temp 3X3 matrix of float)
+0:450          matrix-multiply ( temp 3X3 matrix of float)
+0:450            'inFM1' ( in 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:456  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:456    Function Parameters: 
+0:456      'inF0' ( in float)
+0:456      'inF1' ( in float)
+0:456      'inFV0' ( in 4-component vector of float)
+0:456      'inFV1' ( in 4-component vector of float)
+0:456      'inFM0' ( in 4X4 matrix of float)
+0:456      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-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:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r0' ( temp float)
+0:457          component-wise multiply ( temp float)
+0:457            'inF1' ( in float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r1' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r2' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r3' ( temp float)
+0:457          dot-product ( temp float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFV1' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r4' ( temp 4-component vector of float)
+0:457          vector-times-matrix ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r5' ( temp 4-component vector of float)
+0:457          matrix-times-vector ( temp 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r6' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r7' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r8' ( temp 4X4 matrix of float)
+0:457          matrix-multiply ( temp 4X4 matrix of float)
+0:457            'inFM1' ( in 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:466  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:466    Function Parameters: 
+0:466      'inF0' ( in float)
+0:466      'inF1' ( in float)
+0:466      'inFV2' ( in 2-component vector of float)
+0:466      'inFV3' ( in 3-component vector of float)
+0:466      'inFM2x3' ( in 2X3 matrix of float)
+0:466      'inFM3x2' ( in 3X2 matrix of float)
+0:466      'inFM3x3' ( in 3X3 matrix of float)
+0:466      'inFM3x4' ( in 3X4 matrix of float)
+0:466      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
-0:466      Sequence
-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 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        move second child to first child ( temp float)
+0:467          'r00' ( temp float)
+0:467          component-wise multiply ( temp float)
+0:467            'inF1' ( in 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 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        move second child to first child ( temp 2-component vector of float)
+0:468          'r01' ( temp 2-component vector of float)
+0:468          vector-scale ( temp 2-component vector of float)
 0:468            'inF0' ( in float)
-0:468            'inFV3' ( in 3-component vector of float)
+0:468            'inFV2' ( in 2-component vector of float)
 0:469      Sequence
-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        move second child to first child ( temp 3-component vector of float)
+0:469          'r02' ( temp 3-component vector of float)
+0:469          vector-scale ( temp 3-component vector of float)
 0:469            'inF0' ( in float)
+0:469            'inFV3' ( in 3-component vector of float)
 0:470      Sequence
-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        move second child to first child ( temp 2-component vector of float)
+0:470          'r03' ( temp 2-component vector of float)
+0:470          vector-scale ( temp 2-component vector of float)
+0:470            'inFV2' ( in 2-component vector of float)
 0:470            'inF0' ( in float)
 0:471      Sequence
-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:471        move second child to first child ( temp 3-component vector of float)
+0:471          'r04' ( temp 3-component vector of float)
+0:471          vector-scale ( temp 3-component vector of float)
+0:471            'inFV3' ( in 3-component vector of float)
+0:471            'inF0' ( in float)
 0:472      Sequence
 0:472        move second child to first child ( temp float)
-0:472          'r06' ( temp float)
+0:472          'r05' ( 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:472            'inFV2' ( in 2-component vector of float)
+0:472            'inFV2' ( in 2-component vector of float)
 0:473      Sequence
-0:473        move second child to first child ( temp 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:473        move second child to first child ( temp float)
+0:473          'r06' ( temp float)
+0:473          dot-product ( temp float)
+0:473            'inFV3' ( in 3-component vector of float)
+0:473            'inFV3' ( in 3-component vector of float)
 0:474      Sequence
-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:474        move second child to first child ( temp 3-component vector of float)
+0:474          'r07' ( temp 3-component vector of float)
+0:474          matrix-times-vector ( temp 3-component vector of float)
+0:474            'inFM2x3' ( in 2X3 matrix of float)
+0:474            'inFV2' ( in 2-component vector of float)
 0:475      Sequence
 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          'r08' ( temp 2-component vector of float)
+0:475          matrix-times-vector ( temp 2-component vector of float)
+0:475            'inFM3x2' ( in 3X2 matrix 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 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:476        move second child to first child ( temp 2-component vector of float)
+0:476          'r09' ( temp 2-component vector of float)
+0:476          vector-times-matrix ( temp 2-component vector of float)
+0:476            'inFV3' ( in 3-component vector of float)
+0:476            'inFM2x3' ( in 2X3 matrix of float)
 0:477      Sequence
-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:477        move second child to first child ( temp 3-component vector of float)
+0:477          'r10' ( temp 3-component vector of float)
+0:477          vector-times-matrix ( temp 3-component vector of float)
+0:477            'inFV2' ( in 2-component vector of float)
+0:477            'inFM3x2' ( in 3X2 matrix of float)
 0:478      Sequence
-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        move second child to first child ( temp 2X3 matrix of float)
+0:478          'r11' ( temp 2X3 matrix of float)
+0:478          matrix-scale ( temp 2X3 matrix of float)
 0:478            'inF0' ( in float)
-0:478            'inFM3x2' ( in 3X2 matrix of float)
+0:478            'inFM2x3' ( in 2X3 matrix of float)
 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        move second child to first child ( temp 3X2 matrix of float)
+0:479          'r12' ( temp 3X2 matrix of float)
+0:479          matrix-scale ( temp 3X2 matrix of float)
+0:479            'inF0' ( in 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        move second child to first child ( temp 2X2 matrix of float)
+0:480          'r13' ( temp 2X2 matrix of float)
+0:480          matrix-multiply ( temp 2X2 matrix of float)
+0:480            'inFM3x2' ( in 3X2 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        move second child to first child ( temp 2X3 matrix of float)
+0:481          'r14' ( temp 2X3 matrix of float)
+0:481          matrix-multiply ( temp 2X3 matrix of float)
+0:481            'inFM3x3' ( in 3X3 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:482        move second child to first child ( temp 2X4 matrix of float)
+0:482          'r15' ( temp 2X4 matrix of float)
+0:482          matrix-multiply ( temp 2X4 matrix of float)
+0:482            'inFM3x4' ( in 3X4 matrix of float)
+0:482            'inFM2x3' ( in 2X3 matrix of float)
+0:483      Sequence
+0:483        move second child to first child ( temp 3X4 matrix of float)
+0:483          'r16' ( temp 3X4 matrix of float)
+0:483          matrix-multiply ( temp 3X4 matrix of float)
+0:483            'inFM2x4' ( in 2X4 matrix of float)
+0:483            'inFM3x2' ( in 3X2 matrix of float)
+0:489  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:489    Function Parameters: 
 0:?     Sequence
-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:491      move second child to first child ( temp 4-component vector of float)
+0:491        color: direct index for structure ( temp 4-component vector of float)
+0:491          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:491          Constant:
+0:491            0 (const int)
+0:491        Constant:
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:492      Branch: Return with expression
+0:492        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:489  Function Definition: main( ( temp void)
+0:489    Function Parameters: 
 0:?     Sequence
-0:488      Sequence
-0:488        move second child to first child ( temp 4-component vector of float)
+0:489      Sequence
+0:489        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: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:489          color: direct index for structure ( temp 4-component vector of float)
+0:489            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:489            Constant:
+0:489              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -2960,1110 +2966,1104 @@
 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          'r027' ( temp float)
-0:48          exp ( temp float)
-0:48            'inF0' ( in float)
+0:45      Sequence
+0:45        move second child to first child ( temp float)
+0:45          'r024' ( temp float)
+0:45          distance ( temp float)
+0:45            'inF0' ( in float)
+0:45            'inF1' ( in float)
 0:49      Sequence
 0:49        move second child to first child ( temp float)
-0:49          'r028' ( temp float)
-0:49          exp2 ( temp float)
+0:49          'r027' ( temp float)
+0:49          exp ( temp float)
 0:49            'inF0' ( in float)
 0:50      Sequence
-0:50        move second child to first child ( temp uint)
-0:50          'r029' ( temp uint)
-0:50          Convert int to uint ( temp uint)
-0:50            findMSB ( temp int)
-0:50              Constant:
-0:50                7 (const int)
+0:50        move second child to first child ( temp float)
+0:50          'r028' ( temp float)
+0:50          exp2 ( temp float)
+0:50            'inF0' ( in float)
 0:51      Sequence
 0:51        move second child to first child ( temp uint)
-0:51          'r030' ( temp uint)
+0:51          'r029' ( temp uint)
 0:51          Convert int to uint ( temp uint)
-0:51            findLSB ( temp int)
+0:51            findMSB ( 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          'r033' ( temp float)
-0:54          mod ( temp float)
-0:54            'inF0' ( in float)
-0:54            'inF1' ( in float)
+0:52        move second child to first child ( temp uint)
+0:52          'r030' ( temp uint)
+0:52          Convert int to uint ( temp uint)
+0:52            findLSB ( temp int)
+0:52              Constant:
+0:52                7 (const int)
+0:53      Sequence
+0:53        move second child to first child ( temp float)
+0:53          'r031' ( temp float)
+0:53          Floor ( temp float)
+0:53            'inF0' ( in float)
 0:55      Sequence
 0:55        move second child to first child ( temp float)
-0:55          'r034' ( temp float)
-0:55          Fraction ( temp float)
+0:55          'r033' ( temp float)
+0:55          mod ( temp float)
 0:55            'inF0' ( in float)
+0:55            'inF1' ( in float)
 0:56      Sequence
 0:56        move second child to first child ( temp float)
-0:56          'r036' ( temp float)
-0:56          fwidth ( temp float)
+0:56          'r034' ( temp float)
+0:56          Fraction ( temp float)
 0:56            'inF0' ( in float)
 0:57      Sequence
-0:57        move second child to first child ( temp bool)
-0:57          'r037' ( temp bool)
-0:57          isinf ( temp bool)
+0:57        move second child to first child ( temp float)
+0:57          'r036' ( temp float)
+0:57          fwidth ( temp float)
 0:57            'inF0' ( in float)
 0:58      Sequence
 0:58        move second child to first child ( temp bool)
-0:58          'r038' ( temp bool)
-0:58          isnan ( temp bool)
+0:58          'r037' ( temp bool)
+0:58          isinf ( temp bool)
 0:58            'inF0' ( in float)
 0:59      Sequence
-0:59        move second child to first child ( temp float)
-0:59          'r039' ( temp float)
-0:59          ldexp ( temp float)
+0:59        move second child to first child ( temp bool)
+0:59          'r038' ( temp bool)
+0:59          isnan ( temp bool)
 0:59            'inF0' ( in float)
-0:59            'inF1' ( in float)
 0:60      Sequence
 0:60        move second child to first child ( temp float)
-0:60          'r039a' ( temp float)
-0:60          mix ( temp float)
+0:60          'r039' ( temp float)
+0:60          ldexp ( temp float)
 0:60            'inF0' ( in float)
 0:60            'inF1' ( in float)
-0:60            'inF2' ( in float)
 0:61      Sequence
 0:61        move second child to first child ( temp float)
-0:61          'r040' ( temp float)
-0:61          log ( temp float)
+0:61          'r039a' ( temp float)
+0:61          mix ( temp float)
 0:61            'inF0' ( in float)
+0:61            'inF1' ( in float)
+0:61            'inF2' ( in float)
 0:62      Sequence
 0:62        move second child to first child ( temp 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:62          'r040' ( temp float)
+0:62          log ( temp float)
+0:62            'inF0' ( in float)
 0:63      Sequence
 0:63        move second child to first child ( temp float)
-0:63          'r042' ( temp float)
-0:63          log2 ( temp float)
-0:63            'inF0' ( in float)
+0:63          'r041' ( temp float)
+0:63          component-wise multiply ( temp float)
+0:63            log2 ( temp float)
+0:63              'inF0' ( in float)
+0:63            Constant:
+0:63              0.301030
 0:64      Sequence
 0:64        move second child to first child ( temp float)
-0:64          'r043' ( temp float)
-0:64          max ( temp float)
+0:64          'r042' ( temp float)
+0:64          log2 ( temp float)
 0:64            'inF0' ( in float)
-0:64            'inF1' ( in float)
 0:65      Sequence
 0:65        move second child to first child ( temp float)
-0:65          'r044' ( temp float)
-0:65          min ( temp float)
+0:65          'r043' ( temp float)
+0:65          max ( temp float)
 0:65            'inF0' ( in float)
 0:65            'inF1' ( in float)
 0:66      Sequence
 0:66        move second child to first child ( temp float)
-0:66          'r045' ( temp float)
-0:66          pow ( temp float)
+0:66          'r044' ( temp float)
+0:66          min ( temp float)
 0:66            'inF0' ( in float)
 0:66            'inF1' ( in float)
 0:67      Sequence
 0:67        move second child to first child ( temp float)
-0:67          'r046' ( temp float)
-0:67          radians ( temp float)
+0:67          'r045' ( temp float)
+0:67          pow ( temp float)
 0:67            'inF0' ( in float)
+0:67            'inF1' ( in float)
 0:68      Sequence
 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          'r046' ( temp float)
+0:68          radians ( temp float)
 0:68            'inF0' ( in float)
 0:69      Sequence
-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:69        move second child to first child ( temp float)
+0:69          'r047' ( temp float)
+0:69          divide ( temp float)
+0:69            Constant:
+0:69              1.000000
+0:69            'inF0' ( in float)
 0:70      Sequence
-0:70        move second child to first child ( temp float)
-0:70          'r049' ( temp float)
-0:70          roundEven ( temp float)
-0:70            'inF0' ( in float)
+0:70        move second child to first child ( temp uint)
+0:70          'r048' ( temp uint)
+0:70          Convert int to uint ( temp uint)
+0:70            bitFieldReverse ( temp int)
+0:70              Constant:
+0:70                2 (const int)
 0:71      Sequence
 0:71        move second child to first child ( temp float)
-0:71          'r050' ( temp float)
-0:71          inverse sqrt ( temp float)
+0:71          'r049' ( temp float)
+0:71          roundEven ( temp float)
 0:71            'inF0' ( in float)
 0:72      Sequence
 0:72        move second child to first child ( temp float)
-0:72          'r051' ( temp float)
-0:72          clamp ( temp float)
+0:72          'r050' ( temp float)
+0:72          inverse sqrt ( 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          'r052' ( temp float)
-0:73          Sign ( temp float)
+0:73          'r051' ( temp float)
+0:73          clamp ( temp float)
 0:73            'inF0' ( in float)
+0:73            Constant:
+0:73              0.000000
+0:73            Constant:
+0:73              1.000000
 0:74      Sequence
 0:74        move second child to first child ( temp float)
-0:74          'r053' ( temp float)
-0:74          sine ( temp float)
+0:74          'r052' ( temp float)
+0:74          Sign ( temp float)
 0:74            'inF0' ( in float)
 0:75      Sequence
 0:75        move second child to first child ( temp float)
-0:75          'inF1' ( in float)
+0:75          'r053' ( temp 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          'r055' ( temp float)
-0:76          hyp. sine ( temp float)
+0:76          'inF1' ( in float)
+0:76          sine ( temp float)
+0:76            'inF0' ( in float)
+0:76        move second child to first child ( temp float)
+0:76          'inF2' ( in float)
+0:76          cosine ( temp float)
 0:76            'inF0' ( in float)
 0:77      Sequence
 0:77        move second child to first child ( temp float)
-0:77          'r056' ( temp float)
-0:77          smoothstep ( temp float)
+0:77          'r055' ( temp float)
+0:77          hyp. sine ( temp float)
 0:77            'inF0' ( in float)
-0:77            'inF1' ( in float)
-0:77            'inF2' ( in float)
 0:78      Sequence
 0:78        move second child to first child ( temp float)
-0:78          'r057' ( temp float)
-0:78          sqrt ( temp float)
+0:78          'r056' ( temp float)
+0:78          smoothstep ( temp float)
 0:78            'inF0' ( in float)
+0:78            'inF1' ( in float)
+0:78            'inF2' ( in float)
 0:79      Sequence
 0:79        move second child to first child ( temp float)
-0:79          'r058' ( temp float)
-0:79          step ( temp float)
+0:79          'r057' ( temp float)
+0:79          sqrt ( temp float)
 0:79            'inF0' ( in float)
-0:79            'inF1' ( in float)
 0:80      Sequence
 0:80        move second child to first child ( temp float)
-0:80          'r059' ( temp float)
-0:80          tangent ( temp float)
+0:80          'r058' ( temp float)
+0:80          step ( temp float)
 0:80            'inF0' ( in float)
+0:80            'inF1' ( in 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          'r059' ( temp float)
+0:81          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:82      Sequence
+0:82        move second child to first child ( temp float)
+0:82          'r060' ( temp float)
+0:82          hyp. tangent ( temp float)
+0:82            'inF0' ( in float)
+0:84      Sequence
+0:84        move second child to first child ( temp float)
+0:84          'r061' ( temp float)
+0:84          trunc ( temp float)
+0:84            'inF0' ( in float)
+0:86      Branch: Return with expression
+0:86        Constant:
+0:86          0.000000
+0:90  Function Definition: PixelShaderFunction1(vf1;vf1;vf1; ( temp 1-component vector of float)
+0:90    Function Parameters: 
+0:90      'inF0' ( in 1-component vector of float)
+0:90      'inF1' ( in 1-component vector of float)
+0:90      'inF2' ( in 1-component vector of float)
 0:?     Sequence
-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:92      Branch: Return with expression
+0:92        Constant:
+0:92          0.000000
+0:96  Function Definition: PixelShaderFunction2(vf2;vf2;vf2;vu2;vu2; ( temp 2-component vector of float)
+0:96    Function Parameters: 
+0:96      'inF0' ( in 2-component vector of float)
+0:96      'inF1' ( in 2-component vector of float)
+0:96      'inF2' ( in 2-component vector of float)
+0:96      'inU0' ( in 2-component vector of uint)
+0:96      'inU1' ( in 2-component vector of uint)
 0:?     Sequence
-0:98      Sequence
-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          '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:99        move second child to first child ( temp bool)
+0:99          'r000' ( temp bool)
+0:99          all ( temp bool)
+0:99            Convert float to bool ( temp 2-component vector of bool)
+0:99              'inF0' ( in 2-component vector of float)
 0:100      Sequence
 0:100        move second child to first child ( temp 2-component vector of float)
-0:100          'r002' ( temp 2-component vector of float)
-0:100          arc cosine ( temp 2-component vector of float)
+0:100          'r001' ( temp 2-component vector of float)
+0:100          Absolute value ( temp 2-component vector of float)
 0:100            'inF0' ( in 2-component vector of float)
 0:101      Sequence
-0:101        move second child to first child ( temp bool)
-0:101          'r003' ( temp bool)
-0:101          any ( temp bool)
-0:101            Convert float to bool ( temp 2-component vector of bool)
-0:101              'inF0' ( in 2-component vector of float)
+0:101        move second child to first child ( temp 2-component vector of float)
+0:101          'r002' ( temp 2-component vector of float)
+0:101          arc cosine ( temp 2-component vector of float)
+0:101            'inF0' ( in 2-component vector of float)
 0:102      Sequence
-0:102        move second child to first child ( temp 2-component vector of float)
-0:102          'r004' ( temp 2-component vector of float)
-0:102          arc sine ( temp 2-component vector of float)
-0:102            'inF0' ( in 2-component vector of float)
+0:102        move second child to first child ( temp bool)
+0:102          'r003' ( temp bool)
+0:102          any ( temp bool)
+0:102            Convert float to bool ( temp 2-component vector of bool)
+0:102              'inF0' ( in 2-component vector of float)
 0:103      Sequence
-0:103        move second child to first child ( temp 2-component vector of int)
-0:103          'r005' ( temp 2-component vector of int)
-0:103          floatBitsToInt ( temp 2-component vector of int)
+0:103        move second child to first child ( temp 2-component vector of float)
+0:103          'r004' ( temp 2-component vector of float)
+0:103          arc sine ( temp 2-component vector of float)
 0:103            'inF0' ( in 2-component vector of float)
 0:104      Sequence
-0:104        move second child to first child ( temp 2-component vector of uint)
-0:104          'r006' ( temp 2-component vector of uint)
-0:104          floatBitsToUint ( temp 2-component vector of uint)
+0:104        move second child to first child ( temp 2-component vector of int)
+0:104          'r005' ( temp 2-component vector of int)
+0:104          floatBitsToInt ( temp 2-component vector of int)
 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          '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:105        move second child to first child ( temp 2-component vector of uint)
+0:105          'r006' ( temp 2-component vector of uint)
+0:105          floatBitsToUint ( temp 2-component vector of uint)
+0:105            'inF0' ( in 2-component vector of float)
+0:106      Sequence
+0:106        move second child to first child ( temp 2-component vector of float)
+0:106          'r007' ( temp 2-component vector of float)
+0:106          intBitsToFloat ( temp 2-component vector of float)
+0:106            'inU0' ( in 2-component vector of uint)
 0:108      Sequence
 0:108        move second child to first child ( temp 2-component vector of float)
-0:108          'r010' ( temp 2-component vector of float)
+0:108          'r009' ( 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          'r011' ( temp 2-component vector of float)
-0:109          Ceiling ( temp 2-component vector of float)
+0:109          'r010' ( temp 2-component vector of float)
+0:109          arc tangent ( 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: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          'r011' ( temp 2-component vector of float)
+0:110          Ceiling ( temp 2-component vector of float)
 0:110            'inF0' ( in 2-component vector of float)
-0:110            'inF1' ( in 2-component vector of float)
-0:110            'inF2' ( in 2-component vector of float)
-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      Sequence
+0:111        move second child to first child ( temp 2-component vector of float)
+0:111          'r012' ( temp 2-component vector of float)
+0:111          clamp ( temp 2-component vector of float)
 0:111            '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:111            'inF1' ( in 2-component vector of float)
+0:111            'inF2' ( in 2-component vector of float)
 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            'inF0' ( in 2-component vector of float)
 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 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:113      Test condition and select ( temp void)
+0:113        Condition
+0:113        any ( temp bool)
+0:113          Compare Less Than ( temp 2-component vector of bool)
+0:113            'inU0' ( in 2-component vector of uint)
+0:113            Constant:
+0:113              0.000000
+0:113              0.000000
+0:113        true case
+0:113        Branch: Kill
 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          'r013' ( temp 2-component vector of float)
+0:114          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:115        move second child to first child ( temp 2-component vector of float)
+0:115          'r015' ( temp 2-component vector of float)
+0:115          hyp. cosine ( 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 int)
+0:116          '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:116      Sequence
-0:116        move second child to first child ( 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          'r018' ( temp 2-component vector of float)
-0:117          dPdxCoarse ( temp 2-component vector of float)
+0:117          'r017' ( temp 2-component vector of float)
+0:117          dPdx ( 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          'r019' ( temp 2-component vector of float)
-0:118          dPdxFine ( temp 2-component vector of float)
+0:118          'r018' ( temp 2-component vector of float)
+0:118          dPdxCoarse ( 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          'r020' ( temp 2-component vector of float)
-0:119          dPdy ( temp 2-component vector of float)
+0:119          'r019' ( temp 2-component vector of float)
+0:119          dPdxFine ( 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          'r021' ( temp 2-component vector of float)
-0:120          dPdyCoarse ( temp 2-component vector of float)
+0:120          'r020' ( temp 2-component vector of float)
+0:120          dPdy ( temp 2-component vector of float)
 0:120            'inF0' ( in 2-component vector of float)
 0:121      Sequence
 0:121        move second child to first child ( temp 2-component vector of float)
-0:121          'r022' ( temp 2-component vector of float)
-0:121          dPdyFine ( temp 2-component vector of float)
+0:121          'r021' ( temp 2-component vector of float)
+0:121          dPdyCoarse ( 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          'r022' ( temp 2-component vector of float)
+0:122          dPdyFine ( 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:123      Sequence
+0:123        move second child to first child ( temp 2-component vector of float)
+0:123          'r023' ( temp 2-component vector of float)
+0:123          degrees ( temp 2-component vector of float)
+0:123            'inF0' ( 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          'r026' ( temp float)
+0:127          distance ( 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          '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:128      Sequence
+0:128        move second child to first child ( temp float)
+0:128          'r027' ( temp float)
+0:128          dot-product ( temp float)
+0:128            'inF0' ( in 2-component vector of float)
+0:128            'inF1' ( in 2-component vector of float)
 0:132      Sequence
 0:132        move second child to first child ( temp 2-component vector of float)
-0:132          'r029' ( temp 2-component vector of float)
-0:132          exp2 ( temp 2-component vector of float)
+0:132          'r028' ( temp 2-component vector of float)
+0:132          exp ( 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          'r029' ( temp 2-component vector of float)
+0:133          exp2 ( 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:134        move second child to first child ( temp 2-component vector of float)
+0:134          'r030' ( temp 2-component vector of float)
+0:134          face-forward ( temp 2-component vector of float)
+0:134            'inF0' ( in 2-component vector of float)
+0:134            'inF1' ( in 2-component vector of float)
+0:134            'inF2' ( in 2-component vector of float)
+0:135      Sequence
+0:135        move second child to first child ( temp 2-component vector of uint)
+0:135          '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: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:136      Sequence
+0:136        move second child to first child ( temp 2-component vector of uint)
+0:136          '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:136      Sequence
-0:136        move second child to first child ( 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:138      Sequence
-0:138        move second child to first child ( 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:137      Sequence
+0:137        move second child to first child ( temp 2-component vector of float)
+0:137          'r033' ( temp 2-component vector of float)
+0:137          Floor ( temp 2-component vector of float)
+0:137            'inF0' ( in 2-component vector of float)
 0:139      Sequence
 0:139        move second child to first child ( temp 2-component vector of float)
-0:139          'r036' ( temp 2-component vector of float)
-0:139          Fraction ( temp 2-component vector of float)
+0:139          'r035' ( temp 2-component vector of float)
+0:139          mod ( temp 2-component vector of float)
 0:139            'inF0' ( in 2-component vector of float)
+0:139            'inF1' ( in 2-component vector of float)
 0:140      Sequence
 0:140        move second child to first child ( temp 2-component vector of float)
-0:140          'r038' ( temp 2-component vector of float)
-0:140          fwidth ( temp 2-component vector of float)
+0:140          'r036' ( temp 2-component vector of float)
+0:140          Fraction ( temp 2-component vector of float)
 0:140            'inF0' ( in 2-component vector of float)
 0:141      Sequence
-0:141        move second child to first child ( temp 2-component vector of bool)
-0:141          'r039' ( temp 2-component vector of bool)
-0:141          isinf ( temp 2-component vector of bool)
+0:141        move second child to first child ( temp 2-component vector of float)
+0:141          'r038' ( temp 2-component vector of float)
+0:141          fwidth ( temp 2-component vector of float)
 0:141            'inF0' ( in 2-component vector of float)
 0:142      Sequence
 0:142        move second child to first child ( temp 2-component vector of bool)
-0:142          'r040' ( temp 2-component vector of bool)
-0:142          isnan ( temp 2-component vector of bool)
+0:142          'r039' ( temp 2-component vector of bool)
+0:142          isinf ( temp 2-component vector of bool)
 0:142            'inF0' ( in 2-component vector of float)
 0:143      Sequence
-0:143        move second child to first child ( temp 2-component vector of float)
-0:143          'r041' ( temp 2-component vector of float)
-0:143          ldexp ( temp 2-component vector of float)
+0:143        move second child to first child ( temp 2-component vector of bool)
+0:143          'r040' ( temp 2-component vector of bool)
+0:143          isnan ( temp 2-component vector of bool)
 0:143            'inF0' ( in 2-component vector of float)
-0:143            'inF1' ( in 2-component vector of float)
 0:144      Sequence
 0:144        move second child to first child ( temp 2-component vector of float)
-0:144          'r039a' ( temp 2-component vector of float)
-0:144          mix ( temp 2-component vector of float)
+0:144          'r041' ( temp 2-component vector of float)
+0:144          ldexp ( temp 2-component vector of float)
 0:144            'inF0' ( in 2-component vector of float)
 0:144            'inF1' ( in 2-component vector of float)
-0:144            'inF2' ( in 2-component vector of float)
 0:145      Sequence
-0:145        move second child to first child ( temp float)
-0:145          'r042' ( temp float)
-0:145          length ( temp float)
+0:145        move second child to first child ( temp 2-component vector of float)
+0:145          'r039a' ( temp 2-component vector of float)
+0:145          mix ( temp 2-component vector of float)
 0:145            'inF0' ( in 2-component vector of float)
+0:145            'inF1' ( in 2-component vector of float)
+0:145            'inF2' ( in 2-component vector of float)
 0:146      Sequence
-0:146        move second child to first child ( temp 2-component vector of float)
-0:146          'r043' ( temp 2-component vector of float)
-0:146          log ( temp 2-component vector of float)
+0:146        move second child to first child ( temp float)
+0:146          'r042' ( temp float)
+0:146          length ( temp 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          '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:147          'r043' ( temp 2-component vector of float)
+0:147          log ( temp 2-component vector of float)
+0:147            'inF0' ( in 2-component vector of float)
 0:148      Sequence
 0:148        move second child to first child ( temp 2-component vector of float)
-0:148          'r045' ( temp 2-component vector of float)
-0:148          log2 ( temp 2-component vector of float)
-0:148            'inF0' ( in 2-component vector of float)
+0:148          'r044' ( temp 2-component vector of float)
+0:148          vector-scale ( 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            Constant:
+0:148              0.301030
 0:149      Sequence
 0:149        move second child to first child ( temp 2-component vector of float)
-0:149          'r046' ( temp 2-component vector of float)
-0:149          max ( temp 2-component vector of float)
+0:149          'r045' ( temp 2-component vector of float)
+0:149          log2 ( temp 2-component vector of float)
 0:149            'inF0' ( in 2-component vector of float)
-0:149            'inF1' ( in 2-component vector of float)
 0:150      Sequence
 0:150        move second child to first child ( temp 2-component vector of float)
-0:150          'r047' ( temp 2-component vector of float)
-0:150          min ( temp 2-component vector of float)
+0:150          'r046' ( temp 2-component vector of float)
+0:150          max ( temp 2-component vector of float)
 0:150            'inF0' ( in 2-component vector of float)
 0:150            'inF1' ( in 2-component vector of float)
 0:151      Sequence
 0:151        move second child to first child ( temp 2-component vector of float)
-0:151          'r048' ( temp 2-component vector of float)
-0:151          normalize ( temp 2-component vector of float)
+0:151          'r047' ( temp 2-component vector of float)
+0:151          min ( temp 2-component vector of float)
 0:151            'inF0' ( in 2-component vector of float)
+0:151            'inF1' ( in 2-component vector of float)
 0:152      Sequence
 0:152        move second child to first child ( temp 2-component vector of float)
-0:152          'r049' ( temp 2-component vector of float)
-0:152          pow ( temp 2-component vector of float)
+0:152          'r048' ( temp 2-component vector of float)
+0:152          normalize ( temp 2-component vector of float)
 0:152            'inF0' ( in 2-component vector of float)
-0:152            'inF1' ( in 2-component vector of float)
 0:153      Sequence
 0:153        move second child to first child ( temp 2-component vector of float)
-0:153          'r050' ( temp 2-component vector of float)
-0:153          radians ( temp 2-component vector of float)
+0:153          'r049' ( temp 2-component vector of float)
+0:153          pow ( 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          'r051' ( temp 2-component vector of float)
-0:154          divide ( temp 2-component vector of float)
-0:154            Constant:
-0:154              1.000000
+0:154          'r050' ( temp 2-component vector of float)
+0:154          radians ( temp 2-component vector of float)
 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 float)
-0:155          'r052' ( temp 2-component vector of float)
-0:155          reflect ( temp 2-component vector of float)
+0:155          'r051' ( temp 2-component vector of float)
+0:155          divide ( temp 2-component vector of float)
+0:155            Constant:
+0:155              1.000000
 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          'r052' ( temp 2-component vector of float)
+0:156          reflect ( 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:157        move second child to first child ( temp 2-component vector of float)
+0:157          'r053' ( temp 2-component vector of float)
+0:157          refract ( temp 2-component vector of float)
+0:157            'inF0' ( in 2-component vector of float)
+0:157            'inF1' ( in 2-component vector of float)
+0:157            Constant:
+0:157              2.000000
+0:158      Sequence
+0:158        move second child to first child ( temp 2-component vector of uint)
+0:158          '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:158      Sequence
-0:158        move second child to first child ( temp 2-component vector of float)
-0:158          'r055' ( temp 2-component vector of float)
-0:158          roundEven ( temp 2-component vector of float)
-0:158            'inF0' ( in 2-component vector of float)
 0:159      Sequence
 0:159        move second child to first child ( temp 2-component vector of float)
-0:159          'r056' ( temp 2-component vector of float)
-0:159          inverse sqrt ( temp 2-component vector of float)
+0:159          'r055' ( temp 2-component vector of float)
+0:159          roundEven ( 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          'r057' ( temp 2-component vector of float)
-0:160          clamp ( temp 2-component vector of float)
+0:160          'r056' ( temp 2-component vector of float)
+0:160          inverse sqrt ( 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          'r058' ( temp 2-component vector of float)
-0:161          Sign ( temp 2-component vector of float)
+0:161          'r057' ( temp 2-component vector of float)
+0:161          clamp ( temp 2-component vector of float)
 0:161            'inF0' ( in 2-component vector of float)
+0:161            Constant:
+0:161              0.000000
+0:161            Constant:
+0:161              1.000000
 0:162      Sequence
 0:162        move second child to first child ( temp 2-component vector of float)
-0:162          'r059' ( temp 2-component vector of float)
-0:162          sine ( temp 2-component vector of float)
+0:162          'r058' ( temp 2-component vector of float)
+0:162          Sign ( 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          'inF1' ( in 2-component vector of float)
+0:163          'r059' ( temp 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        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          'r060' ( temp 2-component vector of float)
-0:164          hyp. sine ( temp 2-component vector of float)
+0:164          'inF1' ( in 2-component vector of float)
+0:164          sine ( temp 2-component vector of float)
+0:164            'inF0' ( in 2-component vector of float)
+0:164        move second child to first child ( temp 2-component vector of float)
+0:164          'inF2' ( in 2-component vector of float)
+0:164          cosine ( temp 2-component vector of float)
 0:164            'inF0' ( in 2-component vector of float)
 0:165      Sequence
 0:165        move second child to first child ( temp 2-component vector of float)
-0:165          'r061' ( temp 2-component vector of float)
-0:165          smoothstep ( temp 2-component vector of float)
+0:165          'r060' ( temp 2-component vector of float)
+0:165          hyp. sine ( temp 2-component vector of float)
 0:165            'inF0' ( in 2-component vector of float)
-0:165            'inF1' ( in 2-component vector of float)
-0:165            'inF2' ( in 2-component vector of float)
 0:166      Sequence
 0:166        move second child to first child ( temp 2-component vector of float)
-0:166          'r062' ( temp 2-component vector of float)
-0:166          sqrt ( temp 2-component vector of float)
+0:166          'r061' ( temp 2-component vector of float)
+0:166          smoothstep ( temp 2-component vector of float)
 0:166            'inF0' ( in 2-component vector of float)
+0:166            'inF1' ( in 2-component vector of float)
+0:166            'inF2' ( in 2-component vector of float)
 0:167      Sequence
 0:167        move second child to first child ( temp 2-component vector of float)
-0:167          'r063' ( temp 2-component vector of float)
-0:167          step ( temp 2-component vector of float)
+0:167          'r062' ( temp 2-component vector of float)
+0:167          sqrt ( 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          'r063' ( temp 2-component vector of float)
+0:168          step ( temp 2-component vector of float)
 0:168            'inF0' ( in 2-component vector of float)
+0:168            'inF1' ( in 2-component vector of float)
 0:169      Sequence
 0:169        move second child to first child ( temp 2-component vector of float)
-0:169          'r065' ( temp 2-component vector of float)
-0:169          hyp. tangent ( temp 2-component vector of float)
+0:169          'r064' ( temp 2-component vector of float)
+0:169          tangent ( temp 2-component vector of float)
 0:169            'inF0' ( in 2-component vector of float)
-0:171      Sequence
-0:171        move second child to first child ( temp 2-component vector of float)
-0:171          'r066' ( temp 2-component vector of float)
-0:171          trunc ( temp 2-component vector of float)
-0:171            'inF0' ( in 2-component vector of float)
-0:174      Branch: Return with expression
+0:170      Sequence
+0:170        move second child to first child ( temp 2-component vector of float)
+0:170          'r065' ( temp 2-component vector of float)
+0:170          hyp. tangent ( temp 2-component vector of float)
+0:170            'inF0' ( in 2-component vector of float)
+0:172      Sequence
+0:172        move second child to first child ( temp 2-component vector of float)
+0:172          'r066' ( temp 2-component vector of float)
+0:172          trunc ( temp 2-component vector of float)
+0:172            'inF0' ( in 2-component vector of float)
+0:175      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
-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:179  Function Definition: PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3; ( temp 3-component vector of float)
+0:179    Function Parameters: 
+0:179      'inF0' ( in 3-component vector of float)
+0:179      'inF1' ( in 3-component vector of float)
+0:179      'inF2' ( in 3-component vector of float)
+0:179      'inU0' ( in 3-component vector of uint)
+0:179      'inU1' ( in 3-component vector of uint)
 0:?     Sequence
-0:181      Sequence
-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 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:182        move second child to first child ( temp bool)
+0:182          'r000' ( temp bool)
+0:182          all ( temp bool)
+0:182            Convert float to bool ( temp 3-component vector of bool)
+0:182              'inF0' ( in 3-component vector of float)
 0:183      Sequence
 0:183        move second child to first child ( temp 3-component vector of float)
-0:183          'r002' ( temp 3-component vector of float)
-0:183          arc cosine ( temp 3-component vector of float)
+0:183          'r001' ( temp 3-component vector of float)
+0:183          Absolute value ( temp 3-component vector of float)
 0:183            'inF0' ( in 3-component vector of float)
 0:184      Sequence
-0:184        move second child to first child ( temp bool)
-0:184          'r003' ( temp bool)
-0:184          any ( temp bool)
-0:184            Convert float to bool ( temp 3-component vector of bool)
-0:184              'inF0' ( in 3-component vector of float)
+0:184        move second child to first child ( temp 3-component vector of float)
+0:184          'r002' ( temp 3-component vector of float)
+0:184          arc cosine ( temp 3-component vector of float)
+0:184            'inF0' ( in 3-component vector of float)
 0:185      Sequence
-0:185        move second child to first child ( temp 3-component vector of float)
-0:185          'r004' ( temp 3-component vector of float)
-0:185          arc sine ( temp 3-component vector of float)
-0:185            'inF0' ( in 3-component vector of float)
+0:185        move second child to first child ( temp bool)
+0:185          'r003' ( temp bool)
+0:185          any ( temp bool)
+0:185            Convert float to bool ( temp 3-component vector of bool)
+0:185              'inF0' ( in 3-component vector of float)
 0:186      Sequence
-0:186        move second child to first child ( temp 3-component vector of int)
-0:186          'r005' ( temp 3-component vector of int)
-0:186          floatBitsToInt ( temp 3-component vector of int)
+0:186        move second child to first child ( temp 3-component vector of float)
+0:186          'r004' ( temp 3-component vector of float)
+0:186          arc sine ( temp 3-component vector of float)
 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        move second child to first child ( temp 3-component vector of int)
+0:187          'r005' ( temp 3-component vector of int)
+0:187          floatBitsToInt ( temp 3-component vector of int)
 0:187            'inF0' ( in 3-component vector of float)
 0:188      Sequence
-0:188        move second child to first child ( temp 3-component vector of float)
-0:188          'r007' ( temp 3-component vector of float)
-0:188          intBitsToFloat ( temp 3-component vector of float)
-0:188            'inU0' ( in 3-component vector of uint)
-0:190      Sequence
-0:190        move second child to first child ( temp 3-component vector of float)
-0:190          'r009' ( temp 3-component vector of float)
-0:190          arc tangent ( temp 3-component vector of float)
-0:190            'inF0' ( in 3-component vector of float)
+0:188        move second child to first child ( temp 3-component vector of uint)
+0:188          'r006' ( temp 3-component vector of uint)
+0:188          floatBitsToUint ( temp 3-component vector of uint)
+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          'r007' ( temp 3-component vector of float)
+0:189          intBitsToFloat ( temp 3-component vector of float)
+0:189            'inU0' ( in 3-component vector of uint)
 0:191      Sequence
 0:191        move second child to first child ( temp 3-component vector of float)
-0:191          'r010' ( temp 3-component vector of float)
+0:191          'r009' ( 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: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          'r010' ( temp 3-component vector of float)
+0:192          arc tangent ( temp 3-component vector of float)
 0:192            'inF0' ( in 3-component vector of float)
+0:192            'inF1' ( in 3-component vector of float)
 0:193      Sequence
 0:193        move second child to first child ( temp 3-component vector of float)
-0:193          'r012' ( temp 3-component vector of float)
-0:193          clamp ( temp 3-component vector of float)
+0:193          'r011' ( temp 3-component vector of float)
+0:193          Ceiling ( temp 3-component vector of float)
 0:193            'inF0' ( in 3-component vector of float)
-0:193            'inF1' ( in 3-component vector of float)
-0:193            'inF2' ( in 3-component vector of float)
-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      Sequence
+0:194        move second child to first child ( temp 3-component vector of float)
+0:194          'r012' ( temp 3-component vector of float)
+0:194          clamp ( temp 3-component vector of float)
 0:194            'inF0' ( in 3-component vector of float)
-0:194            Constant:
-0:194              0.000000
-0:194              0.000000
-0:194              0.000000
-0:194        true case
-0:194        Branch: Kill
+0:194            'inF1' ( in 3-component vector of float)
+0:194            'inF2' ( in 3-component vector of float)
 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            'inF0' ( in 3-component vector of float)
 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:196      Test condition and select ( temp void)
+0:196        Condition
+0:196        any ( temp bool)
+0:196          Compare Less Than ( temp 3-component vector of bool)
+0:196            'inU0' ( in 3-component vector of uint)
+0:196            Constant:
+0:196              0.000000
+0:196              0.000000
+0:196              0.000000
+0:196        true case
+0:196        Branch: Kill
 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          'r013' ( temp 3-component vector of float)
+0:197          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:198        move second child to first child ( temp 3-component vector of float)
+0:198          'r014' ( temp 3-component vector of float)
+0:198          hyp. cosine ( 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 uint)
+0:199          '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:199      Sequence
-0:199        move second child to first child ( 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          'r017' ( temp 3-component vector of float)
-0:200          dPdx ( temp 3-component vector of float)
+0:200          'r016' ( temp 3-component vector of float)
+0:200          cross-product ( temp 3-component vector of float)
 0:200            'inF0' ( in 3-component vector of float)
+0:200            'inF1' ( in 3-component vector of float)
 0:201      Sequence
 0:201        move second child to first child ( 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          'r017' ( temp 3-component vector of float)
+0:201          dPdx ( 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          'r019' ( temp 3-component vector of float)
-0:202          dPdxFine ( temp 3-component vector of float)
+0:202          'r018' ( temp 3-component vector of float)
+0:202          dPdxCoarse ( 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          'r020' ( temp 3-component vector of float)
-0:203          dPdy ( temp 3-component vector of float)
+0:203          'r019' ( temp 3-component vector of float)
+0:203          dPdxFine ( temp 3-component vector of float)
 0:203            'inF0' ( in 3-component vector of float)
 0:204      Sequence
 0:204        move second child to first child ( temp 3-component vector of float)
-0:204          'r021' ( temp 3-component vector of float)
-0:204          dPdyCoarse ( temp 3-component vector of float)
+0:204          'r020' ( temp 3-component vector of float)
+0:204          dPdy ( temp 3-component vector of float)
 0:204            'inF0' ( in 3-component vector of float)
 0:205      Sequence
 0:205        move second child to first child ( temp 3-component vector of float)
-0:205          'r022' ( temp 3-component vector of float)
-0:205          dPdyFine ( temp 3-component vector of float)
+0:205          'r021' ( temp 3-component vector of float)
+0:205          dPdyCoarse ( temp 3-component vector of float)
 0:205            'inF0' ( in 3-component vector of float)
 0:206      Sequence
 0:206        move second child to first child ( temp 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          'r022' ( temp 3-component vector of float)
+0:206          dPdyFine ( 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        move second child to first child ( temp 3-component vector of float)
+0:207          'r023' ( temp 3-component vector of float)
+0:207          degrees ( temp 3-component vector of 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          'r024' ( temp float)
+0:208          distance ( 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 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:209      Sequence
+0:209        move second child to first child ( temp float)
+0:209          'r025' ( temp float)
+0:209          dot-product ( temp float)
+0:209            'inF0' ( in 3-component vector of float)
+0:209            'inF1' ( 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          'r029' ( temp 3-component vector of float)
+0:213          exp ( 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          'r030' ( temp 3-component vector of float)
+0:214          exp2 ( 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:215        move second child to first child ( temp 3-component vector of float)
+0:215          'r031' ( temp 3-component vector of float)
+0:215          face-forward ( temp 3-component vector of float)
+0:215            'inF0' ( in 3-component vector of float)
+0:215            'inF1' ( in 3-component vector of float)
+0:215            'inF2' ( in 3-component vector of float)
+0:216      Sequence
+0:216        move second child to first child ( temp 3-component vector of uint)
+0:216          '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: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:217      Sequence
+0:217        move second child to first child ( temp 3-component vector of uint)
+0:217          '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:217      Sequence
-0:217        move second child to first child ( 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:219      Sequence
-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:218      Sequence
+0:218        move second child to first child ( temp 3-component vector of float)
+0:218          'r034' ( temp 3-component vector of float)
+0:218          Floor ( temp 3-component vector of float)
+0:218            'inF0' ( in 3-component vector of float)
 0:220      Sequence
 0:220        move second child to first child ( temp 3-component vector of float)
-0:220          'r037' ( temp 3-component vector of float)
-0:220          Fraction ( temp 3-component vector of float)
+0:220          'r036' ( temp 3-component vector of float)
+0:220          mod ( temp 3-component vector of float)
 0:220            'inF0' ( in 3-component vector of float)
+0:220            'inF1' ( in 3-component vector of float)
 0:221      Sequence
 0:221        move second child to first child ( temp 3-component vector of float)
-0:221          'r039' ( temp 3-component vector of float)
-0:221          fwidth ( temp 3-component vector of float)
+0:221          'r037' ( temp 3-component vector of float)
+0:221          Fraction ( temp 3-component vector of float)
 0:221            'inF0' ( in 3-component vector of float)
 0:222      Sequence
-0:222        move second child to first child ( temp 3-component vector of bool)
-0:222          'r040' ( temp 3-component vector of bool)
-0:222          isinf ( temp 3-component vector of bool)
+0:222        move second child to first child ( temp 3-component vector of float)
+0:222          'r039' ( temp 3-component vector of float)
+0:222          fwidth ( temp 3-component vector of float)
 0:222            'inF0' ( in 3-component vector of float)
 0:223      Sequence
 0:223        move second child to first child ( temp 3-component vector of bool)
-0:223          'r041' ( temp 3-component vector of bool)
-0:223          isnan ( temp 3-component vector of bool)
+0:223          'r040' ( temp 3-component vector of bool)
+0:223          isinf ( temp 3-component vector of bool)
 0:223            'inF0' ( in 3-component vector of float)
 0:224      Sequence
-0:224        move second child to first child ( temp 3-component vector of float)
-0:224          'r042' ( temp 3-component vector of float)
-0:224          ldexp ( temp 3-component vector of float)
+0:224        move second child to first child ( temp 3-component vector of bool)
+0:224          'r041' ( temp 3-component vector of bool)
+0:224          isnan ( temp 3-component vector of bool)
 0:224            'inF0' ( in 3-component vector of float)
-0:224            'inF1' ( in 3-component vector of float)
 0:225      Sequence
 0:225        move second child to first child ( temp 3-component vector of float)
-0:225          'r039a' ( temp 3-component vector of float)
-0:225          mix ( temp 3-component vector of float)
+0:225          'r042' ( temp 3-component vector of float)
+0:225          ldexp ( temp 3-component vector of float)
 0:225            'inF0' ( in 3-component vector of float)
 0:225            'inF1' ( in 3-component vector of float)
-0:225            'inF2' ( in 3-component vector of float)
 0:226      Sequence
 0:226        move second child to first child ( temp 3-component vector of float)
-0:226          'r039b' ( temp 3-component vector of float)
+0:226          'r039a' ( 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.300000
+0:226            'inF2' ( in 3-component vector of float)
 0:227      Sequence
-0:227        move second child to first child ( temp float)
-0:227          'r043' ( temp float)
-0:227          length ( temp float)
+0:227        move second child to first child ( temp 3-component vector of float)
+0:227          'r039b' ( temp 3-component vector of float)
+0:227          mix ( temp 3-component vector of float)
 0:227            'inF0' ( in 3-component vector of float)
+0:227            'inF1' ( in 3-component vector of float)
+0:227            Constant:
+0:227              0.300000
 0:228      Sequence
-0:228        move second child to first child ( temp 3-component vector of float)
-0:228          'r044' ( temp 3-component vector of float)
-0:228          log ( temp 3-component vector of float)
+0:228        move second child to first child ( temp float)
+0:228          'r043' ( temp float)
+0:228          length ( temp float)
 0:228            'inF0' ( in 3-component vector of float)
 0:229      Sequence
 0:229        move second child to first child ( temp 3-component vector of float)
-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:229          'r044' ( temp 3-component vector of float)
+0:229          log ( temp 3-component vector of float)
+0:229            'inF0' ( in 3-component vector of float)
 0:230      Sequence
 0:230        move second child to first child ( temp 3-component vector of float)
-0:230          'r046' ( temp 3-component vector of float)
-0:230          log2 ( temp 3-component vector of float)
-0:230            'inF0' ( in 3-component vector of float)
+0:230          'r045' ( temp 3-component vector of float)
+0:230          vector-scale ( 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:230            Constant:
+0:230              0.301030
 0:231      Sequence
 0:231        move second child to first child ( temp 3-component vector of float)
-0:231          'r047' ( temp 3-component vector of float)
-0:231          max ( temp 3-component vector of float)
+0:231          'r046' ( temp 3-component vector of float)
+0:231          log2 ( temp 3-component vector of float)
 0:231            'inF0' ( in 3-component vector of float)
-0:231            'inF1' ( in 3-component vector of float)
 0:232      Sequence
 0:232        move second child to first child ( temp 3-component vector of float)
-0:232          'r048' ( temp 3-component vector of float)
-0:232          min ( temp 3-component vector of float)
+0:232          'r047' ( temp 3-component vector of float)
+0:232          max ( temp 3-component vector of float)
 0:232            'inF0' ( in 3-component vector of float)
 0:232            'inF1' ( in 3-component vector of float)
 0:233      Sequence
 0:233        move second child to first child ( temp 3-component vector of float)
-0:233          'r049' ( temp 3-component vector of float)
-0:233          normalize ( temp 3-component vector of float)
+0:233          'r048' ( temp 3-component vector of float)
+0:233          min ( temp 3-component vector of float)
 0:233            'inF0' ( in 3-component vector of float)
+0:233            'inF1' ( in 3-component vector of float)
 0:234      Sequence
 0:234        move second child to first child ( temp 3-component vector of float)
-0:234          'r050' ( temp 3-component vector of float)
-0:234          pow ( temp 3-component vector of float)
+0:234          'r049' ( temp 3-component vector of float)
+0:234          normalize ( temp 3-component vector of float)
 0:234            'inF0' ( in 3-component vector of float)
-0:234            'inF1' ( in 3-component vector of float)
 0:235      Sequence
 0:235        move second child to first child ( temp 3-component vector of float)
-0:235          'r051' ( temp 3-component vector of float)
-0:235          radians ( temp 3-component vector of float)
+0:235          'r050' ( temp 3-component vector of float)
+0:235          pow ( 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:236      Sequence
 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          'r051' ( temp 3-component vector of float)
+0:236          radians ( temp 3-component vector of float)
 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          'r052' ( temp 3-component vector of float)
+0:237          divide ( temp 3-component vector of float)
+0:237            Constant:
+0:237              1.000000
 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          'r053' ( temp 3-component vector of float)
+0:238          reflect ( 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:239        move second child to first child ( temp 3-component vector of float)
+0:239          'r054' ( temp 3-component vector of float)
+0:239          refract ( temp 3-component vector of float)
+0:239            'inF0' ( in 3-component vector of float)
+0:239            'inF1' ( in 3-component vector of float)
+0:239            Constant:
+0:239              2.000000
+0:240      Sequence
+0:240        move second child to first child ( temp 3-component vector of uint)
+0:240          '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:240      Sequence
-0:240        move second child to first child ( temp 3-component vector of float)
-0:240          'r056' ( temp 3-component vector of float)
-0:240          roundEven ( temp 3-component vector of float)
-0:240            'inF0' ( in 3-component vector of float)
 0:241      Sequence
 0:241        move second child to first child ( temp 3-component vector of float)
-0:241          'r057' ( temp 3-component vector of float)
-0:241          inverse sqrt ( temp 3-component vector of float)
+0:241          'r056' ( temp 3-component vector of float)
+0:241          roundEven ( 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          'r058' ( temp 3-component vector of float)
-0:242          clamp ( temp 3-component vector of float)
+0:242          'r057' ( temp 3-component vector of float)
+0:242          inverse sqrt ( 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          'r059' ( temp 3-component vector of float)
-0:243          Sign ( temp 3-component vector of float)
+0:243          'r058' ( temp 3-component vector of float)
+0:243          clamp ( temp 3-component vector of float)
 0:243            'inF0' ( in 3-component vector of float)
+0:243            Constant:
+0:243              0.000000
+0:243            Constant:
+0:243              1.000000
 0:244      Sequence
 0:244        move second child to first child ( temp 3-component vector of float)
-0:244          'r060' ( temp 3-component vector of float)
-0:244          sine ( temp 3-component vector of float)
+0:244          'r059' ( temp 3-component vector of float)
+0:244          Sign ( temp 3-component vector of float)
 0:244            'inF0' ( in 3-component vector of float)
 0:245      Sequence
 0:245        move second child to first child ( temp 3-component vector of float)
-0:245          'inF1' ( in 3-component vector of float)
+0:245          'r060' ( temp 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          'r061' ( temp 3-component vector of float)
-0:246          hyp. sine ( temp 3-component vector of float)
+0:246          'inF1' ( in 3-component vector of float)
+0:246          sine ( temp 3-component vector of float)
+0:246            'inF0' ( in 3-component vector of float)
+0:246        move second child to first child ( temp 3-component vector of float)
+0:246          'inF2' ( in 3-component vector of float)
+0:246          cosine ( temp 3-component vector of float)
 0:246            'inF0' ( in 3-component vector of float)
 0:247      Sequence
 0:247        move second child to first child ( temp 3-component vector of float)
-0:247          'r062' ( temp 3-component vector of float)
-0:247          smoothstep ( temp 3-component vector of float)
+0:247          'r061' ( temp 3-component vector of float)
+0:247          hyp. sine ( temp 3-component vector of float)
 0:247            'inF0' ( in 3-component vector of float)
-0:247            'inF1' ( in 3-component vector of float)
-0:247            'inF2' ( in 3-component vector of float)
 0:248      Sequence
 0:248        move second child to first child ( temp 3-component vector of float)
-0:248          'r063' ( temp 3-component vector of float)
-0:248          sqrt ( temp 3-component vector of float)
+0:248          'r062' ( temp 3-component vector of float)
+0:248          smoothstep ( temp 3-component vector of float)
 0:248            'inF0' ( in 3-component vector of float)
+0:248            'inF1' ( in 3-component vector of float)
+0:248            'inF2' ( 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          'r063' ( temp 3-component vector of float)
+0:249          sqrt ( temp 3-component vector of float)
 0:249            'inF0' ( in 3-component vector of float)
-0:249            'inF1' ( in 3-component vector of float)
 0:250      Sequence
 0:250        move second child to first child ( temp 3-component vector of float)
-0:250          'r065' ( temp 3-component vector of float)
-0:250          tangent ( temp 3-component vector of float)
+0:250          'r064' ( temp 3-component vector of float)
+0:250          step ( temp 3-component vector of float)
 0:250            'inF0' ( in 3-component vector of float)
+0:250            'inF1' ( in 3-component vector of float)
 0:251      Sequence
 0:251        move second child to first child ( temp 3-component vector of float)
-0:251          'r066' ( temp 3-component vector of float)
-0:251          hyp. tangent ( temp 3-component vector of float)
+0:251          'r065' ( temp 3-component vector of float)
+0:251          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:252      Sequence
+0:252        move second child to first child ( temp 3-component vector of float)
+0:252          'r066' ( temp 3-component vector of float)
+0:252          hyp. tangent ( temp 3-component vector of float)
+0:252            'inF0' ( in 3-component vector of float)
+0:254      Sequence
+0:254        move second child to first child ( temp 3-component vector of float)
+0:254          'r067' ( temp 3-component vector of float)
+0:254          trunc ( temp 3-component vector of float)
+0:254            'inF0' ( in 3-component vector of float)
+0:257      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
-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:261  Function Definition: PixelShaderFunction(vf4;vf4;vf4;vu4;vu4; ( temp 4-component vector of float)
+0:261    Function Parameters: 
+0:261      'inF0' ( in 4-component vector of float)
+0:261      'inF1' ( in 4-component vector of float)
+0:261      'inF2' ( in 4-component vector of float)
+0:261      'inU0' ( in 4-component vector of uint)
+0:261      'inU1' ( in 4-component vector of uint)
 0:?     Sequence
-0:263      Sequence
-0:263        move second child to first child ( 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          '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:264        move second child to first child ( temp bool)
+0:264          'r000' ( temp bool)
+0:264          all ( temp bool)
+0:264            Convert float to bool ( temp 4-component vector of bool)
+0:264              'inF0' ( in 4-component vector of float)
 0:265      Sequence
 0:265        move second child to first child ( temp 4-component vector of float)
-0:265          'r002' ( temp 4-component vector of float)
-0:265          arc cosine ( temp 4-component vector of float)
+0:265          'r001' ( temp 4-component vector of float)
+0:265          Absolute value ( temp 4-component vector of float)
 0:265            'inF0' ( in 4-component vector of float)
 0:266      Sequence
-0:266        move second child to first child ( temp bool)
-0:266          'r003' ( temp bool)
-0:266          any ( temp bool)
-0:266            Convert float to bool ( temp 4-component vector of bool)
-0:266              'inF0' ( in 4-component vector of float)
+0:266        move second child to first child ( temp 4-component vector of float)
+0:266          'r002' ( temp 4-component vector of float)
+0:266          arc cosine ( temp 4-component vector of float)
+0:266            'inF0' ( in 4-component vector of float)
 0:267      Sequence
-0:267        move second child to first child ( temp 4-component vector of float)
-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:267        move second child to first child ( temp bool)
+0:267          'r003' ( temp bool)
+0:267          any ( temp bool)
+0:267            Convert float to bool ( temp 4-component vector of bool)
+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        move second child to first child ( temp 4-component vector of float)
+0:268          'r004' ( temp 4-component vector of float)
+0:268          arc sine ( temp 4-component vector of float)
 0:268            'inF0' ( in 4-component vector of float)
 0:269      Sequence
-0:269        move second child to first child ( temp 4-component vector of uint)
-0:269          'r006' ( temp 4-component vector of uint)
-0:269          floatBitsToUint ( temp 4-component vector of uint)
+0:269        move second child to first child ( temp 4-component vector of int)
+0:269          'r005' ( temp 4-component vector of int)
+0:269          floatBitsToInt ( temp 4-component vector of int)
 0:269            'inF0' ( in 4-component vector of float)
 0:270      Sequence
-0:270        move second child to first child ( temp 4-component vector of float)
-0:270          'r007' ( temp 4-component vector of float)
-0:270          intBitsToFloat ( temp 4-component vector of float)
-0:270            'inU0' ( in 4-component vector of uint)
-0:272      Sequence
-0:272        move second child to first child ( temp 4-component vector of float)
-0:272          'r009' ( temp 4-component vector of float)
-0:272          arc tangent ( temp 4-component vector of float)
-0:272            'inF0' ( in 4-component vector of float)
+0:270        move second child to first child ( temp 4-component vector of uint)
+0:270          'r006' ( temp 4-component vector of uint)
+0:270          floatBitsToUint ( temp 4-component vector of uint)
+0:270            'inF0' ( 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          'r007' ( temp 4-component vector of float)
+0:271          intBitsToFloat ( temp 4-component vector of float)
+0:271            'inU0' ( in 4-component vector of uint)
 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          'r009' ( 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            'inF1' ( in 4-component vector of float)
 0:274      Sequence
 0:274        move second child to first child ( temp 4-component vector of float)
-0:274          'r011' ( temp 4-component vector of float)
-0:274          Ceiling ( temp 4-component vector of float)
+0:274          'r010' ( temp 4-component vector of float)
+0:274          arc tangent ( temp 4-component vector of float)
 0:274            'inF0' ( in 4-component vector of float)
+0:274            'inF1' ( in 4-component vector of float)
 0:275      Sequence
 0:275        move second child to first child ( temp 4-component vector of float)
-0:275          'r012' ( temp 4-component vector of float)
-0:275          clamp ( temp 4-component vector of float)
+0:275          'r011' ( temp 4-component vector of float)
+0:275          Ceiling ( temp 4-component vector of float)
 0:275            'inF0' ( in 4-component vector of float)
-0:275            'inF1' ( in 4-component vector of float)
-0:275            'inF2' ( in 4-component vector of float)
-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      Sequence
+0:276        move second child to first child ( temp 4-component vector of float)
+0:276          'r012' ( temp 4-component vector of float)
+0:276          clamp ( temp 4-component vector of float)
 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:276            'inF1' ( in 4-component vector of float)
+0:276            'inF2' ( in 4-component vector of float)
 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            'inF0' ( in 4-component vector of float)
 0:277            Constant:
 0:277              0.000000
 0:277              0.000000
@@ -4071,905 +4071,917 @@
 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:278      Test condition and select ( temp void)
+0:278        Condition
+0:278        any ( temp bool)
+0:278          Compare Less Than ( temp 4-component vector of bool)
+0:278            'inU0' ( in 4-component vector of uint)
+0:278            Constant:
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278              0.000000
+0:278        true case
+0:278        Branch: Kill
 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          'r013' ( temp 4-component vector of float)
+0:279          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:280        move second child to first child ( temp 4-component vector of float)
+0:280          'r014' ( temp 4-component vector of float)
+0:280          hyp. cosine ( 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 uint)
+0:281          '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:281      Sequence
-0:281        move second child to first child ( 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          'r017' ( temp 4-component vector of float)
-0:282          dPdxCoarse ( temp 4-component vector of float)
+0:282          'r016' ( temp 4-component vector of float)
+0:282          dPdx ( 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          'r018' ( temp 4-component vector of float)
-0:283          dPdxFine ( temp 4-component vector of float)
+0:283          'r017' ( temp 4-component vector of float)
+0:283          dPdxCoarse ( temp 4-component vector of float)
 0:283            'inF0' ( in 4-component vector of float)
 0:284      Sequence
 0:284        move second child to first child ( temp 4-component vector of float)
-0:284          'r019' ( temp 4-component vector of float)
-0:284          dPdy ( temp 4-component vector of float)
+0:284          'r018' ( temp 4-component vector of float)
+0:284          dPdxFine ( temp 4-component vector of float)
 0:284            'inF0' ( in 4-component vector of float)
 0:285      Sequence
 0:285        move second child to first child ( temp 4-component vector of float)
-0:285          'r020' ( temp 4-component vector of float)
-0:285          dPdyCoarse ( temp 4-component vector of float)
+0:285          'r019' ( temp 4-component vector of float)
+0:285          dPdy ( temp 4-component vector of float)
 0:285            'inF0' ( in 4-component vector of float)
 0:286      Sequence
 0:286        move second child to first child ( temp 4-component vector of float)
-0:286          'r021' ( temp 4-component vector of float)
-0:286          dPdyFine ( temp 4-component vector of float)
+0:286          'r020' ( temp 4-component vector of float)
+0:286          dPdyCoarse ( 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          'r021' ( temp 4-component vector of float)
+0:287          dPdyFine ( 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        move second child to first child ( temp 4-component vector of float)
+0:288          'r022' ( temp 4-component vector of float)
+0:288          degrees ( temp 4-component vector of 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          'r023' ( temp float)
+0:289          distance ( 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          '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:290        move second child to first child ( temp float)
+0:290          'r024' ( temp float)
+0:290          dot-product ( temp float)
+0:290            'inF0' ( in 4-component vector of float)
+0:290            'inF1' ( 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          'r025' ( temp 4-component vector of float)
+0:291          Construct vec4 ( temp 4-component vector of float)
+0:291            Constant:
+0:291              1.000000
+0:291            component-wise multiply ( temp float)
+0:291              direct index ( temp float)
+0:291                'inF0' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291              direct index ( temp float)
+0:291                'inF1' ( in 4-component vector of float)
+0:291                Constant:
+0:291                  1 (const int)
+0:291            direct index ( temp float)
+0:291              'inF0' ( in 4-component vector of float)
+0:291              Constant:
+0:291                2 (const int)
+0:291            direct index ( temp float)
+0:291              'inF1' ( in 4-component vector of float)
+0:291              Constant:
+0:291                3 (const int)
 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          'r029' ( temp 4-component vector of float)
+0:295          exp ( 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          'r030' ( temp 4-component vector of float)
+0:296          exp2 ( 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:297        move second child to first child ( temp 4-component vector of float)
+0:297          'r031' ( temp 4-component vector of float)
+0:297          face-forward ( 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:297            'inF2' ( in 4-component vector of float)
+0:298      Sequence
+0:298        move second child to first child ( temp 4-component vector of uint)
+0:298          '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: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:299      Sequence
+0:299        move second child to first child ( temp 4-component vector of uint)
+0:299          '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:299      Sequence
-0:299        move second child to first child ( 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:301      Sequence
-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:300      Sequence
+0:300        move second child to first child ( temp 4-component vector of float)
+0:300          'r034' ( temp 4-component vector of float)
+0:300          Floor ( temp 4-component vector of float)
+0:300            'inF0' ( in 4-component vector of float)
 0:302      Sequence
 0:302        move second child to first child ( temp 4-component vector of float)
-0:302          'r037' ( temp 4-component vector of float)
-0:302          Fraction ( temp 4-component vector of float)
+0:302          'r036' ( temp 4-component vector of float)
+0:302          mod ( temp 4-component vector of float)
 0:302            'inF0' ( in 4-component vector of float)
+0:302            'inF1' ( in 4-component vector of float)
 0:303      Sequence
 0:303        move second child to first child ( temp 4-component vector of float)
-0:303          'r039' ( temp 4-component vector of float)
-0:303          fwidth ( temp 4-component vector of float)
+0:303          'r037' ( temp 4-component vector of float)
+0:303          Fraction ( temp 4-component vector of float)
 0:303            'inF0' ( in 4-component vector of float)
 0:304      Sequence
-0:304        move second child to first child ( temp 4-component vector of bool)
-0:304          'r040' ( temp 4-component vector of bool)
-0:304          isinf ( temp 4-component vector of bool)
+0:304        move second child to first child ( temp 4-component vector of float)
+0:304          'r039' ( temp 4-component vector of float)
+0:304          fwidth ( temp 4-component vector of float)
 0:304            'inF0' ( in 4-component vector of float)
 0:305      Sequence
 0:305        move second child to first child ( temp 4-component vector of bool)
-0:305          'r041' ( temp 4-component vector of bool)
-0:305          isnan ( temp 4-component vector of bool)
+0:305          'r040' ( temp 4-component vector of bool)
+0:305          isinf ( temp 4-component vector of bool)
 0:305            'inF0' ( in 4-component vector of float)
 0:306      Sequence
-0:306        move second child to first child ( temp 4-component vector of float)
-0:306          'r042' ( temp 4-component vector of float)
-0:306          ldexp ( temp 4-component vector of float)
+0:306        move second child to first child ( temp 4-component vector of bool)
+0:306          'r041' ( temp 4-component vector of bool)
+0:306          isnan ( temp 4-component vector of bool)
 0:306            'inF0' ( in 4-component vector of float)
-0:306            'inF1' ( in 4-component vector of float)
 0:307      Sequence
 0:307        move second child to first child ( temp 4-component vector of float)
-0:307          'r039a' ( temp 4-component vector of float)
-0:307          mix ( temp 4-component vector of float)
+0:307          'r042' ( temp 4-component vector of float)
+0:307          ldexp ( temp 4-component vector of float)
 0:307            'inF0' ( in 4-component vector of float)
 0:307            'inF1' ( in 4-component vector of float)
-0:307            'inF2' ( in 4-component vector of float)
 0:308      Sequence
-0:308        move second child to first child ( temp float)
-0:308          'r043' ( temp float)
-0:308          length ( temp float)
+0:308        move second child to first child ( temp 4-component vector of float)
+0:308          'r039a' ( temp 4-component vector of float)
+0:308          mix ( temp 4-component vector of float)
 0:308            'inF0' ( in 4-component vector of float)
+0:308            'inF1' ( in 4-component vector of float)
+0:308            'inF2' ( in 4-component vector of float)
 0:309      Sequence
-0:309        move second child to first child ( temp 4-component vector of float)
-0:309          'r044' ( temp 4-component vector of float)
-0:309          log ( temp 4-component vector of float)
+0:309        move second child to first child ( temp float)
+0:309          'r043' ( temp float)
+0:309          length ( temp float)
 0:309            'inF0' ( in 4-component vector of float)
 0:310      Sequence
 0:310        move second child to first child ( temp 4-component vector of float)
-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:310          'r044' ( temp 4-component vector of float)
+0:310          log ( temp 4-component vector of float)
+0:310            'inF0' ( in 4-component vector of float)
 0:311      Sequence
 0:311        move second child to first child ( temp 4-component vector of float)
-0:311          'r046' ( temp 4-component vector of float)
-0:311          log2 ( temp 4-component vector of float)
-0:311            'inF0' ( in 4-component vector of float)
+0:311          'r045' ( temp 4-component vector of float)
+0:311          vector-scale ( 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            Constant:
+0:311              0.301030
 0:312      Sequence
 0:312        move second child to first child ( temp 4-component vector of float)
-0:312          'r047' ( temp 4-component vector of float)
-0:312          max ( temp 4-component vector of float)
+0:312          'r046' ( temp 4-component vector of float)
+0:312          log2 ( temp 4-component vector of float)
 0:312            'inF0' ( in 4-component vector of float)
-0:312            'inF1' ( in 4-component vector of float)
 0:313      Sequence
 0:313        move second child to first child ( temp 4-component vector of float)
-0:313          'r048' ( temp 4-component vector of float)
-0:313          min ( temp 4-component vector of float)
+0:313          'r047' ( temp 4-component vector of float)
+0:313          max ( temp 4-component vector of float)
 0:313            'inF0' ( in 4-component vector of float)
 0:313            'inF1' ( in 4-component vector of float)
 0:314      Sequence
 0:314        move second child to first child ( temp 4-component vector of float)
-0:314          'r049' ( temp 4-component vector of float)
-0:314          normalize ( temp 4-component vector of float)
+0:314          'r048' ( temp 4-component vector of float)
+0:314          min ( 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          'r050' ( temp 4-component vector of float)
-0:315          pow ( temp 4-component vector of float)
+0:315          'r049' ( temp 4-component vector of float)
+0:315          normalize ( temp 4-component vector of float)
 0:315            'inF0' ( in 4-component vector of float)
-0:315            'inF1' ( in 4-component vector of float)
 0:316      Sequence
 0:316        move second child to first child ( temp 4-component vector of float)
-0:316          'r051' ( temp 4-component vector of float)
-0:316          radians ( temp 4-component vector of float)
+0:316          'r050' ( temp 4-component vector of float)
+0:316          pow ( temp 4-component vector of float)
 0:316            'inF0' ( in 4-component vector of float)
+0:316            'inF1' ( 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          'r051' ( temp 4-component vector of float)
+0:317          radians ( 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          'r053' ( temp 4-component vector of float)
-0:318          reflect ( temp 4-component vector of float)
+0:318          'r052' ( temp 4-component vector of float)
+0:318          divide ( temp 4-component vector of float)
+0:318            Constant:
+0:318              1.000000
 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          'r053' ( temp 4-component vector of float)
+0:319          reflect ( 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:320        move second child to first child ( temp 4-component vector of float)
+0:320          'r054' ( temp 4-component vector of float)
+0:320          refract ( temp 4-component vector of float)
+0:320            'inF0' ( in 4-component vector of float)
+0:320            'inF1' ( in 4-component vector of float)
+0:320            Constant:
+0:320              2.000000
+0:321      Sequence
+0:321        move second child to first child ( temp 4-component vector of uint)
+0:321          '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:321      Sequence
-0:321        move second child to first child ( temp 4-component vector of float)
-0:321          'r056' ( temp 4-component vector of float)
-0:321          roundEven ( temp 4-component vector of float)
-0:321            'inF0' ( in 4-component vector of float)
 0:322      Sequence
 0:322        move second child to first child ( temp 4-component vector of float)
-0:322          'r057' ( temp 4-component vector of float)
-0:322          inverse sqrt ( temp 4-component vector of float)
+0:322          'r056' ( temp 4-component vector of float)
+0:322          roundEven ( 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          'r058' ( temp 4-component vector of float)
-0:323          clamp ( temp 4-component vector of float)
+0:323          'r057' ( temp 4-component vector of float)
+0:323          inverse sqrt ( 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          'r059' ( temp 4-component vector of float)
-0:324          Sign ( temp 4-component vector of float)
+0:324          'r058' ( temp 4-component vector of float)
+0:324          clamp ( temp 4-component vector of float)
 0:324            'inF0' ( in 4-component vector of float)
+0:324            Constant:
+0:324              0.000000
+0:324            Constant:
+0:324              1.000000
 0:325      Sequence
 0:325        move second child to first child ( temp 4-component vector of float)
-0:325          'r060' ( temp 4-component vector of float)
-0:325          sine ( temp 4-component vector of float)
+0:325          'r059' ( temp 4-component vector of float)
+0:325          Sign ( 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          'inF1' ( in 4-component vector of float)
+0:326          'r060' ( temp 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        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          'r061' ( temp 4-component vector of float)
-0:327          hyp. sine ( temp 4-component vector of float)
+0:327          'inF1' ( in 4-component vector of float)
+0:327          sine ( temp 4-component vector of float)
+0:327            'inF0' ( in 4-component vector of float)
+0:327        move second child to first child ( temp 4-component vector of float)
+0:327          'inF2' ( in 4-component vector of float)
+0:327          cosine ( temp 4-component vector of float)
 0:327            'inF0' ( in 4-component vector of float)
 0:328      Sequence
 0:328        move second child to first child ( temp 4-component vector of float)
-0:328          'r062' ( temp 4-component vector of float)
-0:328          smoothstep ( temp 4-component vector of float)
+0:328          'r061' ( temp 4-component vector of float)
+0:328          hyp. sine ( 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          'r062' ( temp 4-component vector of float)
+0:329          smoothstep ( temp 4-component vector of float)
 0:329            'inF0' ( in 4-component vector of float)
+0:329            'inF1' ( in 4-component vector of float)
+0:329            'inF2' ( in 4-component vector of float)
 0:330      Sequence
 0:330        move second child to first child ( temp 4-component vector of float)
-0:330          'r064' ( temp 4-component vector of float)
-0:330          step ( temp 4-component vector of float)
+0:330          'r063' ( temp 4-component vector of float)
+0:330          sqrt ( temp 4-component vector of float)
 0:330            'inF0' ( in 4-component vector of float)
-0:330            'inF1' ( in 4-component vector of float)
 0:331      Sequence
 0:331        move second child to first child ( temp 4-component vector of float)
-0:331          'r065' ( temp 4-component vector of float)
-0:331          tangent ( temp 4-component vector of float)
+0:331          'r064' ( temp 4-component vector of float)
+0:331          step ( temp 4-component vector of float)
 0:331            'inF0' ( in 4-component vector of float)
+0:331            'inF1' ( 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          'r065' ( temp 4-component vector of float)
+0:332          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:333      Sequence
+0:333        move second child to first child ( temp 4-component vector of float)
+0:333          'r066' ( temp 4-component vector of float)
+0:333          hyp. tangent ( temp 4-component vector of float)
+0:333            'inF0' ( in 4-component vector of float)
+0:335      Sequence
+0:335        move second child to first child ( temp 4-component vector of float)
+0:335          'r067' ( temp 4-component vector of float)
+0:335          trunc ( temp 4-component vector of float)
+0:335            'inF0' ( in 4-component vector of float)
+0:338      Branch: Return with expression
 0:?         Constant:
 0:?           1.000000
 0:?           2.000000
 0:?           3.000000
 0:?           4.000000
-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:401  Function Definition: PixelShaderFunction2x2(mf22;mf22;mf22; ( temp 2X2 matrix of float)
+0:401    Function Parameters: 
+0:401      'inF0' ( in 2X2 matrix of float)
+0:401      'inF1' ( in 2X2 matrix of float)
+0:401      'inF2' ( in 2X2 matrix of float)
 0:?     Sequence
-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:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r000' ( temp bool)
+0:403          all ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r001' ( temp 2X2 matrix of float)
+0:403          Absolute value ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      arc cosine ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp bool)
+0:403          'r003' ( temp bool)
+0:403          any ( temp bool)
+0:403            Convert float to bool ( temp 2X2 matrix of bool)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r004' ( temp 2X2 matrix of float)
+0:403          arc sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r005' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r006' ( temp 2X2 matrix of float)
+0:403          arc tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r007' ( temp 2X2 matrix of float)
+0:403          Ceiling ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Test condition and select ( temp void)
+0:403        Condition
+0:403        any ( temp bool)
+0:403          Compare Less Than ( temp 2X2 matrix of bool)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403              0.000000
+0:403        true case
+0:403        Branch: Kill
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r008' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r009' ( temp 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r010' ( temp 2X2 matrix of float)
+0:403          hyp. cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r011' ( temp 2X2 matrix of float)
+0:403          dPdx ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r012' ( temp 2X2 matrix of float)
+0:403          dPdxCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r013' ( temp 2X2 matrix of float)
+0:403          dPdxFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r014' ( temp 2X2 matrix of float)
+0:403          dPdy ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r015' ( temp 2X2 matrix of float)
+0:403          dPdyCoarse ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r016' ( temp 2X2 matrix of float)
+0:403          dPdyFine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r017' ( temp 2X2 matrix of float)
+0:403          degrees ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp float)
+0:403          'r018' ( temp float)
+0:403          determinant ( temp float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r019' ( temp 2X2 matrix of float)
+0:403          exp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'R020' ( temp 2X2 matrix of float)
+0:403          exp2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r021' ( temp 2X2 matrix of float)
+0:403          Floor ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r022' ( temp 2X2 matrix of float)
+0:403          mod ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r023' ( temp 2X2 matrix of float)
+0:403          Fraction ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r025' ( temp 2X2 matrix of float)
+0:403          fwidth ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026' ( temp 2X2 matrix of float)
+0:403          ldexp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r026a' ( temp 2X2 matrix of float)
+0:403          mix ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r027' ( temp 2X2 matrix of float)
+0:403          log ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r028' ( temp 2X2 matrix of float)
+0:403          matrix-scale ( temp 2X2 matrix of float)
+0:403            log2 ( temp 2X2 matrix of float)
+0:403              'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.301030
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r029' ( temp 2X2 matrix of float)
+0:403          log2 ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r030' ( temp 2X2 matrix of float)
+0:403          max ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r031' ( temp 2X2 matrix of float)
+0:403          min ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r032' ( temp 2X2 matrix of float)
+0:403          pow ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r033' ( temp 2X2 matrix of float)
+0:403          radians ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r034' ( temp 2X2 matrix of float)
+0:403          roundEven ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r035' ( temp 2X2 matrix of float)
+0:403          inverse sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r036' ( temp 2X2 matrix of float)
+0:403          clamp ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            Constant:
+0:403              0.000000
+0:403            Constant:
+0:403              1.000000
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r037' ( temp 2X2 matrix of float)
+0:403          Sign ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r038' ( temp 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF1' ( in 2X2 matrix of float)
+0:403          sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'inF2' ( in 2X2 matrix of float)
+0:403          cosine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r039' ( temp 2X2 matrix of float)
+0:403          hyp. sine ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r049' ( temp 2X2 matrix of float)
+0:403          smoothstep ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403            'inF2' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r041' ( temp 2X2 matrix of float)
+0:403          sqrt ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r042' ( temp 2X2 matrix of float)
+0:403          step ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403            'inF1' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r043' ( temp 2X2 matrix of float)
+0:403          tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r044' ( temp 2X2 matrix of float)
+0:403          hyp. tangent ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:403      transpose ( temp 2X2 matrix of float)
+0:403        'inF0' ( in 2X2 matrix of float)
+0:403      Sequence
+0:403        move second child to first child ( temp 2X2 matrix of float)
+0:403          'r046' ( temp 2X2 matrix of float)
+0:403          trunc ( temp 2X2 matrix of float)
+0:403            'inF0' ( in 2X2 matrix of float)
+0:406      Branch: Return with expression
 0:?         Constant:
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
 0:?           2.000000
-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:410  Function Definition: PixelShaderFunction3x3(mf33;mf33;mf33; ( temp 3X3 matrix of float)
+0:410    Function Parameters: 
+0:410      'inF0' ( in 3X3 matrix of float)
+0:410      'inF1' ( in 3X3 matrix of float)
+0:410      'inF2' ( in 3X3 matrix of float)
 0:?     Sequence
-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:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r000' ( temp bool)
+0:412          all ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r001' ( temp 3X3 matrix of float)
+0:412          Absolute value ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      arc cosine ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp bool)
+0:412          'r003' ( temp bool)
+0:412          any ( temp bool)
+0:412            Convert float to bool ( temp 3X3 matrix of bool)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r004' ( temp 3X3 matrix of float)
+0:412          arc sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r005' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r006' ( temp 3X3 matrix of float)
+0:412          arc tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r007' ( temp 3X3 matrix of float)
+0:412          Ceiling ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Test condition and select ( temp void)
+0:412        Condition
+0:412        any ( temp bool)
+0:412          Compare Less Than ( temp 3X3 matrix of bool)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412              0.000000
+0:412        true case
+0:412        Branch: Kill
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r008' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r009' ( temp 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r010' ( temp 3X3 matrix of float)
+0:412          hyp. cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r011' ( temp 3X3 matrix of float)
+0:412          dPdx ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r012' ( temp 3X3 matrix of float)
+0:412          dPdxCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r013' ( temp 3X3 matrix of float)
+0:412          dPdxFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r014' ( temp 3X3 matrix of float)
+0:412          dPdy ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r015' ( temp 3X3 matrix of float)
+0:412          dPdyCoarse ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r016' ( temp 3X3 matrix of float)
+0:412          dPdyFine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r017' ( temp 3X3 matrix of float)
+0:412          degrees ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp float)
+0:412          'r018' ( temp float)
+0:412          determinant ( temp float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r019' ( temp 3X3 matrix of float)
+0:412          exp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'R020' ( temp 3X3 matrix of float)
+0:412          exp2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r021' ( temp 3X3 matrix of float)
+0:412          Floor ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r022' ( temp 3X3 matrix of float)
+0:412          mod ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r023' ( temp 3X3 matrix of float)
+0:412          Fraction ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r025' ( temp 3X3 matrix of float)
+0:412          fwidth ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026' ( temp 3X3 matrix of float)
+0:412          ldexp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r026a' ( temp 3X3 matrix of float)
+0:412          mix ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r027' ( temp 3X3 matrix of float)
+0:412          log ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r028' ( temp 3X3 matrix of float)
+0:412          matrix-scale ( temp 3X3 matrix of float)
+0:412            log2 ( temp 3X3 matrix of float)
+0:412              'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.301030
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r029' ( temp 3X3 matrix of float)
+0:412          log2 ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r030' ( temp 3X3 matrix of float)
+0:412          max ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r031' ( temp 3X3 matrix of float)
+0:412          min ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r032' ( temp 3X3 matrix of float)
+0:412          pow ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r033' ( temp 3X3 matrix of float)
+0:412          radians ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r034' ( temp 3X3 matrix of float)
+0:412          roundEven ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r035' ( temp 3X3 matrix of float)
+0:412          inverse sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r036' ( temp 3X3 matrix of float)
+0:412          clamp ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            Constant:
+0:412              0.000000
+0:412            Constant:
+0:412              1.000000
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r037' ( temp 3X3 matrix of float)
+0:412          Sign ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r038' ( temp 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF1' ( in 3X3 matrix of float)
+0:412          sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'inF2' ( in 3X3 matrix of float)
+0:412          cosine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r039' ( temp 3X3 matrix of float)
+0:412          hyp. sine ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r049' ( temp 3X3 matrix of float)
+0:412          smoothstep ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412            'inF2' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r041' ( temp 3X3 matrix of float)
+0:412          sqrt ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r042' ( temp 3X3 matrix of float)
+0:412          step ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412            'inF1' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r043' ( temp 3X3 matrix of float)
+0:412          tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r044' ( temp 3X3 matrix of float)
+0:412          hyp. tangent ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:412      transpose ( temp 3X3 matrix of float)
+0:412        'inF0' ( in 3X3 matrix of float)
+0:412      Sequence
+0:412        move second child to first child ( temp 3X3 matrix of float)
+0:412          'r046' ( temp 3X3 matrix of float)
+0:412          trunc ( temp 3X3 matrix of float)
+0:412            'inF0' ( in 3X3 matrix of float)
+0:415      Branch: Return with expression
 0:?         Constant:
 0:?           3.000000
 0:?           3.000000
@@ -4980,297 +4992,297 @@
 0:?           3.000000
 0:?           3.000000
 0:?           3.000000
-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:419  Function Definition: PixelShaderFunction4x4(mf44;mf44;mf44; ( temp 4X4 matrix of float)
+0:419    Function Parameters: 
+0:419      'inF0' ( in 4X4 matrix of float)
+0:419      'inF1' ( in 4X4 matrix of float)
+0:419      'inF2' ( in 4X4 matrix of float)
 0:?     Sequence
-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:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r000' ( temp bool)
+0:421          all ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r001' ( temp 4X4 matrix of float)
+0:421          Absolute value ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      arc cosine ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp bool)
+0:421          'r003' ( temp bool)
+0:421          any ( temp bool)
+0:421            Convert float to bool ( temp 4X4 matrix of bool)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r004' ( temp 4X4 matrix of float)
+0:421          arc sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r005' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r006' ( temp 4X4 matrix of float)
+0:421          arc tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r007' ( temp 4X4 matrix of float)
+0:421          Ceiling ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Test condition and select ( temp void)
+0:421        Condition
+0:421        any ( temp bool)
+0:421          Compare Less Than ( temp 4X4 matrix of bool)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421              0.000000
+0:421        true case
+0:421        Branch: Kill
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r008' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r009' ( temp 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r010' ( temp 4X4 matrix of float)
+0:421          hyp. cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r011' ( temp 4X4 matrix of float)
+0:421          dPdx ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r012' ( temp 4X4 matrix of float)
+0:421          dPdxCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r013' ( temp 4X4 matrix of float)
+0:421          dPdxFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r014' ( temp 4X4 matrix of float)
+0:421          dPdy ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r015' ( temp 4X4 matrix of float)
+0:421          dPdyCoarse ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r016' ( temp 4X4 matrix of float)
+0:421          dPdyFine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r017' ( temp 4X4 matrix of float)
+0:421          degrees ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp float)
+0:421          'r018' ( temp float)
+0:421          determinant ( temp float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r019' ( temp 4X4 matrix of float)
+0:421          exp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'R020' ( temp 4X4 matrix of float)
+0:421          exp2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r021' ( temp 4X4 matrix of float)
+0:421          Floor ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r022' ( temp 4X4 matrix of float)
+0:421          mod ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r023' ( temp 4X4 matrix of float)
+0:421          Fraction ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r025' ( temp 4X4 matrix of float)
+0:421          fwidth ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026' ( temp 4X4 matrix of float)
+0:421          ldexp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r026a' ( temp 4X4 matrix of float)
+0:421          mix ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r027' ( temp 4X4 matrix of float)
+0:421          log ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r028' ( temp 4X4 matrix of float)
+0:421          matrix-scale ( temp 4X4 matrix of float)
+0:421            log2 ( temp 4X4 matrix of float)
+0:421              'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.301030
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r029' ( temp 4X4 matrix of float)
+0:421          log2 ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r030' ( temp 4X4 matrix of float)
+0:421          max ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r031' ( temp 4X4 matrix of float)
+0:421          min ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r032' ( temp 4X4 matrix of float)
+0:421          pow ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r033' ( temp 4X4 matrix of float)
+0:421          radians ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r034' ( temp 4X4 matrix of float)
+0:421          roundEven ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r035' ( temp 4X4 matrix of float)
+0:421          inverse sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r036' ( temp 4X4 matrix of float)
+0:421          clamp ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            Constant:
+0:421              0.000000
+0:421            Constant:
+0:421              1.000000
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r037' ( temp 4X4 matrix of float)
+0:421          Sign ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r038' ( temp 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF1' ( in 4X4 matrix of float)
+0:421          sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'inF2' ( in 4X4 matrix of float)
+0:421          cosine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r039' ( temp 4X4 matrix of float)
+0:421          hyp. sine ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r049' ( temp 4X4 matrix of float)
+0:421          smoothstep ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421            'inF2' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r041' ( temp 4X4 matrix of float)
+0:421          sqrt ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r042' ( temp 4X4 matrix of float)
+0:421          step ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421            'inF1' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r043' ( temp 4X4 matrix of float)
+0:421          tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r044' ( temp 4X4 matrix of float)
+0:421          hyp. tangent ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:421      transpose ( temp 4X4 matrix of float)
+0:421        'inF0' ( in 4X4 matrix of float)
+0:421      Sequence
+0:421        move second child to first child ( temp 4X4 matrix of float)
+0:421          'r046' ( temp 4X4 matrix of float)
+0:421          trunc ( temp 4X4 matrix of float)
+0:421            'inF0' ( in 4X4 matrix of float)
+0:424      Branch: Return with expression
 0:?         Constant:
 0:?           4.000000
 0:?           4.000000
@@ -5288,334 +5300,334 @@
 0:?           4.000000
 0:?           4.000000
 0:?           4.000000
-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:442  Function Definition: TestGenMul2(f1;f1;vf2;vf2;mf22;mf22; ( temp void)
+0:442    Function Parameters: 
+0:442      'inF0' ( in float)
+0:442      'inF1' ( in float)
+0:442      'inFV0' ( in 2-component vector of float)
+0:442      'inFV1' ( in 2-component vector of float)
+0:442      'inFM0' ( in 2X2 matrix of float)
+0:442      'inFM1' ( in 2X2 matrix of float)
 0:?     Sequence
-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:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r0' ( temp float)
+0:443          component-wise multiply ( temp float)
+0:443            'inF1' ( in float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r1' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r2' ( temp 2-component vector of float)
+0:443          vector-scale ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp float)
+0:443          'r3' ( temp float)
+0:443          dot-product ( temp float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFV1' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r4' ( temp 2-component vector of float)
+0:443          vector-times-matrix ( temp 2-component vector of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2-component vector of float)
+0:443          'r5' ( temp 2-component vector of float)
+0:443          matrix-times-vector ( temp 2-component vector of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inFV0' ( in 2-component vector of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r6' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r7' ( temp 2X2 matrix of float)
+0:443          matrix-scale ( temp 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:443            'inF0' ( in float)
+0:443      Sequence
+0:443        move second child to first child ( temp 2X2 matrix of float)
+0:443          'r8' ( temp 2X2 matrix of float)
+0:443          matrix-multiply ( temp 2X2 matrix of float)
+0:443            'inFM1' ( in 2X2 matrix of float)
+0:443            'inFM0' ( in 2X2 matrix of float)
+0:449  Function Definition: TestGenMul3(f1;f1;vf3;vf3;mf33;mf33; ( temp void)
+0:449    Function Parameters: 
+0:449      'inF0' ( in float)
+0:449      'inF1' ( in float)
+0:449      'inFV0' ( in 3-component vector of float)
+0:449      'inFV1' ( in 3-component vector of float)
+0:449      'inFM0' ( in 3X3 matrix of float)
+0:449      'inFM1' ( in 3X3 matrix of float)
 0:?     Sequence
-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:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r0' ( temp float)
+0:450          component-wise multiply ( temp float)
+0:450            'inF1' ( in float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r1' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r2' ( temp 3-component vector of float)
+0:450          vector-scale ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp float)
+0:450          'r3' ( temp float)
+0:450          dot-product ( temp float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFV1' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r4' ( temp 3-component vector of float)
+0:450          vector-times-matrix ( temp 3-component vector of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3-component vector of float)
+0:450          'r5' ( temp 3-component vector of float)
+0:450          matrix-times-vector ( temp 3-component vector of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inFV0' ( in 3-component vector of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r6' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r7' ( temp 3X3 matrix of float)
+0:450          matrix-scale ( temp 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:450            'inF0' ( in float)
+0:450      Sequence
+0:450        move second child to first child ( temp 3X3 matrix of float)
+0:450          'r8' ( temp 3X3 matrix of float)
+0:450          matrix-multiply ( temp 3X3 matrix of float)
+0:450            'inFM1' ( in 3X3 matrix of float)
+0:450            'inFM0' ( in 3X3 matrix of float)
+0:456  Function Definition: TestGenMul4(f1;f1;vf4;vf4;mf44;mf44; ( temp void)
+0:456    Function Parameters: 
+0:456      'inF0' ( in float)
+0:456      'inF1' ( in float)
+0:456      'inFV0' ( in 4-component vector of float)
+0:456      'inFV1' ( in 4-component vector of float)
+0:456      'inFM0' ( in 4X4 matrix of float)
+0:456      'inFM1' ( in 4X4 matrix of float)
 0:?     Sequence
-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:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r0' ( temp float)
+0:457          component-wise multiply ( temp float)
+0:457            'inF1' ( in float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r1' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r2' ( temp 4-component vector of float)
+0:457          vector-scale ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp float)
+0:457          'r3' ( temp float)
+0:457          dot-product ( temp float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFV1' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r4' ( temp 4-component vector of float)
+0:457          vector-times-matrix ( temp 4-component vector of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4-component vector of float)
+0:457          'r5' ( temp 4-component vector of float)
+0:457          matrix-times-vector ( temp 4-component vector of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inFV0' ( in 4-component vector of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r6' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r7' ( temp 4X4 matrix of float)
+0:457          matrix-scale ( temp 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:457            'inF0' ( in float)
+0:457      Sequence
+0:457        move second child to first child ( temp 4X4 matrix of float)
+0:457          'r8' ( temp 4X4 matrix of float)
+0:457          matrix-multiply ( temp 4X4 matrix of float)
+0:457            'inFM1' ( in 4X4 matrix of float)
+0:457            'inFM0' ( in 4X4 matrix of float)
+0:466  Function Definition: TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24; ( temp void)
+0:466    Function Parameters: 
+0:466      'inF0' ( in float)
+0:466      'inF1' ( in float)
+0:466      'inFV2' ( in 2-component vector of float)
+0:466      'inFV3' ( in 3-component vector of float)
+0:466      'inFM2x3' ( in 2X3 matrix of float)
+0:466      'inFM3x2' ( in 3X2 matrix of float)
+0:466      'inFM3x3' ( in 3X3 matrix of float)
+0:466      'inFM3x4' ( in 3X4 matrix of float)
+0:466      'inFM2x4' ( in 2X4 matrix of float)
 0:?     Sequence
-0:466      Sequence
-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 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        move second child to first child ( temp float)
+0:467          'r00' ( temp float)
+0:467          component-wise multiply ( temp float)
+0:467            'inF1' ( in 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 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        move second child to first child ( temp 2-component vector of float)
+0:468          'r01' ( temp 2-component vector of float)
+0:468          vector-scale ( temp 2-component vector of float)
 0:468            'inF0' ( in float)
-0:468            'inFV3' ( in 3-component vector of float)
+0:468            'inFV2' ( in 2-component vector of float)
 0:469      Sequence
-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        move second child to first child ( temp 3-component vector of float)
+0:469          'r02' ( temp 3-component vector of float)
+0:469          vector-scale ( temp 3-component vector of float)
 0:469            'inF0' ( in float)
+0:469            'inFV3' ( in 3-component vector of float)
 0:470      Sequence
-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        move second child to first child ( temp 2-component vector of float)
+0:470          'r03' ( temp 2-component vector of float)
+0:470          vector-scale ( temp 2-component vector of float)
+0:470            'inFV2' ( in 2-component vector of float)
 0:470            'inF0' ( in float)
 0:471      Sequence
-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:471        move second child to first child ( temp 3-component vector of float)
+0:471          'r04' ( temp 3-component vector of float)
+0:471          vector-scale ( temp 3-component vector of float)
+0:471            'inFV3' ( in 3-component vector of float)
+0:471            'inF0' ( in float)
 0:472      Sequence
 0:472        move second child to first child ( temp float)
-0:472          'r06' ( temp float)
+0:472          'r05' ( 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:472            'inFV2' ( in 2-component vector of float)
+0:472            'inFV2' ( in 2-component vector of float)
 0:473      Sequence
-0:473        move second child to first child ( temp 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:473        move second child to first child ( temp float)
+0:473          'r06' ( temp float)
+0:473          dot-product ( temp float)
+0:473            'inFV3' ( in 3-component vector of float)
+0:473            'inFV3' ( in 3-component vector of float)
 0:474      Sequence
-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:474        move second child to first child ( temp 3-component vector of float)
+0:474          'r07' ( temp 3-component vector of float)
+0:474          matrix-times-vector ( temp 3-component vector of float)
+0:474            'inFM2x3' ( in 2X3 matrix of float)
+0:474            'inFV2' ( in 2-component vector of float)
 0:475      Sequence
 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          'r08' ( temp 2-component vector of float)
+0:475          matrix-times-vector ( temp 2-component vector of float)
+0:475            'inFM3x2' ( in 3X2 matrix 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 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:476        move second child to first child ( temp 2-component vector of float)
+0:476          'r09' ( temp 2-component vector of float)
+0:476          vector-times-matrix ( temp 2-component vector of float)
+0:476            'inFV3' ( in 3-component vector of float)
+0:476            'inFM2x3' ( in 2X3 matrix of float)
 0:477      Sequence
-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:477        move second child to first child ( temp 3-component vector of float)
+0:477          'r10' ( temp 3-component vector of float)
+0:477          vector-times-matrix ( temp 3-component vector of float)
+0:477            'inFV2' ( in 2-component vector of float)
+0:477            'inFM3x2' ( in 3X2 matrix of float)
 0:478      Sequence
-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        move second child to first child ( temp 2X3 matrix of float)
+0:478          'r11' ( temp 2X3 matrix of float)
+0:478          matrix-scale ( temp 2X3 matrix of float)
 0:478            'inF0' ( in float)
-0:478            'inFM3x2' ( in 3X2 matrix of float)
+0:478            'inFM2x3' ( in 2X3 matrix of float)
 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        move second child to first child ( temp 3X2 matrix of float)
+0:479          'r12' ( temp 3X2 matrix of float)
+0:479          matrix-scale ( temp 3X2 matrix of float)
+0:479            'inF0' ( in 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        move second child to first child ( temp 2X2 matrix of float)
+0:480          'r13' ( temp 2X2 matrix of float)
+0:480          matrix-multiply ( temp 2X2 matrix of float)
+0:480            'inFM3x2' ( in 3X2 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        move second child to first child ( temp 2X3 matrix of float)
+0:481          'r14' ( temp 2X3 matrix of float)
+0:481          matrix-multiply ( temp 2X3 matrix of float)
+0:481            'inFM3x3' ( in 3X3 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:482        move second child to first child ( temp 2X4 matrix of float)
+0:482          'r15' ( temp 2X4 matrix of float)
+0:482          matrix-multiply ( temp 2X4 matrix of float)
+0:482            'inFM3x4' ( in 3X4 matrix of float)
+0:482            'inFM2x3' ( in 2X3 matrix of float)
+0:483      Sequence
+0:483        move second child to first child ( temp 3X4 matrix of float)
+0:483          'r16' ( temp 3X4 matrix of float)
+0:483          matrix-multiply ( temp 3X4 matrix of float)
+0:483            'inFM2x4' ( in 2X4 matrix of float)
+0:483            'inFM3x2' ( in 3X2 matrix of float)
+0:489  Function Definition: @main( ( temp structure{ temp 4-component vector of float color})
+0:489    Function Parameters: 
 0:?     Sequence
-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:491      move second child to first child ( temp 4-component vector of float)
+0:491        color: direct index for structure ( temp 4-component vector of float)
+0:491          'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:491          Constant:
+0:491            0 (const int)
+0:491        Constant:
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:491          1.000000
+0:492      Branch: Return with expression
+0:492        'ps_output' ( temp structure{ temp 4-component vector of float color})
+0:489  Function Definition: main( ( temp void)
+0:489    Function Parameters: 
 0:?     Sequence
-0:488      Sequence
-0:488        move second child to first child ( temp 4-component vector of float)
+0:489      Sequence
+0:489        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: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:489          color: direct index for structure ( temp 4-component vector of float)
+0:489            Function Call: @main( ( temp structure{ temp 4-component vector of float color})
+0:489            Constant:
+0:489              0 (const int)
 0:?   Linker Objects
 0:?     'gs_ua' ( shared uint)
 0:?     'gs_ub' ( shared uint)
@@ -5631,15 +5643,19 @@
 0:?     'gs_uc4' ( shared 4-component vector of uint)
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Matrix types can only be parameterized with floating-point types.
+  %mat2v2bool = OpTypeMatrix %v2bool 2
+
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 1832
+// Id's are bound by 1836
 
                               Capability Shader
                               Capability DerivativeControl
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 1813
+                              EntryPoint Fragment 4  "main" 1817
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -5739,422 +5755,423 @@
                               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
+                              Name 222  "r024"
+                              Name 226  "r027"
+                              Name 229  "r028"
+                              Name 232  "r029"
+                              Name 235  "r030"
+                              Name 238  "r031"
+                              Name 241  "r033"
+                              Name 245  "r034"
+                              Name 248  "r036"
+                              Name 251  "r037"
+                              Name 254  "r038"
+                              Name 257  "r039"
+                              Name 261  "r039a"
+                              Name 266  "r040"
+                              Name 269  "r041"
+                              Name 274  "r042"
+                              Name 277  "r043"
+                              Name 281  "r044"
+                              Name 285  "r045"
+                              Name 289  "r046"
+                              Name 292  "r047"
+                              Name 296  "r048"
+                              Name 300  "r049"
+                              Name 303  "r050"
+                              Name 306  "r051"
+                              Name 309  "r052"
+                              Name 312  "r053"
+                              Name 319  "r055"
+                              Name 322  "r056"
+                              Name 327  "r057"
+                              Name 330  "r058"
+                              Name 334  "r059"
+                              Name 337  "r060"
+                              Name 340  "r061"
+                              Name 347  "r000"
+                              Name 353  "r001"
+                              Name 356  "r002"
+                              Name 359  "r003"
+                              Name 363  "r004"
+                              Name 368  "r005"
+                              Name 371  "r006"
+                              Name 374  "r007"
+                              Name 377  "r009"
+                              Name 380  "r010"
+                              Name 384  "r011"
+                              Name 387  "r012"
+                              Name 406  "r013"
+                              Name 409  "r015"
+                              Name 412  "r016"
+                              Name 416  "r017"
+                              Name 419  "r018"
+                              Name 422  "r019"
+                              Name 425  "r020"
+                              Name 428  "r021"
+                              Name 431  "r022"
+                              Name 434  "r023"
+                              Name 437  "r026"
+                              Name 441  "r027"
+                              Name 445  "r028"
+                              Name 448  "r029"
+                              Name 451  "r030"
+                              Name 456  "r031"
+                              Name 461  "r032"
+                              Name 463  "r033"
+                              Name 466  "r035"
+                              Name 470  "r036"
+                              Name 473  "r038"
+                              Name 477  "r039"
+                              Name 480  "r040"
+                              Name 483  "r041"
+                              Name 487  "r039a"
+                              Name 492  "r042"
+                              Name 495  "r043"
+                              Name 498  "r044"
+                              Name 502  "r045"
+                              Name 505  "r046"
+                              Name 509  "r047"
+                              Name 513  "r048"
+                              Name 516  "r049"
+                              Name 520  "r050"
+                              Name 523  "r051"
+                              Name 527  "r052"
+                              Name 531  "r053"
+                              Name 536  "r054"
+                              Name 541  "r055"
+                              Name 544  "r056"
+                              Name 547  "r057"
+                              Name 552  "r058"
+                              Name 555  "r059"
+                              Name 562  "r060"
+                              Name 565  "r061"
+                              Name 570  "r062"
+                              Name 573  "r063"
+                              Name 577  "r064"
+                              Name 580  "r065"
+                              Name 583  "r066"
+                              Name 589  "r000"
+                              Name 595  "r001"
+                              Name 598  "r002"
+                              Name 601  "r003"
+                              Name 605  "r004"
+                              Name 610  "r005"
+                              Name 613  "r006"
+                              Name 616  "r007"
+                              Name 619  "r009"
+                              Name 622  "r010"
+                              Name 626  "r011"
+                              Name 629  "r012"
+                              Name 647  "r013"
+                              Name 650  "r014"
+                              Name 653  "r015"
+                              Name 658  "r016"
+                              Name 662  "r017"
+                              Name 665  "r018"
+                              Name 668  "r019"
+                              Name 671  "r020"
+                              Name 674  "r021"
+                              Name 677  "r022"
+                              Name 680  "r023"
+                              Name 683  "r024"
+                              Name 687  "r025"
+                              Name 691  "r029"
+                              Name 694  "r030"
+                              Name 697  "r031"
+                              Name 702  "r032"
+                              Name 706  "r033"
+                              Name 708  "r034"
+                              Name 711  "r036"
+                              Name 715  "r037"
+                              Name 718  "r039"
+                              Name 722  "r040"
+                              Name 725  "r041"
+                              Name 728  "r042"
+                              Name 732  "r039a"
+                              Name 737  "r039b"
+                              Name 743  "r043"
+                              Name 746  "r044"
+                              Name 749  "r045"
+                              Name 753  "r046"
+                              Name 756  "r047"
+                              Name 760  "r048"
+                              Name 764  "r049"
+                              Name 767  "r050"
+                              Name 771  "r051"
+                              Name 774  "r052"
+                              Name 778  "r053"
+                              Name 782  "r054"
+                              Name 786  "r055"
+                              Name 789  "r056"
+                              Name 792  "r057"
+                              Name 795  "r058"
+                              Name 800  "r059"
+                              Name 803  "r060"
+                              Name 810  "r061"
+                              Name 813  "r062"
+                              Name 818  "r063"
+                              Name 821  "r064"
+                              Name 825  "r065"
+                              Name 828  "r066"
+                              Name 831  "r067"
+                              Name 838  "r000"
+                              Name 844  "r001"
+                              Name 847  "r002"
+                              Name 850  "r003"
+                              Name 854  "r004"
+                              Name 859  "r005"
+                              Name 862  "r006"
+                              Name 865  "r007"
+                              Name 868  "r009"
+                              Name 871  "r010"
+                              Name 875  "r011"
+                              Name 878  "r012"
+                              Name 896  "r013"
+                              Name 899  "r014"
+                              Name 902  "r015"
+                              Name 905  "r016"
+                              Name 908  "r017"
+                              Name 911  "r018"
+                              Name 914  "r019"
+                              Name 917  "r020"
+                              Name 920  "r021"
+                              Name 923  "r022"
+                              Name 926  "r023"
+                              Name 930  "r024"
+                              Name 934  "r025"
+                              Name 945  "r029"
+                              Name 948  "r030"
+                              Name 951  "r031"
+                              Name 956  "r032"
+                              Name 961  "r033"
+                              Name 963  "r034"
+                              Name 966  "r036"
+                              Name 970  "r037"
+                              Name 973  "r039"
+                              Name 977  "r040"
+                              Name 980  "r041"
+                              Name 983  "r042"
+                              Name 987  "r039a"
+                              Name 992  "r043"
+                              Name 995  "r044"
+                              Name 998  "r045"
+                              Name 1002  "r046"
+                              Name 1005  "r047"
+                              Name 1009  "r048"
+                              Name 1013  "r049"
+                              Name 1016  "r050"
+                              Name 1020  "r051"
+                              Name 1023  "r052"
+                              Name 1027  "r053"
+                              Name 1031  "r054"
+                              Name 1035  "r055"
+                              Name 1038  "r056"
+                              Name 1041  "r057"
+                              Name 1044  "r058"
+                              Name 1049  "r059"
+                              Name 1052  "r060"
+                              Name 1059  "r061"
+                              Name 1062  "r062"
+                              Name 1067  "r063"
+                              Name 1070  "r064"
+                              Name 1074  "r065"
+                              Name 1077  "r066"
+                              Name 1080  "r067"
+                              Name 1087  "r000"
+                              Name 1092  "r001"
+                              Name 1097  "r003"
+                              Name 1101  "r004"
+                              Name 1104  "r005"
+                              Name 1107  "r006"
+                              Name 1111  "r007"
+                              Name 1121  "r008"
+                              Name 1126  "r009"
+                              Name 1129  "r010"
+                              Name 1132  "r011"
+                              Name 1135  "r012"
+                              Name 1138  "r013"
+                              Name 1141  "r014"
+                              Name 1144  "r015"
+                              Name 1147  "r016"
+                              Name 1150  "r017"
+                              Name 1153  "r018"
+                              Name 1156  "r019"
+                              Name 1159  "R020"
+                              Name 1162  "r021"
+                              Name 1165  "r022"
+                              Name 1175  "r023"
+                              Name 1178  "r025"
+                              Name 1181  "r026"
+                              Name 1185  "r026a"
+                              Name 1190  "r027"
+                              Name 1193  "r028"
+                              Name 1197  "r029"
+                              Name 1200  "r030"
+                              Name 1204  "r031"
+                              Name 1208  "r032"
+                              Name 1212  "r033"
+                              Name 1215  "r034"
+                              Name 1218  "r035"
+                              Name 1221  "r036"
+                              Name 1226  "r037"
+                              Name 1229  "r038"
+                              Name 1236  "r039"
+                              Name 1239  "r049"
+                              Name 1244  "r041"
+                              Name 1247  "r042"
+                              Name 1251  "r043"
+                              Name 1254  "r044"
+                              Name 1259  "r046"
+                              Name 1266  "r000"
+                              Name 1271  "r001"
+                              Name 1276  "r003"
+                              Name 1280  "r004"
+                              Name 1283  "r005"
+                              Name 1286  "r006"
+                              Name 1290  "r007"
+                              Name 1300  "r008"
+                              Name 1305  "r009"
+                              Name 1308  "r010"
+                              Name 1311  "r011"
+                              Name 1314  "r012"
+                              Name 1317  "r013"
+                              Name 1320  "r014"
+                              Name 1323  "r015"
+                              Name 1326  "r016"
+                              Name 1329  "r017"
+                              Name 1332  "r018"
+                              Name 1335  "r019"
+                              Name 1338  "R020"
+                              Name 1341  "r021"
+                              Name 1344  "r022"
+                              Name 1357  "r023"
+                              Name 1360  "r025"
+                              Name 1363  "r026"
+                              Name 1367  "r026a"
+                              Name 1372  "r027"
+                              Name 1375  "r028"
+                              Name 1379  "r029"
+                              Name 1382  "r030"
+                              Name 1386  "r031"
+                              Name 1390  "r032"
+                              Name 1394  "r033"
+                              Name 1397  "r034"
+                              Name 1400  "r035"
+                              Name 1403  "r036"
+                              Name 1408  "r037"
+                              Name 1411  "r038"
+                              Name 1418  "r039"
+                              Name 1421  "r049"
+                              Name 1426  "r041"
+                              Name 1429  "r042"
+                              Name 1433  "r043"
+                              Name 1436  "r044"
+                              Name 1441  "r046"
+                              Name 1448  "r000"
+                              Name 1453  "r001"
+                              Name 1458  "r003"
+                              Name 1462  "r004"
+                              Name 1465  "r005"
+                              Name 1468  "r006"
+                              Name 1472  "r007"
+                              Name 1482  "r008"
+                              Name 1487  "r009"
+                              Name 1490  "r010"
+                              Name 1493  "r011"
+                              Name 1496  "r012"
+                              Name 1499  "r013"
+                              Name 1502  "r014"
+                              Name 1505  "r015"
+                              Name 1508  "r016"
+                              Name 1511  "r017"
+                              Name 1514  "r018"
+                              Name 1517  "r019"
+                              Name 1520  "R020"
+                              Name 1523  "r021"
+                              Name 1526  "r022"
+                              Name 1542  "r023"
+                              Name 1545  "r025"
+                              Name 1548  "r026"
+                              Name 1552  "r026a"
+                              Name 1557  "r027"
+                              Name 1560  "r028"
+                              Name 1564  "r029"
+                              Name 1567  "r030"
+                              Name 1571  "r031"
+                              Name 1575  "r032"
+                              Name 1579  "r033"
+                              Name 1582  "r034"
+                              Name 1585  "r035"
+                              Name 1588  "r036"
+                              Name 1593  "r037"
+                              Name 1596  "r038"
+                              Name 1603  "r039"
+                              Name 1606  "r049"
+                              Name 1611  "r041"
+                              Name 1614  "r042"
+                              Name 1618  "r043"
+                              Name 1621  "r044"
+                              Name 1626  "r046"
+                              Name 1633  "r0"
+                              Name 1637  "r1"
+                              Name 1641  "r2"
+                              Name 1645  "r3"
+                              Name 1649  "r4"
+                              Name 1653  "r5"
+                              Name 1657  "r6"
+                              Name 1661  "r7"
+                              Name 1665  "r8"
+                              Name 1669  "r0"
+                              Name 1673  "r1"
+                              Name 1677  "r2"
+                              Name 1681  "r3"
+                              Name 1685  "r4"
+                              Name 1689  "r5"
+                              Name 1693  "r6"
+                              Name 1697  "r7"
+                              Name 1701  "r8"
+                              Name 1705  "r0"
+                              Name 1709  "r1"
+                              Name 1713  "r2"
+                              Name 1717  "r3"
+                              Name 1721  "r4"
+                              Name 1725  "r5"
+                              Name 1729  "r6"
+                              Name 1733  "r7"
+                              Name 1737  "r8"
+                              Name 1741  "r00"
+                              Name 1745  "r01"
+                              Name 1749  "r02"
+                              Name 1753  "r03"
+                              Name 1757  "r04"
+                              Name 1761  "r05"
+                              Name 1765  "r06"
+                              Name 1769  "r07"
+                              Name 1773  "r08"
+                              Name 1777  "r09"
+                              Name 1781  "r10"
+                              Name 1785  "r11"
+                              Name 1789  "r12"
+                              Name 1793  "r13"
+                              Name 1797  "r14"
+                              Name 1801  "r15"
+                              Name 1805  "r16"
+                              Name 1810  "ps_output"
+                              Name 1817  "@entryPointOutput.color"
+                              Name 1821  "gs_ua"
+                              Name 1822  "gs_ub"
+                              Name 1823  "gs_uc"
+                              Name 1825  "gs_ua2"
+                              Name 1826  "gs_ub2"
+                              Name 1827  "gs_uc2"
+                              Name 1829  "gs_ua3"
+                              Name 1830  "gs_ub3"
+                              Name 1831  "gs_uc3"
+                              Name 1833  "gs_ua4"
+                              Name 1834  "gs_ub4"
+                              Name 1835  "gs_uc4"
+                              Decorate 1817(@entryPointOutput.color) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -6208,91 +6225,91 @@
              141:    6(float) Constant 0
              187:     10(int) Constant 0
              199:     10(int) Constant 7
-             268:    6(float) Constant 1050288283
-             289:    6(float) Constant 1065353216
-             293:     10(int) Constant 2
-             345:             TypeVector 137(bool) 2
-             346:   26(fvec2) ConstantComposite 141 141
-             362:             TypeVector 10(int) 2
-             363:             TypePointer Function 362(ivec2)
-             395:      8(int) Constant 0
-             396:   28(ivec2) ConstantComposite 395 395
-             409:     10(int) Constant 3
-             410:  362(ivec2) ConstantComposite 199 409
-             453:      8(int) Constant 7
-             454:      8(int) Constant 8
-             455:   28(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:   28(ivec2) ConstantComposite 533 534
-             582:   26(fvec2) ConstantComposite 289 530
-             587:             TypeVector 137(bool) 3
-             588:   38(fvec3) ConstantComposite 141 141 141
-             604:             TypeVector 10(int) 3
-             605:             TypePointer Function 604(ivec3)
-             637:   40(ivec3) ConstantComposite 395 395 395
-             650:      8(int) Constant 3
-             651:      8(int) Constant 5
-             652:   40(ivec3) ConstantComposite 453 650 651
-             699:      8(int) Constant 4
-             700:   40(ivec3) ConstantComposite 534 650 699
-             717:             TypePointer Function 587(bvec3)
-             736:    6(float) Constant 1050253722
-             783:   40(ivec3) ConstantComposite 533 534 650
-             830:    6(float) Constant 1077936128
-             831:   38(fvec3) ConstantComposite 289 530 830
-             836:             TypeVector 137(bool) 4
-             837:   50(fvec4) ConstantComposite 141 141 141 141
-             853:             TypeVector 10(int) 4
-             854:             TypePointer Function 853(ivec4)
-             886:   52(ivec4) ConstantComposite 395 395 395 395
-             899:   52(ivec4) ConstantComposite 453 650 651 534
-             953:      8(int) Constant 9
-             954:      8(int) Constant 10
-             955:   52(ivec4) ConstantComposite 453 454 953 954
-             972:             TypePointer Function 836(bvec4)
-            1032:   52(ivec4) ConstantComposite 533 534 650 699
-            1079:    6(float) Constant 1082130432
-            1080:   50(fvec4) ConstantComposite 289 530 830 1079
-            1085:             TypeMatrix 345(bvec2) 2
-            1111:          62 ConstantComposite 346 346
-            1258:   26(fvec2) ConstantComposite 530 530
-            1259:          62 ConstantComposite 1258 1258
-            1264:             TypeMatrix 587(bvec3) 3
-            1290:          70 ConstantComposite 588 588 588
-            1440:   38(fvec3) ConstantComposite 830 830 830
-            1441:          70 ConstantComposite 1440 1440 1440
-            1446:             TypeMatrix 836(bvec4) 4
-            1472:          78 ConstantComposite 837 837 837 837
-            1625:   50(fvec4) ConstantComposite 1079 1079 1079 1079
-            1626:          78 ConstantComposite 1625 1625 1625 1625
-            1805:             TypePointer Function 133(PS_OUTPUT)
-            1807:   50(fvec4) ConstantComposite 289 289 289 289
-            1812:             TypePointer Output 50(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 28(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 40(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 52(ivec4)
-    1829(gs_ua4):   1828(ptr) Variable Workgroup
-    1830(gs_ub4):   1828(ptr) Variable Workgroup
-    1831(gs_uc4):   1828(ptr) Variable Workgroup
+             272:    6(float) Constant 1050288283
+             293:    6(float) Constant 1065353216
+             297:     10(int) Constant 2
+             349:             TypeVector 137(bool) 2
+             350:   26(fvec2) ConstantComposite 141 141
+             366:             TypeVector 10(int) 2
+             367:             TypePointer Function 366(ivec2)
+             399:      8(int) Constant 0
+             400:   28(ivec2) ConstantComposite 399 399
+             413:     10(int) Constant 3
+             414:  366(ivec2) ConstantComposite 199 413
+             457:      8(int) Constant 7
+             458:      8(int) Constant 8
+             459:   28(ivec2) ConstantComposite 457 458
+             476:             TypePointer Function 349(bvec2)
+             534:    6(float) Constant 1073741824
+             537:      8(int) Constant 1
+             538:      8(int) Constant 2
+             539:   28(ivec2) ConstantComposite 537 538
+             586:   26(fvec2) ConstantComposite 293 534
+             591:             TypeVector 137(bool) 3
+             592:   38(fvec3) ConstantComposite 141 141 141
+             608:             TypeVector 10(int) 3
+             609:             TypePointer Function 608(ivec3)
+             641:   40(ivec3) ConstantComposite 399 399 399
+             654:      8(int) Constant 3
+             655:      8(int) Constant 5
+             656:   40(ivec3) ConstantComposite 457 654 655
+             703:      8(int) Constant 4
+             704:   40(ivec3) ConstantComposite 538 654 703
+             721:             TypePointer Function 591(bvec3)
+             740:    6(float) Constant 1050253722
+             787:   40(ivec3) ConstantComposite 537 538 654
+             834:    6(float) Constant 1077936128
+             835:   38(fvec3) ConstantComposite 293 534 834
+             840:             TypeVector 137(bool) 4
+             841:   50(fvec4) ConstantComposite 141 141 141 141
+             857:             TypeVector 10(int) 4
+             858:             TypePointer Function 857(ivec4)
+             890:   52(ivec4) ConstantComposite 399 399 399 399
+             903:   52(ivec4) ConstantComposite 457 654 655 538
+             957:      8(int) Constant 9
+             958:      8(int) Constant 10
+             959:   52(ivec4) ConstantComposite 457 458 957 958
+             976:             TypePointer Function 840(bvec4)
+            1036:   52(ivec4) ConstantComposite 537 538 654 703
+            1083:    6(float) Constant 1082130432
+            1084:   50(fvec4) ConstantComposite 293 534 834 1083
+            1089:             TypeMatrix 349(bvec2) 2
+            1115:          62 ConstantComposite 350 350
+            1262:   26(fvec2) ConstantComposite 534 534
+            1263:          62 ConstantComposite 1262 1262
+            1268:             TypeMatrix 591(bvec3) 3
+            1294:          70 ConstantComposite 592 592 592
+            1444:   38(fvec3) ConstantComposite 834 834 834
+            1445:          70 ConstantComposite 1444 1444 1444
+            1450:             TypeMatrix 840(bvec4) 4
+            1476:          78 ConstantComposite 841 841 841 841
+            1629:   50(fvec4) ConstantComposite 1083 1083 1083 1083
+            1630:          78 ConstantComposite 1629 1629 1629 1629
+            1809:             TypePointer Function 133(PS_OUTPUT)
+            1811:   50(fvec4) ConstantComposite 293 293 293 293
+            1816:             TypePointer Output 50(fvec4)
+1817(@entryPointOutput.color):   1816(ptr) Variable Output
+            1820:             TypePointer Workgroup 8(int)
+     1821(gs_ua):   1820(ptr) Variable Workgroup
+     1822(gs_ub):   1820(ptr) Variable Workgroup
+     1823(gs_uc):   1820(ptr) Variable Workgroup
+            1824:             TypePointer Workgroup 28(ivec2)
+    1825(gs_ua2):   1824(ptr) Variable Workgroup
+    1826(gs_ub2):   1824(ptr) Variable Workgroup
+    1827(gs_uc2):   1824(ptr) Variable Workgroup
+            1828:             TypePointer Workgroup 40(ivec3)
+    1829(gs_ua3):   1828(ptr) Variable Workgroup
+    1830(gs_ub3):   1828(ptr) Variable Workgroup
+    1831(gs_uc3):   1828(ptr) Variable Workgroup
+            1832:             TypePointer Workgroup 52(ivec4)
+    1833(gs_ua4):   1832(ptr) Variable Workgroup
+    1834(gs_ub4):   1832(ptr) Variable Workgroup
+    1835(gs_uc4):   1832(ptr) Variable Workgroup
          4(main):           2 Function None 3
                5:             Label
-            1814:133(PS_OUTPUT) FunctionCall 135(@main()
-            1815:   50(fvec4) CompositeExtract 1814 0
-                              Store 1813(@entryPointOutput.color) 1815
+            1818:133(PS_OUTPUT) FunctionCall 135(@main()
+            1819:   50(fvec4) CompositeExtract 1818 0
+                              Store 1817(@entryPointOutput.color) 1819
                               Return
                               FunctionEnd
 18(PixelShaderFunctionS(f1;f1;f1;u1;i1;):    6(float) Function None 12
@@ -6324,39 +6341,40 @@
        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):    138(ptr) Variable Function
-       250(r038):    138(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
+       222(r024):      7(ptr) Variable Function
+       226(r027):      7(ptr) Variable Function
+       229(r028):      7(ptr) Variable Function
+       232(r029):      9(ptr) Variable Function
+       235(r030):      9(ptr) Variable Function
+       238(r031):      7(ptr) Variable Function
+       241(r033):      7(ptr) Variable Function
+       245(r034):      7(ptr) Variable Function
+       248(r036):      7(ptr) Variable Function
+       251(r037):    138(ptr) Variable Function
+       254(r038):    138(ptr) Variable Function
+       257(r039):      7(ptr) Variable Function
+      261(r039a):      7(ptr) Variable Function
+       266(r040):      7(ptr) Variable Function
+       269(r041):      7(ptr) Variable Function
+       274(r042):      7(ptr) Variable Function
+       277(r043):      7(ptr) Variable Function
+       281(r044):      7(ptr) Variable Function
+       285(r045):      7(ptr) Variable Function
+       289(r046):      7(ptr) Variable Function
+       292(r047):      7(ptr) Variable Function
+       296(r048):      9(ptr) Variable Function
+       300(r049):      7(ptr) Variable Function
+       303(r050):      7(ptr) Variable Function
+       306(r051):      7(ptr) Variable Function
+       309(r052):      7(ptr) Variable Function
+       312(r053):      7(ptr) Variable Function
+       319(r055):      7(ptr) Variable Function
+       322(r056):      7(ptr) Variable Function
+       327(r057):      7(ptr) Variable Function
+       330(r058):      7(ptr) Variable Function
+       334(r059):      7(ptr) Variable Function
+       337(r060):      7(ptr) Variable Function
+       340(r061):      7(ptr) Variable Function
              140:    6(float) Load 13(inF0)
              142:   137(bool) FOrdNotEqual 140 141
              143:   137(bool) All 142
@@ -6442,121 +6460,125 @@
              221:    6(float) ExtInst 1(GLSL.std.450) 12(Degrees) 220
                               Store 219(r023) 221
              223:    6(float) Load 13(inF0)
-             224:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 223
-                              Store 222(r027) 224
-             226:    6(float) Load 13(inF0)
-             227:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 226
-                              Store 225(r028) 227
-             229:     10(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 199
-             230:      8(int) Bitcast 229
-                              Store 228(r029) 230
-             232:     10(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 199
-             233:      8(int) Bitcast 232
-                              Store 231(r030) 233
-             235:    6(float) Load 13(inF0)
-             236:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 235
-                              Store 234(r031) 236
-             238:    6(float) Load 13(inF0)
-             239:    6(float) Load 14(inF1)
-             240:    6(float) FMod 238 239
-                              Store 237(r033) 240
+             224:    6(float) Load 14(inF1)
+             225:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 223 224
+                              Store 222(r024) 225
+             227:    6(float) Load 13(inF0)
+             228:    6(float) ExtInst 1(GLSL.std.450) 27(Exp) 227
+                              Store 226(r027) 228
+             230:    6(float) Load 13(inF0)
+             231:    6(float) ExtInst 1(GLSL.std.450) 29(Exp2) 230
+                              Store 229(r028) 231
+             233:     10(int) ExtInst 1(GLSL.std.450) 74(FindSMsb) 199
+             234:      8(int) Bitcast 233
+                              Store 232(r029) 234
+             236:     10(int) ExtInst 1(GLSL.std.450) 73(FindILsb) 199
+             237:      8(int) Bitcast 236
+                              Store 235(r030) 237
+             239:    6(float) Load 13(inF0)
+             240:    6(float) ExtInst 1(GLSL.std.450) 8(Floor) 239
+                              Store 238(r031) 240
              242:    6(float) Load 13(inF0)
-             243:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 242
-                              Store 241(r034) 243
-             245:    6(float) Load 13(inF0)
-             246:    6(float) Fwidth 245
-                              Store 244(r036) 246
-             248:    6(float) Load 13(inF0)
-             249:   137(bool) IsInf 248
-                              Store 247(r037) 249
-             251:    6(float) Load 13(inF0)
-             252:   137(bool) IsNan 251
-                              Store 250(r038) 252
-             254:    6(float) Load 13(inF0)
-             255:    6(float) Load 14(inF1)
-             256:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 254 255
-                              Store 253(r039) 256
+             243:    6(float) Load 14(inF1)
+             244:    6(float) FMod 242 243
+                              Store 241(r033) 244
+             246:    6(float) Load 13(inF0)
+             247:    6(float) ExtInst 1(GLSL.std.450) 10(Fract) 246
+                              Store 245(r034) 247
+             249:    6(float) Load 13(inF0)
+             250:    6(float) Fwidth 249
+                              Store 248(r036) 250
+             252:    6(float) Load 13(inF0)
+             253:   137(bool) IsInf 252
+                              Store 251(r037) 253
+             255:    6(float) Load 13(inF0)
+             256:   137(bool) IsNan 255
+                              Store 254(r038) 256
              258:    6(float) Load 13(inF0)
              259:    6(float) Load 14(inF1)
-             260:    6(float) Load 15(inF2)
-             261:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 258 259 260
-                              Store 257(r039a) 261
-             263:    6(float) Load 13(inF0)
-             264:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 263
-                              Store 262(r040) 264
-             266:    6(float) Load 13(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 13(inF0)
-             272:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 271
-                              Store 270(r042) 272
-             274:    6(float) Load 13(inF0)
-             275:    6(float) Load 14(inF1)
-             276:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 274 275
-                              Store 273(r043) 276
+             260:    6(float) ExtInst 1(GLSL.std.450) 53(Ldexp) 258 259
+                              Store 257(r039) 260
+             262:    6(float) Load 13(inF0)
+             263:    6(float) Load 14(inF1)
+             264:    6(float) Load 15(inF2)
+             265:    6(float) ExtInst 1(GLSL.std.450) 46(FMix) 262 263 264
+                              Store 261(r039a) 265
+             267:    6(float) Load 13(inF0)
+             268:    6(float) ExtInst 1(GLSL.std.450) 28(Log) 267
+                              Store 266(r040) 268
+             270:    6(float) Load 13(inF0)
+             271:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 270
+             273:    6(float) FMul 271 272
+                              Store 269(r041) 273
+             275:    6(float) Load 13(inF0)
+             276:    6(float) ExtInst 1(GLSL.std.450) 30(Log2) 275
+                              Store 274(r042) 276
              278:    6(float) Load 13(inF0)
              279:    6(float) Load 14(inF1)
-             280:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 278 279
-                              Store 277(r044) 280
+             280:    6(float) ExtInst 1(GLSL.std.450) 40(FMax) 278 279
+                              Store 277(r043) 280
              282:    6(float) Load 13(inF0)
              283:    6(float) Load 14(inF1)
-             284:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 282 283
-                              Store 281(r045) 284
+             284:    6(float) ExtInst 1(GLSL.std.450) 37(FMin) 282 283
+                              Store 281(r044) 284
              286:    6(float) Load 13(inF0)
-             287:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 286
-                              Store 285(r046) 287
+             287:    6(float) Load 14(inF1)
+             288:    6(float) ExtInst 1(GLSL.std.450) 26(Pow) 286 287
+                              Store 285(r045) 288
              290:    6(float) Load 13(inF0)
-             291:    6(float) FDiv 289 290
-                              Store 288(r047) 291
-             294:     10(int) BitReverse 293
-             295:      8(int) Bitcast 294
-                              Store 292(r048) 295
-             297:    6(float) Load 13(inF0)
-             298:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 297
-                              Store 296(r049) 298
-             300:    6(float) Load 13(inF0)
-             301:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 300
-                              Store 299(r050) 301
-             303:    6(float) Load 13(inF0)
-             304:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 303 141 289
-                              Store 302(r051) 304
-             306:    6(float) Load 13(inF0)
-             307:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 306
-                              Store 305(r052) 307
-             309:    6(float) Load 13(inF0)
-             310:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 309
-                              Store 308(r053) 310
-             311:    6(float) Load 13(inF0)
-             312:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 311
-                              Store 14(inF1) 312
+             291:    6(float) ExtInst 1(GLSL.std.450) 11(Radians) 290
+                              Store 289(r046) 291
+             294:    6(float) Load 13(inF0)
+             295:    6(float) FDiv 293 294
+                              Store 292(r047) 295
+             298:     10(int) BitReverse 297
+             299:      8(int) Bitcast 298
+                              Store 296(r048) 299
+             301:    6(float) Load 13(inF0)
+             302:    6(float) ExtInst 1(GLSL.std.450) 2(RoundEven) 301
+                              Store 300(r049) 302
+             304:    6(float) Load 13(inF0)
+             305:    6(float) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 304
+                              Store 303(r050) 305
+             307:    6(float) Load 13(inF0)
+             308:    6(float) ExtInst 1(GLSL.std.450) 43(FClamp) 307 141 293
+                              Store 306(r051) 308
+             310:    6(float) Load 13(inF0)
+             311:    6(float) ExtInst 1(GLSL.std.450) 6(FSign) 310
+                              Store 309(r052) 311
              313:    6(float) Load 13(inF0)
-             314:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 313
-                              Store 15(inF2) 314
-             316:    6(float) Load 13(inF0)
-             317:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 316
-                              Store 315(r055) 317
-             319:    6(float) Load 13(inF0)
-             320:    6(float) Load 14(inF1)
-             321:    6(float) Load 15(inF2)
-             322:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 319 320 321
-                              Store 318(r056) 322
-             324:    6(float) Load 13(inF0)
-             325:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 324
-                              Store 323(r057) 325
-             327:    6(float) Load 13(inF0)
-             328:    6(float) Load 14(inF1)
-             329:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 327 328
-                              Store 326(r058) 329
+             314:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 313
+                              Store 312(r053) 314
+             315:    6(float) Load 13(inF0)
+             316:    6(float) ExtInst 1(GLSL.std.450) 13(Sin) 315
+                              Store 14(inF1) 316
+             317:    6(float) Load 13(inF0)
+             318:    6(float) ExtInst 1(GLSL.std.450) 14(Cos) 317
+                              Store 15(inF2) 318
+             320:    6(float) Load 13(inF0)
+             321:    6(float) ExtInst 1(GLSL.std.450) 19(Sinh) 320
+                              Store 319(r055) 321
+             323:    6(float) Load 13(inF0)
+             324:    6(float) Load 14(inF1)
+             325:    6(float) Load 15(inF2)
+             326:    6(float) ExtInst 1(GLSL.std.450) 49(SmoothStep) 323 324 325
+                              Store 322(r056) 326
+             328:    6(float) Load 13(inF0)
+             329:    6(float) ExtInst 1(GLSL.std.450) 31(Sqrt) 328
+                              Store 327(r057) 329
              331:    6(float) Load 13(inF0)
-             332:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 331
-                              Store 330(r059) 332
-             334:    6(float) Load 13(inF0)
-             335:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 334
-                              Store 333(r060) 335
-             337:    6(float) Load 13(inF0)
-             338:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 337
-                              Store 336(r061) 338
+             332:    6(float) Load 14(inF1)
+             333:    6(float) ExtInst 1(GLSL.std.450) 48(Step) 331 332
+                              Store 330(r058) 333
+             335:    6(float) Load 13(inF0)
+             336:    6(float) ExtInst 1(GLSL.std.450) 15(Tan) 335
+                              Store 334(r059) 336
+             338:    6(float) Load 13(inF0)
+             339:    6(float) ExtInst 1(GLSL.std.450) 21(Tanh) 338
+                              Store 337(r060) 339
+             341:    6(float) Load 13(inF0)
+             342:    6(float) ExtInst 1(GLSL.std.450) 3(Trunc) 341
+                              Store 340(r061) 342
                               ReturnValue 141
                               FunctionEnd
 24(PixelShaderFunction1(vf1;vf1;vf1;):    6(float) Function None 20
@@ -6573,298 +6595,298 @@
         34(inU0):     29(ptr) FunctionParameter
         35(inU1):     29(ptr) FunctionParameter
               37:             Label
-       343(r000):    138(ptr) Variable Function
-       349(r001):     27(ptr) Variable Function
-       352(r002):     27(ptr) Variable Function
-       355(r003):    138(ptr) Variable Function
-       359(r004):     27(ptr) Variable Function
-       364(r005):    363(ptr) Variable Function
-       367(r006):     29(ptr) Variable Function
-       370(r007):     27(ptr) Variable Function
-       373(r009):     27(ptr) Variable Function
-       376(r010):     27(ptr) Variable Function
-       380(r011):     27(ptr) Variable Function
-       383(r012):     27(ptr) Variable Function
-       402(r013):     27(ptr) Variable Function
-       405(r015):     27(ptr) Variable Function
-       408(r016):    363(ptr) Variable Function
-       412(r017):     27(ptr) Variable Function
-       415(r018):     27(ptr) Variable Function
-       418(r019):     27(ptr) Variable Function
-       421(r020):     27(ptr) Variable Function
-       424(r021):     27(ptr) Variable Function
-       427(r022):     27(ptr) Variable Function
-       430(r023):     27(ptr) Variable Function
-       433(r026):      7(ptr) Variable Function
-       437(r027):      7(ptr) Variable Function
-       441(r028):     27(ptr) Variable Function
-       444(r029):     27(ptr) Variable Function
-       447(r030):     27(ptr) Variable Function
-       452(r031):     29(ptr) Variable Function
-       457(r032):     29(ptr) Variable Function
-       459(r033):     27(ptr) Variable Function
-       462(r035):     27(ptr) Variable Function
-       466(r036):     27(ptr) Variable Function
-       469(r038):     27(ptr) Variable Function
-       473(r039):    472(ptr) Variable Function
-       476(r040):    472(ptr) Variable Function
-       479(r041):     27(ptr) Variable Function
-      483(r039a):     27(ptr) Variable Function
-       488(r042):      7(ptr) Variable Function
-       491(r043):     27(ptr) Variable Function
-       494(r044):     27(ptr) Variable Function
-       498(r045):     27(ptr) Variable Function
-       501(r046):     27(ptr) Variable Function
-       505(r047):     27(ptr) Variable Function
-       509(r048):     27(ptr) Variable Function
-       512(r049):     27(ptr) Variable Function
-       516(r050):     27(ptr) Variable Function
-       519(r051):     27(ptr) Variable Function
-       523(r052):     27(ptr) Variable Function
-       527(r053):     27(ptr) Variable Function
-       532(r054):     29(ptr) Variable Function
-       537(r055):     27(ptr) Variable Function
-       540(r056):     27(ptr) Variable Function
-       543(r057):     27(ptr) Variable Function
-       548(r058):     27(ptr) Variable Function
-       551(r059):     27(ptr) Variable Function
-       558(r060):     27(ptr) Variable Function
-       561(r061):     27(ptr) Variable Function
-       566(r062):     27(ptr) Variable Function
-       569(r063):     27(ptr) Variable Function
-       573(r064):     27(ptr) Variable Function
-       576(r065):     27(ptr) Variable Function
-       579(r066):     27(ptr) Variable Function
-             344:   26(fvec2) Load 31(inF0)
-             347:  345(bvec2) FOrdNotEqual 344 346
-             348:   137(bool) All 347
-                              Store 343(r000) 348
-             350:   26(fvec2) Load 31(inF0)
-             351:   26(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 350
-                              Store 349(r001) 351
-             353:   26(fvec2) Load 31(inF0)
-             354:   26(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 353
-                              Store 352(r002) 354
-             356:   26(fvec2) Load 31(inF0)
-             357:  345(bvec2) FOrdNotEqual 356 346
-             358:   137(bool) Any 357
-                              Store 355(r003) 358
+       347(r000):    138(ptr) Variable Function
+       353(r001):     27(ptr) Variable Function
+       356(r002):     27(ptr) Variable Function
+       359(r003):    138(ptr) Variable Function
+       363(r004):     27(ptr) Variable Function
+       368(r005):    367(ptr) Variable Function
+       371(r006):     29(ptr) Variable Function
+       374(r007):     27(ptr) Variable Function
+       377(r009):     27(ptr) Variable Function
+       380(r010):     27(ptr) Variable Function
+       384(r011):     27(ptr) Variable Function
+       387(r012):     27(ptr) Variable Function
+       406(r013):     27(ptr) Variable Function
+       409(r015):     27(ptr) Variable Function
+       412(r016):    367(ptr) Variable Function
+       416(r017):     27(ptr) Variable Function
+       419(r018):     27(ptr) Variable Function
+       422(r019):     27(ptr) Variable Function
+       425(r020):     27(ptr) Variable Function
+       428(r021):     27(ptr) Variable Function
+       431(r022):     27(ptr) Variable Function
+       434(r023):     27(ptr) Variable Function
+       437(r026):      7(ptr) Variable Function
+       441(r027):      7(ptr) Variable Function
+       445(r028):     27(ptr) Variable Function
+       448(r029):     27(ptr) Variable Function
+       451(r030):     27(ptr) Variable Function
+       456(r031):     29(ptr) Variable Function
+       461(r032):     29(ptr) Variable Function
+       463(r033):     27(ptr) Variable Function
+       466(r035):     27(ptr) Variable Function
+       470(r036):     27(ptr) Variable Function
+       473(r038):     27(ptr) Variable Function
+       477(r039):    476(ptr) Variable Function
+       480(r040):    476(ptr) Variable Function
+       483(r041):     27(ptr) Variable Function
+      487(r039a):     27(ptr) Variable Function
+       492(r042):      7(ptr) Variable Function
+       495(r043):     27(ptr) Variable Function
+       498(r044):     27(ptr) Variable Function
+       502(r045):     27(ptr) Variable Function
+       505(r046):     27(ptr) Variable Function
+       509(r047):     27(ptr) Variable Function
+       513(r048):     27(ptr) Variable Function
+       516(r049):     27(ptr) Variable Function
+       520(r050):     27(ptr) Variable Function
+       523(r051):     27(ptr) Variable Function
+       527(r052):     27(ptr) Variable Function
+       531(r053):     27(ptr) Variable Function
+       536(r054):     29(ptr) Variable Function
+       541(r055):     27(ptr) Variable Function
+       544(r056):     27(ptr) Variable Function
+       547(r057):     27(ptr) Variable Function
+       552(r058):     27(ptr) Variable Function
+       555(r059):     27(ptr) Variable Function
+       562(r060):     27(ptr) Variable Function
+       565(r061):     27(ptr) Variable Function
+       570(r062):     27(ptr) Variable Function
+       573(r063):     27(ptr) Variable Function
+       577(r064):     27(ptr) Variable Function
+       580(r065):     27(ptr) Variable Function
+       583(r066):     27(ptr) Variable Function
+             348:   26(fvec2) Load 31(inF0)
+             351:  349(bvec2) FOrdNotEqual 348 350
+             352:   137(bool) All 351
+                              Store 347(r000) 352
+             354:   26(fvec2) Load 31(inF0)
+             355:   26(fvec2) ExtInst 1(GLSL.std.450) 4(FAbs) 354
+                              Store 353(r001) 355
+             357:   26(fvec2) Load 31(inF0)
+             358:   26(fvec2) ExtInst 1(GLSL.std.450) 17(Acos) 357
+                              Store 356(r002) 358
              360:   26(fvec2) Load 31(inF0)
-             361:   26(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 360
-                              Store 359(r004) 361
-             365:   26(fvec2) Load 31(inF0)
-             366:  362(ivec2) Bitcast 365
-                              Store 364(r005) 366
-             368:   26(fvec2) Load 31(inF0)
-             369:   28(ivec2) Bitcast 368
-                              Store 367(r006) 369
-             371:   28(ivec2) Load 34(inU0)
-             372:   26(fvec2) Bitcast 371
-                              Store 370(r007) 372
-             374:   26(fvec2) Load 31(inF0)
-             375:   26(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 374
-                              Store 373(r009) 375
-             377:   26(fvec2) Load 31(inF0)
-             378:   26(fvec2) Load 32(inF1)
-             379:   26(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 377 378
-                              Store 376(r010) 379
+             361:  349(bvec2) FOrdNotEqual 360 350
+             362:   137(bool) Any 361
+                              Store 359(r003) 362
+             364:   26(fvec2) Load 31(inF0)
+             365:   26(fvec2) ExtInst 1(GLSL.std.450) 16(Asin) 364
+                              Store 363(r004) 365
+             369:   26(fvec2) Load 31(inF0)
+             370:  366(ivec2) Bitcast 369
+                              Store 368(r005) 370
+             372:   26(fvec2) Load 31(inF0)
+             373:   28(ivec2) Bitcast 372
+                              Store 371(r006) 373
+             375:   28(ivec2) Load 34(inU0)
+             376:   26(fvec2) Bitcast 375
+                              Store 374(r007) 376
+             378:   26(fvec2) Load 31(inF0)
+             379:   26(fvec2) ExtInst 1(GLSL.std.450) 18(Atan) 378
+                              Store 377(r009) 379
              381:   26(fvec2) Load 31(inF0)
-             382:   26(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 381
-                              Store 380(r011) 382
-             384:   26(fvec2) Load 31(inF0)
-             385:   26(fvec2) Load 32(inF1)
-             386:   26(fvec2) Load 33(inF2)
-             387:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 384 385 386
-                              Store 383(r012) 387
+             382:   26(fvec2) Load 32(inF1)
+             383:   26(fvec2) ExtInst 1(GLSL.std.450) 25(Atan2) 381 382
+                              Store 380(r010) 383
+             385:   26(fvec2) Load 31(inF0)
+             386:   26(fvec2) ExtInst 1(GLSL.std.450) 9(Ceil) 385
+                              Store 384(r011) 386
              388:   26(fvec2) Load 31(inF0)
-             389:  345(bvec2) FOrdLessThan 388 346
-             390:   137(bool) Any 389
-                              SelectionMerge 392 None
-                              BranchConditional 390 391 392
-             391:               Label
+             389:   26(fvec2) Load 32(inF1)
+             390:   26(fvec2) Load 33(inF2)
+             391:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 388 389 390
+                              Store 387(r012) 391
+             392:   26(fvec2) Load 31(inF0)
+             393:  349(bvec2) FOrdLessThan 392 350
+             394:   137(bool) Any 393
+                              SelectionMerge 396 None
+                              BranchConditional 394 395 396
+             395:               Label
                                 Kill
-             392:             Label
-             394:   28(ivec2) Load 34(inU0)
-             397:  345(bvec2) ULessThan 394 396
-             398:   137(bool) Any 397
-                              SelectionMerge 400 None
-                              BranchConditional 398 399 400
-             399:               Label
+             396:             Label
+             398:   28(ivec2) Load 34(inU0)
+             401:  349(bvec2) ULessThan 398 400
+             402:   137(bool) Any 401
+                              SelectionMerge 404 None
+                              BranchConditional 402 403 404
+             403:               Label
                                 Kill
-             400:             Label
-             403:   26(fvec2) Load 31(inF0)
-             404:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 403
-                              Store 402(r013) 404
-             406:   26(fvec2) Load 31(inF0)
-             407:   26(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 406
-                              Store 405(r015) 407
-             411:  362(ivec2) BitCount 410
-                              Store 408(r016) 411
-             413:   26(fvec2) Load 31(inF0)
-             414:   26(fvec2) DPdx 413
-                              Store 412(r017) 414
-             416:   26(fvec2) Load 31(inF0)
-             417:   26(fvec2) DPdxCoarse 416
-                              Store 415(r018) 417
-             419:   26(fvec2) Load 31(inF0)
-             420:   26(fvec2) DPdxFine 419
-                              Store 418(r019) 420
-             422:   26(fvec2) Load 31(inF0)
-             423:   26(fvec2) DPdy 422
-                              Store 421(r020) 423
-             425:   26(fvec2) Load 31(inF0)
-             426:   26(fvec2) DPdyCoarse 425
-                              Store 424(r021) 426
-             428:   26(fvec2) Load 31(inF0)
-             429:   26(fvec2) DPdyFine 428
-                              Store 427(r022) 429
-             431:   26(fvec2) Load 31(inF0)
-             432:   26(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 431
-                              Store 430(r023) 432
-             434:   26(fvec2) Load 31(inF0)
-             435:   26(fvec2) Load 32(inF1)
-             436:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 434 435
-                              Store 433(r026) 436
+             404:             Label
+             407:   26(fvec2) Load 31(inF0)
+             408:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 407
+                              Store 406(r013) 408
+             410:   26(fvec2) Load 31(inF0)
+             411:   26(fvec2) ExtInst 1(GLSL.std.450) 20(Cosh) 410
+                              Store 409(r015) 411
+             415:  366(ivec2) BitCount 414
+                              Store 412(r016) 415
+             417:   26(fvec2) Load 31(inF0)
+             418:   26(fvec2) DPdx 417
+                              Store 416(r017) 418
+             420:   26(fvec2) Load 31(inF0)
+             421:   26(fvec2) DPdxCoarse 420
+                              Store 419(r018) 421
+             423:   26(fvec2) Load 31(inF0)
+             424:   26(fvec2) DPdxFine 423
+                              Store 422(r019) 424
+             426:   26(fvec2) Load 31(inF0)
+             427:   26(fvec2) DPdy 426
+                              Store 425(r020) 427
+             429:   26(fvec2) Load 31(inF0)
+             430:   26(fvec2) DPdyCoarse 429
+                              Store 428(r021) 430
+             432:   26(fvec2) Load 31(inF0)
+             433:   26(fvec2) DPdyFine 432
+                              Store 431(r022) 433
+             435:   26(fvec2) Load 31(inF0)
+             436:   26(fvec2) ExtInst 1(GLSL.std.450) 12(Degrees) 435
+                              Store 434(r023) 436
              438:   26(fvec2) Load 31(inF0)
              439:   26(fvec2) Load 32(inF1)
-             440:    6(float) Dot 438 439
-                              Store 437(r027) 440
+             440:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 438 439
+                              Store 437(r026) 440
              442:   26(fvec2) Load 31(inF0)
-             443:   26(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 442
-                              Store 441(r028) 443
-             445:   26(fvec2) Load 31(inF0)
-             446:   26(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 445
-                              Store 444(r029) 446
-             448:   26(fvec2) Load 31(inF0)
-             449:   26(fvec2) Load 32(inF1)
-             450:   26(fvec2) Load 33(inF2)
-             451:   26(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 448 449 450
-                              Store 447(r030) 451
-             456:   28(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 455
-                              Store 452(r031) 456
-             458:   28(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 455
-                              Store 457(r032) 458
-             460:   26(fvec2) Load 31(inF0)
-             461:   26(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 460
-                              Store 459(r033) 461
-             463:   26(fvec2) Load 31(inF0)
-             464:   26(fvec2) Load 32(inF1)
-             465:   26(fvec2) FMod 463 464
-                              Store 462(r035) 465
+             443:   26(fvec2) Load 32(inF1)
+             444:    6(float) Dot 442 443
+                              Store 441(r027) 444
+             446:   26(fvec2) Load 31(inF0)
+             447:   26(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 446
+                              Store 445(r028) 447
+             449:   26(fvec2) Load 31(inF0)
+             450:   26(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 449
+                              Store 448(r029) 450
+             452:   26(fvec2) Load 31(inF0)
+             453:   26(fvec2) Load 32(inF1)
+             454:   26(fvec2) Load 33(inF2)
+             455:   26(fvec2) ExtInst 1(GLSL.std.450) 70(FaceForward) 452 453 454
+                              Store 451(r030) 455
+             460:   28(ivec2) ExtInst 1(GLSL.std.450) 75(FindUMsb) 459
+                              Store 456(r031) 460
+             462:   28(ivec2) ExtInst 1(GLSL.std.450) 73(FindILsb) 459
+                              Store 461(r032) 462
+             464:   26(fvec2) Load 31(inF0)
+             465:   26(fvec2) ExtInst 1(GLSL.std.450) 8(Floor) 464
+                              Store 463(r033) 465
              467:   26(fvec2) Load 31(inF0)
-             468:   26(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 467
-                              Store 466(r036) 468
-             470:   26(fvec2) Load 31(inF0)
-             471:   26(fvec2) Fwidth 470
-                              Store 469(r038) 471
+             468:   26(fvec2) Load 32(inF1)
+             469:   26(fvec2) FMod 467 468
+                              Store 466(r035) 469
+             471:   26(fvec2) Load 31(inF0)
+             472:   26(fvec2) ExtInst 1(GLSL.std.450) 10(Fract) 471
+                              Store 470(r036) 472
              474:   26(fvec2) Load 31(inF0)
-             475:  345(bvec2) IsInf 474
-                              Store 473(r039) 475
-             477:   26(fvec2) Load 31(inF0)
-             478:  345(bvec2) IsNan 477
-                              Store 476(r040) 478
-             480:   26(fvec2) Load 31(inF0)
-             481:   26(fvec2) Load 32(inF1)
-             482:   26(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 480 481
-                              Store 479(r041) 482
+             475:   26(fvec2) Fwidth 474
+                              Store 473(r038) 475
+             478:   26(fvec2) Load 31(inF0)
+             479:  349(bvec2) IsInf 478
+                              Store 477(r039) 479
+             481:   26(fvec2) Load 31(inF0)
+             482:  349(bvec2) IsNan 481
+                              Store 480(r040) 482
              484:   26(fvec2) Load 31(inF0)
              485:   26(fvec2) Load 32(inF1)
-             486:   26(fvec2) Load 33(inF2)
-             487:   26(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 484 485 486
-                              Store 483(r039a) 487
-             489:   26(fvec2) Load 31(inF0)
-             490:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 489
-                              Store 488(r042) 490
-             492:   26(fvec2) Load 31(inF0)
-             493:   26(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 492
-                              Store 491(r043) 493
-             495:   26(fvec2) Load 31(inF0)
-             496:   26(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 495
-             497:   26(fvec2) VectorTimesScalar 496 268
-                              Store 494(r044) 497
+             486:   26(fvec2) ExtInst 1(GLSL.std.450) 53(Ldexp) 484 485
+                              Store 483(r041) 486
+             488:   26(fvec2) Load 31(inF0)
+             489:   26(fvec2) Load 32(inF1)
+             490:   26(fvec2) Load 33(inF2)
+             491:   26(fvec2) ExtInst 1(GLSL.std.450) 46(FMix) 488 489 490
+                              Store 487(r039a) 491
+             493:   26(fvec2) Load 31(inF0)
+             494:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 493
+                              Store 492(r042) 494
+             496:   26(fvec2) Load 31(inF0)
+             497:   26(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 496
+                              Store 495(r043) 497
              499:   26(fvec2) Load 31(inF0)
              500:   26(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 499
-                              Store 498(r045) 500
-             502:   26(fvec2) Load 31(inF0)
-             503:   26(fvec2) Load 32(inF1)
-             504:   26(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 502 503
-                              Store 501(r046) 504
+             501:   26(fvec2) VectorTimesScalar 500 272
+                              Store 498(r044) 501
+             503:   26(fvec2) Load 31(inF0)
+             504:   26(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 503
+                              Store 502(r045) 504
              506:   26(fvec2) Load 31(inF0)
              507:   26(fvec2) Load 32(inF1)
-             508:   26(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 506 507
-                              Store 505(r047) 508
+             508:   26(fvec2) ExtInst 1(GLSL.std.450) 40(FMax) 506 507
+                              Store 505(r046) 508
              510:   26(fvec2) Load 31(inF0)
-             511:   26(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 510
-                              Store 509(r048) 511
-             513:   26(fvec2) Load 31(inF0)
-             514:   26(fvec2) Load 32(inF1)
-             515:   26(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 513 514
-                              Store 512(r049) 515
+             511:   26(fvec2) Load 32(inF1)
+             512:   26(fvec2) ExtInst 1(GLSL.std.450) 37(FMin) 510 511
+                              Store 509(r047) 512
+             514:   26(fvec2) Load 31(inF0)
+             515:   26(fvec2) ExtInst 1(GLSL.std.450) 69(Normalize) 514
+                              Store 513(r048) 515
              517:   26(fvec2) Load 31(inF0)
-             518:   26(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 517
-                              Store 516(r050) 518
-             520:   26(fvec2) Load 31(inF0)
-             521:   26(fvec2) CompositeConstruct 289 289
-             522:   26(fvec2) FDiv 521 520
-                              Store 519(r051) 522
+             518:   26(fvec2) Load 32(inF1)
+             519:   26(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 517 518
+                              Store 516(r049) 519
+             521:   26(fvec2) Load 31(inF0)
+             522:   26(fvec2) ExtInst 1(GLSL.std.450) 11(Radians) 521
+                              Store 520(r050) 522
              524:   26(fvec2) Load 31(inF0)
-             525:   26(fvec2) Load 32(inF1)
-             526:   26(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 524 525
-                              Store 523(r052) 526
+             525:   26(fvec2) CompositeConstruct 293 293
+             526:   26(fvec2) FDiv 525 524
+                              Store 523(r051) 526
              528:   26(fvec2) Load 31(inF0)
              529:   26(fvec2) Load 32(inF1)
-             531:   26(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 528 529 530
-                              Store 527(r053) 531
-             536:   28(ivec2) BitReverse 535
-                              Store 532(r054) 536
-             538:   26(fvec2) Load 31(inF0)
-             539:   26(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 538
-                              Store 537(r055) 539
-             541:   26(fvec2) Load 31(inF0)
-             542:   26(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 541
-                              Store 540(r056) 542
-             544:   26(fvec2) Load 31(inF0)
-             545:   26(fvec2) CompositeConstruct 141 141
-             546:   26(fvec2) CompositeConstruct 289 289
-             547:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 544 545 546
-                              Store 543(r057) 547
-             549:   26(fvec2) Load 31(inF0)
-             550:   26(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 549
-                              Store 548(r058) 550
-             552:   26(fvec2) Load 31(inF0)
-             553:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 552
-                              Store 551(r059) 553
-             554:   26(fvec2) Load 31(inF0)
-             555:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 554
-                              Store 32(inF1) 555
+             530:   26(fvec2) ExtInst 1(GLSL.std.450) 71(Reflect) 528 529
+                              Store 527(r052) 530
+             532:   26(fvec2) Load 31(inF0)
+             533:   26(fvec2) Load 32(inF1)
+             535:   26(fvec2) ExtInst 1(GLSL.std.450) 72(Refract) 532 533 534
+                              Store 531(r053) 535
+             540:   28(ivec2) BitReverse 539
+                              Store 536(r054) 540
+             542:   26(fvec2) Load 31(inF0)
+             543:   26(fvec2) ExtInst 1(GLSL.std.450) 2(RoundEven) 542
+                              Store 541(r055) 543
+             545:   26(fvec2) Load 31(inF0)
+             546:   26(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 545
+                              Store 544(r056) 546
+             548:   26(fvec2) Load 31(inF0)
+             549:   26(fvec2) CompositeConstruct 141 141
+             550:   26(fvec2) CompositeConstruct 293 293
+             551:   26(fvec2) ExtInst 1(GLSL.std.450) 43(FClamp) 548 549 550
+                              Store 547(r057) 551
+             553:   26(fvec2) Load 31(inF0)
+             554:   26(fvec2) ExtInst 1(GLSL.std.450) 6(FSign) 553
+                              Store 552(r058) 554
              556:   26(fvec2) Load 31(inF0)
-             557:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 556
-                              Store 33(inF2) 557
-             559:   26(fvec2) Load 31(inF0)
-             560:   26(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 559
-                              Store 558(r060) 560
-             562:   26(fvec2) Load 31(inF0)
-             563:   26(fvec2) Load 32(inF1)
-             564:   26(fvec2) Load 33(inF2)
-             565:   26(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 562 563 564
-                              Store 561(r061) 565
-             567:   26(fvec2) Load 31(inF0)
-             568:   26(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 567
-                              Store 566(r062) 568
-             570:   26(fvec2) Load 31(inF0)
-             571:   26(fvec2) Load 32(inF1)
-             572:   26(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 570 571
-                              Store 569(r063) 572
+             557:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 556
+                              Store 555(r059) 557
+             558:   26(fvec2) Load 31(inF0)
+             559:   26(fvec2) ExtInst 1(GLSL.std.450) 13(Sin) 558
+                              Store 32(inF1) 559
+             560:   26(fvec2) Load 31(inF0)
+             561:   26(fvec2) ExtInst 1(GLSL.std.450) 14(Cos) 560
+                              Store 33(inF2) 561
+             563:   26(fvec2) Load 31(inF0)
+             564:   26(fvec2) ExtInst 1(GLSL.std.450) 19(Sinh) 563
+                              Store 562(r060) 564
+             566:   26(fvec2) Load 31(inF0)
+             567:   26(fvec2) Load 32(inF1)
+             568:   26(fvec2) Load 33(inF2)
+             569:   26(fvec2) ExtInst 1(GLSL.std.450) 49(SmoothStep) 566 567 568
+                              Store 565(r061) 569
+             571:   26(fvec2) Load 31(inF0)
+             572:   26(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 571
+                              Store 570(r062) 572
              574:   26(fvec2) Load 31(inF0)
-             575:   26(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 574
-                              Store 573(r064) 575
-             577:   26(fvec2) Load 31(inF0)
-             578:   26(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 577
-                              Store 576(r065) 578
-             580:   26(fvec2) Load 31(inF0)
-             581:   26(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 580
-                              Store 579(r066) 581
-                              ReturnValue 582
+             575:   26(fvec2) Load 32(inF1)
+             576:   26(fvec2) ExtInst 1(GLSL.std.450) 48(Step) 574 575
+                              Store 573(r063) 576
+             578:   26(fvec2) Load 31(inF0)
+             579:   26(fvec2) ExtInst 1(GLSL.std.450) 15(Tan) 578
+                              Store 577(r064) 579
+             581:   26(fvec2) Load 31(inF0)
+             582:   26(fvec2) ExtInst 1(GLSL.std.450) 21(Tanh) 581
+                              Store 580(r065) 582
+             584:   26(fvec2) Load 31(inF0)
+             585:   26(fvec2) ExtInst 1(GLSL.std.450) 3(Trunc) 584
+                              Store 583(r066) 585
+                              ReturnValue 586
                               FunctionEnd
 48(PixelShaderFunction3(vf3;vf3;vf3;vu3;vu3;):   38(fvec3) Function None 42
         43(inF0):     39(ptr) FunctionParameter
@@ -6873,309 +6895,309 @@
         46(inU0):     41(ptr) FunctionParameter
         47(inU1):     41(ptr) FunctionParameter
               49:             Label
-       585(r000):    138(ptr) Variable Function
-       591(r001):     39(ptr) Variable Function
-       594(r002):     39(ptr) Variable Function
-       597(r003):    138(ptr) Variable Function
-       601(r004):     39(ptr) Variable Function
-       606(r005):    605(ptr) Variable Function
-       609(r006):     41(ptr) Variable Function
-       612(r007):     39(ptr) Variable Function
-       615(r009):     39(ptr) Variable Function
-       618(r010):     39(ptr) Variable Function
-       622(r011):     39(ptr) Variable Function
-       625(r012):     39(ptr) Variable Function
-       643(r013):     39(ptr) Variable Function
-       646(r014):     39(ptr) Variable Function
-       649(r015):     41(ptr) Variable Function
-       654(r016):     39(ptr) Variable Function
-       658(r017):     39(ptr) Variable Function
-       661(r018):     39(ptr) Variable Function
-       664(r019):     39(ptr) Variable Function
-       667(r020):     39(ptr) Variable Function
-       670(r021):     39(ptr) Variable Function
-       673(r022):     39(ptr) Variable Function
-       676(r023):     39(ptr) Variable Function
-       679(r024):      7(ptr) Variable Function
-       683(r025):      7(ptr) Variable Function
-       687(r029):     39(ptr) Variable Function
-       690(r030):     39(ptr) Variable Function
-       693(r031):     39(ptr) Variable Function
-       698(r032):     41(ptr) Variable Function
-       702(r033):     41(ptr) Variable Function
-       704(r034):     39(ptr) Variable Function
-       707(r036):     39(ptr) Variable Function
-       711(r037):     39(ptr) Variable Function
-       714(r039):     39(ptr) Variable Function
-       718(r040):    717(ptr) Variable Function
-       721(r041):    717(ptr) Variable Function
-       724(r042):     39(ptr) Variable Function
-      728(r039a):     39(ptr) Variable Function
-      733(r039b):     39(ptr) Variable Function
-       739(r043):      7(ptr) Variable Function
-       742(r044):     39(ptr) Variable Function
-       745(r045):     39(ptr) Variable Function
-       749(r046):     39(ptr) Variable Function
-       752(r047):     39(ptr) Variable Function
-       756(r048):     39(ptr) Variable Function
-       760(r049):     39(ptr) Variable Function
-       763(r050):     39(ptr) Variable Function
-       767(r051):     39(ptr) Variable Function
-       770(r052):     39(ptr) Variable Function
-       774(r053):     39(ptr) Variable Function
-       778(r054):     39(ptr) Variable Function
-       782(r055):     41(ptr) Variable Function
-       785(r056):     39(ptr) Variable Function
-       788(r057):     39(ptr) Variable Function
-       791(r058):     39(ptr) Variable Function
-       796(r059):     39(ptr) Variable Function
-       799(r060):     39(ptr) Variable Function
-       806(r061):     39(ptr) Variable Function
-       809(r062):     39(ptr) Variable Function
-       814(r063):     39(ptr) Variable Function
-       817(r064):     39(ptr) Variable Function
-       821(r065):     39(ptr) Variable Function
-       824(r066):     39(ptr) Variable Function
-       827(r067):     39(ptr) Variable Function
-             586:   38(fvec3) Load 43(inF0)
-             589:  587(bvec3) FOrdNotEqual 586 588
-             590:   137(bool) All 589
-                              Store 585(r000) 590
-             592:   38(fvec3) Load 43(inF0)
-             593:   38(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 592
-                              Store 591(r001) 593
-             595:   38(fvec3) Load 43(inF0)
-             596:   38(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 595
-                              Store 594(r002) 596
-             598:   38(fvec3) Load 43(inF0)
-             599:  587(bvec3) FOrdNotEqual 598 588
-             600:   137(bool) Any 599
-                              Store 597(r003) 600
+       589(r000):    138(ptr) Variable Function
+       595(r001):     39(ptr) Variable Function
+       598(r002):     39(ptr) Variable Function
+       601(r003):    138(ptr) Variable Function
+       605(r004):     39(ptr) Variable Function
+       610(r005):    609(ptr) Variable Function
+       613(r006):     41(ptr) Variable Function
+       616(r007):     39(ptr) Variable Function
+       619(r009):     39(ptr) Variable Function
+       622(r010):     39(ptr) Variable Function
+       626(r011):     39(ptr) Variable Function
+       629(r012):     39(ptr) Variable Function
+       647(r013):     39(ptr) Variable Function
+       650(r014):     39(ptr) Variable Function
+       653(r015):     41(ptr) Variable Function
+       658(r016):     39(ptr) Variable Function
+       662(r017):     39(ptr) Variable Function
+       665(r018):     39(ptr) Variable Function
+       668(r019):     39(ptr) Variable Function
+       671(r020):     39(ptr) Variable Function
+       674(r021):     39(ptr) Variable Function
+       677(r022):     39(ptr) Variable Function
+       680(r023):     39(ptr) Variable Function
+       683(r024):      7(ptr) Variable Function
+       687(r025):      7(ptr) Variable Function
+       691(r029):     39(ptr) Variable Function
+       694(r030):     39(ptr) Variable Function
+       697(r031):     39(ptr) Variable Function
+       702(r032):     41(ptr) Variable Function
+       706(r033):     41(ptr) Variable Function
+       708(r034):     39(ptr) Variable Function
+       711(r036):     39(ptr) Variable Function
+       715(r037):     39(ptr) Variable Function
+       718(r039):     39(ptr) Variable Function
+       722(r040):    721(ptr) Variable Function
+       725(r041):    721(ptr) Variable Function
+       728(r042):     39(ptr) Variable Function
+      732(r039a):     39(ptr) Variable Function
+      737(r039b):     39(ptr) Variable Function
+       743(r043):      7(ptr) Variable Function
+       746(r044):     39(ptr) Variable Function
+       749(r045):     39(ptr) Variable Function
+       753(r046):     39(ptr) Variable Function
+       756(r047):     39(ptr) Variable Function
+       760(r048):     39(ptr) Variable Function
+       764(r049):     39(ptr) Variable Function
+       767(r050):     39(ptr) Variable Function
+       771(r051):     39(ptr) Variable Function
+       774(r052):     39(ptr) Variable Function
+       778(r053):     39(ptr) Variable Function
+       782(r054):     39(ptr) Variable Function
+       786(r055):     41(ptr) Variable Function
+       789(r056):     39(ptr) Variable Function
+       792(r057):     39(ptr) Variable Function
+       795(r058):     39(ptr) Variable Function
+       800(r059):     39(ptr) Variable Function
+       803(r060):     39(ptr) Variable Function
+       810(r061):     39(ptr) Variable Function
+       813(r062):     39(ptr) Variable Function
+       818(r063):     39(ptr) Variable Function
+       821(r064):     39(ptr) Variable Function
+       825(r065):     39(ptr) Variable Function
+       828(r066):     39(ptr) Variable Function
+       831(r067):     39(ptr) Variable Function
+             590:   38(fvec3) Load 43(inF0)
+             593:  591(bvec3) FOrdNotEqual 590 592
+             594:   137(bool) All 593
+                              Store 589(r000) 594
+             596:   38(fvec3) Load 43(inF0)
+             597:   38(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 596
+                              Store 595(r001) 597
+             599:   38(fvec3) Load 43(inF0)
+             600:   38(fvec3) ExtInst 1(GLSL.std.450) 17(Acos) 599
+                              Store 598(r002) 600
              602:   38(fvec3) Load 43(inF0)
-             603:   38(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 602
-                              Store 601(r004) 603
-             607:   38(fvec3) Load 43(inF0)
-             608:  604(ivec3) Bitcast 607
-                              Store 606(r005) 608
-             610:   38(fvec3) Load 43(inF0)
-             611:   40(ivec3) Bitcast 610
-                              Store 609(r006) 611
-             613:   40(ivec3) Load 46(inU0)
-             614:   38(fvec3) Bitcast 613
-                              Store 612(r007) 614
-             616:   38(fvec3) Load 43(inF0)
-             617:   38(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 616
-                              Store 615(r009) 617
-             619:   38(fvec3) Load 43(inF0)
-             620:   38(fvec3) Load 44(inF1)
-             621:   38(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 619 620
-                              Store 618(r010) 621
+             603:  591(bvec3) FOrdNotEqual 602 592
+             604:   137(bool) Any 603
+                              Store 601(r003) 604
+             606:   38(fvec3) Load 43(inF0)
+             607:   38(fvec3) ExtInst 1(GLSL.std.450) 16(Asin) 606
+                              Store 605(r004) 607
+             611:   38(fvec3) Load 43(inF0)
+             612:  608(ivec3) Bitcast 611
+                              Store 610(r005) 612
+             614:   38(fvec3) Load 43(inF0)
+             615:   40(ivec3) Bitcast 614
+                              Store 613(r006) 615
+             617:   40(ivec3) Load 46(inU0)
+             618:   38(fvec3) Bitcast 617
+                              Store 616(r007) 618
+             620:   38(fvec3) Load 43(inF0)
+             621:   38(fvec3) ExtInst 1(GLSL.std.450) 18(Atan) 620
+                              Store 619(r009) 621
              623:   38(fvec3) Load 43(inF0)
-             624:   38(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 623
-                              Store 622(r011) 624
-             626:   38(fvec3) Load 43(inF0)
-             627:   38(fvec3) Load 44(inF1)
-             628:   38(fvec3) Load 45(inF2)
-             629:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 626 627 628
-                              Store 625(r012) 629
+             624:   38(fvec3) Load 44(inF1)
+             625:   38(fvec3) ExtInst 1(GLSL.std.450) 25(Atan2) 623 624
+                              Store 622(r010) 625
+             627:   38(fvec3) Load 43(inF0)
+             628:   38(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 627
+                              Store 626(r011) 628
              630:   38(fvec3) Load 43(inF0)
-             631:  587(bvec3) FOrdLessThan 630 588
-             632:   137(bool) Any 631
-                              SelectionMerge 634 None
-                              BranchConditional 632 633 634
-             633:               Label
+             631:   38(fvec3) Load 44(inF1)
+             632:   38(fvec3) Load 45(inF2)
+             633:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 630 631 632
+                              Store 629(r012) 633
+             634:   38(fvec3) Load 43(inF0)
+             635:  591(bvec3) FOrdLessThan 634 592
+             636:   137(bool) Any 635
+                              SelectionMerge 638 None
+                              BranchConditional 636 637 638
+             637:               Label
                                 Kill
-             634:             Label
-             636:   40(ivec3) Load 46(inU0)
-             638:  587(bvec3) ULessThan 636 637
-             639:   137(bool) Any 638
-                              SelectionMerge 641 None
-                              BranchConditional 639 640 641
-             640:               Label
+             638:             Label
+             640:   40(ivec3) Load 46(inU0)
+             642:  591(bvec3) ULessThan 640 641
+             643:   137(bool) Any 642
+                              SelectionMerge 645 None
+                              BranchConditional 643 644 645
+             644:               Label
                                 Kill
-             641:             Label
-             644:   38(fvec3) Load 43(inF0)
-             645:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 644
-                              Store 643(r013) 645
-             647:   38(fvec3) Load 43(inF0)
-             648:   38(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 647
-                              Store 646(r014) 648
-             653:   40(ivec3) BitCount 652
-                              Store 649(r015) 653
-             655:   38(fvec3) Load 43(inF0)
-             656:   38(fvec3) Load 44(inF1)
-             657:   38(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 655 656
-                              Store 654(r016) 657
+             645:             Label
+             648:   38(fvec3) Load 43(inF0)
+             649:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 648
+                              Store 647(r013) 649
+             651:   38(fvec3) Load 43(inF0)
+             652:   38(fvec3) ExtInst 1(GLSL.std.450) 20(Cosh) 651
+                              Store 650(r014) 652
+             657:   40(ivec3) BitCount 656
+                              Store 653(r015) 657
              659:   38(fvec3) Load 43(inF0)
-             660:   38(fvec3) DPdx 659
-                              Store 658(r017) 660
-             662:   38(fvec3) Load 43(inF0)
-             663:   38(fvec3) DPdxCoarse 662
-                              Store 661(r018) 663
-             665:   38(fvec3) Load 43(inF0)
-             666:   38(fvec3) DPdxFine 665
-                              Store 664(r019) 666
-             668:   38(fvec3) Load 43(inF0)
-             669:   38(fvec3) DPdy 668
-                              Store 667(r020) 669
-             671:   38(fvec3) Load 43(inF0)
-             672:   38(fvec3) DPdyCoarse 671
-                              Store 670(r021) 672
-             674:   38(fvec3) Load 43(inF0)
-             675:   38(fvec3) DPdyFine 674
-                              Store 673(r022) 675
-             677:   38(fvec3) Load 43(inF0)
-             678:   38(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 677
-                              Store 676(r023) 678
-             680:   38(fvec3) Load 43(inF0)
-             681:   38(fvec3) Load 44(inF1)
-             682:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 680 681
-                              Store 679(r024) 682
+             660:   38(fvec3) Load 44(inF1)
+             661:   38(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 659 660
+                              Store 658(r016) 661
+             663:   38(fvec3) Load 43(inF0)
+             664:   38(fvec3) DPdx 663
+                              Store 662(r017) 664
+             666:   38(fvec3) Load 43(inF0)
+             667:   38(fvec3) DPdxCoarse 666
+                              Store 665(r018) 667
+             669:   38(fvec3) Load 43(inF0)
+             670:   38(fvec3) DPdxFine 669
+                              Store 668(r019) 670
+             672:   38(fvec3) Load 43(inF0)
+             673:   38(fvec3) DPdy 672
+                              Store 671(r020) 673
+             675:   38(fvec3) Load 43(inF0)
+             676:   38(fvec3) DPdyCoarse 675
+                              Store 674(r021) 676
+             678:   38(fvec3) Load 43(inF0)
+             679:   38(fvec3) DPdyFine 678
+                              Store 677(r022) 679
+             681:   38(fvec3) Load 43(inF0)
+             682:   38(fvec3) ExtInst 1(GLSL.std.450) 12(Degrees) 681
+                              Store 680(r023) 682
              684:   38(fvec3) Load 43(inF0)
              685:   38(fvec3) Load 44(inF1)
-             686:    6(float) Dot 684 685
-                              Store 683(r025) 686
+             686:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 684 685
+                              Store 683(r024) 686
              688:   38(fvec3) Load 43(inF0)
-             689:   38(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 688
-                              Store 687(r029) 689
-             691:   38(fvec3) Load 43(inF0)
-             692:   38(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 691
-                              Store 690(r030) 692
-             694:   38(fvec3) Load 43(inF0)
-             695:   38(fvec3) Load 44(inF1)
-             696:   38(fvec3) Load 45(inF2)
-             697:   38(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 694 695 696
-                              Store 693(r031) 697
-             701:   40(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 700
-                              Store 698(r032) 701
-             703:   40(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 700
-                              Store 702(r033) 703
-             705:   38(fvec3) Load 43(inF0)
-             706:   38(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 705
-                              Store 704(r034) 706
-             708:   38(fvec3) Load 43(inF0)
-             709:   38(fvec3) Load 44(inF1)
-             710:   38(fvec3) FMod 708 709
-                              Store 707(r036) 710
+             689:   38(fvec3) Load 44(inF1)
+             690:    6(float) Dot 688 689
+                              Store 687(r025) 690
+             692:   38(fvec3) Load 43(inF0)
+             693:   38(fvec3) ExtInst 1(GLSL.std.450) 27(Exp) 692
+                              Store 691(r029) 693
+             695:   38(fvec3) Load 43(inF0)
+             696:   38(fvec3) ExtInst 1(GLSL.std.450) 29(Exp2) 695
+                              Store 694(r030) 696
+             698:   38(fvec3) Load 43(inF0)
+             699:   38(fvec3) Load 44(inF1)
+             700:   38(fvec3) Load 45(inF2)
+             701:   38(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 698 699 700
+                              Store 697(r031) 701
+             705:   40(ivec3) ExtInst 1(GLSL.std.450) 75(FindUMsb) 704
+                              Store 702(r032) 705
+             707:   40(ivec3) ExtInst 1(GLSL.std.450) 73(FindILsb) 704
+                              Store 706(r033) 707
+             709:   38(fvec3) Load 43(inF0)
+             710:   38(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 709
+                              Store 708(r034) 710
              712:   38(fvec3) Load 43(inF0)
-             713:   38(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 712
-                              Store 711(r037) 713
-             715:   38(fvec3) Load 43(inF0)
-             716:   38(fvec3) Fwidth 715
-                              Store 714(r039) 716
+             713:   38(fvec3) Load 44(inF1)
+             714:   38(fvec3) FMod 712 713
+                              Store 711(r036) 714
+             716:   38(fvec3) Load 43(inF0)
+             717:   38(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 716
+                              Store 715(r037) 717
              719:   38(fvec3) Load 43(inF0)
-             720:  587(bvec3) IsInf 719
-                              Store 718(r040) 720
-             722:   38(fvec3) Load 43(inF0)
-             723:  587(bvec3) IsNan 722
-                              Store 721(r041) 723
-             725:   38(fvec3) Load 43(inF0)
-             726:   38(fvec3) Load 44(inF1)
-             727:   38(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 725 726
-                              Store 724(r042) 727
+             720:   38(fvec3) Fwidth 719
+                              Store 718(r039) 720
+             723:   38(fvec3) Load 43(inF0)
+             724:  591(bvec3) IsInf 723
+                              Store 722(r040) 724
+             726:   38(fvec3) Load 43(inF0)
+             727:  591(bvec3) IsNan 726
+                              Store 725(r041) 727
              729:   38(fvec3) Load 43(inF0)
              730:   38(fvec3) Load 44(inF1)
-             731:   38(fvec3) Load 45(inF2)
-             732:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 729 730 731
-                              Store 728(r039a) 732
-             734:   38(fvec3) Load 43(inF0)
-             735:   38(fvec3) Load 44(inF1)
-             737:   38(fvec3) CompositeConstruct 736 736 736
-             738:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 734 735 737
-                              Store 733(r039b) 738
-             740:   38(fvec3) Load 43(inF0)
-             741:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 740
-                              Store 739(r043) 741
-             743:   38(fvec3) Load 43(inF0)
-             744:   38(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 743
-                              Store 742(r044) 744
-             746:   38(fvec3) Load 43(inF0)
-             747:   38(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 746
-             748:   38(fvec3) VectorTimesScalar 747 268
-                              Store 745(r045) 748
+             731:   38(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 729 730
+                              Store 728(r042) 731
+             733:   38(fvec3) Load 43(inF0)
+             734:   38(fvec3) Load 44(inF1)
+             735:   38(fvec3) Load 45(inF2)
+             736:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 733 734 735
+                              Store 732(r039a) 736
+             738:   38(fvec3) Load 43(inF0)
+             739:   38(fvec3) Load 44(inF1)
+             741:   38(fvec3) CompositeConstruct 740 740 740
+             742:   38(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 738 739 741
+                              Store 737(r039b) 742
+             744:   38(fvec3) Load 43(inF0)
+             745:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 744
+                              Store 743(r043) 745
+             747:   38(fvec3) Load 43(inF0)
+             748:   38(fvec3) ExtInst 1(GLSL.std.450) 28(Log) 747
+                              Store 746(r044) 748
              750:   38(fvec3) Load 43(inF0)
              751:   38(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 750
-                              Store 749(r046) 751
-             753:   38(fvec3) Load 43(inF0)
-             754:   38(fvec3) Load 44(inF1)
-             755:   38(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 753 754
-                              Store 752(r047) 755
+             752:   38(fvec3) VectorTimesScalar 751 272
+                              Store 749(r045) 752
+             754:   38(fvec3) Load 43(inF0)
+             755:   38(fvec3) ExtInst 1(GLSL.std.450) 30(Log2) 754
+                              Store 753(r046) 755
              757:   38(fvec3) Load 43(inF0)
              758:   38(fvec3) Load 44(inF1)
-             759:   38(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 757 758
-                              Store 756(r048) 759
+             759:   38(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 757 758
+                              Store 756(r047) 759
              761:   38(fvec3) Load 43(inF0)
-             762:   38(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 761
-                              Store 760(r049) 762
-             764:   38(fvec3) Load 43(inF0)
-             765:   38(fvec3) Load 44(inF1)
-             766:   38(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 764 765
-                              Store 763(r050) 766
+             762:   38(fvec3) Load 44(inF1)
+             763:   38(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 761 762
+                              Store 760(r048) 763
+             765:   38(fvec3) Load 43(inF0)
+             766:   38(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 765
+                              Store 764(r049) 766
              768:   38(fvec3) Load 43(inF0)
-             769:   38(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 768
-                              Store 767(r051) 769
-             771:   38(fvec3) Load 43(inF0)
-             772:   38(fvec3) CompositeConstruct 289 289 289
-             773:   38(fvec3) FDiv 772 771
-                              Store 770(r052) 773
+             769:   38(fvec3) Load 44(inF1)
+             770:   38(fvec3) ExtInst 1(GLSL.std.450) 26(Pow) 768 769
+                              Store 767(r050) 770
+             772:   38(fvec3) Load 43(inF0)
+             773:   38(fvec3) ExtInst 1(GLSL.std.450) 11(Radians) 772
+                              Store 771(r051) 773
              775:   38(fvec3) Load 43(inF0)
-             776:   38(fvec3) Load 44(inF1)
-             777:   38(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 775 776
-                              Store 774(r053) 777
+             776:   38(fvec3) CompositeConstruct 293 293 293
+             777:   38(fvec3) FDiv 776 775
+                              Store 774(r052) 777
              779:   38(fvec3) Load 43(inF0)
              780:   38(fvec3) Load 44(inF1)
-             781:   38(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 779 780 530
-                              Store 778(r054) 781
-             784:   40(ivec3) BitReverse 783
-                              Store 782(r055) 784
-             786:   38(fvec3) Load 43(inF0)
-             787:   38(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 786
-                              Store 785(r056) 787
-             789:   38(fvec3) Load 43(inF0)
-             790:   38(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 789
-                              Store 788(r057) 790
-             792:   38(fvec3) Load 43(inF0)
-             793:   38(fvec3) CompositeConstruct 141 141 141
-             794:   38(fvec3) CompositeConstruct 289 289 289
-             795:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 792 793 794
-                              Store 791(r058) 795
-             797:   38(fvec3) Load 43(inF0)
-             798:   38(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 797
-                              Store 796(r059) 798
-             800:   38(fvec3) Load 43(inF0)
-             801:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 800
-                              Store 799(r060) 801
-             802:   38(fvec3) Load 43(inF0)
-             803:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 802
-                              Store 44(inF1) 803
+             781:   38(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 779 780
+                              Store 778(r053) 781
+             783:   38(fvec3) Load 43(inF0)
+             784:   38(fvec3) Load 44(inF1)
+             785:   38(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 783 784 534
+                              Store 782(r054) 785
+             788:   40(ivec3) BitReverse 787
+                              Store 786(r055) 788
+             790:   38(fvec3) Load 43(inF0)
+             791:   38(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 790
+                              Store 789(r056) 791
+             793:   38(fvec3) Load 43(inF0)
+             794:   38(fvec3) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 793
+                              Store 792(r057) 794
+             796:   38(fvec3) Load 43(inF0)
+             797:   38(fvec3) CompositeConstruct 141 141 141
+             798:   38(fvec3) CompositeConstruct 293 293 293
+             799:   38(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 796 797 798
+                              Store 795(r058) 799
+             801:   38(fvec3) Load 43(inF0)
+             802:   38(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 801
+                              Store 800(r059) 802
              804:   38(fvec3) Load 43(inF0)
-             805:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 804
-                              Store 45(inF2) 805
-             807:   38(fvec3) Load 43(inF0)
-             808:   38(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 807
-                              Store 806(r061) 808
-             810:   38(fvec3) Load 43(inF0)
-             811:   38(fvec3) Load 44(inF1)
-             812:   38(fvec3) Load 45(inF2)
-             813:   38(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 810 811 812
-                              Store 809(r062) 813
-             815:   38(fvec3) Load 43(inF0)
-             816:   38(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 815
-                              Store 814(r063) 816
-             818:   38(fvec3) Load 43(inF0)
-             819:   38(fvec3) Load 44(inF1)
-             820:   38(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 818 819
-                              Store 817(r064) 820
+             805:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 804
+                              Store 803(r060) 805
+             806:   38(fvec3) Load 43(inF0)
+             807:   38(fvec3) ExtInst 1(GLSL.std.450) 13(Sin) 806
+                              Store 44(inF1) 807
+             808:   38(fvec3) Load 43(inF0)
+             809:   38(fvec3) ExtInst 1(GLSL.std.450) 14(Cos) 808
+                              Store 45(inF2) 809
+             811:   38(fvec3) Load 43(inF0)
+             812:   38(fvec3) ExtInst 1(GLSL.std.450) 19(Sinh) 811
+                              Store 810(r061) 812
+             814:   38(fvec3) Load 43(inF0)
+             815:   38(fvec3) Load 44(inF1)
+             816:   38(fvec3) Load 45(inF2)
+             817:   38(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 814 815 816
+                              Store 813(r062) 817
+             819:   38(fvec3) Load 43(inF0)
+             820:   38(fvec3) ExtInst 1(GLSL.std.450) 31(Sqrt) 819
+                              Store 818(r063) 820
              822:   38(fvec3) Load 43(inF0)
-             823:   38(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 822
-                              Store 821(r065) 823
-             825:   38(fvec3) Load 43(inF0)
-             826:   38(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 825
-                              Store 824(r066) 826
-             828:   38(fvec3) Load 43(inF0)
-             829:   38(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 828
-                              Store 827(r067) 829
-                              ReturnValue 831
+             823:   38(fvec3) Load 44(inF1)
+             824:   38(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 822 823
+                              Store 821(r064) 824
+             826:   38(fvec3) Load 43(inF0)
+             827:   38(fvec3) ExtInst 1(GLSL.std.450) 15(Tan) 826
+                              Store 825(r065) 827
+             829:   38(fvec3) Load 43(inF0)
+             830:   38(fvec3) ExtInst 1(GLSL.std.450) 21(Tanh) 829
+                              Store 828(r066) 830
+             832:   38(fvec3) Load 43(inF0)
+             833:   38(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 832
+                              Store 831(r067) 833
+                              ReturnValue 835
                               FunctionEnd
 60(PixelShaderFunction(vf4;vf4;vf4;vu4;vu4;):   50(fvec4) Function None 54
         55(inF0):     51(ptr) FunctionParameter
@@ -7184,1006 +7206,1006 @@
         58(inU0):     53(ptr) FunctionParameter
         59(inU1):     53(ptr) FunctionParameter
               61:             Label
-       834(r000):    138(ptr) Variable Function
-       840(r001):     51(ptr) Variable Function
-       843(r002):     51(ptr) Variable Function
-       846(r003):    138(ptr) Variable Function
-       850(r004):     51(ptr) Variable Function
-       855(r005):    854(ptr) Variable Function
-       858(r006):     53(ptr) Variable Function
-       861(r007):     51(ptr) Variable Function
-       864(r009):     51(ptr) Variable Function
-       867(r010):     51(ptr) Variable Function
-       871(r011):     51(ptr) Variable Function
-       874(r012):     51(ptr) Variable Function
-       892(r013):     51(ptr) Variable Function
-       895(r014):     51(ptr) Variable Function
-       898(r015):     53(ptr) Variable Function
-       901(r016):     51(ptr) Variable Function
-       904(r017):     51(ptr) Variable Function
-       907(r018):     51(ptr) Variable Function
-       910(r019):     51(ptr) Variable Function
-       913(r020):     51(ptr) Variable Function
-       916(r021):     51(ptr) Variable Function
-       919(r022):     51(ptr) Variable Function
-       922(r023):      7(ptr) Variable Function
-       926(r024):      7(ptr) Variable Function
-       930(r025):     51(ptr) Variable Function
-       941(r029):     51(ptr) Variable Function
-       944(r030):     51(ptr) Variable Function
-       947(r031):     51(ptr) Variable Function
-       952(r032):     53(ptr) Variable Function
-       957(r033):     53(ptr) Variable Function
-       959(r034):     51(ptr) Variable Function
-       962(r036):     51(ptr) Variable Function
-       966(r037):     51(ptr) Variable Function
-       969(r039):     51(ptr) Variable Function
-       973(r040):    972(ptr) Variable Function
-       976(r041):    972(ptr) Variable Function
-       979(r042):     51(ptr) Variable Function
-      983(r039a):     51(ptr) Variable Function
-       988(r043):      7(ptr) Variable Function
-       991(r044):     51(ptr) Variable Function
-       994(r045):     51(ptr) Variable Function
-       998(r046):     51(ptr) Variable Function
-      1001(r047):     51(ptr) Variable Function
-      1005(r048):     51(ptr) Variable Function
-      1009(r049):     51(ptr) Variable Function
-      1012(r050):     51(ptr) Variable Function
-      1016(r051):     51(ptr) Variable Function
-      1019(r052):     51(ptr) Variable Function
-      1023(r053):     51(ptr) Variable Function
-      1027(r054):     51(ptr) Variable Function
-      1031(r055):     53(ptr) Variable Function
-      1034(r056):     51(ptr) Variable Function
-      1037(r057):     51(ptr) Variable Function
-      1040(r058):     51(ptr) Variable Function
-      1045(r059):     51(ptr) Variable Function
-      1048(r060):     51(ptr) Variable Function
-      1055(r061):     51(ptr) Variable Function
-      1058(r062):     51(ptr) Variable Function
-      1063(r063):     51(ptr) Variable Function
-      1066(r064):     51(ptr) Variable Function
-      1070(r065):     51(ptr) Variable Function
-      1073(r066):     51(ptr) Variable Function
-      1076(r067):     51(ptr) Variable Function
-             835:   50(fvec4) Load 55(inF0)
-             838:  836(bvec4) FOrdNotEqual 835 837
-             839:   137(bool) All 838
-                              Store 834(r000) 839
-             841:   50(fvec4) Load 55(inF0)
-             842:   50(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 841
-                              Store 840(r001) 842
-             844:   50(fvec4) Load 55(inF0)
-             845:   50(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 844
-                              Store 843(r002) 845
-             847:   50(fvec4) Load 55(inF0)
-             848:  836(bvec4) FOrdNotEqual 847 837
-             849:   137(bool) Any 848
-                              Store 846(r003) 849
+       838(r000):    138(ptr) Variable Function
+       844(r001):     51(ptr) Variable Function
+       847(r002):     51(ptr) Variable Function
+       850(r003):    138(ptr) Variable Function
+       854(r004):     51(ptr) Variable Function
+       859(r005):    858(ptr) Variable Function
+       862(r006):     53(ptr) Variable Function
+       865(r007):     51(ptr) Variable Function
+       868(r009):     51(ptr) Variable Function
+       871(r010):     51(ptr) Variable Function
+       875(r011):     51(ptr) Variable Function
+       878(r012):     51(ptr) Variable Function
+       896(r013):     51(ptr) Variable Function
+       899(r014):     51(ptr) Variable Function
+       902(r015):     53(ptr) Variable Function
+       905(r016):     51(ptr) Variable Function
+       908(r017):     51(ptr) Variable Function
+       911(r018):     51(ptr) Variable Function
+       914(r019):     51(ptr) Variable Function
+       917(r020):     51(ptr) Variable Function
+       920(r021):     51(ptr) Variable Function
+       923(r022):     51(ptr) Variable Function
+       926(r023):      7(ptr) Variable Function
+       930(r024):      7(ptr) Variable Function
+       934(r025):     51(ptr) Variable Function
+       945(r029):     51(ptr) Variable Function
+       948(r030):     51(ptr) Variable Function
+       951(r031):     51(ptr) Variable Function
+       956(r032):     53(ptr) Variable Function
+       961(r033):     53(ptr) Variable Function
+       963(r034):     51(ptr) Variable Function
+       966(r036):     51(ptr) Variable Function
+       970(r037):     51(ptr) Variable Function
+       973(r039):     51(ptr) Variable Function
+       977(r040):    976(ptr) Variable Function
+       980(r041):    976(ptr) Variable Function
+       983(r042):     51(ptr) Variable Function
+      987(r039a):     51(ptr) Variable Function
+       992(r043):      7(ptr) Variable Function
+       995(r044):     51(ptr) Variable Function
+       998(r045):     51(ptr) Variable Function
+      1002(r046):     51(ptr) Variable Function
+      1005(r047):     51(ptr) Variable Function
+      1009(r048):     51(ptr) Variable Function
+      1013(r049):     51(ptr) Variable Function
+      1016(r050):     51(ptr) Variable Function
+      1020(r051):     51(ptr) Variable Function
+      1023(r052):     51(ptr) Variable Function
+      1027(r053):     51(ptr) Variable Function
+      1031(r054):     51(ptr) Variable Function
+      1035(r055):     53(ptr) Variable Function
+      1038(r056):     51(ptr) Variable Function
+      1041(r057):     51(ptr) Variable Function
+      1044(r058):     51(ptr) Variable Function
+      1049(r059):     51(ptr) Variable Function
+      1052(r060):     51(ptr) Variable Function
+      1059(r061):     51(ptr) Variable Function
+      1062(r062):     51(ptr) Variable Function
+      1067(r063):     51(ptr) Variable Function
+      1070(r064):     51(ptr) Variable Function
+      1074(r065):     51(ptr) Variable Function
+      1077(r066):     51(ptr) Variable Function
+      1080(r067):     51(ptr) Variable Function
+             839:   50(fvec4) Load 55(inF0)
+             842:  840(bvec4) FOrdNotEqual 839 841
+             843:   137(bool) All 842
+                              Store 838(r000) 843
+             845:   50(fvec4) Load 55(inF0)
+             846:   50(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 845
+                              Store 844(r001) 846
+             848:   50(fvec4) Load 55(inF0)
+             849:   50(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 848
+                              Store 847(r002) 849
              851:   50(fvec4) Load 55(inF0)
-             852:   50(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 851
-                              Store 850(r004) 852
-             856:   50(fvec4) Load 55(inF0)
-             857:  853(ivec4) Bitcast 856
-                              Store 855(r005) 857
-             859:   50(fvec4) Load 55(inF0)
-             860:   52(ivec4) Bitcast 859
-                              Store 858(r006) 860
-             862:   52(ivec4) Load 58(inU0)
-             863:   50(fvec4) Bitcast 862
-                              Store 861(r007) 863
-             865:   50(fvec4) Load 55(inF0)
-             866:   50(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 865
-                              Store 864(r009) 866
-             868:   50(fvec4) Load 55(inF0)
-             869:   50(fvec4) Load 56(inF1)
-             870:   50(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 868 869
-                              Store 867(r010) 870
+             852:  840(bvec4) FOrdNotEqual 851 841
+             853:   137(bool) Any 852
+                              Store 850(r003) 853
+             855:   50(fvec4) Load 55(inF0)
+             856:   50(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 855
+                              Store 854(r004) 856
+             860:   50(fvec4) Load 55(inF0)
+             861:  857(ivec4) Bitcast 860
+                              Store 859(r005) 861
+             863:   50(fvec4) Load 55(inF0)
+             864:   52(ivec4) Bitcast 863
+                              Store 862(r006) 864
+             866:   52(ivec4) Load 58(inU0)
+             867:   50(fvec4) Bitcast 866
+                              Store 865(r007) 867
+             869:   50(fvec4) Load 55(inF0)
+             870:   50(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 869
+                              Store 868(r009) 870
              872:   50(fvec4) Load 55(inF0)
-             873:   50(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 872
-                              Store 871(r011) 873
-             875:   50(fvec4) Load 55(inF0)
-             876:   50(fvec4) Load 56(inF1)
-             877:   50(fvec4) Load 57(inF2)
-             878:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 875 876 877
-                              Store 874(r012) 878
+             873:   50(fvec4) Load 56(inF1)
+             874:   50(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 872 873
+                              Store 871(r010) 874
+             876:   50(fvec4) Load 55(inF0)
+             877:   50(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 876
+                              Store 875(r011) 877
              879:   50(fvec4) Load 55(inF0)
-             880:  836(bvec4) FOrdLessThan 879 837
-             881:   137(bool) Any 880
-                              SelectionMerge 883 None
-                              BranchConditional 881 882 883
-             882:               Label
+             880:   50(fvec4) Load 56(inF1)
+             881:   50(fvec4) Load 57(inF2)
+             882:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 879 880 881
+                              Store 878(r012) 882
+             883:   50(fvec4) Load 55(inF0)
+             884:  840(bvec4) FOrdLessThan 883 841
+             885:   137(bool) Any 884
+                              SelectionMerge 887 None
+                              BranchConditional 885 886 887
+             886:               Label
                                 Kill
-             883:             Label
-             885:   52(ivec4) Load 58(inU0)
-             887:  836(bvec4) ULessThan 885 886
-             888:   137(bool) Any 887
-                              SelectionMerge 890 None
-                              BranchConditional 888 889 890
-             889:               Label
+             887:             Label
+             889:   52(ivec4) Load 58(inU0)
+             891:  840(bvec4) ULessThan 889 890
+             892:   137(bool) Any 891
+                              SelectionMerge 894 None
+                              BranchConditional 892 893 894
+             893:               Label
                                 Kill
-             890:             Label
-             893:   50(fvec4) Load 55(inF0)
-             894:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 893
-                              Store 892(r013) 894
-             896:   50(fvec4) Load 55(inF0)
-             897:   50(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 896
-                              Store 895(r014) 897
-             900:   52(ivec4) BitCount 899
-                              Store 898(r015) 900
-             902:   50(fvec4) Load 55(inF0)
-             903:   50(fvec4) DPdx 902
-                              Store 901(r016) 903
-             905:   50(fvec4) Load 55(inF0)
-             906:   50(fvec4) DPdxCoarse 905
-                              Store 904(r017) 906
-             908:   50(fvec4) Load 55(inF0)
-             909:   50(fvec4) DPdxFine 908
-                              Store 907(r018) 909
-             911:   50(fvec4) Load 55(inF0)
-             912:   50(fvec4) DPdy 911
-                              Store 910(r019) 912
-             914:   50(fvec4) Load 55(inF0)
-             915:   50(fvec4) DPdyCoarse 914
-                              Store 913(r020) 915
-             917:   50(fvec4) Load 55(inF0)
-             918:   50(fvec4) DPdyFine 917
-                              Store 916(r021) 918
-             920:   50(fvec4) Load 55(inF0)
-             921:   50(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 920
-                              Store 919(r022) 921
-             923:   50(fvec4) Load 55(inF0)
-             924:   50(fvec4) Load 56(inF1)
-             925:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 923 924
-                              Store 922(r023) 925
+             894:             Label
+             897:   50(fvec4) Load 55(inF0)
+             898:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 897
+                              Store 896(r013) 898
+             900:   50(fvec4) Load 55(inF0)
+             901:   50(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 900
+                              Store 899(r014) 901
+             904:   52(ivec4) BitCount 903
+                              Store 902(r015) 904
+             906:   50(fvec4) Load 55(inF0)
+             907:   50(fvec4) DPdx 906
+                              Store 905(r016) 907
+             909:   50(fvec4) Load 55(inF0)
+             910:   50(fvec4) DPdxCoarse 909
+                              Store 908(r017) 910
+             912:   50(fvec4) Load 55(inF0)
+             913:   50(fvec4) DPdxFine 912
+                              Store 911(r018) 913
+             915:   50(fvec4) Load 55(inF0)
+             916:   50(fvec4) DPdy 915
+                              Store 914(r019) 916
+             918:   50(fvec4) Load 55(inF0)
+             919:   50(fvec4) DPdyCoarse 918
+                              Store 917(r020) 919
+             921:   50(fvec4) Load 55(inF0)
+             922:   50(fvec4) DPdyFine 921
+                              Store 920(r021) 922
+             924:   50(fvec4) Load 55(inF0)
+             925:   50(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 924
+                              Store 923(r022) 925
              927:   50(fvec4) Load 55(inF0)
              928:   50(fvec4) Load 56(inF1)
-             929:    6(float) Dot 927 928
-                              Store 926(r024) 929
-             931:      7(ptr) AccessChain 55(inF0) 533
-             932:    6(float) Load 931
-             933:      7(ptr) AccessChain 56(inF1) 533
-             934:    6(float) Load 933
-             935:    6(float) FMul 932 934
-             936:      7(ptr) AccessChain 55(inF0) 534
-             937:    6(float) Load 936
-             938:      7(ptr) AccessChain 56(inF1) 650
-             939:    6(float) Load 938
-             940:   50(fvec4) CompositeConstruct 289 935 937 939
-                              Store 930(r025) 940
-             942:   50(fvec4) Load 55(inF0)
-             943:   50(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 942
-                              Store 941(r029) 943
-             945:   50(fvec4) Load 55(inF0)
-             946:   50(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 945
-                              Store 944(r030) 946
-             948:   50(fvec4) Load 55(inF0)
-             949:   50(fvec4) Load 56(inF1)
-             950:   50(fvec4) Load 57(inF2)
-             951:   50(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 948 949 950
-                              Store 947(r031) 951
-             956:   52(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 955
-                              Store 952(r032) 956
-             958:   52(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 955
-                              Store 957(r033) 958
-             960:   50(fvec4) Load 55(inF0)
-             961:   50(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 960
-                              Store 959(r034) 961
-             963:   50(fvec4) Load 55(inF0)
-             964:   50(fvec4) Load 56(inF1)
-             965:   50(fvec4) FMod 963 964
-                              Store 962(r036) 965
+             929:    6(float) ExtInst 1(GLSL.std.450) 67(Distance) 927 928
+                              Store 926(r023) 929
+             931:   50(fvec4) Load 55(inF0)
+             932:   50(fvec4) Load 56(inF1)
+             933:    6(float) Dot 931 932
+                              Store 930(r024) 933
+             935:      7(ptr) AccessChain 55(inF0) 537
+             936:    6(float) Load 935
+             937:      7(ptr) AccessChain 56(inF1) 537
+             938:    6(float) Load 937
+             939:    6(float) FMul 936 938
+             940:      7(ptr) AccessChain 55(inF0) 538
+             941:    6(float) Load 940
+             942:      7(ptr) AccessChain 56(inF1) 654
+             943:    6(float) Load 942
+             944:   50(fvec4) CompositeConstruct 293 939 941 943
+                              Store 934(r025) 944
+             946:   50(fvec4) Load 55(inF0)
+             947:   50(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 946
+                              Store 945(r029) 947
+             949:   50(fvec4) Load 55(inF0)
+             950:   50(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 949
+                              Store 948(r030) 950
+             952:   50(fvec4) Load 55(inF0)
+             953:   50(fvec4) Load 56(inF1)
+             954:   50(fvec4) Load 57(inF2)
+             955:   50(fvec4) ExtInst 1(GLSL.std.450) 70(FaceForward) 952 953 954
+                              Store 951(r031) 955
+             960:   52(ivec4) ExtInst 1(GLSL.std.450) 75(FindUMsb) 959
+                              Store 956(r032) 960
+             962:   52(ivec4) ExtInst 1(GLSL.std.450) 73(FindILsb) 959
+                              Store 961(r033) 962
+             964:   50(fvec4) Load 55(inF0)
+             965:   50(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 964
+                              Store 963(r034) 965
              967:   50(fvec4) Load 55(inF0)
-             968:   50(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 967
-                              Store 966(r037) 968
-             970:   50(fvec4) Load 55(inF0)
-             971:   50(fvec4) Fwidth 970
-                              Store 969(r039) 971
+             968:   50(fvec4) Load 56(inF1)
+             969:   50(fvec4) FMod 967 968
+                              Store 966(r036) 969
+             971:   50(fvec4) Load 55(inF0)
+             972:   50(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 971
+                              Store 970(r037) 972
              974:   50(fvec4) Load 55(inF0)
-             975:  836(bvec4) IsInf 974
-                              Store 973(r040) 975
-             977:   50(fvec4) Load 55(inF0)
-             978:  836(bvec4) IsNan 977
-                              Store 976(r041) 978
-             980:   50(fvec4) Load 55(inF0)
-             981:   50(fvec4) Load 56(inF1)
-             982:   50(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 980 981
-                              Store 979(r042) 982
+             975:   50(fvec4) Fwidth 974
+                              Store 973(r039) 975
+             978:   50(fvec4) Load 55(inF0)
+             979:  840(bvec4) IsInf 978
+                              Store 977(r040) 979
+             981:   50(fvec4) Load 55(inF0)
+             982:  840(bvec4) IsNan 981
+                              Store 980(r041) 982
              984:   50(fvec4) Load 55(inF0)
              985:   50(fvec4) Load 56(inF1)
-             986:   50(fvec4) Load 57(inF2)
-             987:   50(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 984 985 986
-                              Store 983(r039a) 987
-             989:   50(fvec4) Load 55(inF0)
-             990:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 989
-                              Store 988(r043) 990
-             992:   50(fvec4) Load 55(inF0)
-             993:   50(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 992
-                              Store 991(r044) 993
-             995:   50(fvec4) Load 55(inF0)
-             996:   50(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 995
-             997:   50(fvec4) VectorTimesScalar 996 268
-                              Store 994(r045) 997
+             986:   50(fvec4) ExtInst 1(GLSL.std.450) 53(Ldexp) 984 985
+                              Store 983(r042) 986
+             988:   50(fvec4) Load 55(inF0)
+             989:   50(fvec4) Load 56(inF1)
+             990:   50(fvec4) Load 57(inF2)
+             991:   50(fvec4) ExtInst 1(GLSL.std.450) 46(FMix) 988 989 990
+                              Store 987(r039a) 991
+             993:   50(fvec4) Load 55(inF0)
+             994:    6(float) ExtInst 1(GLSL.std.450) 66(Length) 993
+                              Store 992(r043) 994
+             996:   50(fvec4) Load 55(inF0)
+             997:   50(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 996
+                              Store 995(r044) 997
              999:   50(fvec4) Load 55(inF0)
             1000:   50(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 999
-                              Store 998(r046) 1000
-            1002:   50(fvec4) Load 55(inF0)
-            1003:   50(fvec4) Load 56(inF1)
-            1004:   50(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 1002 1003
-                              Store 1001(r047) 1004
+            1001:   50(fvec4) VectorTimesScalar 1000 272
+                              Store 998(r045) 1001
+            1003:   50(fvec4) Load 55(inF0)
+            1004:   50(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 1003
+                              Store 1002(r046) 1004
             1006:   50(fvec4) Load 55(inF0)
             1007:   50(fvec4) Load 56(inF1)
-            1008:   50(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 1006 1007
-                              Store 1005(r048) 1008
+            1008:   50(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 1006 1007
+                              Store 1005(r047) 1008
             1010:   50(fvec4) Load 55(inF0)
-            1011:   50(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 1010
-                              Store 1009(r049) 1011
-            1013:   50(fvec4) Load 55(inF0)
-            1014:   50(fvec4) Load 56(inF1)
-            1015:   50(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1013 1014
-                              Store 1012(r050) 1015
+            1011:   50(fvec4) Load 56(inF1)
+            1012:   50(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 1010 1011
+                              Store 1009(r048) 1012
+            1014:   50(fvec4) Load 55(inF0)
+            1015:   50(fvec4) ExtInst 1(GLSL.std.450) 69(Normalize) 1014
+                              Store 1013(r049) 1015
             1017:   50(fvec4) Load 55(inF0)
-            1018:   50(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1017
-                              Store 1016(r051) 1018
-            1020:   50(fvec4) Load 55(inF0)
-            1021:   50(fvec4) CompositeConstruct 289 289 289 289
-            1022:   50(fvec4) FDiv 1021 1020
-                              Store 1019(r052) 1022
+            1018:   50(fvec4) Load 56(inF1)
+            1019:   50(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 1017 1018
+                              Store 1016(r050) 1019
+            1021:   50(fvec4) Load 55(inF0)
+            1022:   50(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 1021
+                              Store 1020(r051) 1022
             1024:   50(fvec4) Load 55(inF0)
-            1025:   50(fvec4) Load 56(inF1)
-            1026:   50(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1024 1025
-                              Store 1023(r053) 1026
+            1025:   50(fvec4) CompositeConstruct 293 293 293 293
+            1026:   50(fvec4) FDiv 1025 1024
+                              Store 1023(r052) 1026
             1028:   50(fvec4) Load 55(inF0)
             1029:   50(fvec4) Load 56(inF1)
-            1030:   50(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1028 1029 530
-                              Store 1027(r054) 1030
-            1033:   52(ivec4) BitReverse 1032
-                              Store 1031(r055) 1033
-            1035:   50(fvec4) Load 55(inF0)
-            1036:   50(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1035
-                              Store 1034(r056) 1036
-            1038:   50(fvec4) Load 55(inF0)
-            1039:   50(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1038
-                              Store 1037(r057) 1039
-            1041:   50(fvec4) Load 55(inF0)
-            1042:   50(fvec4) CompositeConstruct 141 141 141 141
-            1043:   50(fvec4) CompositeConstruct 289 289 289 289
-            1044:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1041 1042 1043
-                              Store 1040(r058) 1044
-            1046:   50(fvec4) Load 55(inF0)
-            1047:   50(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1046
-                              Store 1045(r059) 1047
-            1049:   50(fvec4) Load 55(inF0)
-            1050:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1049
-                              Store 1048(r060) 1050
-            1051:   50(fvec4) Load 55(inF0)
-            1052:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1051
-                              Store 56(inF1) 1052
+            1030:   50(fvec4) ExtInst 1(GLSL.std.450) 71(Reflect) 1028 1029
+                              Store 1027(r053) 1030
+            1032:   50(fvec4) Load 55(inF0)
+            1033:   50(fvec4) Load 56(inF1)
+            1034:   50(fvec4) ExtInst 1(GLSL.std.450) 72(Refract) 1032 1033 534
+                              Store 1031(r054) 1034
+            1037:   52(ivec4) BitReverse 1036
+                              Store 1035(r055) 1037
+            1039:   50(fvec4) Load 55(inF0)
+            1040:   50(fvec4) ExtInst 1(GLSL.std.450) 2(RoundEven) 1039
+                              Store 1038(r056) 1040
+            1042:   50(fvec4) Load 55(inF0)
+            1043:   50(fvec4) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1042
+                              Store 1041(r057) 1043
+            1045:   50(fvec4) Load 55(inF0)
+            1046:   50(fvec4) CompositeConstruct 141 141 141 141
+            1047:   50(fvec4) CompositeConstruct 293 293 293 293
+            1048:   50(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 1045 1046 1047
+                              Store 1044(r058) 1048
+            1050:   50(fvec4) Load 55(inF0)
+            1051:   50(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 1050
+                              Store 1049(r059) 1051
             1053:   50(fvec4) Load 55(inF0)
-            1054:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1053
-                              Store 57(inF2) 1054
-            1056:   50(fvec4) Load 55(inF0)
-            1057:   50(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1056
-                              Store 1055(r061) 1057
-            1059:   50(fvec4) Load 55(inF0)
-            1060:   50(fvec4) Load 56(inF1)
-            1061:   50(fvec4) Load 57(inF2)
-            1062:   50(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1059 1060 1061
-                              Store 1058(r062) 1062
-            1064:   50(fvec4) Load 55(inF0)
-            1065:   50(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1064
-                              Store 1063(r063) 1065
-            1067:   50(fvec4) Load 55(inF0)
-            1068:   50(fvec4) Load 56(inF1)
-            1069:   50(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1067 1068
-                              Store 1066(r064) 1069
+            1054:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1053
+                              Store 1052(r060) 1054
+            1055:   50(fvec4) Load 55(inF0)
+            1056:   50(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 1055
+                              Store 56(inF1) 1056
+            1057:   50(fvec4) Load 55(inF0)
+            1058:   50(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 1057
+                              Store 57(inF2) 1058
+            1060:   50(fvec4) Load 55(inF0)
+            1061:   50(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 1060
+                              Store 1059(r061) 1061
+            1063:   50(fvec4) Load 55(inF0)
+            1064:   50(fvec4) Load 56(inF1)
+            1065:   50(fvec4) Load 57(inF2)
+            1066:   50(fvec4) ExtInst 1(GLSL.std.450) 49(SmoothStep) 1063 1064 1065
+                              Store 1062(r062) 1066
+            1068:   50(fvec4) Load 55(inF0)
+            1069:   50(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 1068
+                              Store 1067(r063) 1069
             1071:   50(fvec4) Load 55(inF0)
-            1072:   50(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1071
-                              Store 1070(r065) 1072
-            1074:   50(fvec4) Load 55(inF0)
-            1075:   50(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1074
-                              Store 1073(r066) 1075
-            1077:   50(fvec4) Load 55(inF0)
-            1078:   50(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1077
-                              Store 1076(r067) 1078
-                              ReturnValue 1080
+            1072:   50(fvec4) Load 56(inF1)
+            1073:   50(fvec4) ExtInst 1(GLSL.std.450) 48(Step) 1071 1072
+                              Store 1070(r064) 1073
+            1075:   50(fvec4) Load 55(inF0)
+            1076:   50(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 1075
+                              Store 1074(r065) 1076
+            1078:   50(fvec4) Load 55(inF0)
+            1079:   50(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 1078
+                              Store 1077(r066) 1079
+            1081:   50(fvec4) Load 55(inF0)
+            1082:   50(fvec4) ExtInst 1(GLSL.std.450) 3(Trunc) 1081
+                              Store 1080(r067) 1082
+                              ReturnValue 1084
                               FunctionEnd
 68(PixelShaderFunction2x2(mf22;mf22;mf22;):          62 Function None 64
         65(inF0):     63(ptr) FunctionParameter
         66(inF1):     63(ptr) FunctionParameter
         67(inF2):     63(ptr) FunctionParameter
               69:             Label
-      1083(r000):    138(ptr) Variable Function
-      1088(r001):     63(ptr) Variable Function
-      1093(r003):    138(ptr) Variable Function
-      1097(r004):     63(ptr) Variable Function
-      1100(r005):     63(ptr) Variable Function
-      1103(r006):     63(ptr) Variable Function
-      1107(r007):     63(ptr) Variable Function
-      1117(r008):     63(ptr) Variable Function
-      1122(r009):     63(ptr) Variable Function
-      1125(r010):     63(ptr) Variable Function
-      1128(r011):     63(ptr) Variable Function
-      1131(r012):     63(ptr) Variable Function
-      1134(r013):     63(ptr) Variable Function
-      1137(r014):     63(ptr) Variable Function
-      1140(r015):     63(ptr) Variable Function
-      1143(r016):     63(ptr) Variable Function
-      1146(r017):     63(ptr) Variable Function
-      1149(r018):      7(ptr) Variable Function
-      1152(r019):     63(ptr) Variable Function
-      1155(R020):     63(ptr) Variable Function
-      1158(r021):     63(ptr) Variable Function
-      1161(r022):     63(ptr) Variable Function
-      1171(r023):     63(ptr) Variable Function
-      1174(r025):     63(ptr) Variable Function
-      1177(r026):     63(ptr) Variable Function
-     1181(r026a):     63(ptr) Variable Function
-      1186(r027):     63(ptr) Variable Function
-      1189(r028):     63(ptr) Variable Function
-      1193(r029):     63(ptr) Variable Function
-      1196(r030):     63(ptr) Variable Function
-      1200(r031):     63(ptr) Variable Function
-      1204(r032):     63(ptr) Variable Function
-      1208(r033):     63(ptr) Variable Function
-      1211(r034):     63(ptr) Variable Function
-      1214(r035):     63(ptr) Variable Function
-      1217(r036):     63(ptr) Variable Function
-      1222(r037):     63(ptr) Variable Function
-      1225(r038):     63(ptr) Variable Function
-      1232(r039):     63(ptr) Variable Function
-      1235(r049):     63(ptr) Variable Function
-      1240(r041):     63(ptr) Variable Function
-      1243(r042):     63(ptr) Variable Function
-      1247(r043):     63(ptr) Variable Function
-      1250(r044):     63(ptr) Variable Function
-      1255(r046):     63(ptr) Variable Function
-            1084:          62 Load 65(inF0)
-            1086:        1085 FOrdNotEqual 1084 141
-            1087:   137(bool) All 1086
-                              Store 1083(r000) 1087
-            1089:          62 Load 65(inF0)
-            1090:          62 ExtInst 1(GLSL.std.450) 4(FAbs) 1089
-                              Store 1088(r001) 1090
-            1091:          62 Load 65(inF0)
-            1092:          62 ExtInst 1(GLSL.std.450) 17(Acos) 1091
-            1094:          62 Load 65(inF0)
-            1095:        1085 FOrdNotEqual 1094 141
-            1096:   137(bool) Any 1095
-                              Store 1093(r003) 1096
+      1087(r000):    138(ptr) Variable Function
+      1092(r001):     63(ptr) Variable Function
+      1097(r003):    138(ptr) Variable Function
+      1101(r004):     63(ptr) Variable Function
+      1104(r005):     63(ptr) Variable Function
+      1107(r006):     63(ptr) Variable Function
+      1111(r007):     63(ptr) Variable Function
+      1121(r008):     63(ptr) Variable Function
+      1126(r009):     63(ptr) Variable Function
+      1129(r010):     63(ptr) Variable Function
+      1132(r011):     63(ptr) Variable Function
+      1135(r012):     63(ptr) Variable Function
+      1138(r013):     63(ptr) Variable Function
+      1141(r014):     63(ptr) Variable Function
+      1144(r015):     63(ptr) Variable Function
+      1147(r016):     63(ptr) Variable Function
+      1150(r017):     63(ptr) Variable Function
+      1153(r018):      7(ptr) Variable Function
+      1156(r019):     63(ptr) Variable Function
+      1159(R020):     63(ptr) Variable Function
+      1162(r021):     63(ptr) Variable Function
+      1165(r022):     63(ptr) Variable Function
+      1175(r023):     63(ptr) Variable Function
+      1178(r025):     63(ptr) Variable Function
+      1181(r026):     63(ptr) Variable Function
+     1185(r026a):     63(ptr) Variable Function
+      1190(r027):     63(ptr) Variable Function
+      1193(r028):     63(ptr) Variable Function
+      1197(r029):     63(ptr) Variable Function
+      1200(r030):     63(ptr) Variable Function
+      1204(r031):     63(ptr) Variable Function
+      1208(r032):     63(ptr) Variable Function
+      1212(r033):     63(ptr) Variable Function
+      1215(r034):     63(ptr) Variable Function
+      1218(r035):     63(ptr) Variable Function
+      1221(r036):     63(ptr) Variable Function
+      1226(r037):     63(ptr) Variable Function
+      1229(r038):     63(ptr) Variable Function
+      1236(r039):     63(ptr) Variable Function
+      1239(r049):     63(ptr) Variable Function
+      1244(r041):     63(ptr) Variable Function
+      1247(r042):     63(ptr) Variable Function
+      1251(r043):     63(ptr) Variable Function
+      1254(r044):     63(ptr) Variable Function
+      1259(r046):     63(ptr) Variable Function
+            1088:          62 Load 65(inF0)
+            1090:        1089 FOrdNotEqual 1088 141
+            1091:   137(bool) All 1090
+                              Store 1087(r000) 1091
+            1093:          62 Load 65(inF0)
+            1094:          62 ExtInst 1(GLSL.std.450) 4(FAbs) 1093
+                              Store 1092(r001) 1094
+            1095:          62 Load 65(inF0)
+            1096:          62 ExtInst 1(GLSL.std.450) 17(Acos) 1095
             1098:          62 Load 65(inF0)
-            1099:          62 ExtInst 1(GLSL.std.450) 16(Asin) 1098
-                              Store 1097(r004) 1099
-            1101:          62 Load 65(inF0)
-            1102:          62 ExtInst 1(GLSL.std.450) 18(Atan) 1101
-                              Store 1100(r005) 1102
-            1104:          62 Load 65(inF0)
-            1105:          62 Load 66(inF1)
-            1106:          62 ExtInst 1(GLSL.std.450) 25(Atan2) 1104 1105
-                              Store 1103(r006) 1106
+            1099:        1089 FOrdNotEqual 1098 141
+            1100:   137(bool) Any 1099
+                              Store 1097(r003) 1100
+            1102:          62 Load 65(inF0)
+            1103:          62 ExtInst 1(GLSL.std.450) 16(Asin) 1102
+                              Store 1101(r004) 1103
+            1105:          62 Load 65(inF0)
+            1106:          62 ExtInst 1(GLSL.std.450) 18(Atan) 1105
+                              Store 1104(r005) 1106
             1108:          62 Load 65(inF0)
-            1109:          62 ExtInst 1(GLSL.std.450) 9(Ceil) 1108
-                              Store 1107(r007) 1109
-            1110:          62 Load 65(inF0)
-            1112:        1085 FOrdLessThan 1110 1111
-            1113:   137(bool) Any 1112
-                              SelectionMerge 1115 None
-                              BranchConditional 1113 1114 1115
-            1114:               Label
+            1109:          62 Load 66(inF1)
+            1110:          62 ExtInst 1(GLSL.std.450) 25(Atan2) 1108 1109
+                              Store 1107(r006) 1110
+            1112:          62 Load 65(inF0)
+            1113:          62 ExtInst 1(GLSL.std.450) 9(Ceil) 1112
+                              Store 1111(r007) 1113
+            1114:          62 Load 65(inF0)
+            1116:        1089 FOrdLessThan 1114 1115
+            1117:   137(bool) Any 1116
+                              SelectionMerge 1119 None
+                              BranchConditional 1117 1118 1119
+            1118:               Label
                                 Kill
-            1115:             Label
-            1118:          62 Load 65(inF0)
-            1119:          62 Load 66(inF1)
-            1120:          62 Load 67(inF2)
-            1121:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1118 1119 1120
-                              Store 1117(r008) 1121
-            1123:          62 Load 65(inF0)
-            1124:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1123
-                              Store 1122(r009) 1124
-            1126:          62 Load 65(inF0)
-            1127:          62 ExtInst 1(GLSL.std.450) 20(Cosh) 1126
-                              Store 1125(r010) 1127
-            1129:          62 Load 65(inF0)
-            1130:          62 DPdx 1129
-                              Store 1128(r011) 1130
-            1132:          62 Load 65(inF0)
-            1133:          62 DPdxCoarse 1132
-                              Store 1131(r012) 1133
-            1135:          62 Load 65(inF0)
-            1136:          62 DPdxFine 1135
-                              Store 1134(r013) 1136
-            1138:          62 Load 65(inF0)
-            1139:          62 DPdy 1138
-                              Store 1137(r014) 1139
-            1141:          62 Load 65(inF0)
-            1142:          62 DPdyCoarse 1141
-                              Store 1140(r015) 1142
-            1144:          62 Load 65(inF0)
-            1145:          62 DPdyFine 1144
-                              Store 1143(r016) 1145
-            1147:          62 Load 65(inF0)
-            1148:          62 ExtInst 1(GLSL.std.450) 12(Degrees) 1147
-                              Store 1146(r017) 1148
-            1150:          62 Load 65(inF0)
-            1151:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1150
-                              Store 1149(r018) 1151
-            1153:          62 Load 65(inF0)
-            1154:          62 ExtInst 1(GLSL.std.450) 27(Exp) 1153
-                              Store 1152(r019) 1154
-            1156:          62 Load 65(inF0)
-            1157:          62 ExtInst 1(GLSL.std.450) 29(Exp2) 1156
-                              Store 1155(R020) 1157
-            1159:          62 Load 65(inF0)
-            1160:          62 ExtInst 1(GLSL.std.450) 8(Floor) 1159
-                              Store 1158(r021) 1160
-            1162:          62 Load 65(inF0)
-            1163:          62 Load 66(inF1)
-            1164:   26(fvec2) CompositeExtract 1162 0
-            1165:   26(fvec2) CompositeExtract 1163 0
-            1166:   26(fvec2) FMod 1164 1165
-            1167:   26(fvec2) CompositeExtract 1162 1
-            1168:   26(fvec2) CompositeExtract 1163 1
-            1169:   26(fvec2) FMod 1167 1168
-            1170:          62 CompositeConstruct 1166 1169
-                              Store 1161(r022) 1170
-            1172:          62 Load 65(inF0)
-            1173:          62 ExtInst 1(GLSL.std.450) 10(Fract) 1172
-                              Store 1171(r023) 1173
-            1175:          62 Load 65(inF0)
-            1176:          62 Fwidth 1175
-                              Store 1174(r025) 1176
-            1178:          62 Load 65(inF0)
-            1179:          62 Load 66(inF1)
-            1180:          62 ExtInst 1(GLSL.std.450) 53(Ldexp) 1178 1179
-                              Store 1177(r026) 1180
+            1119:             Label
+            1122:          62 Load 65(inF0)
+            1123:          62 Load 66(inF1)
+            1124:          62 Load 67(inF2)
+            1125:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1122 1123 1124
+                              Store 1121(r008) 1125
+            1127:          62 Load 65(inF0)
+            1128:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1127
+                              Store 1126(r009) 1128
+            1130:          62 Load 65(inF0)
+            1131:          62 ExtInst 1(GLSL.std.450) 20(Cosh) 1130
+                              Store 1129(r010) 1131
+            1133:          62 Load 65(inF0)
+            1134:          62 DPdx 1133
+                              Store 1132(r011) 1134
+            1136:          62 Load 65(inF0)
+            1137:          62 DPdxCoarse 1136
+                              Store 1135(r012) 1137
+            1139:          62 Load 65(inF0)
+            1140:          62 DPdxFine 1139
+                              Store 1138(r013) 1140
+            1142:          62 Load 65(inF0)
+            1143:          62 DPdy 1142
+                              Store 1141(r014) 1143
+            1145:          62 Load 65(inF0)
+            1146:          62 DPdyCoarse 1145
+                              Store 1144(r015) 1146
+            1148:          62 Load 65(inF0)
+            1149:          62 DPdyFine 1148
+                              Store 1147(r016) 1149
+            1151:          62 Load 65(inF0)
+            1152:          62 ExtInst 1(GLSL.std.450) 12(Degrees) 1151
+                              Store 1150(r017) 1152
+            1154:          62 Load 65(inF0)
+            1155:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1154
+                              Store 1153(r018) 1155
+            1157:          62 Load 65(inF0)
+            1158:          62 ExtInst 1(GLSL.std.450) 27(Exp) 1157
+                              Store 1156(r019) 1158
+            1160:          62 Load 65(inF0)
+            1161:          62 ExtInst 1(GLSL.std.450) 29(Exp2) 1160
+                              Store 1159(R020) 1161
+            1163:          62 Load 65(inF0)
+            1164:          62 ExtInst 1(GLSL.std.450) 8(Floor) 1163
+                              Store 1162(r021) 1164
+            1166:          62 Load 65(inF0)
+            1167:          62 Load 66(inF1)
+            1168:   26(fvec2) CompositeExtract 1166 0
+            1169:   26(fvec2) CompositeExtract 1167 0
+            1170:   26(fvec2) FMod 1168 1169
+            1171:   26(fvec2) CompositeExtract 1166 1
+            1172:   26(fvec2) CompositeExtract 1167 1
+            1173:   26(fvec2) FMod 1171 1172
+            1174:          62 CompositeConstruct 1170 1173
+                              Store 1165(r022) 1174
+            1176:          62 Load 65(inF0)
+            1177:          62 ExtInst 1(GLSL.std.450) 10(Fract) 1176
+                              Store 1175(r023) 1177
+            1179:          62 Load 65(inF0)
+            1180:          62 Fwidth 1179
+                              Store 1178(r025) 1180
             1182:          62 Load 65(inF0)
             1183:          62 Load 66(inF1)
-            1184:          62 Load 67(inF2)
-            1185:          62 ExtInst 1(GLSL.std.450) 46(FMix) 1182 1183 1184
-                              Store 1181(r026a) 1185
-            1187:          62 Load 65(inF0)
-            1188:          62 ExtInst 1(GLSL.std.450) 28(Log) 1187
-                              Store 1186(r027) 1188
-            1190:          62 Load 65(inF0)
-            1191:          62 ExtInst 1(GLSL.std.450) 30(Log2) 1190
-            1192:          62 MatrixTimesScalar 1191 268
-                              Store 1189(r028) 1192
+            1184:          62 ExtInst 1(GLSL.std.450) 53(Ldexp) 1182 1183
+                              Store 1181(r026) 1184
+            1186:          62 Load 65(inF0)
+            1187:          62 Load 66(inF1)
+            1188:          62 Load 67(inF2)
+            1189:          62 ExtInst 1(GLSL.std.450) 46(FMix) 1186 1187 1188
+                              Store 1185(r026a) 1189
+            1191:          62 Load 65(inF0)
+            1192:          62 ExtInst 1(GLSL.std.450) 28(Log) 1191
+                              Store 1190(r027) 1192
             1194:          62 Load 65(inF0)
             1195:          62 ExtInst 1(GLSL.std.450) 30(Log2) 1194
-                              Store 1193(r029) 1195
-            1197:          62 Load 65(inF0)
-            1198:          62 Load 66(inF1)
-            1199:          62 ExtInst 1(GLSL.std.450) 40(FMax) 1197 1198
-                              Store 1196(r030) 1199
+            1196:          62 MatrixTimesScalar 1195 272
+                              Store 1193(r028) 1196
+            1198:          62 Load 65(inF0)
+            1199:          62 ExtInst 1(GLSL.std.450) 30(Log2) 1198
+                              Store 1197(r029) 1199
             1201:          62 Load 65(inF0)
             1202:          62 Load 66(inF1)
-            1203:          62 ExtInst 1(GLSL.std.450) 37(FMin) 1201 1202
-                              Store 1200(r031) 1203
+            1203:          62 ExtInst 1(GLSL.std.450) 40(FMax) 1201 1202
+                              Store 1200(r030) 1203
             1205:          62 Load 65(inF0)
             1206:          62 Load 66(inF1)
-            1207:          62 ExtInst 1(GLSL.std.450) 26(Pow) 1205 1206
-                              Store 1204(r032) 1207
+            1207:          62 ExtInst 1(GLSL.std.450) 37(FMin) 1205 1206
+                              Store 1204(r031) 1207
             1209:          62 Load 65(inF0)
-            1210:          62 ExtInst 1(GLSL.std.450) 11(Radians) 1209
-                              Store 1208(r033) 1210
-            1212:          62 Load 65(inF0)
-            1213:          62 ExtInst 1(GLSL.std.450) 2(RoundEven) 1212
-                              Store 1211(r034) 1213
-            1215:          62 Load 65(inF0)
-            1216:          62 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1215
-                              Store 1214(r035) 1216
-            1218:          62 Load 65(inF0)
-            1219:   26(fvec2) CompositeConstruct 141 141
-            1220:   26(fvec2) CompositeConstruct 289 289
-            1221:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1218 1219 1220
-                              Store 1217(r036) 1221
-            1223:          62 Load 65(inF0)
-            1224:          62 ExtInst 1(GLSL.std.450) 6(FSign) 1223
-                              Store 1222(r037) 1224
-            1226:          62 Load 65(inF0)
-            1227:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1226
-                              Store 1225(r038) 1227
-            1228:          62 Load 65(inF0)
-            1229:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1228
-                              Store 66(inF1) 1229
+            1210:          62 Load 66(inF1)
+            1211:          62 ExtInst 1(GLSL.std.450) 26(Pow) 1209 1210
+                              Store 1208(r032) 1211
+            1213:          62 Load 65(inF0)
+            1214:          62 ExtInst 1(GLSL.std.450) 11(Radians) 1213
+                              Store 1212(r033) 1214
+            1216:          62 Load 65(inF0)
+            1217:          62 ExtInst 1(GLSL.std.450) 2(RoundEven) 1216
+                              Store 1215(r034) 1217
+            1219:          62 Load 65(inF0)
+            1220:          62 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1219
+                              Store 1218(r035) 1220
+            1222:          62 Load 65(inF0)
+            1223:   26(fvec2) CompositeConstruct 141 141
+            1224:   26(fvec2) CompositeConstruct 293 293
+            1225:          62 ExtInst 1(GLSL.std.450) 43(FClamp) 1222 1223 1224
+                              Store 1221(r036) 1225
+            1227:          62 Load 65(inF0)
+            1228:          62 ExtInst 1(GLSL.std.450) 6(FSign) 1227
+                              Store 1226(r037) 1228
             1230:          62 Load 65(inF0)
-            1231:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1230
-                              Store 67(inF2) 1231
-            1233:          62 Load 65(inF0)
-            1234:          62 ExtInst 1(GLSL.std.450) 19(Sinh) 1233
-                              Store 1232(r039) 1234
-            1236:          62 Load 65(inF0)
-            1237:          62 Load 66(inF1)
-            1238:          62 Load 67(inF2)
-            1239:          62 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1236 1237 1238
-                              Store 1235(r049) 1239
-            1241:          62 Load 65(inF0)
-            1242:          62 ExtInst 1(GLSL.std.450) 31(Sqrt) 1241
-                              Store 1240(r041) 1242
-            1244:          62 Load 65(inF0)
-            1245:          62 Load 66(inF1)
-            1246:          62 ExtInst 1(GLSL.std.450) 48(Step) 1244 1245
-                              Store 1243(r042) 1246
+            1231:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1230
+                              Store 1229(r038) 1231
+            1232:          62 Load 65(inF0)
+            1233:          62 ExtInst 1(GLSL.std.450) 13(Sin) 1232
+                              Store 66(inF1) 1233
+            1234:          62 Load 65(inF0)
+            1235:          62 ExtInst 1(GLSL.std.450) 14(Cos) 1234
+                              Store 67(inF2) 1235
+            1237:          62 Load 65(inF0)
+            1238:          62 ExtInst 1(GLSL.std.450) 19(Sinh) 1237
+                              Store 1236(r039) 1238
+            1240:          62 Load 65(inF0)
+            1241:          62 Load 66(inF1)
+            1242:          62 Load 67(inF2)
+            1243:          62 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1240 1241 1242
+                              Store 1239(r049) 1243
+            1245:          62 Load 65(inF0)
+            1246:          62 ExtInst 1(GLSL.std.450) 31(Sqrt) 1245
+                              Store 1244(r041) 1246
             1248:          62 Load 65(inF0)
-            1249:          62 ExtInst 1(GLSL.std.450) 15(Tan) 1248
-                              Store 1247(r043) 1249
-            1251:          62 Load 65(inF0)
-            1252:          62 ExtInst 1(GLSL.std.450) 21(Tanh) 1251
-                              Store 1250(r044) 1252
-            1253:          62 Load 65(inF0)
-            1254:          62 Transpose 1253
-            1256:          62 Load 65(inF0)
-            1257:          62 ExtInst 1(GLSL.std.450) 3(Trunc) 1256
-                              Store 1255(r046) 1257
-                              ReturnValue 1259
+            1249:          62 Load 66(inF1)
+            1250:          62 ExtInst 1(GLSL.std.450) 48(Step) 1248 1249
+                              Store 1247(r042) 1250
+            1252:          62 Load 65(inF0)
+            1253:          62 ExtInst 1(GLSL.std.450) 15(Tan) 1252
+                              Store 1251(r043) 1253
+            1255:          62 Load 65(inF0)
+            1256:          62 ExtInst 1(GLSL.std.450) 21(Tanh) 1255
+                              Store 1254(r044) 1256
+            1257:          62 Load 65(inF0)
+            1258:          62 Transpose 1257
+            1260:          62 Load 65(inF0)
+            1261:          62 ExtInst 1(GLSL.std.450) 3(Trunc) 1260
+                              Store 1259(r046) 1261
+                              ReturnValue 1263
                               FunctionEnd
 76(PixelShaderFunction3x3(mf33;mf33;mf33;):          70 Function None 72
         73(inF0):     71(ptr) FunctionParameter
         74(inF1):     71(ptr) FunctionParameter
         75(inF2):     71(ptr) FunctionParameter
               77:             Label
-      1262(r000):    138(ptr) Variable Function
-      1267(r001):     71(ptr) Variable Function
-      1272(r003):    138(ptr) Variable Function
-      1276(r004):     71(ptr) Variable Function
-      1279(r005):     71(ptr) Variable Function
-      1282(r006):     71(ptr) Variable Function
-      1286(r007):     71(ptr) Variable Function
-      1296(r008):     71(ptr) Variable Function
-      1301(r009):     71(ptr) Variable Function
-      1304(r010):     71(ptr) Variable Function
-      1307(r011):     71(ptr) Variable Function
-      1310(r012):     71(ptr) Variable Function
-      1313(r013):     71(ptr) Variable Function
-      1316(r014):     71(ptr) Variable Function
-      1319(r015):     71(ptr) Variable Function
-      1322(r016):     71(ptr) Variable Function
-      1325(r017):     71(ptr) Variable Function
-      1328(r018):      7(ptr) Variable Function
-      1331(r019):     71(ptr) Variable Function
-      1334(R020):     71(ptr) Variable Function
-      1337(r021):     71(ptr) Variable Function
-      1340(r022):     71(ptr) Variable Function
-      1353(r023):     71(ptr) Variable Function
-      1356(r025):     71(ptr) Variable Function
-      1359(r026):     71(ptr) Variable Function
-     1363(r026a):     71(ptr) Variable Function
-      1368(r027):     71(ptr) Variable Function
-      1371(r028):     71(ptr) Variable Function
-      1375(r029):     71(ptr) Variable Function
-      1378(r030):     71(ptr) Variable Function
-      1382(r031):     71(ptr) Variable Function
-      1386(r032):     71(ptr) Variable Function
-      1390(r033):     71(ptr) Variable Function
-      1393(r034):     71(ptr) Variable Function
-      1396(r035):     71(ptr) Variable Function
-      1399(r036):     71(ptr) Variable Function
-      1404(r037):     71(ptr) Variable Function
-      1407(r038):     71(ptr) Variable Function
-      1414(r039):     71(ptr) Variable Function
-      1417(r049):     71(ptr) Variable Function
-      1422(r041):     71(ptr) Variable Function
-      1425(r042):     71(ptr) Variable Function
-      1429(r043):     71(ptr) Variable Function
-      1432(r044):     71(ptr) Variable Function
-      1437(r046):     71(ptr) Variable Function
-            1263:          70 Load 73(inF0)
-            1265:        1264 FOrdNotEqual 1263 141
-            1266:   137(bool) All 1265
-                              Store 1262(r000) 1266
-            1268:          70 Load 73(inF0)
-            1269:          70 ExtInst 1(GLSL.std.450) 4(FAbs) 1268
-                              Store 1267(r001) 1269
-            1270:          70 Load 73(inF0)
-            1271:          70 ExtInst 1(GLSL.std.450) 17(Acos) 1270
-            1273:          70 Load 73(inF0)
-            1274:        1264 FOrdNotEqual 1273 141
-            1275:   137(bool) Any 1274
-                              Store 1272(r003) 1275
+      1266(r000):    138(ptr) Variable Function
+      1271(r001):     71(ptr) Variable Function
+      1276(r003):    138(ptr) Variable Function
+      1280(r004):     71(ptr) Variable Function
+      1283(r005):     71(ptr) Variable Function
+      1286(r006):     71(ptr) Variable Function
+      1290(r007):     71(ptr) Variable Function
+      1300(r008):     71(ptr) Variable Function
+      1305(r009):     71(ptr) Variable Function
+      1308(r010):     71(ptr) Variable Function
+      1311(r011):     71(ptr) Variable Function
+      1314(r012):     71(ptr) Variable Function
+      1317(r013):     71(ptr) Variable Function
+      1320(r014):     71(ptr) Variable Function
+      1323(r015):     71(ptr) Variable Function
+      1326(r016):     71(ptr) Variable Function
+      1329(r017):     71(ptr) Variable Function
+      1332(r018):      7(ptr) Variable Function
+      1335(r019):     71(ptr) Variable Function
+      1338(R020):     71(ptr) Variable Function
+      1341(r021):     71(ptr) Variable Function
+      1344(r022):     71(ptr) Variable Function
+      1357(r023):     71(ptr) Variable Function
+      1360(r025):     71(ptr) Variable Function
+      1363(r026):     71(ptr) Variable Function
+     1367(r026a):     71(ptr) Variable Function
+      1372(r027):     71(ptr) Variable Function
+      1375(r028):     71(ptr) Variable Function
+      1379(r029):     71(ptr) Variable Function
+      1382(r030):     71(ptr) Variable Function
+      1386(r031):     71(ptr) Variable Function
+      1390(r032):     71(ptr) Variable Function
+      1394(r033):     71(ptr) Variable Function
+      1397(r034):     71(ptr) Variable Function
+      1400(r035):     71(ptr) Variable Function
+      1403(r036):     71(ptr) Variable Function
+      1408(r037):     71(ptr) Variable Function
+      1411(r038):     71(ptr) Variable Function
+      1418(r039):     71(ptr) Variable Function
+      1421(r049):     71(ptr) Variable Function
+      1426(r041):     71(ptr) Variable Function
+      1429(r042):     71(ptr) Variable Function
+      1433(r043):     71(ptr) Variable Function
+      1436(r044):     71(ptr) Variable Function
+      1441(r046):     71(ptr) Variable Function
+            1267:          70 Load 73(inF0)
+            1269:        1268 FOrdNotEqual 1267 141
+            1270:   137(bool) All 1269
+                              Store 1266(r000) 1270
+            1272:          70 Load 73(inF0)
+            1273:          70 ExtInst 1(GLSL.std.450) 4(FAbs) 1272
+                              Store 1271(r001) 1273
+            1274:          70 Load 73(inF0)
+            1275:          70 ExtInst 1(GLSL.std.450) 17(Acos) 1274
             1277:          70 Load 73(inF0)
-            1278:          70 ExtInst 1(GLSL.std.450) 16(Asin) 1277
-                              Store 1276(r004) 1278
-            1280:          70 Load 73(inF0)
-            1281:          70 ExtInst 1(GLSL.std.450) 18(Atan) 1280
-                              Store 1279(r005) 1281
-            1283:          70 Load 73(inF0)
-            1284:          70 Load 74(inF1)
-            1285:          70 ExtInst 1(GLSL.std.450) 25(Atan2) 1283 1284
-                              Store 1282(r006) 1285
+            1278:        1268 FOrdNotEqual 1277 141
+            1279:   137(bool) Any 1278
+                              Store 1276(r003) 1279
+            1281:          70 Load 73(inF0)
+            1282:          70 ExtInst 1(GLSL.std.450) 16(Asin) 1281
+                              Store 1280(r004) 1282
+            1284:          70 Load 73(inF0)
+            1285:          70 ExtInst 1(GLSL.std.450) 18(Atan) 1284
+                              Store 1283(r005) 1285
             1287:          70 Load 73(inF0)
-            1288:          70 ExtInst 1(GLSL.std.450) 9(Ceil) 1287
-                              Store 1286(r007) 1288
-            1289:          70 Load 73(inF0)
-            1291:        1264 FOrdLessThan 1289 1290
-            1292:   137(bool) Any 1291
-                              SelectionMerge 1294 None
-                              BranchConditional 1292 1293 1294
-            1293:               Label
+            1288:          70 Load 74(inF1)
+            1289:          70 ExtInst 1(GLSL.std.450) 25(Atan2) 1287 1288
+                              Store 1286(r006) 1289
+            1291:          70 Load 73(inF0)
+            1292:          70 ExtInst 1(GLSL.std.450) 9(Ceil) 1291
+                              Store 1290(r007) 1292
+            1293:          70 Load 73(inF0)
+            1295:        1268 FOrdLessThan 1293 1294
+            1296:   137(bool) Any 1295
+                              SelectionMerge 1298 None
+                              BranchConditional 1296 1297 1298
+            1297:               Label
                                 Kill
-            1294:             Label
-            1297:          70 Load 73(inF0)
-            1298:          70 Load 74(inF1)
-            1299:          70 Load 75(inF2)
-            1300:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1297 1298 1299
-                              Store 1296(r008) 1300
-            1302:          70 Load 73(inF0)
-            1303:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1302
-                              Store 1301(r009) 1303
-            1305:          70 Load 73(inF0)
-            1306:          70 ExtInst 1(GLSL.std.450) 20(Cosh) 1305
-                              Store 1304(r010) 1306
-            1308:          70 Load 73(inF0)
-            1309:          70 DPdx 1308
-                              Store 1307(r011) 1309
-            1311:          70 Load 73(inF0)
-            1312:          70 DPdxCoarse 1311
-                              Store 1310(r012) 1312
-            1314:          70 Load 73(inF0)
-            1315:          70 DPdxFine 1314
-                              Store 1313(r013) 1315
-            1317:          70 Load 73(inF0)
-            1318:          70 DPdy 1317
-                              Store 1316(r014) 1318
-            1320:          70 Load 73(inF0)
-            1321:          70 DPdyCoarse 1320
-                              Store 1319(r015) 1321
-            1323:          70 Load 73(inF0)
-            1324:          70 DPdyFine 1323
-                              Store 1322(r016) 1324
-            1326:          70 Load 73(inF0)
-            1327:          70 ExtInst 1(GLSL.std.450) 12(Degrees) 1326
-                              Store 1325(r017) 1327
-            1329:          70 Load 73(inF0)
-            1330:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1329
-                              Store 1328(r018) 1330
-            1332:          70 Load 73(inF0)
-            1333:          70 ExtInst 1(GLSL.std.450) 27(Exp) 1332
-                              Store 1331(r019) 1333
-            1335:          70 Load 73(inF0)
-            1336:          70 ExtInst 1(GLSL.std.450) 29(Exp2) 1335
-                              Store 1334(R020) 1336
-            1338:          70 Load 73(inF0)
-            1339:          70 ExtInst 1(GLSL.std.450) 8(Floor) 1338
-                              Store 1337(r021) 1339
-            1341:          70 Load 73(inF0)
-            1342:          70 Load 74(inF1)
-            1343:   38(fvec3) CompositeExtract 1341 0
-            1344:   38(fvec3) CompositeExtract 1342 0
-            1345:   38(fvec3) FMod 1343 1344
-            1346:   38(fvec3) CompositeExtract 1341 1
-            1347:   38(fvec3) CompositeExtract 1342 1
-            1348:   38(fvec3) FMod 1346 1347
-            1349:   38(fvec3) CompositeExtract 1341 2
-            1350:   38(fvec3) CompositeExtract 1342 2
-            1351:   38(fvec3) FMod 1349 1350
-            1352:          70 CompositeConstruct 1345 1348 1351
-                              Store 1340(r022) 1352
-            1354:          70 Load 73(inF0)
-            1355:          70 ExtInst 1(GLSL.std.450) 10(Fract) 1354
-                              Store 1353(r023) 1355
-            1357:          70 Load 73(inF0)
-            1358:          70 Fwidth 1357
-                              Store 1356(r025) 1358
-            1360:          70 Load 73(inF0)
-            1361:          70 Load 74(inF1)
-            1362:          70 ExtInst 1(GLSL.std.450) 53(Ldexp) 1360 1361
-                              Store 1359(r026) 1362
+            1298:             Label
+            1301:          70 Load 73(inF0)
+            1302:          70 Load 74(inF1)
+            1303:          70 Load 75(inF2)
+            1304:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1301 1302 1303
+                              Store 1300(r008) 1304
+            1306:          70 Load 73(inF0)
+            1307:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1306
+                              Store 1305(r009) 1307
+            1309:          70 Load 73(inF0)
+            1310:          70 ExtInst 1(GLSL.std.450) 20(Cosh) 1309
+                              Store 1308(r010) 1310
+            1312:          70 Load 73(inF0)
+            1313:          70 DPdx 1312
+                              Store 1311(r011) 1313
+            1315:          70 Load 73(inF0)
+            1316:          70 DPdxCoarse 1315
+                              Store 1314(r012) 1316
+            1318:          70 Load 73(inF0)
+            1319:          70 DPdxFine 1318
+                              Store 1317(r013) 1319
+            1321:          70 Load 73(inF0)
+            1322:          70 DPdy 1321
+                              Store 1320(r014) 1322
+            1324:          70 Load 73(inF0)
+            1325:          70 DPdyCoarse 1324
+                              Store 1323(r015) 1325
+            1327:          70 Load 73(inF0)
+            1328:          70 DPdyFine 1327
+                              Store 1326(r016) 1328
+            1330:          70 Load 73(inF0)
+            1331:          70 ExtInst 1(GLSL.std.450) 12(Degrees) 1330
+                              Store 1329(r017) 1331
+            1333:          70 Load 73(inF0)
+            1334:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1333
+                              Store 1332(r018) 1334
+            1336:          70 Load 73(inF0)
+            1337:          70 ExtInst 1(GLSL.std.450) 27(Exp) 1336
+                              Store 1335(r019) 1337
+            1339:          70 Load 73(inF0)
+            1340:          70 ExtInst 1(GLSL.std.450) 29(Exp2) 1339
+                              Store 1338(R020) 1340
+            1342:          70 Load 73(inF0)
+            1343:          70 ExtInst 1(GLSL.std.450) 8(Floor) 1342
+                              Store 1341(r021) 1343
+            1345:          70 Load 73(inF0)
+            1346:          70 Load 74(inF1)
+            1347:   38(fvec3) CompositeExtract 1345 0
+            1348:   38(fvec3) CompositeExtract 1346 0
+            1349:   38(fvec3) FMod 1347 1348
+            1350:   38(fvec3) CompositeExtract 1345 1
+            1351:   38(fvec3) CompositeExtract 1346 1
+            1352:   38(fvec3) FMod 1350 1351
+            1353:   38(fvec3) CompositeExtract 1345 2
+            1354:   38(fvec3) CompositeExtract 1346 2
+            1355:   38(fvec3) FMod 1353 1354
+            1356:          70 CompositeConstruct 1349 1352 1355
+                              Store 1344(r022) 1356
+            1358:          70 Load 73(inF0)
+            1359:          70 ExtInst 1(GLSL.std.450) 10(Fract) 1358
+                              Store 1357(r023) 1359
+            1361:          70 Load 73(inF0)
+            1362:          70 Fwidth 1361
+                              Store 1360(r025) 1362
             1364:          70 Load 73(inF0)
             1365:          70 Load 74(inF1)
-            1366:          70 Load 75(inF2)
-            1367:          70 ExtInst 1(GLSL.std.450) 46(FMix) 1364 1365 1366
-                              Store 1363(r026a) 1367
-            1369:          70 Load 73(inF0)
-            1370:          70 ExtInst 1(GLSL.std.450) 28(Log) 1369
-                              Store 1368(r027) 1370
-            1372:          70 Load 73(inF0)
-            1373:          70 ExtInst 1(GLSL.std.450) 30(Log2) 1372
-            1374:          70 MatrixTimesScalar 1373 268
-                              Store 1371(r028) 1374
+            1366:          70 ExtInst 1(GLSL.std.450) 53(Ldexp) 1364 1365
+                              Store 1363(r026) 1366
+            1368:          70 Load 73(inF0)
+            1369:          70 Load 74(inF1)
+            1370:          70 Load 75(inF2)
+            1371:          70 ExtInst 1(GLSL.std.450) 46(FMix) 1368 1369 1370
+                              Store 1367(r026a) 1371
+            1373:          70 Load 73(inF0)
+            1374:          70 ExtInst 1(GLSL.std.450) 28(Log) 1373
+                              Store 1372(r027) 1374
             1376:          70 Load 73(inF0)
             1377:          70 ExtInst 1(GLSL.std.450) 30(Log2) 1376
-                              Store 1375(r029) 1377
-            1379:          70 Load 73(inF0)
-            1380:          70 Load 74(inF1)
-            1381:          70 ExtInst 1(GLSL.std.450) 40(FMax) 1379 1380
-                              Store 1378(r030) 1381
+            1378:          70 MatrixTimesScalar 1377 272
+                              Store 1375(r028) 1378
+            1380:          70 Load 73(inF0)
+            1381:          70 ExtInst 1(GLSL.std.450) 30(Log2) 1380
+                              Store 1379(r029) 1381
             1383:          70 Load 73(inF0)
             1384:          70 Load 74(inF1)
-            1385:          70 ExtInst 1(GLSL.std.450) 37(FMin) 1383 1384
-                              Store 1382(r031) 1385
+            1385:          70 ExtInst 1(GLSL.std.450) 40(FMax) 1383 1384
+                              Store 1382(r030) 1385
             1387:          70 Load 73(inF0)
             1388:          70 Load 74(inF1)
-            1389:          70 ExtInst 1(GLSL.std.450) 26(Pow) 1387 1388
-                              Store 1386(r032) 1389
+            1389:          70 ExtInst 1(GLSL.std.450) 37(FMin) 1387 1388
+                              Store 1386(r031) 1389
             1391:          70 Load 73(inF0)
-            1392:          70 ExtInst 1(GLSL.std.450) 11(Radians) 1391
-                              Store 1390(r033) 1392
-            1394:          70 Load 73(inF0)
-            1395:          70 ExtInst 1(GLSL.std.450) 2(RoundEven) 1394
-                              Store 1393(r034) 1395
-            1397:          70 Load 73(inF0)
-            1398:          70 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1397
-                              Store 1396(r035) 1398
-            1400:          70 Load 73(inF0)
-            1401:   38(fvec3) CompositeConstruct 141 141 141
-            1402:   38(fvec3) CompositeConstruct 289 289 289
-            1403:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1400 1401 1402
-                              Store 1399(r036) 1403
-            1405:          70 Load 73(inF0)
-            1406:          70 ExtInst 1(GLSL.std.450) 6(FSign) 1405
-                              Store 1404(r037) 1406
-            1408:          70 Load 73(inF0)
-            1409:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1408
-                              Store 1407(r038) 1409
-            1410:          70 Load 73(inF0)
-            1411:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1410
-                              Store 74(inF1) 1411
+            1392:          70 Load 74(inF1)
+            1393:          70 ExtInst 1(GLSL.std.450) 26(Pow) 1391 1392
+                              Store 1390(r032) 1393
+            1395:          70 Load 73(inF0)
+            1396:          70 ExtInst 1(GLSL.std.450) 11(Radians) 1395
+                              Store 1394(r033) 1396
+            1398:          70 Load 73(inF0)
+            1399:          70 ExtInst 1(GLSL.std.450) 2(RoundEven) 1398
+                              Store 1397(r034) 1399
+            1401:          70 Load 73(inF0)
+            1402:          70 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1401
+                              Store 1400(r035) 1402
+            1404:          70 Load 73(inF0)
+            1405:   38(fvec3) CompositeConstruct 141 141 141
+            1406:   38(fvec3) CompositeConstruct 293 293 293
+            1407:          70 ExtInst 1(GLSL.std.450) 43(FClamp) 1404 1405 1406
+                              Store 1403(r036) 1407
+            1409:          70 Load 73(inF0)
+            1410:          70 ExtInst 1(GLSL.std.450) 6(FSign) 1409
+                              Store 1408(r037) 1410
             1412:          70 Load 73(inF0)
-            1413:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1412
-                              Store 75(inF2) 1413
-            1415:          70 Load 73(inF0)
-            1416:          70 ExtInst 1(GLSL.std.450) 19(Sinh) 1415
-                              Store 1414(r039) 1416
-            1418:          70 Load 73(inF0)
-            1419:          70 Load 74(inF1)
-            1420:          70 Load 75(inF2)
-            1421:          70 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1418 1419 1420
-                              Store 1417(r049) 1421
-            1423:          70 Load 73(inF0)
-            1424:          70 ExtInst 1(GLSL.std.450) 31(Sqrt) 1423
-                              Store 1422(r041) 1424
-            1426:          70 Load 73(inF0)
-            1427:          70 Load 74(inF1)
-            1428:          70 ExtInst 1(GLSL.std.450) 48(Step) 1426 1427
-                              Store 1425(r042) 1428
+            1413:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1412
+                              Store 1411(r038) 1413
+            1414:          70 Load 73(inF0)
+            1415:          70 ExtInst 1(GLSL.std.450) 13(Sin) 1414
+                              Store 74(inF1) 1415
+            1416:          70 Load 73(inF0)
+            1417:          70 ExtInst 1(GLSL.std.450) 14(Cos) 1416
+                              Store 75(inF2) 1417
+            1419:          70 Load 73(inF0)
+            1420:          70 ExtInst 1(GLSL.std.450) 19(Sinh) 1419
+                              Store 1418(r039) 1420
+            1422:          70 Load 73(inF0)
+            1423:          70 Load 74(inF1)
+            1424:          70 Load 75(inF2)
+            1425:          70 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1422 1423 1424
+                              Store 1421(r049) 1425
+            1427:          70 Load 73(inF0)
+            1428:          70 ExtInst 1(GLSL.std.450) 31(Sqrt) 1427
+                              Store 1426(r041) 1428
             1430:          70 Load 73(inF0)
-            1431:          70 ExtInst 1(GLSL.std.450) 15(Tan) 1430
-                              Store 1429(r043) 1431
-            1433:          70 Load 73(inF0)
-            1434:          70 ExtInst 1(GLSL.std.450) 21(Tanh) 1433
-                              Store 1432(r044) 1434
-            1435:          70 Load 73(inF0)
-            1436:          70 Transpose 1435
-            1438:          70 Load 73(inF0)
-            1439:          70 ExtInst 1(GLSL.std.450) 3(Trunc) 1438
-                              Store 1437(r046) 1439
-                              ReturnValue 1441
+            1431:          70 Load 74(inF1)
+            1432:          70 ExtInst 1(GLSL.std.450) 48(Step) 1430 1431
+                              Store 1429(r042) 1432
+            1434:          70 Load 73(inF0)
+            1435:          70 ExtInst 1(GLSL.std.450) 15(Tan) 1434
+                              Store 1433(r043) 1435
+            1437:          70 Load 73(inF0)
+            1438:          70 ExtInst 1(GLSL.std.450) 21(Tanh) 1437
+                              Store 1436(r044) 1438
+            1439:          70 Load 73(inF0)
+            1440:          70 Transpose 1439
+            1442:          70 Load 73(inF0)
+            1443:          70 ExtInst 1(GLSL.std.450) 3(Trunc) 1442
+                              Store 1441(r046) 1443
+                              ReturnValue 1445
                               FunctionEnd
 84(PixelShaderFunction4x4(mf44;mf44;mf44;):          78 Function None 80
         81(inF0):     79(ptr) FunctionParameter
         82(inF1):     79(ptr) FunctionParameter
         83(inF2):     79(ptr) FunctionParameter
               85:             Label
-      1444(r000):    138(ptr) Variable Function
-      1449(r001):     79(ptr) Variable Function
-      1454(r003):    138(ptr) Variable Function
-      1458(r004):     79(ptr) Variable Function
-      1461(r005):     79(ptr) Variable Function
-      1464(r006):     79(ptr) Variable Function
-      1468(r007):     79(ptr) Variable Function
-      1478(r008):     79(ptr) Variable Function
-      1483(r009):     79(ptr) Variable Function
-      1486(r010):     79(ptr) Variable Function
-      1489(r011):     79(ptr) Variable Function
-      1492(r012):     79(ptr) Variable Function
-      1495(r013):     79(ptr) Variable Function
-      1498(r014):     79(ptr) Variable Function
-      1501(r015):     79(ptr) Variable Function
-      1504(r016):     79(ptr) Variable Function
-      1507(r017):     79(ptr) Variable Function
-      1510(r018):      7(ptr) Variable Function
-      1513(r019):     79(ptr) Variable Function
-      1516(R020):     79(ptr) Variable Function
-      1519(r021):     79(ptr) Variable Function
-      1522(r022):     79(ptr) Variable Function
-      1538(r023):     79(ptr) Variable Function
-      1541(r025):     79(ptr) Variable Function
-      1544(r026):     79(ptr) Variable Function
-     1548(r026a):     79(ptr) Variable Function
-      1553(r027):     79(ptr) Variable Function
-      1556(r028):     79(ptr) Variable Function
-      1560(r029):     79(ptr) Variable Function
-      1563(r030):     79(ptr) Variable Function
-      1567(r031):     79(ptr) Variable Function
-      1571(r032):     79(ptr) Variable Function
-      1575(r033):     79(ptr) Variable Function
-      1578(r034):     79(ptr) Variable Function
-      1581(r035):     79(ptr) Variable Function
-      1584(r036):     79(ptr) Variable Function
-      1589(r037):     79(ptr) Variable Function
-      1592(r038):     79(ptr) Variable Function
-      1599(r039):     79(ptr) Variable Function
-      1602(r049):     79(ptr) Variable Function
-      1607(r041):     79(ptr) Variable Function
-      1610(r042):     79(ptr) Variable Function
-      1614(r043):     79(ptr) Variable Function
-      1617(r044):     79(ptr) Variable Function
-      1622(r046):     79(ptr) Variable Function
-            1445:          78 Load 81(inF0)
-            1447:        1446 FOrdNotEqual 1445 141
-            1448:   137(bool) All 1447
-                              Store 1444(r000) 1448
-            1450:          78 Load 81(inF0)
-            1451:          78 ExtInst 1(GLSL.std.450) 4(FAbs) 1450
-                              Store 1449(r001) 1451
-            1452:          78 Load 81(inF0)
-            1453:          78 ExtInst 1(GLSL.std.450) 17(Acos) 1452
-            1455:          78 Load 81(inF0)
-            1456:        1446 FOrdNotEqual 1455 141
-            1457:   137(bool) Any 1456
-                              Store 1454(r003) 1457
+      1448(r000):    138(ptr) Variable Function
+      1453(r001):     79(ptr) Variable Function
+      1458(r003):    138(ptr) Variable Function
+      1462(r004):     79(ptr) Variable Function
+      1465(r005):     79(ptr) Variable Function
+      1468(r006):     79(ptr) Variable Function
+      1472(r007):     79(ptr) Variable Function
+      1482(r008):     79(ptr) Variable Function
+      1487(r009):     79(ptr) Variable Function
+      1490(r010):     79(ptr) Variable Function
+      1493(r011):     79(ptr) Variable Function
+      1496(r012):     79(ptr) Variable Function
+      1499(r013):     79(ptr) Variable Function
+      1502(r014):     79(ptr) Variable Function
+      1505(r015):     79(ptr) Variable Function
+      1508(r016):     79(ptr) Variable Function
+      1511(r017):     79(ptr) Variable Function
+      1514(r018):      7(ptr) Variable Function
+      1517(r019):     79(ptr) Variable Function
+      1520(R020):     79(ptr) Variable Function
+      1523(r021):     79(ptr) Variable Function
+      1526(r022):     79(ptr) Variable Function
+      1542(r023):     79(ptr) Variable Function
+      1545(r025):     79(ptr) Variable Function
+      1548(r026):     79(ptr) Variable Function
+     1552(r026a):     79(ptr) Variable Function
+      1557(r027):     79(ptr) Variable Function
+      1560(r028):     79(ptr) Variable Function
+      1564(r029):     79(ptr) Variable Function
+      1567(r030):     79(ptr) Variable Function
+      1571(r031):     79(ptr) Variable Function
+      1575(r032):     79(ptr) Variable Function
+      1579(r033):     79(ptr) Variable Function
+      1582(r034):     79(ptr) Variable Function
+      1585(r035):     79(ptr) Variable Function
+      1588(r036):     79(ptr) Variable Function
+      1593(r037):     79(ptr) Variable Function
+      1596(r038):     79(ptr) Variable Function
+      1603(r039):     79(ptr) Variable Function
+      1606(r049):     79(ptr) Variable Function
+      1611(r041):     79(ptr) Variable Function
+      1614(r042):     79(ptr) Variable Function
+      1618(r043):     79(ptr) Variable Function
+      1621(r044):     79(ptr) Variable Function
+      1626(r046):     79(ptr) Variable Function
+            1449:          78 Load 81(inF0)
+            1451:        1450 FOrdNotEqual 1449 141
+            1452:   137(bool) All 1451
+                              Store 1448(r000) 1452
+            1454:          78 Load 81(inF0)
+            1455:          78 ExtInst 1(GLSL.std.450) 4(FAbs) 1454
+                              Store 1453(r001) 1455
+            1456:          78 Load 81(inF0)
+            1457:          78 ExtInst 1(GLSL.std.450) 17(Acos) 1456
             1459:          78 Load 81(inF0)
-            1460:          78 ExtInst 1(GLSL.std.450) 16(Asin) 1459
-                              Store 1458(r004) 1460
-            1462:          78 Load 81(inF0)
-            1463:          78 ExtInst 1(GLSL.std.450) 18(Atan) 1462
-                              Store 1461(r005) 1463
-            1465:          78 Load 81(inF0)
-            1466:          78 Load 82(inF1)
-            1467:          78 ExtInst 1(GLSL.std.450) 25(Atan2) 1465 1466
-                              Store 1464(r006) 1467
+            1460:        1450 FOrdNotEqual 1459 141
+            1461:   137(bool) Any 1460
+                              Store 1458(r003) 1461
+            1463:          78 Load 81(inF0)
+            1464:          78 ExtInst 1(GLSL.std.450) 16(Asin) 1463
+                              Store 1462(r004) 1464
+            1466:          78 Load 81(inF0)
+            1467:          78 ExtInst 1(GLSL.std.450) 18(Atan) 1466
+                              Store 1465(r005) 1467
             1469:          78 Load 81(inF0)
-            1470:          78 ExtInst 1(GLSL.std.450) 9(Ceil) 1469
-                              Store 1468(r007) 1470
-            1471:          78 Load 81(inF0)
-            1473:        1446 FOrdLessThan 1471 1472
-            1474:   137(bool) Any 1473
-                              SelectionMerge 1476 None
-                              BranchConditional 1474 1475 1476
-            1475:               Label
+            1470:          78 Load 82(inF1)
+            1471:          78 ExtInst 1(GLSL.std.450) 25(Atan2) 1469 1470
+                              Store 1468(r006) 1471
+            1473:          78 Load 81(inF0)
+            1474:          78 ExtInst 1(GLSL.std.450) 9(Ceil) 1473
+                              Store 1472(r007) 1474
+            1475:          78 Load 81(inF0)
+            1477:        1450 FOrdLessThan 1475 1476
+            1478:   137(bool) Any 1477
+                              SelectionMerge 1480 None
+                              BranchConditional 1478 1479 1480
+            1479:               Label
                                 Kill
-            1476:             Label
-            1479:          78 Load 81(inF0)
-            1480:          78 Load 82(inF1)
-            1481:          78 Load 83(inF2)
-            1482:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1479 1480 1481
-                              Store 1478(r008) 1482
-            1484:          78 Load 81(inF0)
-            1485:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1484
-                              Store 1483(r009) 1485
-            1487:          78 Load 81(inF0)
-            1488:          78 ExtInst 1(GLSL.std.450) 20(Cosh) 1487
-                              Store 1486(r010) 1488
-            1490:          78 Load 81(inF0)
-            1491:          78 DPdx 1490
-                              Store 1489(r011) 1491
-            1493:          78 Load 81(inF0)
-            1494:          78 DPdxCoarse 1493
-                              Store 1492(r012) 1494
-            1496:          78 Load 81(inF0)
-            1497:          78 DPdxFine 1496
-                              Store 1495(r013) 1497
-            1499:          78 Load 81(inF0)
-            1500:          78 DPdy 1499
-                              Store 1498(r014) 1500
-            1502:          78 Load 81(inF0)
-            1503:          78 DPdyCoarse 1502
-                              Store 1501(r015) 1503
-            1505:          78 Load 81(inF0)
-            1506:          78 DPdyFine 1505
-                              Store 1504(r016) 1506
-            1508:          78 Load 81(inF0)
-            1509:          78 ExtInst 1(GLSL.std.450) 12(Degrees) 1508
-                              Store 1507(r017) 1509
-            1511:          78 Load 81(inF0)
-            1512:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1511
-                              Store 1510(r018) 1512
-            1514:          78 Load 81(inF0)
-            1515:          78 ExtInst 1(GLSL.std.450) 27(Exp) 1514
-                              Store 1513(r019) 1515
-            1517:          78 Load 81(inF0)
-            1518:          78 ExtInst 1(GLSL.std.450) 29(Exp2) 1517
-                              Store 1516(R020) 1518
-            1520:          78 Load 81(inF0)
-            1521:          78 ExtInst 1(GLSL.std.450) 8(Floor) 1520
-                              Store 1519(r021) 1521
-            1523:          78 Load 81(inF0)
-            1524:          78 Load 82(inF1)
-            1525:   50(fvec4) CompositeExtract 1523 0
-            1526:   50(fvec4) CompositeExtract 1524 0
-            1527:   50(fvec4) FMod 1525 1526
-            1528:   50(fvec4) CompositeExtract 1523 1
-            1529:   50(fvec4) CompositeExtract 1524 1
-            1530:   50(fvec4) FMod 1528 1529
-            1531:   50(fvec4) CompositeExtract 1523 2
-            1532:   50(fvec4) CompositeExtract 1524 2
-            1533:   50(fvec4) FMod 1531 1532
-            1534:   50(fvec4) CompositeExtract 1523 3
-            1535:   50(fvec4) CompositeExtract 1524 3
-            1536:   50(fvec4) FMod 1534 1535
-            1537:          78 CompositeConstruct 1527 1530 1533 1536
-                              Store 1522(r022) 1537
-            1539:          78 Load 81(inF0)
-            1540:          78 ExtInst 1(GLSL.std.450) 10(Fract) 1539
-                              Store 1538(r023) 1540
-            1542:          78 Load 81(inF0)
-            1543:          78 Fwidth 1542
-                              Store 1541(r025) 1543
-            1545:          78 Load 81(inF0)
-            1546:          78 Load 82(inF1)
-            1547:          78 ExtInst 1(GLSL.std.450) 53(Ldexp) 1545 1546
-                              Store 1544(r026) 1547
+            1480:             Label
+            1483:          78 Load 81(inF0)
+            1484:          78 Load 82(inF1)
+            1485:          78 Load 83(inF2)
+            1486:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1483 1484 1485
+                              Store 1482(r008) 1486
+            1488:          78 Load 81(inF0)
+            1489:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1488
+                              Store 1487(r009) 1489
+            1491:          78 Load 81(inF0)
+            1492:          78 ExtInst 1(GLSL.std.450) 20(Cosh) 1491
+                              Store 1490(r010) 1492
+            1494:          78 Load 81(inF0)
+            1495:          78 DPdx 1494
+                              Store 1493(r011) 1495
+            1497:          78 Load 81(inF0)
+            1498:          78 DPdxCoarse 1497
+                              Store 1496(r012) 1498
+            1500:          78 Load 81(inF0)
+            1501:          78 DPdxFine 1500
+                              Store 1499(r013) 1501
+            1503:          78 Load 81(inF0)
+            1504:          78 DPdy 1503
+                              Store 1502(r014) 1504
+            1506:          78 Load 81(inF0)
+            1507:          78 DPdyCoarse 1506
+                              Store 1505(r015) 1507
+            1509:          78 Load 81(inF0)
+            1510:          78 DPdyFine 1509
+                              Store 1508(r016) 1510
+            1512:          78 Load 81(inF0)
+            1513:          78 ExtInst 1(GLSL.std.450) 12(Degrees) 1512
+                              Store 1511(r017) 1513
+            1515:          78 Load 81(inF0)
+            1516:    6(float) ExtInst 1(GLSL.std.450) 33(Determinant) 1515
+                              Store 1514(r018) 1516
+            1518:          78 Load 81(inF0)
+            1519:          78 ExtInst 1(GLSL.std.450) 27(Exp) 1518
+                              Store 1517(r019) 1519
+            1521:          78 Load 81(inF0)
+            1522:          78 ExtInst 1(GLSL.std.450) 29(Exp2) 1521
+                              Store 1520(R020) 1522
+            1524:          78 Load 81(inF0)
+            1525:          78 ExtInst 1(GLSL.std.450) 8(Floor) 1524
+                              Store 1523(r021) 1525
+            1527:          78 Load 81(inF0)
+            1528:          78 Load 82(inF1)
+            1529:   50(fvec4) CompositeExtract 1527 0
+            1530:   50(fvec4) CompositeExtract 1528 0
+            1531:   50(fvec4) FMod 1529 1530
+            1532:   50(fvec4) CompositeExtract 1527 1
+            1533:   50(fvec4) CompositeExtract 1528 1
+            1534:   50(fvec4) FMod 1532 1533
+            1535:   50(fvec4) CompositeExtract 1527 2
+            1536:   50(fvec4) CompositeExtract 1528 2
+            1537:   50(fvec4) FMod 1535 1536
+            1538:   50(fvec4) CompositeExtract 1527 3
+            1539:   50(fvec4) CompositeExtract 1528 3
+            1540:   50(fvec4) FMod 1538 1539
+            1541:          78 CompositeConstruct 1531 1534 1537 1540
+                              Store 1526(r022) 1541
+            1543:          78 Load 81(inF0)
+            1544:          78 ExtInst 1(GLSL.std.450) 10(Fract) 1543
+                              Store 1542(r023) 1544
+            1546:          78 Load 81(inF0)
+            1547:          78 Fwidth 1546
+                              Store 1545(r025) 1547
             1549:          78 Load 81(inF0)
             1550:          78 Load 82(inF1)
-            1551:          78 Load 83(inF2)
-            1552:          78 ExtInst 1(GLSL.std.450) 46(FMix) 1549 1550 1551
-                              Store 1548(r026a) 1552
-            1554:          78 Load 81(inF0)
-            1555:          78 ExtInst 1(GLSL.std.450) 28(Log) 1554
-                              Store 1553(r027) 1555
-            1557:          78 Load 81(inF0)
-            1558:          78 ExtInst 1(GLSL.std.450) 30(Log2) 1557
-            1559:          78 MatrixTimesScalar 1558 268
-                              Store 1556(r028) 1559
+            1551:          78 ExtInst 1(GLSL.std.450) 53(Ldexp) 1549 1550
+                              Store 1548(r026) 1551
+            1553:          78 Load 81(inF0)
+            1554:          78 Load 82(inF1)
+            1555:          78 Load 83(inF2)
+            1556:          78 ExtInst 1(GLSL.std.450) 46(FMix) 1553 1554 1555
+                              Store 1552(r026a) 1556
+            1558:          78 Load 81(inF0)
+            1559:          78 ExtInst 1(GLSL.std.450) 28(Log) 1558
+                              Store 1557(r027) 1559
             1561:          78 Load 81(inF0)
             1562:          78 ExtInst 1(GLSL.std.450) 30(Log2) 1561
-                              Store 1560(r029) 1562
-            1564:          78 Load 81(inF0)
-            1565:          78 Load 82(inF1)
-            1566:          78 ExtInst 1(GLSL.std.450) 40(FMax) 1564 1565
-                              Store 1563(r030) 1566
+            1563:          78 MatrixTimesScalar 1562 272
+                              Store 1560(r028) 1563
+            1565:          78 Load 81(inF0)
+            1566:          78 ExtInst 1(GLSL.std.450) 30(Log2) 1565
+                              Store 1564(r029) 1566
             1568:          78 Load 81(inF0)
             1569:          78 Load 82(inF1)
-            1570:          78 ExtInst 1(GLSL.std.450) 37(FMin) 1568 1569
-                              Store 1567(r031) 1570
+            1570:          78 ExtInst 1(GLSL.std.450) 40(FMax) 1568 1569
+                              Store 1567(r030) 1570
             1572:          78 Load 81(inF0)
             1573:          78 Load 82(inF1)
-            1574:          78 ExtInst 1(GLSL.std.450) 26(Pow) 1572 1573
-                              Store 1571(r032) 1574
+            1574:          78 ExtInst 1(GLSL.std.450) 37(FMin) 1572 1573
+                              Store 1571(r031) 1574
             1576:          78 Load 81(inF0)
-            1577:          78 ExtInst 1(GLSL.std.450) 11(Radians) 1576
-                              Store 1575(r033) 1577
-            1579:          78 Load 81(inF0)
-            1580:          78 ExtInst 1(GLSL.std.450) 2(RoundEven) 1579
-                              Store 1578(r034) 1580
-            1582:          78 Load 81(inF0)
-            1583:          78 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1582
-                              Store 1581(r035) 1583
-            1585:          78 Load 81(inF0)
-            1586:   50(fvec4) CompositeConstruct 141 141 141 141
-            1587:   50(fvec4) CompositeConstruct 289 289 289 289
-            1588:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1585 1586 1587
-                              Store 1584(r036) 1588
-            1590:          78 Load 81(inF0)
-            1591:          78 ExtInst 1(GLSL.std.450) 6(FSign) 1590
-                              Store 1589(r037) 1591
-            1593:          78 Load 81(inF0)
-            1594:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1593
-                              Store 1592(r038) 1594
-            1595:          78 Load 81(inF0)
-            1596:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1595
-                              Store 82(inF1) 1596
+            1577:          78 Load 82(inF1)
+            1578:          78 ExtInst 1(GLSL.std.450) 26(Pow) 1576 1577
+                              Store 1575(r032) 1578
+            1580:          78 Load 81(inF0)
+            1581:          78 ExtInst 1(GLSL.std.450) 11(Radians) 1580
+                              Store 1579(r033) 1581
+            1583:          78 Load 81(inF0)
+            1584:          78 ExtInst 1(GLSL.std.450) 2(RoundEven) 1583
+                              Store 1582(r034) 1584
+            1586:          78 Load 81(inF0)
+            1587:          78 ExtInst 1(GLSL.std.450) 32(InverseSqrt) 1586
+                              Store 1585(r035) 1587
+            1589:          78 Load 81(inF0)
+            1590:   50(fvec4) CompositeConstruct 141 141 141 141
+            1591:   50(fvec4) CompositeConstruct 293 293 293 293
+            1592:          78 ExtInst 1(GLSL.std.450) 43(FClamp) 1589 1590 1591
+                              Store 1588(r036) 1592
+            1594:          78 Load 81(inF0)
+            1595:          78 ExtInst 1(GLSL.std.450) 6(FSign) 1594
+                              Store 1593(r037) 1595
             1597:          78 Load 81(inF0)
-            1598:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1597
-                              Store 83(inF2) 1598
-            1600:          78 Load 81(inF0)
-            1601:          78 ExtInst 1(GLSL.std.450) 19(Sinh) 1600
-                              Store 1599(r039) 1601
-            1603:          78 Load 81(inF0)
-            1604:          78 Load 82(inF1)
-            1605:          78 Load 83(inF2)
-            1606:          78 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1603 1604 1605
-                              Store 1602(r049) 1606
-            1608:          78 Load 81(inF0)
-            1609:          78 ExtInst 1(GLSL.std.450) 31(Sqrt) 1608
-                              Store 1607(r041) 1609
-            1611:          78 Load 81(inF0)
-            1612:          78 Load 82(inF1)
-            1613:          78 ExtInst 1(GLSL.std.450) 48(Step) 1611 1612
-                              Store 1610(r042) 1613
+            1598:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1597
+                              Store 1596(r038) 1598
+            1599:          78 Load 81(inF0)
+            1600:          78 ExtInst 1(GLSL.std.450) 13(Sin) 1599
+                              Store 82(inF1) 1600
+            1601:          78 Load 81(inF0)
+            1602:          78 ExtInst 1(GLSL.std.450) 14(Cos) 1601
+                              Store 83(inF2) 1602
+            1604:          78 Load 81(inF0)
+            1605:          78 ExtInst 1(GLSL.std.450) 19(Sinh) 1604
+                              Store 1603(r039) 1605
+            1607:          78 Load 81(inF0)
+            1608:          78 Load 82(inF1)
+            1609:          78 Load 83(inF2)
+            1610:          78 ExtInst 1(GLSL.std.450) 49(SmoothStep) 1607 1608 1609
+                              Store 1606(r049) 1610
+            1612:          78 Load 81(inF0)
+            1613:          78 ExtInst 1(GLSL.std.450) 31(Sqrt) 1612
+                              Store 1611(r041) 1613
             1615:          78 Load 81(inF0)
-            1616:          78 ExtInst 1(GLSL.std.450) 15(Tan) 1615
-                              Store 1614(r043) 1616
-            1618:          78 Load 81(inF0)
-            1619:          78 ExtInst 1(GLSL.std.450) 21(Tanh) 1618
-                              Store 1617(r044) 1619
-            1620:          78 Load 81(inF0)
-            1621:          78 Transpose 1620
-            1623:          78 Load 81(inF0)
-            1624:          78 ExtInst 1(GLSL.std.450) 3(Trunc) 1623
-                              Store 1622(r046) 1624
-                              ReturnValue 1626
+            1616:          78 Load 82(inF1)
+            1617:          78 ExtInst 1(GLSL.std.450) 48(Step) 1615 1616
+                              Store 1614(r042) 1617
+            1619:          78 Load 81(inF0)
+            1620:          78 ExtInst 1(GLSL.std.450) 15(Tan) 1619
+                              Store 1618(r043) 1620
+            1622:          78 Load 81(inF0)
+            1623:          78 ExtInst 1(GLSL.std.450) 21(Tanh) 1622
+                              Store 1621(r044) 1623
+            1624:          78 Load 81(inF0)
+            1625:          78 Transpose 1624
+            1627:          78 Load 81(inF0)
+            1628:          78 ExtInst 1(GLSL.std.450) 3(Trunc) 1627
+                              Store 1626(r046) 1628
+                              ReturnValue 1630
                               FunctionEnd
 93(TestGenMul2(f1;f1;vf2;vf2;mf22;mf22;):           2 Function None 86
         87(inF0):      7(ptr) FunctionParameter
@@ -8193,51 +8215,51 @@
        91(inFM0):     63(ptr) FunctionParameter
        92(inFM1):     63(ptr) FunctionParameter
               94:             Label
-        1629(r0):      7(ptr) Variable Function
-        1633(r1):     27(ptr) Variable Function
-        1637(r2):     27(ptr) Variable Function
-        1641(r3):      7(ptr) Variable Function
-        1645(r4):     27(ptr) Variable Function
-        1649(r5):     27(ptr) Variable Function
-        1653(r6):     63(ptr) Variable Function
-        1657(r7):     63(ptr) Variable Function
-        1661(r8):     63(ptr) Variable Function
-            1630:    6(float) Load 88(inF1)
-            1631:    6(float) Load 87(inF0)
-            1632:    6(float) FMul 1630 1631
-                              Store 1629(r0) 1632
-            1634:    6(float) Load 87(inF0)
-            1635:   26(fvec2) Load 89(inFV0)
-            1636:   26(fvec2) VectorTimesScalar 1635 1634
-                              Store 1633(r1) 1636
-            1638:   26(fvec2) Load 89(inFV0)
-            1639:    6(float) Load 87(inF0)
-            1640:   26(fvec2) VectorTimesScalar 1638 1639
-                              Store 1637(r2) 1640
+        1633(r0):      7(ptr) Variable Function
+        1637(r1):     27(ptr) Variable Function
+        1641(r2):     27(ptr) Variable Function
+        1645(r3):      7(ptr) Variable Function
+        1649(r4):     27(ptr) Variable Function
+        1653(r5):     27(ptr) Variable Function
+        1657(r6):     63(ptr) Variable Function
+        1661(r7):     63(ptr) Variable Function
+        1665(r8):     63(ptr) Variable Function
+            1634:    6(float) Load 88(inF1)
+            1635:    6(float) Load 87(inF0)
+            1636:    6(float) FMul 1634 1635
+                              Store 1633(r0) 1636
+            1638:    6(float) Load 87(inF0)
+            1639:   26(fvec2) Load 89(inFV0)
+            1640:   26(fvec2) VectorTimesScalar 1639 1638
+                              Store 1637(r1) 1640
             1642:   26(fvec2) Load 89(inFV0)
-            1643:   26(fvec2) Load 90(inFV1)
-            1644:    6(float) Dot 1642 1643
-                              Store 1641(r3) 1644
+            1643:    6(float) Load 87(inF0)
+            1644:   26(fvec2) VectorTimesScalar 1642 1643
+                              Store 1641(r2) 1644
             1646:   26(fvec2) Load 89(inFV0)
-            1647:          62 Load 91(inFM0)
-            1648:   26(fvec2) VectorTimesMatrix 1646 1647
-                              Store 1645(r4) 1648
-            1650:          62 Load 91(inFM0)
-            1651:   26(fvec2) Load 89(inFV0)
-            1652:   26(fvec2) MatrixTimesVector 1650 1651
-                              Store 1649(r5) 1652
-            1654:    6(float) Load 87(inF0)
-            1655:          62 Load 91(inFM0)
-            1656:          62 MatrixTimesScalar 1655 1654
-                              Store 1653(r6) 1656
-            1658:          62 Load 91(inFM0)
-            1659:    6(float) Load 87(inF0)
-            1660:          62 MatrixTimesScalar 1658 1659
-                              Store 1657(r7) 1660
-            1662:          62 Load 92(inFM1)
-            1663:          62 Load 91(inFM0)
-            1664:          62 MatrixTimesMatrix 1662 1663
-                              Store 1661(r8) 1664
+            1647:   26(fvec2) Load 90(inFV1)
+            1648:    6(float) Dot 1646 1647
+                              Store 1645(r3) 1648
+            1650:   26(fvec2) Load 89(inFV0)
+            1651:          62 Load 91(inFM0)
+            1652:   26(fvec2) VectorTimesMatrix 1650 1651
+                              Store 1649(r4) 1652
+            1654:          62 Load 91(inFM0)
+            1655:   26(fvec2) Load 89(inFV0)
+            1656:   26(fvec2) MatrixTimesVector 1654 1655
+                              Store 1653(r5) 1656
+            1658:    6(float) Load 87(inF0)
+            1659:          62 Load 91(inFM0)
+            1660:          62 MatrixTimesScalar 1659 1658
+                              Store 1657(r6) 1660
+            1662:          62 Load 91(inFM0)
+            1663:    6(float) Load 87(inF0)
+            1664:          62 MatrixTimesScalar 1662 1663
+                              Store 1661(r7) 1664
+            1666:          62 Load 92(inFM1)
+            1667:          62 Load 91(inFM0)
+            1668:          62 MatrixTimesMatrix 1666 1667
+                              Store 1665(r8) 1668
                               Return
                               FunctionEnd
 102(TestGenMul3(f1;f1;vf3;vf3;mf33;mf33;):           2 Function None 95
@@ -8248,51 +8270,51 @@
       100(inFM0):     71(ptr) FunctionParameter
       101(inFM1):     71(ptr) FunctionParameter
              103:             Label
-        1665(r0):      7(ptr) Variable Function
-        1669(r1):     39(ptr) Variable Function
-        1673(r2):     39(ptr) Variable Function
-        1677(r3):      7(ptr) Variable Function
-        1681(r4):     39(ptr) Variable Function
-        1685(r5):     39(ptr) Variable Function
-        1689(r6):     71(ptr) Variable Function
-        1693(r7):     71(ptr) Variable Function
-        1697(r8):     71(ptr) Variable Function
-            1666:    6(float) Load 97(inF1)
-            1667:    6(float) Load 96(inF0)
-            1668:    6(float) FMul 1666 1667
-                              Store 1665(r0) 1668
-            1670:    6(float) Load 96(inF0)
-            1671:   38(fvec3) Load 98(inFV0)
-            1672:   38(fvec3) VectorTimesScalar 1671 1670
-                              Store 1669(r1) 1672
-            1674:   38(fvec3) Load 98(inFV0)
-            1675:    6(float) Load 96(inF0)
-            1676:   38(fvec3) VectorTimesScalar 1674 1675
-                              Store 1673(r2) 1676
+        1669(r0):      7(ptr) Variable Function
+        1673(r1):     39(ptr) Variable Function
+        1677(r2):     39(ptr) Variable Function
+        1681(r3):      7(ptr) Variable Function
+        1685(r4):     39(ptr) Variable Function
+        1689(r5):     39(ptr) Variable Function
+        1693(r6):     71(ptr) Variable Function
+        1697(r7):     71(ptr) Variable Function
+        1701(r8):     71(ptr) Variable Function
+            1670:    6(float) Load 97(inF1)
+            1671:    6(float) Load 96(inF0)
+            1672:    6(float) FMul 1670 1671
+                              Store 1669(r0) 1672
+            1674:    6(float) Load 96(inF0)
+            1675:   38(fvec3) Load 98(inFV0)
+            1676:   38(fvec3) VectorTimesScalar 1675 1674
+                              Store 1673(r1) 1676
             1678:   38(fvec3) Load 98(inFV0)
-            1679:   38(fvec3) Load 99(inFV1)
-            1680:    6(float) Dot 1678 1679
-                              Store 1677(r3) 1680
+            1679:    6(float) Load 96(inF0)
+            1680:   38(fvec3) VectorTimesScalar 1678 1679
+                              Store 1677(r2) 1680
             1682:   38(fvec3) Load 98(inFV0)
-            1683:          70 Load 100(inFM0)
-            1684:   38(fvec3) VectorTimesMatrix 1682 1683
-                              Store 1681(r4) 1684
-            1686:          70 Load 100(inFM0)
-            1687:   38(fvec3) Load 98(inFV0)
-            1688:   38(fvec3) MatrixTimesVector 1686 1687
-                              Store 1685(r5) 1688
-            1690:    6(float) Load 96(inF0)
-            1691:          70 Load 100(inFM0)
-            1692:          70 MatrixTimesScalar 1691 1690
-                              Store 1689(r6) 1692
-            1694:          70 Load 100(inFM0)
-            1695:    6(float) Load 96(inF0)
-            1696:          70 MatrixTimesScalar 1694 1695
-                              Store 1693(r7) 1696
-            1698:          70 Load 101(inFM1)
-            1699:          70 Load 100(inFM0)
-            1700:          70 MatrixTimesMatrix 1698 1699
-                              Store 1697(r8) 1700
+            1683:   38(fvec3) Load 99(inFV1)
+            1684:    6(float) Dot 1682 1683
+                              Store 1681(r3) 1684
+            1686:   38(fvec3) Load 98(inFV0)
+            1687:          70 Load 100(inFM0)
+            1688:   38(fvec3) VectorTimesMatrix 1686 1687
+                              Store 1685(r4) 1688
+            1690:          70 Load 100(inFM0)
+            1691:   38(fvec3) Load 98(inFV0)
+            1692:   38(fvec3) MatrixTimesVector 1690 1691
+                              Store 1689(r5) 1692
+            1694:    6(float) Load 96(inF0)
+            1695:          70 Load 100(inFM0)
+            1696:          70 MatrixTimesScalar 1695 1694
+                              Store 1693(r6) 1696
+            1698:          70 Load 100(inFM0)
+            1699:    6(float) Load 96(inF0)
+            1700:          70 MatrixTimesScalar 1698 1699
+                              Store 1697(r7) 1700
+            1702:          70 Load 101(inFM1)
+            1703:          70 Load 100(inFM0)
+            1704:          70 MatrixTimesMatrix 1702 1703
+                              Store 1701(r8) 1704
                               Return
                               FunctionEnd
 111(TestGenMul4(f1;f1;vf4;vf4;mf44;mf44;):           2 Function None 104
@@ -8303,51 +8325,51 @@
       109(inFM0):     79(ptr) FunctionParameter
       110(inFM1):     79(ptr) FunctionParameter
              112:             Label
-        1701(r0):      7(ptr) Variable Function
-        1705(r1):     51(ptr) Variable Function
-        1709(r2):     51(ptr) Variable Function
-        1713(r3):      7(ptr) Variable Function
-        1717(r4):     51(ptr) Variable Function
-        1721(r5):     51(ptr) Variable Function
-        1725(r6):     79(ptr) Variable Function
-        1729(r7):     79(ptr) Variable Function
-        1733(r8):     79(ptr) Variable Function
-            1702:    6(float) Load 106(inF1)
-            1703:    6(float) Load 105(inF0)
-            1704:    6(float) FMul 1702 1703
-                              Store 1701(r0) 1704
-            1706:    6(float) Load 105(inF0)
-            1707:   50(fvec4) Load 107(inFV0)
-            1708:   50(fvec4) VectorTimesScalar 1707 1706
-                              Store 1705(r1) 1708
-            1710:   50(fvec4) Load 107(inFV0)
-            1711:    6(float) Load 105(inF0)
-            1712:   50(fvec4) VectorTimesScalar 1710 1711
-                              Store 1709(r2) 1712
+        1705(r0):      7(ptr) Variable Function
+        1709(r1):     51(ptr) Variable Function
+        1713(r2):     51(ptr) Variable Function
+        1717(r3):      7(ptr) Variable Function
+        1721(r4):     51(ptr) Variable Function
+        1725(r5):     51(ptr) Variable Function
+        1729(r6):     79(ptr) Variable Function
+        1733(r7):     79(ptr) Variable Function
+        1737(r8):     79(ptr) Variable Function
+            1706:    6(float) Load 106(inF1)
+            1707:    6(float) Load 105(inF0)
+            1708:    6(float) FMul 1706 1707
+                              Store 1705(r0) 1708
+            1710:    6(float) Load 105(inF0)
+            1711:   50(fvec4) Load 107(inFV0)
+            1712:   50(fvec4) VectorTimesScalar 1711 1710
+                              Store 1709(r1) 1712
             1714:   50(fvec4) Load 107(inFV0)
-            1715:   50(fvec4) Load 108(inFV1)
-            1716:    6(float) Dot 1714 1715
-                              Store 1713(r3) 1716
+            1715:    6(float) Load 105(inF0)
+            1716:   50(fvec4) VectorTimesScalar 1714 1715
+                              Store 1713(r2) 1716
             1718:   50(fvec4) Load 107(inFV0)
-            1719:          78 Load 109(inFM0)
-            1720:   50(fvec4) VectorTimesMatrix 1718 1719
-                              Store 1717(r4) 1720
-            1722:          78 Load 109(inFM0)
-            1723:   50(fvec4) Load 107(inFV0)
-            1724:   50(fvec4) MatrixTimesVector 1722 1723
-                              Store 1721(r5) 1724
-            1726:    6(float) Load 105(inF0)
-            1727:          78 Load 109(inFM0)
-            1728:          78 MatrixTimesScalar 1727 1726
-                              Store 1725(r6) 1728
-            1730:          78 Load 109(inFM0)
-            1731:    6(float) Load 105(inF0)
-            1732:          78 MatrixTimesScalar 1730 1731
-                              Store 1729(r7) 1732
-            1734:          78 Load 110(inFM1)
-            1735:          78 Load 109(inFM0)
-            1736:          78 MatrixTimesMatrix 1734 1735
-                              Store 1733(r8) 1736
+            1719:   50(fvec4) Load 108(inFV1)
+            1720:    6(float) Dot 1718 1719
+                              Store 1717(r3) 1720
+            1722:   50(fvec4) Load 107(inFV0)
+            1723:          78 Load 109(inFM0)
+            1724:   50(fvec4) VectorTimesMatrix 1722 1723
+                              Store 1721(r4) 1724
+            1726:          78 Load 109(inFM0)
+            1727:   50(fvec4) Load 107(inFV0)
+            1728:   50(fvec4) MatrixTimesVector 1726 1727
+                              Store 1725(r5) 1728
+            1730:    6(float) Load 105(inF0)
+            1731:          78 Load 109(inFM0)
+            1732:          78 MatrixTimesScalar 1731 1730
+                              Store 1729(r6) 1732
+            1734:          78 Load 109(inFM0)
+            1735:    6(float) Load 105(inF0)
+            1736:          78 MatrixTimesScalar 1734 1735
+                              Store 1733(r7) 1736
+            1738:          78 Load 110(inFM1)
+            1739:          78 Load 109(inFM0)
+            1740:          78 MatrixTimesMatrix 1738 1739
+                              Store 1737(r8) 1740
                               Return
                               FunctionEnd
 131(TestGenMulNxM(f1;f1;vf2;vf3;mf23;mf32;mf33;mf34;mf24;):           2 Function None 121
@@ -8361,98 +8383,98 @@
     129(inFM3x4):    118(ptr) FunctionParameter
     130(inFM2x4):    120(ptr) FunctionParameter
              132:             Label
-       1737(r00):      7(ptr) Variable Function
-       1741(r01):     27(ptr) Variable Function
-       1745(r02):     39(ptr) Variable Function
-       1749(r03):     27(ptr) Variable Function
-       1753(r04):     39(ptr) Variable Function
-       1757(r05):      7(ptr) Variable Function
-       1761(r06):      7(ptr) Variable Function
-       1765(r07):     39(ptr) Variable Function
-       1769(r08):     27(ptr) Variable Function
-       1773(r09):     27(ptr) Variable Function
-       1777(r10):     39(ptr) Variable Function
-       1781(r11):    114(ptr) Variable Function
-       1785(r12):    116(ptr) Variable Function
-       1789(r13):     63(ptr) Variable Function
-       1793(r14):    114(ptr) Variable Function
-       1797(r15):    120(ptr) Variable Function
-       1801(r16):    118(ptr) Variable Function
-            1738:    6(float) Load 123(inF1)
-            1739:    6(float) Load 122(inF0)
-            1740:    6(float) FMul 1738 1739
-                              Store 1737(r00) 1740
-            1742:    6(float) Load 122(inF0)
-            1743:   26(fvec2) Load 124(inFV2)
-            1744:   26(fvec2) VectorTimesScalar 1743 1742
-                              Store 1741(r01) 1744
+       1741(r00):      7(ptr) Variable Function
+       1745(r01):     27(ptr) Variable Function
+       1749(r02):     39(ptr) Variable Function
+       1753(r03):     27(ptr) Variable Function
+       1757(r04):     39(ptr) Variable Function
+       1761(r05):      7(ptr) Variable Function
+       1765(r06):      7(ptr) Variable Function
+       1769(r07):     39(ptr) Variable Function
+       1773(r08):     27(ptr) Variable Function
+       1777(r09):     27(ptr) Variable Function
+       1781(r10):     39(ptr) Variable Function
+       1785(r11):    114(ptr) Variable Function
+       1789(r12):    116(ptr) Variable Function
+       1793(r13):     63(ptr) Variable Function
+       1797(r14):    114(ptr) Variable Function
+       1801(r15):    120(ptr) Variable Function
+       1805(r16):    118(ptr) Variable Function
+            1742:    6(float) Load 123(inF1)
+            1743:    6(float) Load 122(inF0)
+            1744:    6(float) FMul 1742 1743
+                              Store 1741(r00) 1744
             1746:    6(float) Load 122(inF0)
-            1747:   38(fvec3) Load 125(inFV3)
-            1748:   38(fvec3) VectorTimesScalar 1747 1746
-                              Store 1745(r02) 1748
-            1750:   26(fvec2) Load 124(inFV2)
-            1751:    6(float) Load 122(inF0)
-            1752:   26(fvec2) VectorTimesScalar 1750 1751
-                              Store 1749(r03) 1752
-            1754:   38(fvec3) Load 125(inFV3)
+            1747:   26(fvec2) Load 124(inFV2)
+            1748:   26(fvec2) VectorTimesScalar 1747 1746
+                              Store 1745(r01) 1748
+            1750:    6(float) Load 122(inF0)
+            1751:   38(fvec3) Load 125(inFV3)
+            1752:   38(fvec3) VectorTimesScalar 1751 1750
+                              Store 1749(r02) 1752
+            1754:   26(fvec2) Load 124(inFV2)
             1755:    6(float) Load 122(inF0)
-            1756:   38(fvec3) VectorTimesScalar 1754 1755
-                              Store 1753(r04) 1756
-            1758:   26(fvec2) Load 124(inFV2)
-            1759:   26(fvec2) Load 124(inFV2)
-            1760:    6(float) Dot 1758 1759
-                              Store 1757(r05) 1760
-            1762:   38(fvec3) Load 125(inFV3)
-            1763:   38(fvec3) Load 125(inFV3)
+            1756:   26(fvec2) VectorTimesScalar 1754 1755
+                              Store 1753(r03) 1756
+            1758:   38(fvec3) Load 125(inFV3)
+            1759:    6(float) Load 122(inF0)
+            1760:   38(fvec3) VectorTimesScalar 1758 1759
+                              Store 1757(r04) 1760
+            1762:   26(fvec2) Load 124(inFV2)
+            1763:   26(fvec2) Load 124(inFV2)
             1764:    6(float) Dot 1762 1763
-                              Store 1761(r06) 1764
-            1766:         113 Load 126(inFM2x3)
-            1767:   26(fvec2) Load 124(inFV2)
-            1768:   38(fvec3) MatrixTimesVector 1766 1767
-                              Store 1765(r07) 1768
-            1770:         115 Load 127(inFM3x2)
-            1771:   38(fvec3) Load 125(inFV3)
-            1772:   26(fvec2) MatrixTimesVector 1770 1771
-                              Store 1769(r08) 1772
-            1774:   38(fvec3) Load 125(inFV3)
-            1775:         113 Load 126(inFM2x3)
-            1776:   26(fvec2) VectorTimesMatrix 1774 1775
-                              Store 1773(r09) 1776
-            1778:   26(fvec2) Load 124(inFV2)
-            1779:         115 Load 127(inFM3x2)
-            1780:   38(fvec3) VectorTimesMatrix 1778 1779
-                              Store 1777(r10) 1780
-            1782:    6(float) Load 122(inF0)
-            1783:         113 Load 126(inFM2x3)
-            1784:         113 MatrixTimesScalar 1783 1782
-                              Store 1781(r11) 1784
+                              Store 1761(r05) 1764
+            1766:   38(fvec3) Load 125(inFV3)
+            1767:   38(fvec3) Load 125(inFV3)
+            1768:    6(float) Dot 1766 1767
+                              Store 1765(r06) 1768
+            1770:         113 Load 126(inFM2x3)
+            1771:   26(fvec2) Load 124(inFV2)
+            1772:   38(fvec3) MatrixTimesVector 1770 1771
+                              Store 1769(r07) 1772
+            1774:         115 Load 127(inFM3x2)
+            1775:   38(fvec3) Load 125(inFV3)
+            1776:   26(fvec2) MatrixTimesVector 1774 1775
+                              Store 1773(r08) 1776
+            1778:   38(fvec3) Load 125(inFV3)
+            1779:         113 Load 126(inFM2x3)
+            1780:   26(fvec2) VectorTimesMatrix 1778 1779
+                              Store 1777(r09) 1780
+            1782:   26(fvec2) Load 124(inFV2)
+            1783:         115 Load 127(inFM3x2)
+            1784:   38(fvec3) VectorTimesMatrix 1782 1783
+                              Store 1781(r10) 1784
             1786:    6(float) Load 122(inF0)
-            1787:         115 Load 127(inFM3x2)
-            1788:         115 MatrixTimesScalar 1787 1786
-                              Store 1785(r12) 1788
-            1790:         115 Load 127(inFM3x2)
-            1791:         113 Load 126(inFM2x3)
-            1792:          62 MatrixTimesMatrix 1790 1791
-                              Store 1789(r13) 1792
-            1794:          70 Load 128(inFM3x3)
+            1787:         113 Load 126(inFM2x3)
+            1788:         113 MatrixTimesScalar 1787 1786
+                              Store 1785(r11) 1788
+            1790:    6(float) Load 122(inF0)
+            1791:         115 Load 127(inFM3x2)
+            1792:         115 MatrixTimesScalar 1791 1790
+                              Store 1789(r12) 1792
+            1794:         115 Load 127(inFM3x2)
             1795:         113 Load 126(inFM2x3)
-            1796:         113 MatrixTimesMatrix 1794 1795
-                              Store 1793(r14) 1796
-            1798:         117 Load 129(inFM3x4)
+            1796:          62 MatrixTimesMatrix 1794 1795
+                              Store 1793(r13) 1796
+            1798:          70 Load 128(inFM3x3)
             1799:         113 Load 126(inFM2x3)
-            1800:         119 MatrixTimesMatrix 1798 1799
-                              Store 1797(r15) 1800
-            1802:         119 Load 130(inFM2x4)
-            1803:         115 Load 127(inFM3x2)
-            1804:         117 MatrixTimesMatrix 1802 1803
-                              Store 1801(r16) 1804
+            1800:         113 MatrixTimesMatrix 1798 1799
+                              Store 1797(r14) 1800
+            1802:         117 Load 129(inFM3x4)
+            1803:         113 Load 126(inFM2x3)
+            1804:         119 MatrixTimesMatrix 1802 1803
+                              Store 1801(r15) 1804
+            1806:         119 Load 130(inFM2x4)
+            1807:         115 Load 127(inFM3x2)
+            1808:         117 MatrixTimesMatrix 1806 1807
+                              Store 1805(r16) 1808
                               Return
                               FunctionEnd
      135(@main():133(PS_OUTPUT) Function None 134
              136:             Label
- 1806(ps_output):   1805(ptr) Variable Function
-            1808:     51(ptr) AccessChain 1806(ps_output) 187
-                              Store 1808 1807
-            1809:133(PS_OUTPUT) Load 1806(ps_output)
-                              ReturnValue 1809
+ 1810(ps_output):   1809(ptr) Variable Function
+            1812:     51(ptr) AccessChain 1810(ps_output) 187
+                              Store 1812 1811
+            1813:133(PS_OUTPUT) Load 1810(ps_output)
+                              ReturnValue 1813
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.intrinsics.vert.out b/Test/baseResults/hlsl.intrinsics.vert.out
index 8e7e3ec..195e11d 100644
--- a/Test/baseResults/hlsl.intrinsics.vert.out
+++ b/Test/baseResults/hlsl.intrinsics.vert.out
@@ -2778,6 +2778,10 @@
 0:413            'inFM3x2' ( in 3X2 matrix of float)
 0:?   Linker Objects
 
+error: SPIRV-Tools Validation Errors
+error: Matrix types can only be parameterized with floating-point types.
+  %mat2v2bool = OpTypeMatrix %v2bool 2
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 1225
diff --git a/Test/baseResults/hlsl.layout.frag.out b/Test/baseResults/hlsl.layout.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.layoutOverride.vert.out b/Test/baseResults/hlsl.layoutOverride.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.logicalConvert.frag.out b/Test/baseResults/hlsl.logicalConvert.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.matNx1.frag.out b/Test/baseResults/hlsl.matNx1.frag.out
index 109362e..276d4c2 100644
--- a/Test/baseResults/hlsl.matNx1.frag.out
+++ b/Test/baseResults/hlsl.matNx1.frag.out
@@ -151,6 +151,10 @@
 0:?   Linker Objects
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Illegal number of components (1) for TypeVector
+  %v1float = OpTypeVector %float 1
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 77
diff --git a/Test/baseResults/hlsl.matType.bool.frag.out b/Test/baseResults/hlsl.matType.bool.frag.out
index 82575b0..900c60f 100644
--- a/Test/baseResults/hlsl.matType.bool.frag.out
+++ b/Test/baseResults/hlsl.matType.bool.frag.out
@@ -231,6 +231,10 @@
 0:?   Linker Objects
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Illegal number of components (1) for TypeVector
+  %v1bool = OpTypeVector %bool 1
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 130
diff --git a/Test/baseResults/hlsl.matType.frag.out b/Test/baseResults/hlsl.matType.frag.out
old mode 100755
new mode 100644
index 958b37e..c0d2e4b
--- a/Test/baseResults/hlsl.matType.frag.out
+++ b/Test/baseResults/hlsl.matType.frag.out
@@ -30,6 +30,10 @@
 0:?   Linker Objects
 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})
 
+error: SPIRV-Tools Validation Errors
+error: Illegal number of components (1) for TypeVector
+  %v1float = OpTypeVector %float 1
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 30
diff --git a/Test/baseResults/hlsl.matType.int.frag.out b/Test/baseResults/hlsl.matType.int.frag.out
index b8d29ac..2039dfd 100644
--- a/Test/baseResults/hlsl.matType.int.frag.out
+++ b/Test/baseResults/hlsl.matType.int.frag.out
@@ -397,6 +397,10 @@
 0:?   Linker Objects
 0:?     '@entryPointOutput.color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Illegal number of components (1) for TypeVector
+  %v1int = OpTypeVector %int 1
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 232
diff --git a/Test/baseResults/hlsl.matrixSwizzle.vert.out b/Test/baseResults/hlsl.matrixSwizzle.vert.out
old mode 100755
new mode 100644
index 9bf7e56..abb3e49
--- a/Test/baseResults/hlsl.matrixSwizzle.vert.out
+++ b/Test/baseResults/hlsl.matrixSwizzle.vert.out
@@ -676,6 +676,10 @@
 0:?     'inf' (layout( location=0) in float)
 
 Missing functionality: matrix swizzle
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '42[f3]'s type does not match Object <id> '34's type.
+  OpStore %f3 %int_0
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 118
diff --git a/Test/baseResults/hlsl.max.frag.out b/Test/baseResults/hlsl.max.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.memberFunCall.frag.out b/Test/baseResults/hlsl.memberFunCall.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.mul-truncate.frag.out b/Test/baseResults/hlsl.mul-truncate.frag.out
index 80fe1cb..1973fad 100644
--- a/Test/baseResults/hlsl.mul-truncate.frag.out
+++ b/Test/baseResults/hlsl.mul-truncate.frag.out
@@ -384,12 +384,12 @@
 
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 231
+// Id's are bound by 190
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
-                              EntryPoint Fragment 4  "main" 229
+                              EntryPoint Fragment 4  "main" 188
                               ExecutionMode 4 OriginUpperLeft
                               Source HLSL 500
                               Name 4  "main"
@@ -408,14 +408,14 @@
                               Name 23  ""
                               Name 37  "r01"
                               Name 49  "r10"
-                              Name 75  "r11"
-                              Name 87  "r20"
-                              Name 110  "r21"
-                              Name 124  "r30"
-                              Name 144  "r31"
-                              Name 162  "r32"
-                              Name 181  "r33"
-                              Name 229  "@entryPointOutput"
+                              Name 61  "r11"
+                              Name 73  "r20"
+                              Name 88  "r21"
+                              Name 102  "r30"
+                              Name 118  "r31"
+                              Name 133  "r32"
+                              Name 146  "r33"
+                              Name 188  "@entryPointOutput"
                               MemberDecorate 21(Matrix) 0 RowMajor
                               MemberDecorate 21(Matrix) 0 Offset 0
                               MemberDecorate 21(Matrix) 0 MatrixStride 16
@@ -439,7 +439,7 @@
                               MemberDecorate 21(Matrix) 8 Offset 352
                               Decorate 21(Matrix) Block
                               Decorate 23 DescriptorSet 0
-                              Decorate 229(@entryPointOutput) Location 0
+                              Decorate 188(@entryPointOutput) Location 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -467,32 +467,30 @@
               48:             TypePointer Function 7(fvec4)
               50:     24(int) Constant 0
               51:             TypePointer Uniform 13
-              54:    6(float) Constant 1065353216
-              55:    6(float) Constant 0
-              76:     24(int) Constant 2
-              77:             TypePointer Uniform 16
-             117:     24(int) Constant 1
-             118:             TypePointer Uniform 15
-             122:             TypeMatrix 14(fvec3) 2
-             123:             TypePointer Function 122
-             125:     24(int) Constant 3
-             126:             TypePointer Uniform 17
-             129:     24(int) Constant 4
-             130:             TypePointer Uniform 18
-             143:             TypePointer Function 16
-             149:             TypeMatrix 19(fvec2) 3
-             161:             TypePointer Function 149
-             163:     24(int) Constant 5
-             164:             TypePointer Uniform 20
-             180:             TypePointer Function 15
-             209:             TypeInt 32 0
-             210:    209(int) Constant 0
-             228:             TypePointer Output 7(fvec4)
-229(@entryPointOutput):    228(ptr) Variable Output
+              62:     24(int) Constant 2
+              63:             TypePointer Uniform 16
+              95:     24(int) Constant 1
+              96:             TypePointer Uniform 15
+             100:             TypeMatrix 14(fvec3) 2
+             101:             TypePointer Function 100
+             103:     24(int) Constant 3
+             104:             TypePointer Uniform 17
+             107:     24(int) Constant 4
+             108:             TypePointer Uniform 18
+             117:             TypePointer Function 16
+             123:             TypeMatrix 19(fvec2) 3
+             132:             TypePointer Function 123
+             134:     24(int) Constant 5
+             135:             TypePointer Uniform 20
+             145:             TypePointer Function 15
+             168:             TypeInt 32 0
+             169:    168(int) Constant 0
+             187:             TypePointer Output 7(fvec4)
+188(@entryPointOutput):    187(ptr) Variable Output
          4(main):           2 Function None 3
                5:             Label
-             230:    7(fvec4) FunctionCall 9(@main()
-                              Store 229(@entryPointOutput) 230
+             189:    7(fvec4) FunctionCall 9(@main()
+                              Store 188(@entryPointOutput) 189
                               Return
                               FunctionEnd
        9(@main():    7(fvec4) Function None 8
@@ -500,13 +498,13 @@
          12(r00):     11(ptr) Variable Function
          37(r01):     11(ptr) Variable Function
          49(r10):     48(ptr) Variable Function
-         75(r11):     48(ptr) Variable Function
-         87(r20):     48(ptr) Variable Function
-        110(r21):     48(ptr) Variable Function
-        124(r30):    123(ptr) Variable Function
-        144(r31):    143(ptr) Variable Function
-        162(r32):    161(ptr) Variable Function
-        181(r33):    180(ptr) Variable Function
+         61(r11):     48(ptr) Variable Function
+         73(r20):     48(ptr) Variable Function
+         88(r21):     48(ptr) Variable Function
+        102(r30):    101(ptr) Variable Function
+        118(r31):    117(ptr) Variable Function
+        133(r32):    132(ptr) Variable Function
+        146(r33):    145(ptr) Variable Function
               27:     26(ptr) AccessChain 23 25
               28:   19(fvec2) Load 27
               31:     30(ptr) AccessChain 23 29
@@ -527,158 +525,119 @@
                               Store 37(r01) 47
               52:     51(ptr) AccessChain 23 50
               53:          13 Load 52
-              56:    6(float) CompositeExtract 53 0 0
-              57:    6(float) CompositeExtract 53 0 1
-              58:    6(float) CompositeExtract 53 0 2
-              59:    6(float) CompositeExtract 53 0 3
-              60:    6(float) CompositeExtract 53 1 0
-              61:    6(float) CompositeExtract 53 1 1
-              62:    6(float) CompositeExtract 53 1 2
-              63:    6(float) CompositeExtract 53 1 3
-              64:    6(float) CompositeExtract 53 2 0
-              65:    6(float) CompositeExtract 53 2 1
-              66:    6(float) CompositeExtract 53 2 2
-              67:    6(float) CompositeExtract 53 2 3
-              68:    7(fvec4) CompositeConstruct 56 57 58 59
-              69:    7(fvec4) CompositeConstruct 60 61 62 63
-              70:    7(fvec4) CompositeConstruct 64 65 66 67
-              71:          16 CompositeConstruct 68 69 70
-              72:     30(ptr) AccessChain 23 29
-              73:   14(fvec3) Load 72
-              74:    7(fvec4) MatrixTimesVector 71 73
-                              Store 49(r10) 74
-              78:     77(ptr) AccessChain 23 76
-              79:          16 Load 78
-              80:     39(ptr) AccessChain 23 38
-              81:    7(fvec4) Load 80
-              82:    6(float) CompositeExtract 81 0
-              83:    6(float) CompositeExtract 81 1
-              84:    6(float) CompositeExtract 81 2
-              85:   14(fvec3) CompositeConstruct 82 83 84
-              86:    7(fvec4) MatrixTimesVector 79 85
-                              Store 75(r11) 86
-              88:     30(ptr) AccessChain 23 29
-              89:   14(fvec3) Load 88
-              90:     51(ptr) AccessChain 23 50
-              91:          13 Load 90
-              92:    6(float) CompositeExtract 91 0 0
-              93:    6(float) CompositeExtract 91 0 1
-              94:    6(float) CompositeExtract 91 0 2
-              95:    6(float) CompositeExtract 91 1 0
-              96:    6(float) CompositeExtract 91 1 1
-              97:    6(float) CompositeExtract 91 1 2
-              98:    6(float) CompositeExtract 91 2 0
-              99:    6(float) CompositeExtract 91 2 1
-             100:    6(float) CompositeExtract 91 2 2
-             101:    6(float) CompositeExtract 91 3 0
-             102:    6(float) CompositeExtract 91 3 1
-             103:    6(float) CompositeExtract 91 3 2
-             104:   14(fvec3) CompositeConstruct 92 93 94
-             105:   14(fvec3) CompositeConstruct 95 96 97
-             106:   14(fvec3) CompositeConstruct 98 99 100
-             107:   14(fvec3) CompositeConstruct 101 102 103
-             108:          15 CompositeConstruct 104 105 106 107
-             109:    7(fvec4) VectorTimesMatrix 89 108
-                              Store 87(r20) 109
-             111:     39(ptr) AccessChain 23 38
-             112:    7(fvec4) Load 111
-             113:    6(float) CompositeExtract 112 0
-             114:    6(float) CompositeExtract 112 1
-             115:    6(float) CompositeExtract 112 2
-             116:   14(fvec3) CompositeConstruct 113 114 115
-             119:    118(ptr) AccessChain 23 117
-             120:          15 Load 119
-             121:    7(fvec4) VectorTimesMatrix 116 120
-                              Store 110(r21) 121
-             127:    126(ptr) AccessChain 23 125
-             128:          17 Load 127
-             131:    130(ptr) AccessChain 23 129
-             132:          18 Load 131
-             133:    6(float) CompositeExtract 132 0 0
-             134:    6(float) CompositeExtract 132 0 1
-             135:    6(float) CompositeExtract 132 0 2
-             136:    6(float) CompositeExtract 132 1 0
-             137:    6(float) CompositeExtract 132 1 1
-             138:    6(float) CompositeExtract 132 1 2
-             139:   14(fvec3) CompositeConstruct 133 134 135
-             140:   14(fvec3) CompositeConstruct 136 137 138
-             141:         122 CompositeConstruct 139 140
-             142:         122 MatrixTimesMatrix 128 141
-                              Store 124(r30) 142
-             145:    130(ptr) AccessChain 23 129
-             146:          18 Load 145
-             147:    126(ptr) AccessChain 23 125
+              54:    7(fvec4) CompositeExtract 53 0
+              55:    7(fvec4) CompositeExtract 53 1
+              56:    7(fvec4) CompositeExtract 53 2
+              57:          16 CompositeConstruct 54 55 56
+              58:     30(ptr) AccessChain 23 29
+              59:   14(fvec3) Load 58
+              60:    7(fvec4) MatrixTimesVector 57 59
+                              Store 49(r10) 60
+              64:     63(ptr) AccessChain 23 62
+              65:          16 Load 64
+              66:     39(ptr) AccessChain 23 38
+              67:    7(fvec4) Load 66
+              68:    6(float) CompositeExtract 67 0
+              69:    6(float) CompositeExtract 67 1
+              70:    6(float) CompositeExtract 67 2
+              71:   14(fvec3) CompositeConstruct 68 69 70
+              72:    7(fvec4) MatrixTimesVector 65 71
+                              Store 61(r11) 72
+              74:     30(ptr) AccessChain 23 29
+              75:   14(fvec3) Load 74
+              76:     51(ptr) AccessChain 23 50
+              77:          13 Load 76
+              78:    7(fvec4) CompositeExtract 77 0
+              79:   14(fvec3) VectorShuffle 78 78 0 1 2
+              80:    7(fvec4) CompositeExtract 77 1
+              81:   14(fvec3) VectorShuffle 80 80 0 1 2
+              82:    7(fvec4) CompositeExtract 77 2
+              83:   14(fvec3) VectorShuffle 82 82 0 1 2
+              84:    7(fvec4) CompositeExtract 77 3
+              85:   14(fvec3) VectorShuffle 84 84 0 1 2
+              86:          15 CompositeConstruct 79 81 83 85
+              87:    7(fvec4) VectorTimesMatrix 75 86
+                              Store 73(r20) 87
+              89:     39(ptr) AccessChain 23 38
+              90:    7(fvec4) Load 89
+              91:    6(float) CompositeExtract 90 0
+              92:    6(float) CompositeExtract 90 1
+              93:    6(float) CompositeExtract 90 2
+              94:   14(fvec3) CompositeConstruct 91 92 93
+              97:     96(ptr) AccessChain 23 95
+              98:          15 Load 97
+              99:    7(fvec4) VectorTimesMatrix 94 98
+                              Store 88(r21) 99
+             105:    104(ptr) AccessChain 23 103
+             106:          17 Load 105
+             109:    108(ptr) AccessChain 23 107
+             110:          18 Load 109
+             111:    7(fvec4) CompositeExtract 110 0
+             112:   14(fvec3) VectorShuffle 111 111 0 1 2
+             113:    7(fvec4) CompositeExtract 110 1
+             114:   14(fvec3) VectorShuffle 113 113 0 1 2
+             115:         100 CompositeConstruct 112 114
+             116:         100 MatrixTimesMatrix 106 115
+                              Store 102(r30) 116
+             119:    108(ptr) AccessChain 23 107
+             120:          18 Load 119
+             121:    104(ptr) AccessChain 23 103
+             122:          17 Load 121
+             124:   14(fvec3) CompositeExtract 122 0
+             125:   19(fvec2) VectorShuffle 124 124 0 1
+             126:   14(fvec3) CompositeExtract 122 1
+             127:   19(fvec2) VectorShuffle 126 126 0 1
+             128:   14(fvec3) CompositeExtract 122 2
+             129:   19(fvec2) VectorShuffle 128 128 0 1
+             130:         123 CompositeConstruct 125 127 129
+             131:          16 MatrixTimesMatrix 120 130
+                              Store 118(r31) 131
+             136:    135(ptr) AccessChain 23 134
+             137:          20 Load 136
+             138:   19(fvec2) CompositeExtract 137 0
+             139:   19(fvec2) CompositeExtract 137 1
+             140:   19(fvec2) CompositeExtract 137 2
+             141:         123 CompositeConstruct 138 139 140
+             142:    104(ptr) AccessChain 23 103
+             143:          17 Load 142
+             144:         123 MatrixTimesMatrix 141 143
+                              Store 133(r32) 144
+             147:    104(ptr) AccessChain 23 103
              148:          17 Load 147
-             150:    6(float) CompositeExtract 148 0 0
-             151:    6(float) CompositeExtract 148 0 1
-             152:    6(float) CompositeExtract 148 1 0
-             153:    6(float) CompositeExtract 148 1 1
-             154:    6(float) CompositeExtract 148 2 0
-             155:    6(float) CompositeExtract 148 2 1
-             156:   19(fvec2) CompositeConstruct 150 151
-             157:   19(fvec2) CompositeConstruct 152 153
-             158:   19(fvec2) CompositeConstruct 154 155
-             159:         149 CompositeConstruct 156 157 158
-             160:          16 MatrixTimesMatrix 146 159
-                              Store 144(r31) 160
-             165:    164(ptr) AccessChain 23 163
-             166:          20 Load 165
-             167:    6(float) CompositeExtract 166 0 0
-             168:    6(float) CompositeExtract 166 0 1
-             169:    6(float) CompositeExtract 166 1 0
-             170:    6(float) CompositeExtract 166 1 1
-             171:    6(float) CompositeExtract 166 2 0
-             172:    6(float) CompositeExtract 166 2 1
-             173:   19(fvec2) CompositeConstruct 167 168
-             174:   19(fvec2) CompositeConstruct 169 170
-             175:   19(fvec2) CompositeConstruct 171 172
-             176:         149 CompositeConstruct 173 174 175
-             177:    126(ptr) AccessChain 23 125
-             178:          17 Load 177
-             179:         149 MatrixTimesMatrix 176 178
-                              Store 162(r32) 179
-             182:    126(ptr) AccessChain 23 125
-             183:          17 Load 182
-             184:    6(float) CompositeExtract 183 0 0
-             185:    6(float) CompositeExtract 183 0 1
-             186:    6(float) CompositeExtract 183 0 2
-             187:    6(float) CompositeExtract 183 1 0
-             188:    6(float) CompositeExtract 183 1 1
-             189:    6(float) CompositeExtract 183 1 2
-             190:   14(fvec3) CompositeConstruct 184 185 186
-             191:   14(fvec3) CompositeConstruct 187 188 189
-             192:         122 CompositeConstruct 190 191
-             193:    164(ptr) AccessChain 23 163
-             194:          20 Load 193
-             195:          15 MatrixTimesMatrix 192 194
-                              Store 181(r33) 195
-             196:    7(fvec4) Load 49(r10)
-             197:    7(fvec4) Load 75(r11)
-             198:    7(fvec4) FAdd 196 197
-             199:    7(fvec4) Load 87(r20)
-             200:    7(fvec4) FAdd 198 199
-             201:    7(fvec4) Load 110(r21)
-             202:    7(fvec4) FAdd 200 201
-             203:    6(float) Load 12(r00)
-             204:    7(fvec4) CompositeConstruct 203 203 203 203
-             205:    7(fvec4) FAdd 202 204
-             206:    6(float) Load 37(r01)
-             207:    7(fvec4) CompositeConstruct 206 206 206 206
-             208:    7(fvec4) FAdd 205 207
-             211:     11(ptr) AccessChain 124(r30) 50 210
-             212:    6(float) Load 211
-             213:    7(fvec4) CompositeConstruct 212 212 212 212
-             214:    7(fvec4) FAdd 208 213
-             215:     48(ptr) AccessChain 144(r31) 50
-             216:    7(fvec4) Load 215
-             217:    7(fvec4) FAdd 214 216
-             218:     11(ptr) AccessChain 162(r32) 50 210
-             219:    6(float) Load 218
-             220:    7(fvec4) CompositeConstruct 219 219 219 219
-             221:    7(fvec4) FAdd 217 220
-             222:          15 Load 181(r33)
-             223:          16 Transpose 222
-             224:    7(fvec4) CompositeExtract 223 0
-             225:    7(fvec4) FAdd 221 224
-                              ReturnValue 225
+             149:   14(fvec3) CompositeExtract 148 0
+             150:   14(fvec3) CompositeExtract 148 1
+             151:         100 CompositeConstruct 149 150
+             152:    135(ptr) AccessChain 23 134
+             153:          20 Load 152
+             154:          15 MatrixTimesMatrix 151 153
+                              Store 146(r33) 154
+             155:    7(fvec4) Load 49(r10)
+             156:    7(fvec4) Load 61(r11)
+             157:    7(fvec4) FAdd 155 156
+             158:    7(fvec4) Load 73(r20)
+             159:    7(fvec4) FAdd 157 158
+             160:    7(fvec4) Load 88(r21)
+             161:    7(fvec4) FAdd 159 160
+             162:    6(float) Load 12(r00)
+             163:    7(fvec4) CompositeConstruct 162 162 162 162
+             164:    7(fvec4) FAdd 161 163
+             165:    6(float) Load 37(r01)
+             166:    7(fvec4) CompositeConstruct 165 165 165 165
+             167:    7(fvec4) FAdd 164 166
+             170:     11(ptr) AccessChain 102(r30) 50 169
+             171:    6(float) Load 170
+             172:    7(fvec4) CompositeConstruct 171 171 171 171
+             173:    7(fvec4) FAdd 167 172
+             174:     48(ptr) AccessChain 118(r31) 50
+             175:    7(fvec4) Load 174
+             176:    7(fvec4) FAdd 173 175
+             177:     11(ptr) AccessChain 133(r32) 50 169
+             178:    6(float) Load 177
+             179:    7(fvec4) CompositeConstruct 178 178 178 178
+             180:    7(fvec4) FAdd 176 179
+             181:          15 Load 146(r33)
+             182:          16 Transpose 181
+             183:    7(fvec4) CompositeExtract 182 0
+             184:    7(fvec4) FAdd 180 183
+                              ReturnValue 184
                               FunctionEnd
diff --git a/Test/baseResults/hlsl.multiEntry.vert.out b/Test/baseResults/hlsl.multiEntry.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.multiReturn.frag.out b/Test/baseResults/hlsl.multiReturn.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.namespace.frag.out b/Test/baseResults/hlsl.namespace.frag.out
old mode 100755
new mode 100644
index bfb82da..08d959b
--- a/Test/baseResults/hlsl.namespace.frag.out
+++ b/Test/baseResults/hlsl.namespace.frag.out
@@ -101,6 +101,10 @@
 0:?     'N2::gf' ( global float)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: OpFunctionCall Function <id>'s parameter count does not match the argument count.
+  %43 = OpFunctionCall %v4float %N2__N3__C1__getVec_
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 54
diff --git a/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out b/Test/baseResults/hlsl.nonstaticMemberFunction.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.overload.frag.out b/Test/baseResults/hlsl.overload.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.partialFlattenLocal.vert.out b/Test/baseResults/hlsl.partialFlattenLocal.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.partialFlattenMixed.vert.out b/Test/baseResults/hlsl.partialFlattenMixed.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.partialInit.frag.out b/Test/baseResults/hlsl.partialInit.frag.out
old mode 100755
new mode 100644
index 350a745..2cdbb0f
--- a/Test/baseResults/hlsl.partialInit.frag.out
+++ b/Test/baseResults/hlsl.partialInit.frag.out
@@ -398,6 +398,10 @@
 0:?     'ci' ( const int)
 0:?       0 (const int)
 
+error: SPIRV-Tools Validation Errors
+error: If OpTypeBool is stored in conjunction with OpVariable, it can only be used with non-externally visible shader Storage Classes: Workgroup, CrossWorkgroup, Private, and Function
+  %_entryPointOutput_c = OpVariable %_ptr_Output_bool Output
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 104
diff --git a/Test/baseResults/hlsl.pp.expand.frag.out b/Test/baseResults/hlsl.pp.expand.frag.out
index 7197891..adfe02c 100644
--- a/Test/baseResults/hlsl.pp.expand.frag.out
+++ b/Test/baseResults/hlsl.pp.expand.frag.out
@@ -14,5 +14,6 @@
 
 void main()
 {
+    "a string"
 }
 
diff --git a/Test/baseResults/hlsl.pp.vert.out b/Test/baseResults/hlsl.pp.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.precedence.frag.out b/Test/baseResults/hlsl.precedence.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.precedence2.frag.out b/Test/baseResults/hlsl.precedence2.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
index 73d69dc..ae492e4 100644
--- a/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offset.dx10.frag.out
@@ -399,6 +399,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image Operand Bias to be float scalar
+  %28 = OpImageSampleImplicitLod %v4float %23 %float_0_100000001 Bias|ConstOffset %int_1 %float_0_5
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 161
diff --git a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
index 0a7a66b..0cea767 100644
--- a/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplebias.offsetarray.dx10.frag.out
@@ -297,6 +297,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image Operand Bias to be float scalar
+  %31 = OpImageSampleImplicitLod %v4float %23 %27 Bias|ConstOffset %int_0 %float_0_5
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 118
diff --git a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
index f8f20ca..a41481d 100644
--- a/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.array.dx10.frag.out
@@ -397,6 +397,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %48 = OpImageSampleDrefImplicitLod %float %43 %46 %47
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 209
diff --git a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
index 9862297..e8252d3 100644
--- a/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.basic.dx10.frag.out
@@ -379,6 +379,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %41 = OpImageSampleDrefImplicitLod %float %38 %39 %40
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 198
diff --git a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
index f0ba444..cb4ce39 100644
--- a/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offset.dx10.frag.out
@@ -325,6 +325,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %42 = OpImageSampleDrefImplicitLod %float %39 %40 %41 ConstOffset %int_2
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 167
diff --git a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
index ae6078c..af2af3f 100644
--- a/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmp.offsetarray.dx10.frag.out
@@ -337,6 +337,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %49 = OpImageSampleDrefImplicitLod %float %44 %47 %48 ConstOffset %int_2
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 178
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
index ae5b118..a0e5a48 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.array.dx10.frag.out
@@ -433,6 +433,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %49 = OpImageSampleDrefExplicitLod %float %44 %47 %48 Lod %float_0
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 210
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
index 53ecbf2..ffe2298 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.basic.dx10.frag.out
@@ -415,6 +415,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %42 = OpImageSampleDrefExplicitLod %float %39 %40 %41 Lod %float_0
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 199
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
index 1d4f2cd..08e8749 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offset.dx10.frag.out
@@ -349,6 +349,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %43 = OpImageSampleDrefExplicitLod %float %40 %41 %42 Lod|ConstOffset %float_0 %int_2
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 168
diff --git a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
index dea6663..b5c0fc0 100644
--- a/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
+++ b/Test/baseResults/hlsl.samplecmplevelzero.offsetarray.dx10.frag.out
@@ -361,6 +361,10 @@
 0:?     '@entryPointOutput.Depth' ( out float FragDepth)
 0:?     '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: Expected Image 'Sampled Type' to be the same as Result Type
+  %50 = OpImageSampleDrefExplicitLod %float %45 %48 %49 Lod|ConstOffset %float_0 %int_2
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 179
diff --git a/Test/baseResults/hlsl.scalarCast.vert.out b/Test/baseResults/hlsl.scalarCast.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.scope.frag.out b/Test/baseResults/hlsl.scope.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.semantic.geom.out b/Test/baseResults/hlsl.semantic.geom.out
old mode 100755
new mode 100644
index 1c1a9c0..e73940b
--- a/Test/baseResults/hlsl.semantic.geom.out
+++ b/Test/baseResults/hlsl.semantic.geom.out
@@ -155,6 +155,10 @@
 0:?     'OutputStream.clip0' ( out 1-element array of float ClipDistance)
 0:?     'OutputStream.cull0' ( out 1-element array of float CullDistance)
 
+error: SPIRV-Tools Validation Errors
+error: According to the Vulkan spec BuiltIn Position variable needs to be a 4-component 32-bit float vector. ID <20> (OpVariable) is not a float vector.
+  OpStore %OutputStream_clip0 %25
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 65
diff --git a/Test/baseResults/hlsl.semantic.vert.out b/Test/baseResults/hlsl.semantic.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.shapeConv.frag.out b/Test/baseResults/hlsl.shapeConv.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.shapeConvRet.frag.out b/Test/baseResults/hlsl.shapeConvRet.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.shift.per-set.frag.out b/Test/baseResults/hlsl.shift.per-set.frag.out
index f7ae02e..7c7d383 100644
--- a/Test/baseResults/hlsl.shift.per-set.frag.out
+++ b/Test/baseResults/hlsl.shift.per-set.frag.out
@@ -62,12 +62,13 @@
 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:57      'ts6' (layout( set=6 binding=1) uniform texture3D)
+0:59      Branch: Return with expression
+0:59        Constant:
+0:59          0.000000
+0:59          0.000000
+0:59          0.000000
+0:59          0.000000
 0:34  Function Definition: main( ( temp void)
 0:34    Function Parameters: 
 0:?     Sequence
@@ -80,6 +81,7 @@
 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:?     'ts6' (layout( set=6 binding=1) uniform texture3D)
 0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element array of uint @data})
 0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
@@ -162,12 +164,13 @@
 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:57      'ts6' (layout( set=6 binding=1) uniform texture3D)
+0:59      Branch: Return with expression
+0:59        Constant:
+0:59          0.000000
+0:59          0.000000
+0:59          0.000000
+0:59          0.000000
 0:34  Function Definition: main( ( temp void)
 0:34    Function Parameters: 
 0:?     Sequence
@@ -180,6 +183,7 @@
 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:?     'ts6' (layout( set=6 binding=1) uniform texture3D)
 0:?     't4' (layout( set=3 binding=1 row_major std430) readonly buffer block{layout( row_major std430) buffer unsized 1-element 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 unsized 1-element array of uint @data})
 0:?     't6' (layout( set=3 binding=3 rgba32f) uniform textureBuffer)
@@ -212,6 +216,7 @@
 u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
 cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
 tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
+ts6: offset -1, type 8b5f, size 1, index -1, binding 71, stages 16
 
 Uniform block reflection:
 t4: offset -1, type ffffffff, size 0, index -1, binding 21, stages 0
diff --git a/Test/baseResults/hlsl.sin.frag.out b/Test/baseResults/hlsl.sin.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.staticFuncInit.frag.out b/Test/baseResults/hlsl.staticFuncInit.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.staticMemberFunction.frag.out b/Test/baseResults/hlsl.staticMemberFunction.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.string.frag.out b/Test/baseResults/hlsl.string.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.struct.frag.out b/Test/baseResults/hlsl.struct.frag.out
old mode 100755
new mode 100644
index bd216c8..4ea7bbb
--- a/Test/baseResults/hlsl.struct.frag.out
+++ b/Test/baseResults/hlsl.struct.frag.out
@@ -211,6 +211,10 @@
 0:?     's.ff3' (layout( location=6) flat in bool)
 0:?     's.ff4' (layout( location=7) in 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: If OpTypeBool is stored in conjunction with OpVariable, it can only be used with non-externally visible shader Storage Classes: Workgroup, CrossWorkgroup, Private, and Function
+  %s_b = OpVariable %_ptr_Input_bool Input
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 102
diff --git a/Test/baseResults/hlsl.struct.split.assign.frag.out b/Test/baseResults/hlsl.struct.split.assign.frag.out
index 3454eb6..0598ac9 100644
--- a/Test/baseResults/hlsl.struct.split.assign.frag.out
+++ b/Test/baseResults/hlsl.struct.split.assign.frag.out
@@ -207,6 +207,10 @@
 0:?     'input[1].f' (layout( location=2) in float)
 0:?     'input[2].f' (layout( location=3) in float)
 
+error: SPIRV-Tools Validation Errors
+error: According to the Vulkan spec BuiltIn FragCoord variable needs to be a 4-component 32-bit float vector. ID <41> (OpVariable) is not a float vector.
+  %input_pos = OpVariable %_ptr_Input__arr_v4float_uint_3 Input
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 66
diff --git a/Test/baseResults/hlsl.structIoFourWay.frag.out b/Test/baseResults/hlsl.structIoFourWay.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.structStructName.frag.out b/Test/baseResults/hlsl.structStructName.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
index 9beadc7..df08655 100644
--- a/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.append.fn.frag.out
@@ -149,6 +149,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: Structure id 12 decorated as BufferBlock must be explicitly laid out with Offset decorations.
+  %__0 = OpTypeStruct %uint
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 70
diff --git a/Test/baseResults/hlsl.structbuffer.atomics.frag.out b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
index d78f77e..68d93c1 100644
--- a/Test/baseResults/hlsl.structbuffer.atomics.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.atomics.frag.out
@@ -473,6 +473,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: AtomicIAdd: expected Value to be of type Result Type
+  %28 = OpAtomicIAdd %uint %24 %uint_1 %uint_0 %int_1
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 87
diff --git a/Test/baseResults/hlsl.structbuffer.byte.frag.out b/Test/baseResults/hlsl.structbuffer.byte.frag.out
index 862ebbe..49958a6 100644
--- a/Test/baseResults/hlsl.structbuffer.byte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.byte.frag.out
@@ -323,6 +323,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '14[size]'s type does not match Object <id> '20's type.
+  OpStore %size %20
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 114
diff --git a/Test/baseResults/hlsl.structbuffer.coherent.frag.out b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
index 18de2a8..1d11b64 100644
--- a/Test/baseResults/hlsl.structbuffer.coherent.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.coherent.frag.out
@@ -175,6 +175,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '26[size]'s type does not match Object <id> '33's type.
+  OpStore %size %33
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 78
diff --git a/Test/baseResults/hlsl.structbuffer.fn.frag.out b/Test/baseResults/hlsl.structbuffer.fn.frag.out
index 4bbc550..4b8ee63 100644
--- a/Test/baseResults/hlsl.structbuffer.fn.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.fn.frag.out
@@ -137,6 +137,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: Structure id 20 decorated as BufferBlock must be explicitly laid out with Offset decorations.
+  %__1 = OpTypeStruct %uint
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 78
diff --git a/Test/baseResults/hlsl.structbuffer.frag.out b/Test/baseResults/hlsl.structbuffer.frag.out
index 5f6e8ee..e058d11 100644
--- a/Test/baseResults/hlsl.structbuffer.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.frag.out
@@ -187,6 +187,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '43[size]'s type does not match Object <id> '44's type.
+  OpStore %size %44
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 96
diff --git a/Test/baseResults/hlsl.structbuffer.rw.frag.out b/Test/baseResults/hlsl.structbuffer.rw.frag.out
index ccf295b..7fbd150 100644
--- a/Test/baseResults/hlsl.structbuffer.rw.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rw.frag.out
@@ -175,6 +175,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '26[size]'s type does not match Object <id> '33's type.
+  OpStore %size %33
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 78
diff --git a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
index 9f1b5b3..ed27c89 100644
--- a/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
+++ b/Test/baseResults/hlsl.structbuffer.rwbyte.frag.out
@@ -1003,6 +1003,10 @@
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 0:?     'pos' (layout( location=0) flat in uint)
 
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '14[size]'s type does not match Object <id> '20's type.
+  OpStore %size %20
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 239
diff --git a/Test/baseResults/hlsl.structin.vert.out b/Test/baseResults/hlsl.structin.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.switch.frag.out b/Test/baseResults/hlsl.switch.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.swizzle.frag.out b/Test/baseResults/hlsl.swizzle.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.synthesizeInput.frag.out b/Test/baseResults/hlsl.synthesizeInput.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.target.frag.out b/Test/baseResults/hlsl.target.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.targetStruct1.frag.out b/Test/baseResults/hlsl.targetStruct1.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.targetStruct2.frag.out b/Test/baseResults/hlsl.targetStruct2.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.texture.struct.frag.out b/Test/baseResults/hlsl.texture.struct.frag.out
index 0778f50..62cb574 100644
--- a/Test/baseResults/hlsl.texture.struct.frag.out
+++ b/Test/baseResults/hlsl.texture.struct.frag.out
@@ -837,6 +837,10 @@
 0:?     'g_tTex2s1a' ( uniform texture2D)
 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
 
+error: SPIRV-Tools Validation Errors
+error: OpStore Pointer <id> '185's type does not match Object <id> '184's type.
+  OpStore %185 %184
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 240
diff --git a/Test/baseResults/hlsl.this.frag.out b/Test/baseResults/hlsl.this.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.tristream-append.geom.out b/Test/baseResults/hlsl.tristream-append.geom.out
index be6ca9c..c116724 100644
--- a/Test/baseResults/hlsl.tristream-append.geom.out
+++ b/Test/baseResults/hlsl.tristream-append.geom.out
@@ -105,6 +105,10 @@
 0:?         'TriStream' ( temp structure{})
 0:?   Linker Objects
 
+error: SPIRV-Tools Validation Errors
+error: Output variable id <23> is used by entry point 'main' id <4>, but is not listed as an interface
+  %TriStream_1 = OpVariable %_ptr_Output_GSPS_INPUT Output
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 57
diff --git a/Test/baseResults/hlsl.typeGraphCopy.vert.out b/Test/baseResults/hlsl.typeGraphCopy.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.typedef.frag.out b/Test/baseResults/hlsl.typedef.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.void.frag.out b/Test/baseResults/hlsl.void.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/hlsl.whileLoop.frag.out b/Test/baseResults/hlsl.whileLoop.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/implicitInnerAtomicUint.frag.out b/Test/baseResults/implicitInnerAtomicUint.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/link1.vk.frag.out b/Test/baseResults/link1.vk.frag.out
index 63660db..333594e 100644
--- a/Test/baseResults/link1.vk.frag.out
+++ b/Test/baseResults/link1.vk.frag.out
@@ -198,7 +198,7 @@
 
 // Module Version 10000
 // Generated by (magic number): 80007
-// Id's are bound by 71
+// Id's are bound by 70
 
                               Capability Shader
                1:             ExtInstImport  "GLSL.std.450"
@@ -214,24 +214,24 @@
                               Name 32  "b"
                               Name 33  "i"
                               Name 39  "c"
-                              Name 54  "s2D"
-                              Name 63  "bnameRuntime"
-                              MemberName 63(bnameRuntime) 0  "r"
-                              Name 65  ""
-                              Name 68  "bnameImplicit"
-                              MemberName 68(bnameImplicit) 0  "m"
-                              Name 70  ""
+                              Name 53  "s2D"
+                              Name 62  "bnameRuntime"
+                              MemberName 62(bnameRuntime) 0  "r"
+                              Name 64  ""
+                              Name 67  "bnameImplicit"
+                              MemberName 67(bnameImplicit) 0  "m"
+                              Name 69  ""
                               Decorate 12(color) Location 0
-                              Decorate 54(s2D) DescriptorSet 0
-                              Decorate 54(s2D) Binding 1
-                              Decorate 62 ArrayStride 4
-                              MemberDecorate 63(bnameRuntime) 0 Offset 0
-                              Decorate 63(bnameRuntime) BufferBlock
-                              Decorate 65 DescriptorSet 0
-                              Decorate 67 ArrayStride 4
-                              MemberDecorate 68(bnameImplicit) 0 Offset 0
-                              Decorate 68(bnameImplicit) BufferBlock
-                              Decorate 70 DescriptorSet 0
+                              Decorate 53(s2D) DescriptorSet 0
+                              Decorate 53(s2D) Binding 1
+                              Decorate 61 ArrayStride 4
+                              MemberDecorate 62(bnameRuntime) 0 Offset 0
+                              Decorate 62(bnameRuntime) BufferBlock
+                              Decorate 64 DescriptorSet 0
+                              Decorate 66 ArrayStride 4
+                              MemberDecorate 67(bnameImplicit) 0 Offset 0
+                              Decorate 67(bnameImplicit) BufferBlock
+                              Decorate 69 DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                6:             TypeFloat 32
@@ -263,24 +263,23 @@
            39(c):     38(ptr) Variable Private
               40:     14(int) Constant 3
               42:     14(int) Constant 2
-              43:             TypePointer Output 6(float)
-              45:     14(int) Constant 9
-              51:             TypeImage 6(float) 2D sampled format:Unknown
-              52:             TypeSampledImage 51
-              53:             TypePointer UniformConstant 52
-         54(s2D):     53(ptr) Variable UniformConstant
-              56:             TypeVector 6(float) 2
-              57:    6(float) Constant 1056964608
-              58:   56(fvec2) ConstantComposite 57 57
-              62:             TypeRuntimeArray 6(float)
-63(bnameRuntime):             TypeStruct 62
-              64:             TypePointer Uniform 63(bnameRuntime)
-              65:     64(ptr) Variable Uniform
-              66:     15(int) Constant 4
-              67:             TypeArray 6(float) 66
-68(bnameImplicit):             TypeStruct 67
-              69:             TypePointer Uniform 68(bnameImplicit)
-              70:     69(ptr) Variable Uniform
+              44:     14(int) Constant 9
+              50:             TypeImage 6(float) 2D sampled format:Unknown
+              51:             TypeSampledImage 50
+              52:             TypePointer UniformConstant 51
+         53(s2D):     52(ptr) Variable UniformConstant
+              55:             TypeVector 6(float) 2
+              56:    6(float) Constant 1056964608
+              57:   55(fvec2) ConstantComposite 56 56
+              61:             TypeRuntimeArray 6(float)
+62(bnameRuntime):             TypeStruct 61
+              63:             TypePointer Uniform 62(bnameRuntime)
+              64:     63(ptr) Variable Uniform
+              65:     15(int) Constant 4
+              66:             TypeArray 6(float) 65
+67(bnameImplicit):             TypeStruct 66
+              68:             TypePointer Uniform 67(bnameImplicit)
+              69:     68(ptr) Variable Uniform
          4(main):           2 Function None 3
                5:             Label
               13:    7(fvec4) FunctionCall 9(getColor()
@@ -298,18 +297,18 @@
                               FunctionEnd
     9(getColor():    7(fvec4) Function None 8
               10:             Label
-              44:     43(ptr) AccessChain 12(color) 42
-                              Store 44 21
-              46:     22(ptr) AccessChain 19(a1) 45
+              43:     22(ptr) AccessChain 19(a1) 42
+                              Store 43 21
+              45:     22(ptr) AccessChain 27(a2) 44
+                              Store 45 21
+              46:     22(ptr) AccessChain 32(b) 42
                               Store 46 21
-              47:     22(ptr) AccessChain 27(a2) 42
+              47:     22(ptr) AccessChain 39(c) 40
                               Store 47 21
-              48:     22(ptr) AccessChain 32(b) 40
-                              Store 48 21
-              49:          37 Load 39(c)
-              50:     22(ptr) AccessChain 32(b) 49
-                              Store 50 21
-              55:          52 Load 54(s2D)
-              59:    7(fvec4) ImageSampleImplicitLod 55 58
-                              ReturnValue 59
+              48:     14(int) Load 33(i)
+              49:     22(ptr) AccessChain 39(c) 48
+                              Store 49 21
+              54:          51 Load 53(s2D)
+              58:    7(fvec4) ImageSampleImplicitLod 54 57
+                              ReturnValue 58
                               FunctionEnd
diff --git a/Test/baseResults/missingBodies.vert.out b/Test/baseResults/missingBodies.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/mixedArrayDecls.frag.out b/Test/baseResults/mixedArrayDecls.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/nonuniform.frag.out b/Test/baseResults/nonuniform.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/runtimeArray.vert.out b/Test/baseResults/runtimeArray.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/specExamplesConf.vert.out b/Test/baseResults/specExamplesConf.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.100ops.frag.out b/Test/baseResults/spv.100ops.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.130.frag.out b/Test/baseResults/spv.130.frag.out
index d1a626d..eb02bad 100644
--- a/Test/baseResults/spv.130.frag.out
+++ b/Test/baseResults/spv.130.frag.out
@@ -1,6 +1,10 @@
 spv.130.frag
 WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5
 
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 205
diff --git a/Test/baseResults/spv.140.frag.out b/Test/baseResults/spv.140.frag.out
old mode 100755
new mode 100644
index 89bf489..8a59c2f
--- a/Test/baseResults/spv.140.frag.out
+++ b/Test/baseResults/spv.140.frag.out
@@ -1,4 +1,8 @@
 spv.140.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 96
diff --git a/Test/baseResults/spv.150.geom.out b/Test/baseResults/spv.150.geom.out
old mode 100755
new mode 100644
index f759793..70dadf5
--- a/Test/baseResults/spv.150.geom.out
+++ b/Test/baseResults/spv.150.geom.out
@@ -1,4 +1,8 @@
 spv.150.geom
+error: SPIRV-Tools Validation Errors
+error: Capability GeometryStreams is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability GeometryStreams
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 71
diff --git a/Test/baseResults/spv.150.vert.out b/Test/baseResults/spv.150.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.16bitstorage-int.frag.out b/Test/baseResults/spv.16bitstorage-int.frag.out
old mode 100755
new mode 100644
index 9de223c..1b2a16b
--- a/Test/baseResults/spv.16bitstorage-int.frag.out
+++ b/Test/baseResults/spv.16bitstorage-int.frag.out
@@ -4,10 +4,8 @@
 // Id's are bound by 171
 
                               Capability Shader
-                              Capability Int16
                               Capability StorageUniformBufferBlock16
                               Capability StorageUniform16
-                              Extension  "SPV_AMD_gpu_shader_int16"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
diff --git a/Test/baseResults/spv.16bitstorage-uint.frag.out b/Test/baseResults/spv.16bitstorage-uint.frag.out
old mode 100755
new mode 100644
index def7c57..f935f26
--- a/Test/baseResults/spv.16bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.16bitstorage-uint.frag.out
@@ -4,10 +4,8 @@
 // Id's are bound by 173
 
                               Capability Shader
-                              Capability Int16
                               Capability StorageUniformBufferBlock16
                               Capability StorageUniform16
-                              Extension  "SPV_AMD_gpu_shader_int16"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
diff --git a/Test/baseResults/spv.16bitstorage.frag.out b/Test/baseResults/spv.16bitstorage.frag.out
old mode 100755
new mode 100644
index ebf48e9..d2a83ba
--- a/Test/baseResults/spv.16bitstorage.frag.out
+++ b/Test/baseResults/spv.16bitstorage.frag.out
@@ -4,10 +4,8 @@
 // Id's are bound by 173
 
                               Capability Shader
-                              Capability Float16
                               Capability StorageUniformBufferBlock16
                               Capability StorageUniform16
-                              Extension  "SPV_AMD_gpu_shader_half_float"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
diff --git a/Test/baseResults/spv.16bitstorage_Error-int.frag.out b/Test/baseResults/spv.16bitstorage_Error-int.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.16bitstorage_Error-uint.frag.out b/Test/baseResults/spv.16bitstorage_Error-uint.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.16bitstorage_Error.frag.out b/Test/baseResults/spv.16bitstorage_Error.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.300BuiltIns.vert.out b/Test/baseResults/spv.300BuiltIns.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.300layout.frag.out b/Test/baseResults/spv.300layout.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.300layoutp.vert.out b/Test/baseResults/spv.300layoutp.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.310.bitcast.frag.out b/Test/baseResults/spv.310.bitcast.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.400.frag.out b/Test/baseResults/spv.400.frag.out
index 9cb2c63..a0583cf 100644
--- a/Test/baseResults/spv.400.frag.out
+++ b/Test/baseResults/spv.400.frag.out
@@ -1,4 +1,8 @@
 spv.400.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 1118
diff --git a/Test/baseResults/spv.400.tese.out b/Test/baseResults/spv.400.tese.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.420.geom.out b/Test/baseResults/spv.420.geom.out
index 74a4f0b..45f235f 100644
--- a/Test/baseResults/spv.420.geom.out
+++ b/Test/baseResults/spv.420.geom.out
@@ -1,4 +1,8 @@
 spv.420.geom
+error: SPIRV-Tools Validation Errors
+error: Capability GeometryStreams is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability GeometryStreams
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 72
diff --git a/Test/baseResults/spv.430.frag.out b/Test/baseResults/spv.430.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.430.vert.out b/Test/baseResults/spv.430.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.450.geom.out b/Test/baseResults/spv.450.geom.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.450.noRedecl.tesc.out b/Test/baseResults/spv.450.noRedecl.tesc.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.450.tesc.out b/Test/baseResults/spv.450.tesc.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.460.comp.out b/Test/baseResults/spv.460.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.460.frag.out b/Test/baseResults/spv.460.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.460.vert.out b/Test/baseResults/spv.460.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.8bitstorage-int.frag.out b/Test/baseResults/spv.8bitstorage-int.frag.out
old mode 100755
new mode 100644
index 94e7ab5..55a8b3b
--- a/Test/baseResults/spv.8bitstorage-int.frag.out
+++ b/Test/baseResults/spv.8bitstorage-int.frag.out
@@ -4,7 +4,6 @@
 // Id's are bound by 171
 
                               Capability Shader
-                              Capability Int8
                               Capability CapabilityStorageBuffer8BitAccess
                               Capability CapabilityUniformAndStorageBuffer8BitAccess
                               Extension  "SPV_KHR_8bit_storage"
diff --git a/Test/baseResults/spv.8bitstorage-uint.frag.out b/Test/baseResults/spv.8bitstorage-uint.frag.out
old mode 100755
new mode 100644
index f4e7b6d..461cec4
--- a/Test/baseResults/spv.8bitstorage-uint.frag.out
+++ b/Test/baseResults/spv.8bitstorage-uint.frag.out
@@ -4,7 +4,6 @@
 // Id's are bound by 173
 
                               Capability Shader
-                              Capability Int8
                               Capability CapabilityStorageBuffer8BitAccess
                               Capability CapabilityUniformAndStorageBuffer8BitAccess
                               Extension  "SPV_KHR_8bit_storage"
diff --git a/Test/baseResults/spv.8bitstorage_Error-int.frag.out b/Test/baseResults/spv.8bitstorage_Error-int.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.8bitstorage_Error-uint.frag.out b/Test/baseResults/spv.8bitstorage_Error-uint.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.AnyHitShader.rahit.out b/Test/baseResults/spv.AnyHitShader.rahit.out
new file mode 100644
index 0000000..1dd88b3
--- /dev/null
+++ b/Test/baseResults/spv.AnyHitShader.rahit.out
@@ -0,0 +1,163 @@
+spv.AnyHitShader.rahit
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 81
+
+                              Capability RaytracingNVX
+                              Extension  "SPV_NVX_raytracing"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint AnyHitNVX 4  "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67
+                              Source GLSL 460
+                              SourceExtension  "GL_NVX_raytracing"
+                              Name 4  "main"
+                              Name 9  "v0"
+                              Name 11  "gl_LaunchIDNVX"
+                              Name 13  "v1"
+                              Name 14  "gl_LaunchSizeNVX"
+                              Name 18  "v2"
+                              Name 20  "gl_PrimitiveID"
+                              Name 22  "v3"
+                              Name 23  "gl_InstanceID"
+                              Name 25  "v4"
+                              Name 26  "gl_InstanceCustomIndexNVX"
+                              Name 31  "v5"
+                              Name 33  "gl_WorldRayOriginNVX"
+                              Name 35  "v6"
+                              Name 36  "gl_WorldRayDirectionNVX"
+                              Name 38  "v7"
+                              Name 39  "gl_ObjectRayOriginNVX"
+                              Name 41  "v8"
+                              Name 42  "gl_ObjectRayDirectionNVX"
+                              Name 45  "v9"
+                              Name 47  "gl_RayTminNVX"
+                              Name 49  "v10"
+                              Name 50  "gl_RayTmaxNVX"
+                              Name 52  "v11"
+                              Name 53  "gl_HitTNVX"
+                              Name 56  "v12"
+                              Name 58  "gl_HitKindNVX"
+                              Name 62  "v13"
+                              Name 64  "gl_ObjectToWorldNVX"
+                              Name 66  "v14"
+                              Name 67  "gl_WorldToObjectNVX"
+                              Name 71  "incomingPayload"
+                              Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
+                              Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
+                              Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
+                              Decorate 23(gl_InstanceID) BuiltIn InstanceId
+                              Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX
+                              Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
+                              Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
+                              Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
+                              Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
+                              Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX
+                              Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
+                              Decorate 53(gl_HitTNVX) BuiltIn HitTNVX
+                              Decorate 58(gl_HitKindNVX) BuiltIn HitKindNVX
+                              Decorate 64(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX
+                              Decorate 67(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX
+                              Decorate 71(incomingPayload) Location 1
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 2
+               8:             TypePointer Function 7(ivec2)
+              10:             TypePointer Input 7(ivec2)
+11(gl_LaunchIDNVX):     10(ptr) Variable Input
+14(gl_LaunchSizeNVX):     10(ptr) Variable Input
+              16:             TypeInt 32 1
+              17:             TypePointer Function 16(int)
+              19:             TypePointer Input 16(int)
+20(gl_PrimitiveID):     19(ptr) Variable Input
+23(gl_InstanceID):     19(ptr) Variable Input
+26(gl_InstanceCustomIndexNVX):     19(ptr) Variable Input
+              28:             TypeFloat 32
+              29:             TypeVector 28(float) 3
+              30:             TypePointer Function 29(fvec3)
+              32:             TypePointer Input 29(fvec3)
+33(gl_WorldRayOriginNVX):     32(ptr) Variable Input
+36(gl_WorldRayDirectionNVX):     32(ptr) Variable Input
+39(gl_ObjectRayOriginNVX):     32(ptr) Variable Input
+42(gl_ObjectRayDirectionNVX):     32(ptr) Variable Input
+              44:             TypePointer Function 28(float)
+              46:             TypePointer Input 28(float)
+47(gl_RayTminNVX):     46(ptr) Variable Input
+50(gl_RayTmaxNVX):     46(ptr) Variable Input
+  53(gl_HitTNVX):     46(ptr) Variable Input
+              55:             TypePointer Function 6(int)
+              57:             TypePointer Input 6(int)
+58(gl_HitKindNVX):     57(ptr) Variable Input
+              60:             TypeMatrix 29(fvec3) 4
+              61:             TypePointer Function 60
+              63:             TypePointer Input 60
+64(gl_ObjectToWorldNVX):     63(ptr) Variable Input
+67(gl_WorldToObjectNVX):     63(ptr) Variable Input
+              69:             TypeVector 28(float) 4
+              70:             TypePointer IncomingRayPayloadNVX 69(fvec4)
+71(incomingPayload):     70(ptr) Variable IncomingRayPayloadNVX
+              72:   28(float) Constant 1056964608
+              73:   69(fvec4) ConstantComposite 72 72 72 72
+              75:     16(int) Constant 1
+              76:             TypeBool
+         4(main):           2 Function None 3
+               5:             Label
+           9(v0):      8(ptr) Variable Function
+          13(v1):      8(ptr) Variable Function
+          18(v2):     17(ptr) Variable Function
+          22(v3):     17(ptr) Variable Function
+          25(v4):     17(ptr) Variable Function
+          31(v5):     30(ptr) Variable Function
+          35(v6):     30(ptr) Variable Function
+          38(v7):     30(ptr) Variable Function
+          41(v8):     30(ptr) Variable Function
+          45(v9):     44(ptr) Variable Function
+         49(v10):     44(ptr) Variable Function
+         52(v11):     44(ptr) Variable Function
+         56(v12):     55(ptr) Variable Function
+         62(v13):     61(ptr) Variable Function
+         66(v14):     61(ptr) Variable Function
+              12:    7(ivec2) Load 11(gl_LaunchIDNVX)
+                              Store 9(v0) 12
+              15:    7(ivec2) Load 14(gl_LaunchSizeNVX)
+                              Store 13(v1) 15
+              21:     16(int) Load 20(gl_PrimitiveID)
+                              Store 18(v2) 21
+              24:     16(int) Load 23(gl_InstanceID)
+                              Store 22(v3) 24
+              27:     16(int) Load 26(gl_InstanceCustomIndexNVX)
+                              Store 25(v4) 27
+              34:   29(fvec3) Load 33(gl_WorldRayOriginNVX)
+                              Store 31(v5) 34
+              37:   29(fvec3) Load 36(gl_WorldRayDirectionNVX)
+                              Store 35(v6) 37
+              40:   29(fvec3) Load 39(gl_ObjectRayOriginNVX)
+                              Store 38(v7) 40
+              43:   29(fvec3) Load 42(gl_ObjectRayDirectionNVX)
+                              Store 41(v8) 43
+              48:   28(float) Load 47(gl_RayTminNVX)
+                              Store 45(v9) 48
+              51:   28(float) Load 50(gl_RayTmaxNVX)
+                              Store 49(v10) 51
+              54:   28(float) Load 53(gl_HitTNVX)
+                              Store 52(v11) 54
+              59:      6(int) Load 58(gl_HitKindNVX)
+                              Store 56(v12) 59
+              65:          60 Load 64(gl_ObjectToWorldNVX)
+                              Store 62(v13) 65
+              68:          60 Load 67(gl_WorldToObjectNVX)
+                              Store 66(v14) 68
+                              Store 71(incomingPayload) 73
+              74:     16(int) Load 18(v2)
+              77:    76(bool) IEqual 74 75
+                              SelectionMerge 79 None
+                              BranchConditional 77 78 80
+              78:               Label
+                                IgnoreIntersectionNVX
+                                Branch 79
+              80:               Label
+                                TerminateRayNVX
+                                Branch 79
+              79:             Label
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.AnyHitShader_Errors.rahit.out b/Test/baseResults/spv.AnyHitShader_Errors.rahit.out
new file mode 100644
index 0000000..5a863be
--- /dev/null
+++ b/Test/baseResults/spv.AnyHitShader_Errors.rahit.out
@@ -0,0 +1,8 @@
+spv.AnyHitShader_Errors.rahit
+ERROR: 0:8: 'assign' :  l-value required "payload" (cannot modify hitAttributeNVX in this stage)
+ERROR: 0:9: 'reportIntersectionNVX' : no matching overloaded function found 
+ERROR: 0:10: 'traceNVX' : no matching overloaded function found 
+ERROR: 3 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.AofA.frag.out b/Test/baseResults/spv.AofA.frag.out
index a19fae9..798f083 100644
--- a/Test/baseResults/spv.AofA.frag.out
+++ b/Test/baseResults/spv.AofA.frag.out
@@ -1,6 +1,10 @@
 spv.AofA.frag
 WARNING: 0:6: '[][]' : Generating SPIR-V array-of-arrays, but Vulkan only supports single array level for this resource 
 
+error: SPIRV-Tools Validation Errors
+error: Only a single level of array is allowed for descriptor set variables
+  %nameAofA = OpVariable %_ptr_Uniform__arr__arr_uAofA_uint_5_uint_3 Uniform
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 104
diff --git a/Test/baseResults/spv.ClosestHitShader.rchit.out b/Test/baseResults/spv.ClosestHitShader.rchit.out
new file mode 100644
index 0000000..5a1d7fc
--- /dev/null
+++ b/Test/baseResults/spv.ClosestHitShader.rchit.out
@@ -0,0 +1,169 @@
+spv.ClosestHitShader.rchit
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 88
+
+                              Capability RaytracingNVX
+                              Extension  "SPV_NVX_raytracing"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint ClosestHitNVX 4  "main" 11 14 20 23 26 33 36 39 42 47 50 53 58 64 67
+                              Source GLSL 460
+                              SourceExtension  "GL_NVX_raytracing"
+                              Name 4  "main"
+                              Name 9  "v0"
+                              Name 11  "gl_LaunchIDNVX"
+                              Name 13  "v1"
+                              Name 14  "gl_LaunchSizeNVX"
+                              Name 18  "v2"
+                              Name 20  "gl_PrimitiveID"
+                              Name 22  "v3"
+                              Name 23  "gl_InstanceID"
+                              Name 25  "v4"
+                              Name 26  "gl_InstanceCustomIndexNVX"
+                              Name 31  "v5"
+                              Name 33  "gl_WorldRayOriginNVX"
+                              Name 35  "v6"
+                              Name 36  "gl_WorldRayDirectionNVX"
+                              Name 38  "v7"
+                              Name 39  "gl_ObjectRayOriginNVX"
+                              Name 41  "v8"
+                              Name 42  "gl_ObjectRayDirectionNVX"
+                              Name 45  "v9"
+                              Name 47  "gl_RayTminNVX"
+                              Name 49  "v10"
+                              Name 50  "gl_RayTmaxNVX"
+                              Name 52  "v11"
+                              Name 53  "gl_HitTNVX"
+                              Name 56  "v12"
+                              Name 58  "gl_HitKindNVX"
+                              Name 62  "v13"
+                              Name 64  "gl_ObjectToWorldNVX"
+                              Name 66  "v14"
+                              Name 67  "gl_WorldToObjectNVX"
+                              Name 71  "accNV"
+                              Name 85  "localPayload"
+                              Name 87  "incomingPayload"
+                              Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
+                              Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
+                              Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
+                              Decorate 23(gl_InstanceID) BuiltIn InstanceId
+                              Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX
+                              Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
+                              Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
+                              Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
+                              Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
+                              Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX
+                              Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
+                              Decorate 53(gl_HitTNVX) BuiltIn HitTNVX
+                              Decorate 58(gl_HitKindNVX) BuiltIn HitKindNVX
+                              Decorate 64(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX
+                              Decorate 67(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX
+                              Decorate 71(accNV) DescriptorSet 0
+                              Decorate 71(accNV) Binding 0
+                              Decorate 85(localPayload) Location 0
+                              Decorate 87(incomingPayload) Location 1
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 2
+               8:             TypePointer Function 7(ivec2)
+              10:             TypePointer Input 7(ivec2)
+11(gl_LaunchIDNVX):     10(ptr) Variable Input
+14(gl_LaunchSizeNVX):     10(ptr) Variable Input
+              16:             TypeInt 32 1
+              17:             TypePointer Function 16(int)
+              19:             TypePointer Input 16(int)
+20(gl_PrimitiveID):     19(ptr) Variable Input
+23(gl_InstanceID):     19(ptr) Variable Input
+26(gl_InstanceCustomIndexNVX):     19(ptr) Variable Input
+              28:             TypeFloat 32
+              29:             TypeVector 28(float) 3
+              30:             TypePointer Function 29(fvec3)
+              32:             TypePointer Input 29(fvec3)
+33(gl_WorldRayOriginNVX):     32(ptr) Variable Input
+36(gl_WorldRayDirectionNVX):     32(ptr) Variable Input
+39(gl_ObjectRayOriginNVX):     32(ptr) Variable Input
+42(gl_ObjectRayDirectionNVX):     32(ptr) Variable Input
+              44:             TypePointer Function 28(float)
+              46:             TypePointer Input 28(float)
+47(gl_RayTminNVX):     46(ptr) Variable Input
+50(gl_RayTmaxNVX):     46(ptr) Variable Input
+  53(gl_HitTNVX):     46(ptr) Variable Input
+              55:             TypePointer Function 6(int)
+              57:             TypePointer Input 6(int)
+58(gl_HitKindNVX):     57(ptr) Variable Input
+              60:             TypeMatrix 29(fvec3) 4
+              61:             TypePointer Function 60
+              63:             TypePointer Input 60
+64(gl_ObjectToWorldNVX):     63(ptr) Variable Input
+67(gl_WorldToObjectNVX):     63(ptr) Variable Input
+              69:             TypeAccelerationStructureNVX
+              70:             TypePointer UniformConstant 69
+       71(accNV):     70(ptr) Variable UniformConstant
+              73:      6(int) Constant 0
+              74:      6(int) Constant 1
+              75:      6(int) Constant 2
+              76:      6(int) Constant 3
+              77:   28(float) Constant 1056964608
+              78:   29(fvec3) ConstantComposite 77 77 77
+              79:   28(float) Constant 1065353216
+              80:   29(fvec3) ConstantComposite 79 79 79
+              81:   28(float) Constant 1061158912
+              82:     16(int) Constant 1
+              83:             TypeVector 28(float) 4
+              84:             TypePointer RayPayloadNVX 83(fvec4)
+85(localPayload):     84(ptr) Variable RayPayloadNVX
+              86:             TypePointer IncomingRayPayloadNVX 83(fvec4)
+87(incomingPayload):     86(ptr) Variable IncomingRayPayloadNVX
+         4(main):           2 Function None 3
+               5:             Label
+           9(v0):      8(ptr) Variable Function
+          13(v1):      8(ptr) Variable Function
+          18(v2):     17(ptr) Variable Function
+          22(v3):     17(ptr) Variable Function
+          25(v4):     17(ptr) Variable Function
+          31(v5):     30(ptr) Variable Function
+          35(v6):     30(ptr) Variable Function
+          38(v7):     30(ptr) Variable Function
+          41(v8):     30(ptr) Variable Function
+          45(v9):     44(ptr) Variable Function
+         49(v10):     44(ptr) Variable Function
+         52(v11):     44(ptr) Variable Function
+         56(v12):     55(ptr) Variable Function
+         62(v13):     61(ptr) Variable Function
+         66(v14):     61(ptr) Variable Function
+              12:    7(ivec2) Load 11(gl_LaunchIDNVX)
+                              Store 9(v0) 12
+              15:    7(ivec2) Load 14(gl_LaunchSizeNVX)
+                              Store 13(v1) 15
+              21:     16(int) Load 20(gl_PrimitiveID)
+                              Store 18(v2) 21
+              24:     16(int) Load 23(gl_InstanceID)
+                              Store 22(v3) 24
+              27:     16(int) Load 26(gl_InstanceCustomIndexNVX)
+                              Store 25(v4) 27
+              34:   29(fvec3) Load 33(gl_WorldRayOriginNVX)
+                              Store 31(v5) 34
+              37:   29(fvec3) Load 36(gl_WorldRayDirectionNVX)
+                              Store 35(v6) 37
+              40:   29(fvec3) Load 39(gl_ObjectRayOriginNVX)
+                              Store 38(v7) 40
+              43:   29(fvec3) Load 42(gl_ObjectRayDirectionNVX)
+                              Store 41(v8) 43
+              48:   28(float) Load 47(gl_RayTminNVX)
+                              Store 45(v9) 48
+              51:   28(float) Load 50(gl_RayTmaxNVX)
+                              Store 49(v10) 51
+              54:   28(float) Load 53(gl_HitTNVX)
+                              Store 52(v11) 54
+              59:      6(int) Load 58(gl_HitKindNVX)
+                              Store 56(v12) 59
+              65:          60 Load 64(gl_ObjectToWorldNVX)
+                              Store 62(v13) 65
+              68:          60 Load 67(gl_WorldToObjectNVX)
+                              Store 66(v14) 68
+              72:          69 Load 71(accNV)
+                              TraceNVX 72 73 74 75 76 73 78 77 80 81 82
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.ClosestHitShader_Errors.rchit.out b/Test/baseResults/spv.ClosestHitShader_Errors.rchit.out
new file mode 100644
index 0000000..36352ae
--- /dev/null
+++ b/Test/baseResults/spv.ClosestHitShader_Errors.rchit.out
@@ -0,0 +1,9 @@
+spv.ClosestHitShader_Errors.rchit
+ERROR: 0:8: 'assign' :  l-value required "payload" (cannot modify hitAttributeNVX in this stage)
+ERROR: 0:9: 'reportIntersectionNVX' : no matching overloaded function found 
+ERROR: 0:10: 'terminateRayNVX' : no matching overloaded function found 
+ERROR: 0:11: 'ignoreIntersectionNVX' : no matching overloaded function found 
+ERROR: 4 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.IntersectShader.rint.out b/Test/baseResults/spv.IntersectShader.rint.out
new file mode 100644
index 0000000..bc84c6e
--- /dev/null
+++ b/Test/baseResults/spv.IntersectShader.rint.out
@@ -0,0 +1,138 @@
+spv.IntersectShader.rint
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 71
+
+                              Capability RaytracingNVX
+                              Extension  "SPV_NVX_raytracing"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint IntersectionNVX 4  "main" 11 14 20 23 26 33 36 39 42 47 50 56 59
+                              Source GLSL 460
+                              SourceExtension  "GL_NVX_raytracing"
+                              Name 4  "main"
+                              Name 9  "v0"
+                              Name 11  "gl_LaunchIDNVX"
+                              Name 13  "v1"
+                              Name 14  "gl_LaunchSizeNVX"
+                              Name 18  "v2"
+                              Name 20  "gl_PrimitiveID"
+                              Name 22  "v3"
+                              Name 23  "gl_InstanceID"
+                              Name 25  "v4"
+                              Name 26  "gl_InstanceCustomIndexNVX"
+                              Name 31  "v5"
+                              Name 33  "gl_WorldRayOriginNVX"
+                              Name 35  "v6"
+                              Name 36  "gl_WorldRayDirectionNVX"
+                              Name 38  "v7"
+                              Name 39  "gl_ObjectRayOriginNVX"
+                              Name 41  "v8"
+                              Name 42  "gl_ObjectRayDirectionNVX"
+                              Name 45  "v9"
+                              Name 47  "gl_RayTminNVX"
+                              Name 49  "v10"
+                              Name 50  "gl_RayTmaxNVX"
+                              Name 54  "v11"
+                              Name 56  "gl_ObjectToWorldNVX"
+                              Name 58  "v12"
+                              Name 59  "gl_WorldToObjectNVX"
+                              Name 63  "iAttr"
+                              Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
+                              Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
+                              Decorate 20(gl_PrimitiveID) BuiltIn PrimitiveId
+                              Decorate 23(gl_InstanceID) BuiltIn InstanceId
+                              Decorate 26(gl_InstanceCustomIndexNVX) BuiltIn InstanceCustomIndexNVX
+                              Decorate 33(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
+                              Decorate 36(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
+                              Decorate 39(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
+                              Decorate 42(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
+                              Decorate 47(gl_RayTminNVX) BuiltIn RayTminNVX
+                              Decorate 50(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
+                              Decorate 56(gl_ObjectToWorldNVX) BuiltIn ObjectToWorldNVX
+                              Decorate 59(gl_WorldToObjectNVX) BuiltIn WorldToObjectNVX
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 2
+               8:             TypePointer Function 7(ivec2)
+              10:             TypePointer Input 7(ivec2)
+11(gl_LaunchIDNVX):     10(ptr) Variable Input
+14(gl_LaunchSizeNVX):     10(ptr) Variable Input
+              16:             TypeInt 32 1
+              17:             TypePointer Function 16(int)
+              19:             TypePointer Input 16(int)
+20(gl_PrimitiveID):     19(ptr) Variable Input
+23(gl_InstanceID):     19(ptr) Variable Input
+26(gl_InstanceCustomIndexNVX):     19(ptr) Variable Input
+              28:             TypeFloat 32
+              29:             TypeVector 28(float) 3
+              30:             TypePointer Function 29(fvec3)
+              32:             TypePointer Input 29(fvec3)
+33(gl_WorldRayOriginNVX):     32(ptr) Variable Input
+36(gl_WorldRayDirectionNVX):     32(ptr) Variable Input
+39(gl_ObjectRayOriginNVX):     32(ptr) Variable Input
+42(gl_ObjectRayDirectionNVX):     32(ptr) Variable Input
+              44:             TypePointer Function 28(float)
+              46:             TypePointer Input 28(float)
+47(gl_RayTminNVX):     46(ptr) Variable Input
+50(gl_RayTmaxNVX):     46(ptr) Variable Input
+              52:             TypeMatrix 29(fvec3) 4
+              53:             TypePointer Function 52
+              55:             TypePointer Input 52
+56(gl_ObjectToWorldNVX):     55(ptr) Variable Input
+59(gl_WorldToObjectNVX):     55(ptr) Variable Input
+              61:             TypeVector 28(float) 4
+              62:             TypePointer HitAttributeNVX 61(fvec4)
+       63(iAttr):     62(ptr) Variable HitAttributeNVX
+              64:   28(float) Constant 1056964608
+              65:   28(float) Constant 0
+              66:   28(float) Constant 1065353216
+              67:   61(fvec4) ConstantComposite 64 64 65 66
+              68:      6(int) Constant 1
+              69:             TypeBool
+         4(main):           2 Function None 3
+               5:             Label
+           9(v0):      8(ptr) Variable Function
+          13(v1):      8(ptr) Variable Function
+          18(v2):     17(ptr) Variable Function
+          22(v3):     17(ptr) Variable Function
+          25(v4):     17(ptr) Variable Function
+          31(v5):     30(ptr) Variable Function
+          35(v6):     30(ptr) Variable Function
+          38(v7):     30(ptr) Variable Function
+          41(v8):     30(ptr) Variable Function
+          45(v9):     44(ptr) Variable Function
+         49(v10):     44(ptr) Variable Function
+         54(v11):     53(ptr) Variable Function
+         58(v12):     53(ptr) Variable Function
+              12:    7(ivec2) Load 11(gl_LaunchIDNVX)
+                              Store 9(v0) 12
+              15:    7(ivec2) Load 14(gl_LaunchSizeNVX)
+                              Store 13(v1) 15
+              21:     16(int) Load 20(gl_PrimitiveID)
+                              Store 18(v2) 21
+              24:     16(int) Load 23(gl_InstanceID)
+                              Store 22(v3) 24
+              27:     16(int) Load 26(gl_InstanceCustomIndexNVX)
+                              Store 25(v4) 27
+              34:   29(fvec3) Load 33(gl_WorldRayOriginNVX)
+                              Store 31(v5) 34
+              37:   29(fvec3) Load 36(gl_WorldRayDirectionNVX)
+                              Store 35(v6) 37
+              40:   29(fvec3) Load 39(gl_ObjectRayOriginNVX)
+                              Store 38(v7) 40
+              43:   29(fvec3) Load 42(gl_ObjectRayDirectionNVX)
+                              Store 41(v8) 43
+              48:   28(float) Load 47(gl_RayTminNVX)
+                              Store 45(v9) 48
+              51:   28(float) Load 50(gl_RayTmaxNVX)
+                              Store 49(v10) 51
+              57:          52 Load 56(gl_ObjectToWorldNVX)
+                              Store 54(v11) 57
+              60:          52 Load 59(gl_WorldToObjectNVX)
+                              Store 58(v12) 60
+                              Store 63(iAttr) 67
+              70:    69(bool) ReportIntersectionNVX 64 68
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.IntersectShader_Errors.rint.out b/Test/baseResults/spv.IntersectShader_Errors.rint.out
new file mode 100644
index 0000000..804ddb4
--- /dev/null
+++ b/Test/baseResults/spv.IntersectShader_Errors.rint.out
@@ -0,0 +1,10 @@
+spv.IntersectShader_Errors.rint
+ERROR: 0:3: 'rayPayloadInNVX' : not supported in this stage: intersection
+ERROR: 0:4: 'rayPayloadNVX' : not supported in this stage: intersection
+ERROR: 0:8: 'gl_HitTNVX' : undeclared identifier 
+ERROR: 0:9: 'gl_HitKindNVX' : undeclared identifier 
+ERROR: 0:10: 'traceNVX' : no matching overloaded function found 
+ERROR: 5 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.MissShader.rmiss.out b/Test/baseResults/spv.MissShader.rmiss.out
new file mode 100644
index 0000000..5384084
--- /dev/null
+++ b/Test/baseResults/spv.MissShader.rmiss.out
@@ -0,0 +1,113 @@
+spv.MissShader.rmiss
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 60
+
+                              Capability RaytracingNVX
+                              Extension  "SPV_NVX_raytracing"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MissNVX 4  "main" 11 14 21 24 27 30 35 38
+                              Source GLSL 460
+                              SourceExtension  "GL_NVX_raytracing"
+                              Name 4  "main"
+                              Name 9  "v0"
+                              Name 11  "gl_LaunchIDNVX"
+                              Name 13  "v1"
+                              Name 14  "gl_LaunchSizeNVX"
+                              Name 19  "v2"
+                              Name 21  "gl_WorldRayOriginNVX"
+                              Name 23  "v3"
+                              Name 24  "gl_WorldRayDirectionNVX"
+                              Name 26  "v4"
+                              Name 27  "gl_ObjectRayOriginNVX"
+                              Name 29  "v5"
+                              Name 30  "gl_ObjectRayDirectionNVX"
+                              Name 33  "v6"
+                              Name 35  "gl_RayTminNVX"
+                              Name 37  "v7"
+                              Name 38  "gl_RayTmaxNVX"
+                              Name 42  "accNV"
+                              Name 57  "localPayload"
+                              Name 59  "incomingPayload"
+                              Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
+                              Decorate 14(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
+                              Decorate 21(gl_WorldRayOriginNVX) BuiltIn WorldRayOriginNVX
+                              Decorate 24(gl_WorldRayDirectionNVX) BuiltIn WorldRayDirectionNVX
+                              Decorate 27(gl_ObjectRayOriginNVX) BuiltIn ObjectRayOriginNVX
+                              Decorate 30(gl_ObjectRayDirectionNVX) BuiltIn ObjectRayDirectionNVX
+                              Decorate 35(gl_RayTminNVX) BuiltIn RayTminNVX
+                              Decorate 38(gl_RayTmaxNVX) BuiltIn RayTmaxNVX
+                              Decorate 42(accNV) DescriptorSet 0
+                              Decorate 42(accNV) Binding 0
+                              Decorate 57(localPayload) Location 0
+                              Decorate 59(incomingPayload) Location 1
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 2
+               8:             TypePointer Function 7(ivec2)
+              10:             TypePointer Input 7(ivec2)
+11(gl_LaunchIDNVX):     10(ptr) Variable Input
+14(gl_LaunchSizeNVX):     10(ptr) Variable Input
+              16:             TypeFloat 32
+              17:             TypeVector 16(float) 3
+              18:             TypePointer Function 17(fvec3)
+              20:             TypePointer Input 17(fvec3)
+21(gl_WorldRayOriginNVX):     20(ptr) Variable Input
+24(gl_WorldRayDirectionNVX):     20(ptr) Variable Input
+27(gl_ObjectRayOriginNVX):     20(ptr) Variable Input
+30(gl_ObjectRayDirectionNVX):     20(ptr) Variable Input
+              32:             TypePointer Function 16(float)
+              34:             TypePointer Input 16(float)
+35(gl_RayTminNVX):     34(ptr) Variable Input
+38(gl_RayTmaxNVX):     34(ptr) Variable Input
+              40:             TypeAccelerationStructureNVX
+              41:             TypePointer UniformConstant 40
+       42(accNV):     41(ptr) Variable UniformConstant
+              44:      6(int) Constant 0
+              45:      6(int) Constant 1
+              46:      6(int) Constant 2
+              47:      6(int) Constant 3
+              48:   16(float) Constant 1056964608
+              49:   17(fvec3) ConstantComposite 48 48 48
+              50:   16(float) Constant 1065353216
+              51:   17(fvec3) ConstantComposite 50 50 50
+              52:   16(float) Constant 1061158912
+              53:             TypeInt 32 1
+              54:     53(int) Constant 1
+              55:             TypeVector 16(float) 4
+              56:             TypePointer RayPayloadNVX 55(fvec4)
+57(localPayload):     56(ptr) Variable RayPayloadNVX
+              58:             TypePointer IncomingRayPayloadNVX 55(fvec4)
+59(incomingPayload):     58(ptr) Variable IncomingRayPayloadNVX
+         4(main):           2 Function None 3
+               5:             Label
+           9(v0):      8(ptr) Variable Function
+          13(v1):      8(ptr) Variable Function
+          19(v2):     18(ptr) Variable Function
+          23(v3):     18(ptr) Variable Function
+          26(v4):     18(ptr) Variable Function
+          29(v5):     18(ptr) Variable Function
+          33(v6):     32(ptr) Variable Function
+          37(v7):     32(ptr) Variable Function
+              12:    7(ivec2) Load 11(gl_LaunchIDNVX)
+                              Store 9(v0) 12
+              15:    7(ivec2) Load 14(gl_LaunchSizeNVX)
+                              Store 13(v1) 15
+              22:   17(fvec3) Load 21(gl_WorldRayOriginNVX)
+                              Store 19(v2) 22
+              25:   17(fvec3) Load 24(gl_WorldRayDirectionNVX)
+                              Store 23(v3) 25
+              28:   17(fvec3) Load 27(gl_ObjectRayOriginNVX)
+                              Store 26(v4) 28
+              31:   17(fvec3) Load 30(gl_ObjectRayDirectionNVX)
+                              Store 29(v5) 31
+              36:   16(float) Load 35(gl_RayTminNVX)
+                              Store 33(v6) 36
+              39:   16(float) Load 38(gl_RayTmaxNVX)
+                              Store 37(v7) 39
+              43:          40 Load 42(accNV)
+                              TraceNVX 43 44 45 46 47 44 49 48 51 52 54
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.MissShader_Errors.rmiss.out b/Test/baseResults/spv.MissShader_Errors.rmiss.out
new file mode 100644
index 0000000..bfc2f6c
--- /dev/null
+++ b/Test/baseResults/spv.MissShader_Errors.rmiss.out
@@ -0,0 +1,21 @@
+spv.MissShader_Errors.rmiss
+ERROR: 0:3: 'hitAttributeNVX' : not supported in this stage: miss
+ERROR: 0:6: 'gl_PrimitiveID' : undeclared identifier 
+ERROR: 0:6: '=' :  cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:7: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
+ERROR: 0:7: '=' :  cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:8: 'gl_InstanceCustomIndexNVX' : undeclared identifier 
+ERROR: 0:8: '=' :  cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:9: 'gl_ObjectToWorldNVX' : undeclared identifier 
+ERROR: 0:9: '=' :  cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
+ERROR: 0:10: 'gl_WorldToObjectNVX' : undeclared identifier 
+ERROR: 0:10: '=' :  cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
+ERROR: 0:11: 'gl_HitTNVX' : undeclared identifier 
+ERROR: 0:12: 'gl_HitKindNVX' : undeclared identifier 
+ERROR: 0:13: 'reportIntersectionNVX' : no matching overloaded function found 
+ERROR: 0:14: 'ignoreIntersectionNVX' : no matching overloaded function found 
+ERROR: 0:15: 'terminateRayNVX' : no matching overloaded function found 
+ERROR: 16 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.Operations.frag.out b/Test/baseResults/spv.Operations.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.RayConstants.rgen.out b/Test/baseResults/spv.RayConstants.rgen.out
new file mode 100644
index 0000000..ecbee8a
--- /dev/null
+++ b/Test/baseResults/spv.RayConstants.rgen.out
@@ -0,0 +1,46 @@
+spv.RayConstants.rgen
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 27
+
+                              Capability RaytracingNVX
+                              Extension  "SPV_NVX_raytracing"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint RayGenerationNVX 4  "main"
+                              Source GLSL 460
+                              SourceExtension  "GL_NVX_raytracing"
+                              Name 4  "main"
+                              Name 8  "accNV"
+                              Name 26  "payload"
+                              Decorate 8(accNV) DescriptorSet 0
+                              Decorate 8(accNV) Binding 0
+                              Decorate 26(payload) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeAccelerationStructureNVX
+               7:             TypePointer UniformConstant 6
+        8(accNV):      7(ptr) Variable UniformConstant
+              10:             TypeInt 32 0
+              11:     10(int) Constant 255
+              12:     10(int) Constant 0
+              13:     10(int) Constant 1
+              14:             TypeFloat 32
+              15:             TypeVector 14(float) 3
+              16:   14(float) Constant 0
+              17:   15(fvec3) ConstantComposite 16 16 16
+              18:   14(float) Constant 1056964608
+              19:   14(float) Constant 1065353216
+              20:   15(fvec3) ConstantComposite 19 19 19
+              21:   14(float) Constant 1061158912
+              22:             TypeInt 32 1
+              23:     22(int) Constant 1
+              24:             TypeVector 14(float) 4
+              25:             TypePointer RayPayloadNVX 24(fvec4)
+     26(payload):     25(ptr) Variable RayPayloadNVX
+         4(main):           2 Function None 3
+               5:             Label
+               9:           6 Load 8(accNV)
+                              TraceNVX 9 11 12 13 13 12 17 18 20 21 23
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader.rgen.out b/Test/baseResults/spv.RayGenShader.rgen.out
new file mode 100644
index 0000000..ad1ba7c
--- /dev/null
+++ b/Test/baseResults/spv.RayGenShader.rgen.out
@@ -0,0 +1,101 @@
+spv.RayGenShader.rgen
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 60
+
+                              Capability RaytracingNVX
+                              Extension  "SPV_NVX_raytracing"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint RayGenerationNVX 4  "main" 11 21
+                              Source GLSL 460
+                              SourceExtension  "GL_NVX_raytracing"
+                              Name 4  "main"
+                              Name 8  "lx"
+                              Name 11  "gl_LaunchIDNVX"
+                              Name 16  "ly"
+                              Name 20  "sx"
+                              Name 21  "gl_LaunchSizeNVX"
+                              Name 24  "sy"
+                              Name 29  "accNV"
+                              Name 48  "block"
+                              MemberName 48(block) 0  "arr"
+                              MemberName 48(block) 1  "pad"
+                              Name 50  ""
+                              Name 56  "payload"
+                              Decorate 11(gl_LaunchIDNVX) BuiltIn LaunchIdNVX
+                              Decorate 21(gl_LaunchSizeNVX) BuiltIn LaunchSizeNVX
+                              Decorate 29(accNV) DescriptorSet 0
+                              Decorate 29(accNV) Binding 0
+                              Decorate 46 ArrayStride 4
+                              MemberDecorate 48(block) 0 Offset 0
+                              MemberDecorate 48(block) 1 Offset 16
+                              Decorate 48(block) BufferBlock
+                              Decorate 56(payload) Location 0
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 2
+              10:             TypePointer Input 9(ivec2)
+11(gl_LaunchIDNVX):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+              17:      6(int) Constant 1
+21(gl_LaunchSizeNVX):     10(ptr) Variable Input
+              27:             TypeAccelerationStructureNVX
+              28:             TypePointer UniformConstant 27
+       29(accNV):     28(ptr) Variable UniformConstant
+              35:             TypeFloat 32
+              36:             TypeVector 35(float) 3
+              37:   35(float) Constant 0
+              38:   36(fvec3) ConstantComposite 37 37 37
+              39:   35(float) Constant 1056964608
+              40:   35(float) Constant 1065353216
+              41:   36(fvec3) ConstantComposite 40 40 40
+              42:   35(float) Constant 1061158912
+              43:             TypeInt 32 1
+              44:     43(int) Constant 1
+              45:      6(int) Constant 4
+              46:             TypeArray 35(float) 45
+              47:             TypeVector 35(float) 4
+       48(block):             TypeStruct 46 47(fvec4)
+              49:             TypePointer ShaderRecordBufferNVX 48(block)
+              50:     49(ptr) Variable ShaderRecordBufferNVX
+              51:     43(int) Constant 0
+              52:     43(int) Constant 3
+              53:             TypePointer ShaderRecordBufferNVX 35(float)
+              55:             TypePointer RayPayloadNVX 47(fvec4)
+     56(payload):     55(ptr) Variable RayPayloadNVX
+              58:             TypePointer ShaderRecordBufferNVX 47(fvec4)
+         4(main):           2 Function None 3
+               5:             Label
+           8(lx):      7(ptr) Variable Function
+          16(ly):      7(ptr) Variable Function
+          20(sx):      7(ptr) Variable Function
+          24(sy):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LaunchIDNVX) 12
+              15:      6(int) Load 14
+                              Store 8(lx) 15
+              18:     13(ptr) AccessChain 11(gl_LaunchIDNVX) 17
+              19:      6(int) Load 18
+                              Store 16(ly) 19
+              22:     13(ptr) AccessChain 21(gl_LaunchSizeNVX) 12
+              23:      6(int) Load 22
+                              Store 20(sx) 23
+              25:     13(ptr) AccessChain 21(gl_LaunchSizeNVX) 17
+              26:      6(int) Load 25
+                              Store 24(sy) 26
+              30:          27 Load 29(accNV)
+              31:      6(int) Load 8(lx)
+              32:      6(int) Load 16(ly)
+              33:      6(int) Load 20(sx)
+              34:      6(int) Load 24(sy)
+                              TraceNVX 30 31 32 33 34 12 38 39 41 42 44
+              54:     53(ptr) AccessChain 50 51 52
+                              Store 54 40
+              57:   47(fvec4) Load 56(payload)
+              59:     58(ptr) AccessChain 50 44
+                              Store 59 57
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.RayGenShader_Errors.rgen.out b/Test/baseResults/spv.RayGenShader_Errors.rgen.out
new file mode 100644
index 0000000..7d9e2c2
--- /dev/null
+++ b/Test/baseResults/spv.RayGenShader_Errors.rgen.out
@@ -0,0 +1,39 @@
+spv.RayGenShader_Errors.rgen
+ERROR: 0:3: 'hitAttributeNVX' : not supported in this stage: ray-generation
+ERROR: 0:4: 'rayPayloadInNVX' : not supported in this stage: ray-generation
+ERROR: 0:5: 'shaderRecordNVX' : can only be used with a buffer 
+ERROR: 0:9: 'binding' : cannot be used with shaderRecordNVX 
+ERROR: 0:12: 'set' : cannot be used with shaderRecordNVX 
+ERROR: 0:23: 'accelerationStructureNVX' : accelerationStructureNVX can only be used in uniform variables or function parameters: a
+ERROR: 0:23: '=' :  cannot convert from ' const int' to ' temp accelerationStructureNVX'
+ERROR: 0:24: 'gl_PrimitiveID' : undeclared identifier 
+ERROR: 0:24: '=' :  cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:25: 'gl_InstanceID' : undeclared identifier (Did you mean gl_InstanceIndex?)
+ERROR: 0:25: '=' :  cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:26: 'gl_InstanceCustomIndexNVX' : undeclared identifier 
+ERROR: 0:26: '=' :  cannot convert from ' temp float' to ' temp highp int'
+ERROR: 0:27: 'gl_WorldRayOriginNVX' : undeclared identifier 
+ERROR: 0:27: '=' :  cannot convert from ' temp float' to ' temp highp 3-component vector of float'
+ERROR: 0:28: 'gl_WorldRayDirectionNVX' : undeclared identifier 
+ERROR: 0:28: '=' :  cannot convert from ' temp float' to ' temp highp 3-component vector of float'
+ERROR: 0:29: 'gl_ObjectRayOriginNVX' : undeclared identifier 
+ERROR: 0:29: '=' :  cannot convert from ' temp float' to ' temp highp 3-component vector of float'
+ERROR: 0:30: 'gl_ObjectRayDirectionNVX' : undeclared identifier 
+ERROR: 0:30: '=' :  cannot convert from ' temp float' to ' temp highp 3-component vector of float'
+ERROR: 0:31: 'gl_RayTminNVX' : undeclared identifier 
+ERROR: 0:32: 'gl_RayTmaxNVX' : undeclared identifier 
+ERROR: 0:33: 'gl_ObjectToWorldNVX' : undeclared identifier 
+ERROR: 0:33: '=' :  cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
+ERROR: 0:34: 'gl_WorldToObjectNVX' : undeclared identifier 
+ERROR: 0:34: '=' :  cannot convert from ' temp float' to ' temp highp 4X3 matrix of float'
+ERROR: 0:35: 'gl_HitTNVX' : undeclared identifier 
+ERROR: 0:36: 'gl_HitKindNVX' : undeclared identifier 
+ERROR: 0:37: 'reportIntersectionNVX' : no matching overloaded function found 
+ERROR: 0:38: 'ignoreIntersectionNVX' : no matching overloaded function found 
+ERROR: 0:39: 'terminateRayNVX' : no matching overloaded function found 
+ERROR: 32 compilation errors.  No code generated.
+
+
+ERROR: Linking ray-generation stage: Only one shaderRecordNVX buffer block is allowed per stage
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.accessChain.frag.out b/Test/baseResults/spv.accessChain.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.always-discard2.frag.out b/Test/baseResults/spv.always-discard2.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.atomic.comp.out b/Test/baseResults/spv.atomic.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.barrier.vert.out b/Test/baseResults/spv.barrier.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.builtInXFB.vert.out b/Test/baseResults/spv.builtInXFB.vert.out
old mode 100755
new mode 100644
index 556a698..f175a19
--- a/Test/baseResults/spv.builtInXFB.vert.out
+++ b/Test/baseResults/spv.builtInXFB.vert.out
@@ -1,4 +1,8 @@
 spv.builtInXFB.vert
+error: SPIRV-Tools Validation Errors
+error: Capability TransformFeedback is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability TransformFeedback
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 21
diff --git a/Test/baseResults/spv.computeShaderDerivatives.comp.out b/Test/baseResults/spv.computeShaderDerivatives.comp.out
new file mode 100644
index 0000000..f05dbc0
--- /dev/null
+++ b/Test/baseResults/spv.computeShaderDerivatives.comp.out
@@ -0,0 +1,358 @@
+spv.computeShaderDerivatives.comp
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 212
+
+                              Capability Shader
+                              Capability DerivativeControl
+                              Capability ComputeDerivativeGroupQuadsNV
+                              Extension  "SPV_NV_compute_shader_derivatives"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 2 4 1
+                              ExecutionMode 4 DerivativeGroupQuadsNV
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_compute_shader_derivatives"
+                              Name 4  "main"
+                              Name 10  "block"
+                              MemberName 10(block) 0  "fDerivativeX"
+                              MemberName 10(block) 1  "fDerivativeY"
+                              MemberName 10(block) 2  "fDerivativeWidth"
+                              MemberName 10(block) 3  "fCoarseDerivativeX"
+                              MemberName 10(block) 4  "fCoarseDerivativeY"
+                              MemberName 10(block) 5  "fCoarseDerivativeWidth"
+                              MemberName 10(block) 6  "fFineDerivativeX"
+                              MemberName 10(block) 7  "fFineDerivativeY"
+                              MemberName 10(block) 8  "fFineDerivativeWidth"
+                              MemberName 10(block) 9  "fX"
+                              MemberName 10(block) 10  "fY"
+                              MemberName 10(block) 11  "v2DerivativeX"
+                              MemberName 10(block) 12  "v2DerivativeY"
+                              MemberName 10(block) 13  "v2DerivativeWidth"
+                              MemberName 10(block) 14  "v2CoarseDerivativeX"
+                              MemberName 10(block) 15  "v2CoarseDerivativeY"
+                              MemberName 10(block) 16  "v2CoarseDerivativeWidth"
+                              MemberName 10(block) 17  "v2FineDerivativeX"
+                              MemberName 10(block) 18  "v2FineDerivativeY"
+                              MemberName 10(block) 19  "v2FineDerivativeWidth"
+                              MemberName 10(block) 20  "v2X"
+                              MemberName 10(block) 21  "v2Y"
+                              MemberName 10(block) 22  "v3DerivativeX"
+                              MemberName 10(block) 23  "v3DerivativeY"
+                              MemberName 10(block) 24  "v3DerivativeWidth"
+                              MemberName 10(block) 25  "v3CoarseDerivativeX"
+                              MemberName 10(block) 26  "v3CoarseDerivativeY"
+                              MemberName 10(block) 27  "v3CoarseDerivativeWidth"
+                              MemberName 10(block) 28  "v3FineDerivativeX"
+                              MemberName 10(block) 29  "v3FineDerivativeY"
+                              MemberName 10(block) 30  "v3FineDerivativeWidth"
+                              MemberName 10(block) 31  "v3X"
+                              MemberName 10(block) 32  "v3Y"
+                              MemberName 10(block) 33  "v4DerivativeX"
+                              MemberName 10(block) 34  "v4DerivativeY"
+                              MemberName 10(block) 35  "v4DerivativeWidth"
+                              MemberName 10(block) 36  "v4CoarseDerivativeX"
+                              MemberName 10(block) 37  "v4CoarseDerivativeY"
+                              MemberName 10(block) 38  "v4CoarseDerivativeWidth"
+                              MemberName 10(block) 39  "v4FineDerivativeX"
+                              MemberName 10(block) 40  "v4FineDerivativeY"
+                              MemberName 10(block) 41  "v4FineDerivativeWidth"
+                              MemberName 10(block) 42  "v4X"
+                              MemberName 10(block) 43  "v4Y"
+                              Name 12  ""
+                              MemberDecorate 10(block) 0 Offset 0
+                              MemberDecorate 10(block) 1 Offset 4
+                              MemberDecorate 10(block) 2 Offset 8
+                              MemberDecorate 10(block) 3 Offset 12
+                              MemberDecorate 10(block) 4 Offset 16
+                              MemberDecorate 10(block) 5 Offset 20
+                              MemberDecorate 10(block) 6 Offset 24
+                              MemberDecorate 10(block) 7 Offset 28
+                              MemberDecorate 10(block) 8 Offset 32
+                              MemberDecorate 10(block) 9 Offset 36
+                              MemberDecorate 10(block) 10 Offset 40
+                              MemberDecorate 10(block) 11 Offset 48
+                              MemberDecorate 10(block) 12 Offset 56
+                              MemberDecorate 10(block) 13 Offset 64
+                              MemberDecorate 10(block) 14 Offset 72
+                              MemberDecorate 10(block) 15 Offset 80
+                              MemberDecorate 10(block) 16 Offset 88
+                              MemberDecorate 10(block) 17 Offset 96
+                              MemberDecorate 10(block) 18 Offset 104
+                              MemberDecorate 10(block) 19 Offset 112
+                              MemberDecorate 10(block) 20 Offset 120
+                              MemberDecorate 10(block) 21 Offset 128
+                              MemberDecorate 10(block) 22 Offset 144
+                              MemberDecorate 10(block) 23 Offset 160
+                              MemberDecorate 10(block) 24 Offset 176
+                              MemberDecorate 10(block) 25 Offset 192
+                              MemberDecorate 10(block) 26 Offset 208
+                              MemberDecorate 10(block) 27 Offset 224
+                              MemberDecorate 10(block) 28 Offset 240
+                              MemberDecorate 10(block) 29 Offset 256
+                              MemberDecorate 10(block) 30 Offset 272
+                              MemberDecorate 10(block) 31 Offset 288
+                              MemberDecorate 10(block) 32 Offset 304
+                              MemberDecorate 10(block) 33 Offset 320
+                              MemberDecorate 10(block) 34 Offset 336
+                              MemberDecorate 10(block) 35 Offset 352
+                              MemberDecorate 10(block) 36 Offset 368
+                              MemberDecorate 10(block) 37 Offset 384
+                              MemberDecorate 10(block) 38 Offset 400
+                              MemberDecorate 10(block) 39 Offset 416
+                              MemberDecorate 10(block) 40 Offset 432
+                              MemberDecorate 10(block) 41 Offset 448
+                              MemberDecorate 10(block) 42 Offset 464
+                              MemberDecorate 10(block) 43 Offset 480
+                              Decorate 10(block) BufferBlock
+                              Decorate 12 DescriptorSet 0
+                              Decorate 211 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 2
+               8:             TypeVector 6(float) 3
+               9:             TypeVector 6(float) 4
+       10(block):             TypeStruct 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4)
+              11:             TypePointer Uniform 10(block)
+              12:     11(ptr) Variable Uniform
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              15:     13(int) Constant 9
+              16:             TypePointer Uniform 6(float)
+              21:     13(int) Constant 1
+              22:     13(int) Constant 10
+              27:     13(int) Constant 2
+              32:     13(int) Constant 3
+              37:     13(int) Constant 4
+              42:     13(int) Constant 5
+              47:     13(int) Constant 6
+              52:     13(int) Constant 7
+              57:     13(int) Constant 8
+              62:     13(int) Constant 11
+              63:     13(int) Constant 20
+              64:             TypePointer Uniform 7(fvec2)
+              69:     13(int) Constant 12
+              70:     13(int) Constant 21
+              75:     13(int) Constant 13
+              80:     13(int) Constant 14
+              85:     13(int) Constant 15
+              90:     13(int) Constant 16
+              95:     13(int) Constant 17
+             100:     13(int) Constant 18
+             105:     13(int) Constant 19
+             110:     13(int) Constant 22
+             111:     13(int) Constant 31
+             112:             TypePointer Uniform 8(fvec3)
+             117:     13(int) Constant 23
+             118:     13(int) Constant 32
+             123:     13(int) Constant 24
+             128:     13(int) Constant 25
+             133:     13(int) Constant 26
+             138:     13(int) Constant 27
+             143:     13(int) Constant 28
+             148:     13(int) Constant 29
+             153:     13(int) Constant 30
+             158:     13(int) Constant 33
+             159:     13(int) Constant 42
+             160:             TypePointer Uniform 9(fvec4)
+             165:     13(int) Constant 34
+             166:     13(int) Constant 43
+             171:     13(int) Constant 35
+             176:     13(int) Constant 36
+             181:     13(int) Constant 37
+             186:     13(int) Constant 38
+             191:     13(int) Constant 39
+             196:     13(int) Constant 40
+             201:     13(int) Constant 41
+             206:             TypeInt 32 0
+             207:             TypeVector 206(int) 3
+             208:    206(int) Constant 2
+             209:    206(int) Constant 4
+             210:    206(int) Constant 1
+             211:  207(ivec3) ConstantComposite 208 209 210
+         4(main):           2 Function None 3
+               5:             Label
+              17:     16(ptr) AccessChain 12 15
+              18:    6(float) Load 17
+              19:    6(float) DPdx 18
+              20:     16(ptr) AccessChain 12 14
+                              Store 20 19
+              23:     16(ptr) AccessChain 12 22
+              24:    6(float) Load 23
+              25:    6(float) DPdy 24
+              26:     16(ptr) AccessChain 12 21
+                              Store 26 25
+              28:     16(ptr) AccessChain 12 15
+              29:    6(float) Load 28
+              30:    6(float) Fwidth 29
+              31:     16(ptr) AccessChain 12 27
+                              Store 31 30
+              33:     16(ptr) AccessChain 12 15
+              34:    6(float) Load 33
+              35:    6(float) DPdxCoarse 34
+              36:     16(ptr) AccessChain 12 32
+                              Store 36 35
+              38:     16(ptr) AccessChain 12 22
+              39:    6(float) Load 38
+              40:    6(float) DPdyCoarse 39
+              41:     16(ptr) AccessChain 12 37
+                              Store 41 40
+              43:     16(ptr) AccessChain 12 15
+              44:    6(float) Load 43
+              45:    6(float) FwidthCoarse 44
+              46:     16(ptr) AccessChain 12 42
+                              Store 46 45
+              48:     16(ptr) AccessChain 12 15
+              49:    6(float) Load 48
+              50:    6(float) DPdxFine 49
+              51:     16(ptr) AccessChain 12 47
+                              Store 51 50
+              53:     16(ptr) AccessChain 12 22
+              54:    6(float) Load 53
+              55:    6(float) DPdyFine 54
+              56:     16(ptr) AccessChain 12 52
+                              Store 56 55
+              58:     16(ptr) AccessChain 12 15
+              59:    6(float) Load 58
+              60:    6(float) FwidthFine 59
+              61:     16(ptr) AccessChain 12 57
+                              Store 61 60
+              65:     64(ptr) AccessChain 12 63
+              66:    7(fvec2) Load 65
+              67:    7(fvec2) DPdx 66
+              68:     64(ptr) AccessChain 12 62
+                              Store 68 67
+              71:     64(ptr) AccessChain 12 70
+              72:    7(fvec2) Load 71
+              73:    7(fvec2) DPdy 72
+              74:     64(ptr) AccessChain 12 69
+                              Store 74 73
+              76:     64(ptr) AccessChain 12 63
+              77:    7(fvec2) Load 76
+              78:    7(fvec2) Fwidth 77
+              79:     64(ptr) AccessChain 12 75
+                              Store 79 78
+              81:     64(ptr) AccessChain 12 63
+              82:    7(fvec2) Load 81
+              83:    7(fvec2) DPdxCoarse 82
+              84:     64(ptr) AccessChain 12 80
+                              Store 84 83
+              86:     64(ptr) AccessChain 12 70
+              87:    7(fvec2) Load 86
+              88:    7(fvec2) DPdyCoarse 87
+              89:     64(ptr) AccessChain 12 85
+                              Store 89 88
+              91:     64(ptr) AccessChain 12 63
+              92:    7(fvec2) Load 91
+              93:    7(fvec2) FwidthCoarse 92
+              94:     64(ptr) AccessChain 12 90
+                              Store 94 93
+              96:     64(ptr) AccessChain 12 63
+              97:    7(fvec2) Load 96
+              98:    7(fvec2) DPdxFine 97
+              99:     64(ptr) AccessChain 12 95
+                              Store 99 98
+             101:     64(ptr) AccessChain 12 70
+             102:    7(fvec2) Load 101
+             103:    7(fvec2) DPdyFine 102
+             104:     64(ptr) AccessChain 12 100
+                              Store 104 103
+             106:     64(ptr) AccessChain 12 63
+             107:    7(fvec2) Load 106
+             108:    7(fvec2) FwidthFine 107
+             109:     64(ptr) AccessChain 12 105
+                              Store 109 108
+             113:    112(ptr) AccessChain 12 111
+             114:    8(fvec3) Load 113
+             115:    8(fvec3) DPdx 114
+             116:    112(ptr) AccessChain 12 110
+                              Store 116 115
+             119:    112(ptr) AccessChain 12 118
+             120:    8(fvec3) Load 119
+             121:    8(fvec3) DPdy 120
+             122:    112(ptr) AccessChain 12 117
+                              Store 122 121
+             124:    112(ptr) AccessChain 12 111
+             125:    8(fvec3) Load 124
+             126:    8(fvec3) Fwidth 125
+             127:    112(ptr) AccessChain 12 123
+                              Store 127 126
+             129:    112(ptr) AccessChain 12 111
+             130:    8(fvec3) Load 129
+             131:    8(fvec3) DPdxCoarse 130
+             132:    112(ptr) AccessChain 12 128
+                              Store 132 131
+             134:    112(ptr) AccessChain 12 118
+             135:    8(fvec3) Load 134
+             136:    8(fvec3) DPdyCoarse 135
+             137:    112(ptr) AccessChain 12 133
+                              Store 137 136
+             139:    112(ptr) AccessChain 12 111
+             140:    8(fvec3) Load 139
+             141:    8(fvec3) FwidthCoarse 140
+             142:    112(ptr) AccessChain 12 138
+                              Store 142 141
+             144:    112(ptr) AccessChain 12 111
+             145:    8(fvec3) Load 144
+             146:    8(fvec3) DPdxFine 145
+             147:    112(ptr) AccessChain 12 143
+                              Store 147 146
+             149:    112(ptr) AccessChain 12 118
+             150:    8(fvec3) Load 149
+             151:    8(fvec3) DPdyFine 150
+             152:    112(ptr) AccessChain 12 148
+                              Store 152 151
+             154:    112(ptr) AccessChain 12 111
+             155:    8(fvec3) Load 154
+             156:    8(fvec3) FwidthFine 155
+             157:    112(ptr) AccessChain 12 153
+                              Store 157 156
+             161:    160(ptr) AccessChain 12 159
+             162:    9(fvec4) Load 161
+             163:    9(fvec4) DPdx 162
+             164:    160(ptr) AccessChain 12 158
+                              Store 164 163
+             167:    160(ptr) AccessChain 12 166
+             168:    9(fvec4) Load 167
+             169:    9(fvec4) DPdy 168
+             170:    160(ptr) AccessChain 12 165
+                              Store 170 169
+             172:    160(ptr) AccessChain 12 159
+             173:    9(fvec4) Load 172
+             174:    9(fvec4) Fwidth 173
+             175:    160(ptr) AccessChain 12 171
+                              Store 175 174
+             177:    160(ptr) AccessChain 12 159
+             178:    9(fvec4) Load 177
+             179:    9(fvec4) DPdxCoarse 178
+             180:    160(ptr) AccessChain 12 176
+                              Store 180 179
+             182:    160(ptr) AccessChain 12 166
+             183:    9(fvec4) Load 182
+             184:    9(fvec4) DPdyCoarse 183
+             185:    160(ptr) AccessChain 12 181
+                              Store 185 184
+             187:    160(ptr) AccessChain 12 159
+             188:    9(fvec4) Load 187
+             189:    9(fvec4) FwidthCoarse 188
+             190:    160(ptr) AccessChain 12 186
+                              Store 190 189
+             192:    160(ptr) AccessChain 12 159
+             193:    9(fvec4) Load 192
+             194:    9(fvec4) DPdxFine 193
+             195:    160(ptr) AccessChain 12 191
+                              Store 195 194
+             197:    160(ptr) AccessChain 12 166
+             198:    9(fvec4) Load 197
+             199:    9(fvec4) DPdyFine 198
+             200:    160(ptr) AccessChain 12 196
+                              Store 200 199
+             202:    160(ptr) AccessChain 12 159
+             203:    9(fvec4) Load 202
+             204:    9(fvec4) FwidthFine 203
+             205:    160(ptr) AccessChain 12 201
+                              Store 205 204
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.computeShaderDerivatives2.comp.out b/Test/baseResults/spv.computeShaderDerivatives2.comp.out
new file mode 100644
index 0000000..94a3dfc
--- /dev/null
+++ b/Test/baseResults/spv.computeShaderDerivatives2.comp.out
@@ -0,0 +1,358 @@
+spv.computeShaderDerivatives2.comp
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 212
+
+                              Capability Shader
+                              Capability DerivativeControl
+                              Capability ComputeDerivativeGroupLinearNV
+                              Extension  "SPV_NV_compute_shader_derivatives"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 2 4 1
+                              ExecutionMode 4 DerivativeGroupLinearNV
+                              Source ESSL 320
+                              SourceExtension  "GL_NV_compute_shader_derivatives"
+                              Name 4  "main"
+                              Name 10  "block"
+                              MemberName 10(block) 0  "fDerivativeX"
+                              MemberName 10(block) 1  "fDerivativeY"
+                              MemberName 10(block) 2  "fDerivativeWidth"
+                              MemberName 10(block) 3  "fCoarseDerivativeX"
+                              MemberName 10(block) 4  "fCoarseDerivativeY"
+                              MemberName 10(block) 5  "fCoarseDerivativeWidth"
+                              MemberName 10(block) 6  "fFineDerivativeX"
+                              MemberName 10(block) 7  "fFineDerivativeY"
+                              MemberName 10(block) 8  "fFineDerivativeWidth"
+                              MemberName 10(block) 9  "fX"
+                              MemberName 10(block) 10  "fY"
+                              MemberName 10(block) 11  "v2DerivativeX"
+                              MemberName 10(block) 12  "v2DerivativeY"
+                              MemberName 10(block) 13  "v2DerivativeWidth"
+                              MemberName 10(block) 14  "v2CoarseDerivativeX"
+                              MemberName 10(block) 15  "v2CoarseDerivativeY"
+                              MemberName 10(block) 16  "v2CoarseDerivativeWidth"
+                              MemberName 10(block) 17  "v2FineDerivativeX"
+                              MemberName 10(block) 18  "v2FineDerivativeY"
+                              MemberName 10(block) 19  "v2FineDerivativeWidth"
+                              MemberName 10(block) 20  "v2X"
+                              MemberName 10(block) 21  "v2Y"
+                              MemberName 10(block) 22  "v3DerivativeX"
+                              MemberName 10(block) 23  "v3DerivativeY"
+                              MemberName 10(block) 24  "v3DerivativeWidth"
+                              MemberName 10(block) 25  "v3CoarseDerivativeX"
+                              MemberName 10(block) 26  "v3CoarseDerivativeY"
+                              MemberName 10(block) 27  "v3CoarseDerivativeWidth"
+                              MemberName 10(block) 28  "v3FineDerivativeX"
+                              MemberName 10(block) 29  "v3FineDerivativeY"
+                              MemberName 10(block) 30  "v3FineDerivativeWidth"
+                              MemberName 10(block) 31  "v3X"
+                              MemberName 10(block) 32  "v3Y"
+                              MemberName 10(block) 33  "v4DerivativeX"
+                              MemberName 10(block) 34  "v4DerivativeY"
+                              MemberName 10(block) 35  "v4DerivativeWidth"
+                              MemberName 10(block) 36  "v4CoarseDerivativeX"
+                              MemberName 10(block) 37  "v4CoarseDerivativeY"
+                              MemberName 10(block) 38  "v4CoarseDerivativeWidth"
+                              MemberName 10(block) 39  "v4FineDerivativeX"
+                              MemberName 10(block) 40  "v4FineDerivativeY"
+                              MemberName 10(block) 41  "v4FineDerivativeWidth"
+                              MemberName 10(block) 42  "v4X"
+                              MemberName 10(block) 43  "v4Y"
+                              Name 12  ""
+                              MemberDecorate 10(block) 0 Offset 0
+                              MemberDecorate 10(block) 1 Offset 4
+                              MemberDecorate 10(block) 2 Offset 8
+                              MemberDecorate 10(block) 3 Offset 12
+                              MemberDecorate 10(block) 4 Offset 16
+                              MemberDecorate 10(block) 5 Offset 20
+                              MemberDecorate 10(block) 6 Offset 24
+                              MemberDecorate 10(block) 7 Offset 28
+                              MemberDecorate 10(block) 8 Offset 32
+                              MemberDecorate 10(block) 9 Offset 36
+                              MemberDecorate 10(block) 10 Offset 40
+                              MemberDecorate 10(block) 11 Offset 48
+                              MemberDecorate 10(block) 12 Offset 56
+                              MemberDecorate 10(block) 13 Offset 64
+                              MemberDecorate 10(block) 14 Offset 72
+                              MemberDecorate 10(block) 15 Offset 80
+                              MemberDecorate 10(block) 16 Offset 88
+                              MemberDecorate 10(block) 17 Offset 96
+                              MemberDecorate 10(block) 18 Offset 104
+                              MemberDecorate 10(block) 19 Offset 112
+                              MemberDecorate 10(block) 20 Offset 120
+                              MemberDecorate 10(block) 21 Offset 128
+                              MemberDecorate 10(block) 22 Offset 144
+                              MemberDecorate 10(block) 23 Offset 160
+                              MemberDecorate 10(block) 24 Offset 176
+                              MemberDecorate 10(block) 25 Offset 192
+                              MemberDecorate 10(block) 26 Offset 208
+                              MemberDecorate 10(block) 27 Offset 224
+                              MemberDecorate 10(block) 28 Offset 240
+                              MemberDecorate 10(block) 29 Offset 256
+                              MemberDecorate 10(block) 30 Offset 272
+                              MemberDecorate 10(block) 31 Offset 288
+                              MemberDecorate 10(block) 32 Offset 304
+                              MemberDecorate 10(block) 33 Offset 320
+                              MemberDecorate 10(block) 34 Offset 336
+                              MemberDecorate 10(block) 35 Offset 352
+                              MemberDecorate 10(block) 36 Offset 368
+                              MemberDecorate 10(block) 37 Offset 384
+                              MemberDecorate 10(block) 38 Offset 400
+                              MemberDecorate 10(block) 39 Offset 416
+                              MemberDecorate 10(block) 40 Offset 432
+                              MemberDecorate 10(block) 41 Offset 448
+                              MemberDecorate 10(block) 42 Offset 464
+                              MemberDecorate 10(block) 43 Offset 480
+                              Decorate 10(block) BufferBlock
+                              Decorate 12 DescriptorSet 0
+                              Decorate 211 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 2
+               8:             TypeVector 6(float) 3
+               9:             TypeVector 6(float) 4
+       10(block):             TypeStruct 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 6(float) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 7(fvec2) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 8(fvec3) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4) 9(fvec4)
+              11:             TypePointer Uniform 10(block)
+              12:     11(ptr) Variable Uniform
+              13:             TypeInt 32 1
+              14:     13(int) Constant 0
+              15:     13(int) Constant 9
+              16:             TypePointer Uniform 6(float)
+              21:     13(int) Constant 1
+              22:     13(int) Constant 10
+              27:     13(int) Constant 2
+              32:     13(int) Constant 3
+              37:     13(int) Constant 4
+              42:     13(int) Constant 5
+              47:     13(int) Constant 6
+              52:     13(int) Constant 7
+              57:     13(int) Constant 8
+              62:     13(int) Constant 11
+              63:     13(int) Constant 20
+              64:             TypePointer Uniform 7(fvec2)
+              69:     13(int) Constant 12
+              70:     13(int) Constant 21
+              75:     13(int) Constant 13
+              80:     13(int) Constant 14
+              85:     13(int) Constant 15
+              90:     13(int) Constant 16
+              95:     13(int) Constant 17
+             100:     13(int) Constant 18
+             105:     13(int) Constant 19
+             110:     13(int) Constant 22
+             111:     13(int) Constant 31
+             112:             TypePointer Uniform 8(fvec3)
+             117:     13(int) Constant 23
+             118:     13(int) Constant 32
+             123:     13(int) Constant 24
+             128:     13(int) Constant 25
+             133:     13(int) Constant 26
+             138:     13(int) Constant 27
+             143:     13(int) Constant 28
+             148:     13(int) Constant 29
+             153:     13(int) Constant 30
+             158:     13(int) Constant 33
+             159:     13(int) Constant 42
+             160:             TypePointer Uniform 9(fvec4)
+             165:     13(int) Constant 34
+             166:     13(int) Constant 43
+             171:     13(int) Constant 35
+             176:     13(int) Constant 36
+             181:     13(int) Constant 37
+             186:     13(int) Constant 38
+             191:     13(int) Constant 39
+             196:     13(int) Constant 40
+             201:     13(int) Constant 41
+             206:             TypeInt 32 0
+             207:             TypeVector 206(int) 3
+             208:    206(int) Constant 2
+             209:    206(int) Constant 4
+             210:    206(int) Constant 1
+             211:  207(ivec3) ConstantComposite 208 209 210
+         4(main):           2 Function None 3
+               5:             Label
+              17:     16(ptr) AccessChain 12 15
+              18:    6(float) Load 17
+              19:    6(float) DPdx 18
+              20:     16(ptr) AccessChain 12 14
+                              Store 20 19
+              23:     16(ptr) AccessChain 12 22
+              24:    6(float) Load 23
+              25:    6(float) DPdy 24
+              26:     16(ptr) AccessChain 12 21
+                              Store 26 25
+              28:     16(ptr) AccessChain 12 15
+              29:    6(float) Load 28
+              30:    6(float) Fwidth 29
+              31:     16(ptr) AccessChain 12 27
+                              Store 31 30
+              33:     16(ptr) AccessChain 12 15
+              34:    6(float) Load 33
+              35:    6(float) DPdxCoarse 34
+              36:     16(ptr) AccessChain 12 32
+                              Store 36 35
+              38:     16(ptr) AccessChain 12 22
+              39:    6(float) Load 38
+              40:    6(float) DPdyCoarse 39
+              41:     16(ptr) AccessChain 12 37
+                              Store 41 40
+              43:     16(ptr) AccessChain 12 15
+              44:    6(float) Load 43
+              45:    6(float) FwidthCoarse 44
+              46:     16(ptr) AccessChain 12 42
+                              Store 46 45
+              48:     16(ptr) AccessChain 12 15
+              49:    6(float) Load 48
+              50:    6(float) DPdxFine 49
+              51:     16(ptr) AccessChain 12 47
+                              Store 51 50
+              53:     16(ptr) AccessChain 12 22
+              54:    6(float) Load 53
+              55:    6(float) DPdyFine 54
+              56:     16(ptr) AccessChain 12 52
+                              Store 56 55
+              58:     16(ptr) AccessChain 12 15
+              59:    6(float) Load 58
+              60:    6(float) FwidthFine 59
+              61:     16(ptr) AccessChain 12 57
+                              Store 61 60
+              65:     64(ptr) AccessChain 12 63
+              66:    7(fvec2) Load 65
+              67:    7(fvec2) DPdx 66
+              68:     64(ptr) AccessChain 12 62
+                              Store 68 67
+              71:     64(ptr) AccessChain 12 70
+              72:    7(fvec2) Load 71
+              73:    7(fvec2) DPdy 72
+              74:     64(ptr) AccessChain 12 69
+                              Store 74 73
+              76:     64(ptr) AccessChain 12 63
+              77:    7(fvec2) Load 76
+              78:    7(fvec2) Fwidth 77
+              79:     64(ptr) AccessChain 12 75
+                              Store 79 78
+              81:     64(ptr) AccessChain 12 63
+              82:    7(fvec2) Load 81
+              83:    7(fvec2) DPdxCoarse 82
+              84:     64(ptr) AccessChain 12 80
+                              Store 84 83
+              86:     64(ptr) AccessChain 12 70
+              87:    7(fvec2) Load 86
+              88:    7(fvec2) DPdyCoarse 87
+              89:     64(ptr) AccessChain 12 85
+                              Store 89 88
+              91:     64(ptr) AccessChain 12 63
+              92:    7(fvec2) Load 91
+              93:    7(fvec2) FwidthCoarse 92
+              94:     64(ptr) AccessChain 12 90
+                              Store 94 93
+              96:     64(ptr) AccessChain 12 63
+              97:    7(fvec2) Load 96
+              98:    7(fvec2) DPdxFine 97
+              99:     64(ptr) AccessChain 12 95
+                              Store 99 98
+             101:     64(ptr) AccessChain 12 70
+             102:    7(fvec2) Load 101
+             103:    7(fvec2) DPdyFine 102
+             104:     64(ptr) AccessChain 12 100
+                              Store 104 103
+             106:     64(ptr) AccessChain 12 63
+             107:    7(fvec2) Load 106
+             108:    7(fvec2) FwidthFine 107
+             109:     64(ptr) AccessChain 12 105
+                              Store 109 108
+             113:    112(ptr) AccessChain 12 111
+             114:    8(fvec3) Load 113
+             115:    8(fvec3) DPdx 114
+             116:    112(ptr) AccessChain 12 110
+                              Store 116 115
+             119:    112(ptr) AccessChain 12 118
+             120:    8(fvec3) Load 119
+             121:    8(fvec3) DPdy 120
+             122:    112(ptr) AccessChain 12 117
+                              Store 122 121
+             124:    112(ptr) AccessChain 12 111
+             125:    8(fvec3) Load 124
+             126:    8(fvec3) Fwidth 125
+             127:    112(ptr) AccessChain 12 123
+                              Store 127 126
+             129:    112(ptr) AccessChain 12 111
+             130:    8(fvec3) Load 129
+             131:    8(fvec3) DPdxCoarse 130
+             132:    112(ptr) AccessChain 12 128
+                              Store 132 131
+             134:    112(ptr) AccessChain 12 118
+             135:    8(fvec3) Load 134
+             136:    8(fvec3) DPdyCoarse 135
+             137:    112(ptr) AccessChain 12 133
+                              Store 137 136
+             139:    112(ptr) AccessChain 12 111
+             140:    8(fvec3) Load 139
+             141:    8(fvec3) FwidthCoarse 140
+             142:    112(ptr) AccessChain 12 138
+                              Store 142 141
+             144:    112(ptr) AccessChain 12 111
+             145:    8(fvec3) Load 144
+             146:    8(fvec3) DPdxFine 145
+             147:    112(ptr) AccessChain 12 143
+                              Store 147 146
+             149:    112(ptr) AccessChain 12 118
+             150:    8(fvec3) Load 149
+             151:    8(fvec3) DPdyFine 150
+             152:    112(ptr) AccessChain 12 148
+                              Store 152 151
+             154:    112(ptr) AccessChain 12 111
+             155:    8(fvec3) Load 154
+             156:    8(fvec3) FwidthFine 155
+             157:    112(ptr) AccessChain 12 153
+                              Store 157 156
+             161:    160(ptr) AccessChain 12 159
+             162:    9(fvec4) Load 161
+             163:    9(fvec4) DPdx 162
+             164:    160(ptr) AccessChain 12 158
+                              Store 164 163
+             167:    160(ptr) AccessChain 12 166
+             168:    9(fvec4) Load 167
+             169:    9(fvec4) DPdy 168
+             170:    160(ptr) AccessChain 12 165
+                              Store 170 169
+             172:    160(ptr) AccessChain 12 159
+             173:    9(fvec4) Load 172
+             174:    9(fvec4) Fwidth 173
+             175:    160(ptr) AccessChain 12 171
+                              Store 175 174
+             177:    160(ptr) AccessChain 12 159
+             178:    9(fvec4) Load 177
+             179:    9(fvec4) DPdxCoarse 178
+             180:    160(ptr) AccessChain 12 176
+                              Store 180 179
+             182:    160(ptr) AccessChain 12 166
+             183:    9(fvec4) Load 182
+             184:    9(fvec4) DPdyCoarse 183
+             185:    160(ptr) AccessChain 12 181
+                              Store 185 184
+             187:    160(ptr) AccessChain 12 159
+             188:    9(fvec4) Load 187
+             189:    9(fvec4) FwidthCoarse 188
+             190:    160(ptr) AccessChain 12 186
+                              Store 190 189
+             192:    160(ptr) AccessChain 12 159
+             193:    9(fvec4) Load 192
+             194:    9(fvec4) DPdxFine 193
+             195:    160(ptr) AccessChain 12 191
+                              Store 195 194
+             197:    160(ptr) AccessChain 12 166
+             198:    9(fvec4) Load 197
+             199:    9(fvec4) DPdyFine 198
+             200:    160(ptr) AccessChain 12 196
+                              Store 200 199
+             202:    160(ptr) AccessChain 12 159
+             203:    9(fvec4) Load 202
+             204:    9(fvec4) FwidthFine 203
+             205:    160(ptr) AccessChain 12 201
+                              Store 205 204
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.conditionalDiscard.frag.out b/Test/baseResults/spv.conditionalDiscard.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.constStruct.vert.out b/Test/baseResults/spv.constStruct.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.controlFlowAttributes.frag.out b/Test/baseResults/spv.controlFlowAttributes.frag.out
old mode 100755
new mode 100644
index eb25382..2f074de
--- a/Test/baseResults/spv.controlFlowAttributes.frag.out
+++ b/Test/baseResults/spv.controlFlowAttributes.frag.out
@@ -7,6 +7,8 @@
 WARNING: 0:25: '' : attribute with arguments not recognized, skipping 
 WARNING: 0:26: '' : attribute with arguments not recognized, skipping 
 
+error: SPIRV-Tools Validation Errors
+error: Invalid loop control operand: 4 has invalid mask component 4
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 118
diff --git a/Test/baseResults/spv.conversion.frag.out b/Test/baseResults/spv.conversion.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.dataOut.frag.out b/Test/baseResults/spv.dataOut.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.dataOutIndirect.frag.out b/Test/baseResults/spv.dataOutIndirect.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.dataOutIndirect.vert.out b/Test/baseResults/spv.dataOutIndirect.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.debugInfo.1.1.frag.out b/Test/baseResults/spv.debugInfo.1.1.frag.out
index facaf9e..7ba0052 100644
--- a/Test/baseResults/spv.debugInfo.1.1.frag.out
+++ b/Test/baseResults/spv.debugInfo.1.1.frag.out
@@ -1,4 +1,6 @@
 spv.debugInfo.frag
+error: SPIRV-Tools Validation Errors
+error: Invalid SPIR-V binary version 1.3 for target environment SPIR-V 1.0 (under OpenGL 4.5 semantics).
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 124
diff --git a/Test/baseResults/spv.depthOut.frag.out b/Test/baseResults/spv.depthOut.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.discard-dce.frag.out b/Test/baseResults/spv.discard-dce.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.do-simple.vert.out b/Test/baseResults/spv.do-simple.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.doWhileLoop.frag.out b/Test/baseResults/spv.doWhileLoop.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.double.comp.out b/Test/baseResults/spv.double.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.earlyReturnDiscard.frag.out b/Test/baseResults/spv.earlyReturnDiscard.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.explicittypes.frag.out b/Test/baseResults/spv.explicittypes.frag.out
old mode 100755
new mode 100644
index 6f7f2b9..44f5ddd
--- a/Test/baseResults/spv.explicittypes.frag.out
+++ b/Test/baseResults/spv.explicittypes.frag.out
@@ -1,4 +1,8 @@
 spv.explicittypes.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 576
diff --git a/Test/baseResults/spv.float16.frag.out b/Test/baseResults/spv.float16.frag.out
index b6d37f4..b9ca339 100644
--- a/Test/baseResults/spv.float16.frag.out
+++ b/Test/baseResults/spv.float16.frag.out
@@ -1,4 +1,8 @@
 spv.float16.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 534
diff --git a/Test/baseResults/spv.float16Fetch.frag.out b/Test/baseResults/spv.float16Fetch.frag.out
index 67ddd61..7632737 100644
--- a/Test/baseResults/spv.float16Fetch.frag.out
+++ b/Test/baseResults/spv.float16Fetch.frag.out
@@ -1,4 +1,8 @@
 spv.float16Fetch.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 5923
@@ -23,7 +27,6 @@
                               Capability StorageInputOutput16
                               Capability Float16ImageAMD
                               Capability ImageGatherBiasLodAMD
-                              Extension  "SPV_AMD_gpu_shader_half_float"
                               Extension  "SPV_AMD_gpu_shader_half_float_fetch"
                               Extension  "SPV_AMD_texture_gather_bias_lod"
                               Extension  "SPV_KHR_16bit_storage"
diff --git a/Test/baseResults/spv.float32.frag.out b/Test/baseResults/spv.float32.frag.out
index 40c6677..9ee7d7f 100644
--- a/Test/baseResults/spv.float32.frag.out
+++ b/Test/baseResults/spv.float32.frag.out
@@ -1,4 +1,8 @@
 spv.float32.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 533
diff --git a/Test/baseResults/spv.float64.frag.out b/Test/baseResults/spv.float64.frag.out
index 4913954..3f095c1 100644
--- a/Test/baseResults/spv.float64.frag.out
+++ b/Test/baseResults/spv.float64.frag.out
@@ -1,4 +1,8 @@
 spv.float64.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 524
diff --git a/Test/baseResults/spv.flowControl.frag.out b/Test/baseResults/spv.flowControl.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.for-simple.vert.out b/Test/baseResults/spv.for-simple.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.forLoop.frag.out b/Test/baseResults/spv.forLoop.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.forwardFun.frag.out b/Test/baseResults/spv.forwardFun.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.fragmentShaderBarycentric.frag.out b/Test/baseResults/spv.fragmentShaderBarycentric.frag.out
new file mode 100644
index 0000000..ffb3527
--- /dev/null
+++ b/Test/baseResults/spv.fragmentShaderBarycentric.frag.out
@@ -0,0 +1,69 @@
+spv.fragmentShaderBarycentric.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 43
+
+                              Capability Shader
+                              Capability FragmentBarycentricNV
+                              Extension  "SPV_NV_fragment_shader_barycentric"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 8 11 21
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_fragment_shader_barycentric"
+                              Name 4  "main"
+                              Name 8  "value"
+                              Name 11  "gl_BaryCoordNV"
+                              Name 17  "vertices"
+                              MemberName 17(vertices) 0  "attrib"
+                              Name 21  "v"
+                              Decorate 8(value) Location 1
+                              Decorate 11(gl_BaryCoordNV) BuiltIn BaryCoordNV
+                              Decorate 17(vertices) Block
+                              Decorate 21(v) Location 0
+                              Decorate 21(v) PerVertexNV
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Output 6(float)
+        8(value):      7(ptr) Variable Output
+               9:             TypeVector 6(float) 3
+              10:             TypePointer Input 9(fvec3)
+11(gl_BaryCoordNV):     10(ptr) Variable Input
+              12:             TypeInt 32 0
+              13:     12(int) Constant 0
+              14:             TypePointer Input 6(float)
+    17(vertices):             TypeStruct 6(float)
+              18:     12(int) Constant 3
+              19:             TypeArray 17(vertices) 18
+              20:             TypePointer Input 19
+           21(v):     20(ptr) Variable Input
+              22:             TypeInt 32 1
+              23:     22(int) Constant 0
+              27:     12(int) Constant 1
+              30:     22(int) Constant 1
+              35:     12(int) Constant 2
+              38:     22(int) Constant 2
+         4(main):           2 Function None 3
+               5:             Label
+              15:     14(ptr) AccessChain 11(gl_BaryCoordNV) 13
+              16:    6(float) Load 15
+              24:     14(ptr) AccessChain 21(v) 23 23
+              25:    6(float) Load 24
+              26:    6(float) FMul 16 25
+              28:     14(ptr) AccessChain 11(gl_BaryCoordNV) 27
+              29:    6(float) Load 28
+              31:     14(ptr) AccessChain 21(v) 30 23
+              32:    6(float) Load 31
+              33:    6(float) FMul 29 32
+              34:    6(float) FAdd 26 33
+              36:     14(ptr) AccessChain 11(gl_BaryCoordNV) 35
+              37:    6(float) Load 36
+              39:     14(ptr) AccessChain 21(v) 38 23
+              40:    6(float) Load 39
+              41:    6(float) FMul 37 40
+              42:    6(float) FAdd 34 41
+                              Store 8(value) 42
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out b/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out
new file mode 100644
index 0000000..05dce7a
--- /dev/null
+++ b/Test/baseResults/spv.fragmentShaderBarycentric2.frag.out
@@ -0,0 +1,65 @@
+spv.fragmentShaderBarycentric2.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 42
+
+                              Capability Shader
+                              Capability FragmentBarycentricNV
+                              Extension  "SPV_NV_fragment_shader_barycentric"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 8 11 20
+                              ExecutionMode 4 OriginUpperLeft
+                              Source ESSL 320
+                              SourceExtension  "GL_NV_fragment_shader_barycentric"
+                              Name 4  "main"
+                              Name 8  "value"
+                              Name 11  "gl_BaryCoordNoPerspNV"
+                              Name 20  "vertexIDs"
+                              Decorate 8(value) Location 1
+                              Decorate 11(gl_BaryCoordNoPerspNV) BuiltIn BaryCoordNoPerspNV
+                              Decorate 20(vertexIDs) Location 0
+                              Decorate 20(vertexIDs) PerVertexNV
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypePointer Output 6(float)
+        8(value):      7(ptr) Variable Output
+               9:             TypeVector 6(float) 3
+              10:             TypePointer Input 9(fvec3)
+11(gl_BaryCoordNoPerspNV):     10(ptr) Variable Input
+              12:             TypeInt 32 0
+              13:     12(int) Constant 0
+              14:             TypePointer Input 6(float)
+              17:     12(int) Constant 3
+              18:             TypeArray 6(float) 17
+              19:             TypePointer Input 18
+   20(vertexIDs):     19(ptr) Variable Input
+              21:             TypeInt 32 1
+              22:     21(int) Constant 0
+              26:     12(int) Constant 1
+              29:     21(int) Constant 1
+              34:     12(int) Constant 2
+              37:     21(int) Constant 2
+         4(main):           2 Function None 3
+               5:             Label
+              15:     14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 13
+              16:    6(float) Load 15
+              23:     14(ptr) AccessChain 20(vertexIDs) 22
+              24:    6(float) Load 23
+              25:    6(float) FMul 16 24
+              27:     14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 26
+              28:    6(float) Load 27
+              30:     14(ptr) AccessChain 20(vertexIDs) 29
+              31:    6(float) Load 30
+              32:    6(float) FMul 28 31
+              33:    6(float) FAdd 25 32
+              35:     14(ptr) AccessChain 11(gl_BaryCoordNoPerspNV) 34
+              36:    6(float) Load 35
+              38:     14(ptr) AccessChain 20(vertexIDs) 37
+              39:    6(float) Load 38
+              40:    6(float) FMul 36 39
+              41:    6(float) FAdd 33 40
+                              Store 8(value) 41
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.functionCall.frag.out b/Test/baseResults/spv.functionCall.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.functionSemantics.frag.out b/Test/baseResults/spv.functionSemantics.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.glFragColor.frag.out b/Test/baseResults/spv.glFragColor.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.image.frag.out b/Test/baseResults/spv.image.frag.out
index 2c35a0c..2f925b3 100644
--- a/Test/baseResults/spv.image.frag.out
+++ b/Test/baseResults/spv.image.frag.out
@@ -1,4 +1,8 @@
 spv.image.frag
+error: SPIRV-Tools Validation Errors
+error: Capability ImageRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability ImageRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 376
diff --git a/Test/baseResults/spv.imageLoadStoreLod.frag.out b/Test/baseResults/spv.imageLoadStoreLod.frag.out
index 4c65a36..db9177d 100644
--- a/Test/baseResults/spv.imageLoadStoreLod.frag.out
+++ b/Test/baseResults/spv.imageLoadStoreLod.frag.out
@@ -1,4 +1,8 @@
 spv.imageLoadStoreLod.frag
+error: SPIRV-Tools Validation Errors
+error: Image Operand Lod can only be used with ExplicitLod opcodes and OpImageFetch
+  %19 = OpImageRead %v4float %15 %int_1 Lod %int_3
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 82
diff --git a/Test/baseResults/spv.int16.amd.frag.out b/Test/baseResults/spv.int16.amd.frag.out
index c404375..526373b 100644
--- a/Test/baseResults/spv.int16.amd.frag.out
+++ b/Test/baseResults/spv.int16.amd.frag.out
@@ -1,4 +1,8 @@
 spv.int16.amd.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 560
@@ -10,7 +14,6 @@
                               Capability Int16
                               Capability StorageUniform16
                               Capability StorageInputOutput16
-                              Extension  "SPV_AMD_gpu_shader_half_float"
                               Extension  "SPV_AMD_gpu_shader_int16"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
diff --git a/Test/baseResults/spv.int16.frag.out b/Test/baseResults/spv.int16.frag.out
index 84128ab..3ba5c07 100644
--- a/Test/baseResults/spv.int16.frag.out
+++ b/Test/baseResults/spv.int16.frag.out
@@ -1,4 +1,8 @@
 spv.int16.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 523
@@ -10,8 +14,6 @@
                               Capability Int16
                               Capability Int8
                               Capability StorageUniform16
-                              Extension  "SPV_AMD_gpu_shader_half_float"
-                              Extension  "SPV_AMD_gpu_shader_int16"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
                               MemoryModel Logical GLSL450
diff --git a/Test/baseResults/spv.int32.frag.out b/Test/baseResults/spv.int32.frag.out
index d72de0d..3b93428 100644
--- a/Test/baseResults/spv.int32.frag.out
+++ b/Test/baseResults/spv.int32.frag.out
@@ -1,4 +1,8 @@
 spv.int32.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 493
diff --git a/Test/baseResults/spv.int8.frag.out b/Test/baseResults/spv.int8.frag.out
index 14922b2..1c65384 100644
--- a/Test/baseResults/spv.int8.frag.out
+++ b/Test/baseResults/spv.int8.frag.out
@@ -1,4 +1,8 @@
 spv.int8.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 518
diff --git a/Test/baseResults/spv.length.frag.out b/Test/baseResults/spv.length.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.localAggregates.frag.out b/Test/baseResults/spv.localAggregates.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.loops.frag.out b/Test/baseResults/spv.loops.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.loopsArtificial.frag.out b/Test/baseResults/spv.loopsArtificial.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.matFun.vert.out b/Test/baseResults/spv.matFun.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.memoryQualifier.frag.out b/Test/baseResults/spv.memoryQualifier.frag.out
index 02783b9..4113cc9 100644
--- a/Test/baseResults/spv.memoryQualifier.frag.out
+++ b/Test/baseResults/spv.memoryQualifier.frag.out
@@ -1,4 +1,8 @@
 spv.memoryQualifier.frag
+error: SPIRV-Tools Validation Errors
+error: Capability ImageRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability ImageRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 97
diff --git a/Test/baseResults/spv.memoryScopeSemantics.comp.out b/Test/baseResults/spv.memoryScopeSemantics.comp.out
new file mode 100644
index 0000000..d4e6a4a
--- /dev/null
+++ b/Test/baseResults/spv.memoryScopeSemantics.comp.out
@@ -0,0 +1,239 @@
+spv.memoryScopeSemantics.comp
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 142
+
+                              Capability Shader
+                              Capability Int64
+                              Capability Int64Atomics
+                              Capability CapabilityVulkanMemoryModelKHR
+                              Capability CapabilityVulkanMemoryModelDeviceScopeKHR
+                              Extension  "SPV_KHR_vulkan_memory_model"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical VulkanKHR
+                              EntryPoint GLCompute 4  "main"
+                              ExecutionMode 4 LocalSize 1 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_ARB_gpu_shader_int64"
+                              SourceExtension  "GL_KHR_memory_scope_semantics"
+                              Name 4  "main"
+                              Name 8  "origi"
+                              Name 10  "atomi"
+                              Name 21  "origu"
+                              Name 23  "atomu"
+                              Name 24  "value"
+                              Name 36  "imagei"
+                              Name 45  "imageu"
+                              Name 65  "BufferU"
+                              MemberName 65(BufferU) 0  "x"
+                              Name 67  "bufferu"
+                              Name 72  "y"
+                              Name 77  "BufferI"
+                              MemberName 77(BufferI) 0  "x"
+                              Name 79  "bufferi"
+                              Name 83  "A"
+                              MemberName 83(A) 0  "x"
+                              Name 84  "BufferJ"
+                              MemberName 84(BufferJ) 0  "a"
+                              Name 87  "bufferj"
+                              Name 98  "BufferK"
+                              MemberName 98(BufferK) 0  "x"
+                              Name 100  "bufferk"
+                              Name 109  "imagej"
+                              Name 121  "samp"
+                              Name 132  "atomu64"
+                              Name 137  "atomi64"
+                              Decorate 36(imagei) DescriptorSet 0
+                              Decorate 36(imagei) Binding 1
+                              Decorate 45(imageu) DescriptorSet 0
+                              Decorate 45(imageu) Binding 0
+                              MemberDecorate 65(BufferU) 0 Offset 0
+                              Decorate 65(BufferU) BufferBlock
+                              Decorate 67(bufferu) DescriptorSet 0
+                              Decorate 67(bufferu) Binding 2
+                              MemberDecorate 77(BufferI) 0 Offset 0
+                              Decorate 77(BufferI) BufferBlock
+                              Decorate 79(bufferi) DescriptorSet 0
+                              Decorate 79(bufferi) Binding 3
+                              Decorate 82 ArrayStride 4
+                              MemberDecorate 83(A) 0 Offset 0
+                              MemberDecorate 84(BufferJ) 0 Offset 0
+                              Decorate 84(BufferJ) BufferBlock
+                              Decorate 87(bufferj) DescriptorSet 0
+                              Decorate 87(bufferj) Binding 4
+                              MemberDecorate 98(BufferK) 0 Offset 0
+                              Decorate 98(BufferK) Block
+                              Decorate 100(bufferk) DescriptorSet 0
+                              Decorate 100(bufferk) Binding 7
+                              Decorate 109(imagej) DescriptorSet 0
+                              Decorate 109(imagej) Binding 5
+                              Decorate 121(samp) DescriptorSet 0
+                              Decorate 121(samp) Binding 6
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 1
+               7:             TypePointer Function 6(int)
+               9:             TypePointer Workgroup 6(int)
+       10(atomi):      9(ptr) Variable Workgroup
+              11:      6(int) Constant 3
+              12:      6(int) Constant 1
+              13:      6(int) Constant 320
+              14:      6(int) Constant 4
+              15:             TypeInt 32 0
+              16:     15(int) Constant 5
+              17:     15(int) Constant 0
+              18:     15(int) Constant 324
+              20:             TypePointer Function 15(int)
+              22:             TypePointer Workgroup 15(int)
+       23(atomu):     22(ptr) Variable Workgroup
+       24(value):     22(ptr) Variable Workgroup
+              26:     15(int) Constant 2
+              28:      6(int) Constant 64
+              29:      6(int) Constant 2
+              30:     15(int) Constant 66
+              33:     15(int) Constant 68
+              34:             TypeImage 6(int) 2D nonsampled format:R32i
+              35:             TypePointer UniformConstant 34
+      36(imagei):     35(ptr) Variable UniformConstant
+              37:             TypeVector 6(int) 2
+              38:      6(int) Constant 0
+              39:   37(ivec2) ConstantComposite 38 38
+              40:             TypePointer Image 6(int)
+              43:             TypeImage 15(int) 2D nonsampled format:R32ui
+              44:             TypePointer UniformConstant 43
+      45(imageu):     44(ptr) Variable UniformConstant
+              46:     15(int) Constant 3
+              47:             TypePointer Image 15(int)
+              50:     15(int) Constant 4
+              52:     15(int) Constant 7
+              57:      6(int) Constant 7
+              61:     15(int) Constant 10
+              63:     15(int) Constant 322
+     65(BufferU):             TypeStruct 15(int)
+              66:             TypePointer Uniform 65(BufferU)
+     67(bufferu):     66(ptr) Variable Uniform
+              68:             TypePointer Uniform 15(int)
+              70:     15(int) Constant 1
+     77(BufferI):             TypeStruct 15(int)
+              78:             TypePointer Uniform 77(BufferI)
+     79(bufferi):     78(ptr) Variable Uniform
+              82:             TypeArray 15(int) 26
+           83(A):             TypeStruct 82
+     84(BufferJ):             TypeStruct 83(A)
+              85:             TypeArray 84(BufferJ) 26
+              86:             TypePointer Uniform 85
+     87(bufferj):     86(ptr) Variable Uniform
+              94:             TypePointer Uniform 83(A)
+     98(BufferK):             TypeStruct 15(int)
+              99:             TypePointer Uniform 98(BufferK)
+    100(bufferk):     99(ptr) Variable Uniform
+             105:             TypeVector 6(int) 4
+             107:             TypeArray 34 26
+             108:             TypePointer UniformConstant 107
+     109(imagej):    108(ptr) Variable UniformConstant
+             115:  105(ivec4) ConstantComposite 38 38 38 38
+             116:             TypeFloat 32
+             117:             TypeImage 116(float) 2D sampled format:Unknown
+             118:             TypeSampledImage 117
+             119:             TypeArray 118 26
+             120:             TypePointer UniformConstant 119
+       121(samp):    120(ptr) Variable UniformConstant
+             122:             TypePointer UniformConstant 118
+             125:             TypeVector 116(float) 2
+             126:  116(float) Constant 0
+             127:  125(fvec2) ConstantComposite 126 126
+             128:             TypeVector 116(float) 4
+             130:             TypeInt 64 0
+             131:             TypePointer Workgroup 130(int64_t)
+    132(atomu64):    131(ptr) Variable Workgroup
+             133:130(int64_t) Constant 7 0
+             135:             TypeInt 64 1
+             136:             TypePointer Workgroup 135(int64_t)
+    137(atomi64):    136(ptr) Variable Workgroup
+             138:135(int64_t) Constant 10 0
+         4(main):           2 Function None 3
+               5:             Label
+        8(origi):      7(ptr) Variable Function
+       21(origu):     20(ptr) Variable Function
+           72(y):     20(ptr) Variable Function
+              19:      6(int) AtomicIAdd 10(atomi) 12 18 11
+                              Store 8(origi) 19
+              25:     15(int) Load 24(value) MakePointerVisibleKHR 26
+              27:     15(int) AtomicAnd 23(atomu) 16 17 25
+                              Store 21(origu) 27
+              31:      6(int) AtomicLoad 10(atomi) 12 30
+                              Store 8(origi) 31
+              32:     15(int) Load 24(value) MakePointerVisibleKHR 26
+                              AtomicStore 23(atomu) 12 33 32
+              41:     40(ptr) ImageTexelPointer 36(imagei) 39 17
+              42:      6(int) AtomicLoad 41 12 30
+                              Store 8(origi) 42
+              48:     47(ptr) ImageTexelPointer 45(imageu) 39 17
+              49:     15(int) AtomicIAdd 48 12 30 46
+                              Store 21(origu) 49
+              51:     47(ptr) ImageTexelPointer 45(imageu) 39 17
+                              AtomicStore 51 12 33 50
+              53:     15(int) AtomicOr 23(atomu) 12 17 52
+                              Store 21(origu) 53
+              54:     15(int) AtomicXor 23(atomu) 12 17 52
+                              Store 21(origu) 54
+              55:     15(int) Load 24(value) MakePointerVisibleKHR 26
+              56:     15(int) AtomicUMin 23(atomu) 12 17 55
+                              Store 21(origu) 56
+              58:      6(int) AtomicSMax 10(atomi) 12 17 57
+                              Store 8(origi) 58
+              59:      6(int) Load 8(origi)
+              60:      6(int) AtomicExchange 10(atomi) 12 17 59
+                              Store 8(origi) 60
+              62:     15(int) Load 24(value) MakePointerVisibleKHR 26
+              64:     15(int) AtomicCompareExchange 23(atomu) 12 63 63 62 61
+                              Store 21(origu) 64
+              69:     68(ptr) AccessChain 67(bufferu) 38
+              71:     15(int) AtomicIAdd 69 12 18 70
+                              MemoryBarrier 26 18
+                              ControlBarrier 26 26 63
+                              ControlBarrier 26 26 17
+              73:     68(ptr) AccessChain 67(bufferu) 38
+              74:     15(int) Load 73 MakePointerVisibleKHR NonPrivatePointerKHR 26
+                              Store 72(y) 74
+              75:     15(int) Load 72(y)
+              76:     68(ptr) AccessChain 67(bufferu) 38
+                              Store 76 75 MakePointerAvailableKHR NonPrivatePointerKHR 26
+              80:     68(ptr) AccessChain 79(bufferi) 38
+              81:     15(int) Load 80 MakePointerVisibleKHR NonPrivatePointerKHR 16
+                              Store 72(y) 81
+              88:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
+              89:     15(int) Load 88 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
+                              Store 72(y) 89
+              90:     15(int) Load 72(y)
+              91:     68(ptr) AccessChain 79(bufferi) 38
+                              Store 91 90 MakePointerAvailableKHR NonPrivatePointerKHR 16
+              92:     15(int) Load 72(y)
+              93:     68(ptr) AccessChain 87(bufferj) 38 38 38 12
+                              Store 93 92 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
+              95:     94(ptr) AccessChain 87(bufferj) 12 38
+              96:       83(A) Load 95 Volatile MakePointerVisibleKHR NonPrivatePointerKHR 46
+              97:     94(ptr) AccessChain 87(bufferj) 38 38
+                              Store 97 96 Volatile MakePointerAvailableKHR NonPrivatePointerKHR 46
+             101:     68(ptr) AccessChain 100(bufferk) 38
+             102:     15(int) Load 101 NonPrivatePointerKHR 
+             103:     68(ptr) AccessChain 79(bufferi) 38
+                              Store 103 102 MakePointerAvailableKHR NonPrivatePointerKHR 16
+             104:          34 Load 36(imagei)
+             106:  105(ivec4) ImageRead 104 39 MakeTexelVisibleKHR NonPrivateTexelKHR VolatileTexelKHR 16
+             110:     35(ptr) AccessChain 109(imagej) 38
+             111:          34 Load 110
+             112:  105(ivec4) ImageRead 111 39 NonPrivateTexelKHR 
+             113:     35(ptr) AccessChain 109(imagej) 12
+             114:          34 Load 113
+                              ImageWrite 114 39 115 NonPrivateTexelKHR 
+             123:    122(ptr) AccessChain 121(samp) 38
+             124:         118 Load 123
+             129:  128(fvec4) ImageSampleExplicitLod 124 127 Lod NonPrivateTexelKHR 126
+             134:130(int64_t) AtomicUMax 132(atomu64) 12 17 133
+                              Store 132(atomu64) 134 MakePointerAvailableKHR 26
+             139:130(int64_t) Load 132(atomu64) MakePointerVisibleKHR 26
+             140:135(int64_t) Bitcast 139
+             141:135(int64_t) AtomicCompareExchange 137(atomi64) 12 63 63 140 138
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.memoryScopeSemantics_Error.comp.out b/Test/baseResults/spv.memoryScopeSemantics_Error.comp.out
new file mode 100644
index 0000000..c4149d8
--- /dev/null
+++ b/Test/baseResults/spv.memoryScopeSemantics_Error.comp.out
@@ -0,0 +1,17 @@
+spv.memoryScopeSemantics_Error.comp
+ERROR: 0:15: 'atomicStore' : gl_SemanticsAcquire must not be used with (image) atomic store 
+ERROR: 0:16: 'imageAtomicLoad' : gl_SemanticsRelease must not be used with (image) atomic load 
+ERROR: 0:17: 'atomicStore' : gl_SemanticsAcquireRelease must not be used with (image) atomic load/store 
+ERROR: 0:18: 'atomicStore' : Invalid semantics value 
+ERROR: 0:19: 'imageAtomicLoad' : Invalid storage class semantics value 
+ERROR: 0:20: 'memoryBarrier' : Semantics must include exactly one of gl_SemanticsRelease, gl_SemanticsAcquire, or gl_SemanticsAcquireRelease 
+ERROR: 0:21: 'memoryBarrier' : Storage class semantics must not be zero 
+ERROR: 0:22: 'memoryBarrier' : Semantics must include exactly one of gl_SemanticsRelease, gl_SemanticsAcquire, or gl_SemanticsAcquireRelease 
+ERROR: 0:23: 'atomicAdd' : Semantics must not include multiple of gl_SemanticsRelease, gl_SemanticsAcquire, or gl_SemanticsAcquireRelease 
+ERROR: 0:24: 'atomicCompSwap' : semUnequal must not be gl_SemanticsRelease or gl_SemanticsAcquireRelease 
+ERROR: 0:25: 'memoryBarrier' : gl_SemanticsMakeVisible requires gl_SemanticsAcquire or gl_SemanticsAcquireRelease 
+ERROR: 0:26: 'memoryBarrier' : gl_SemanticsMakeAvailable requires gl_SemanticsRelease or gl_SemanticsAcquireRelease 
+ERROR: 12 compilation errors.  No code generated.
+
+
+SPIR-V is not generated for failed compile or link
diff --git a/Test/baseResults/spv.meshShaderBuiltins.mesh.out b/Test/baseResults/spv.meshShaderBuiltins.mesh.out
new file mode 100644
index 0000000..ef4ff4d
--- /dev/null
+++ b/Test/baseResults/spv.meshShaderBuiltins.mesh.out
@@ -0,0 +1,259 @@
+spv.meshShaderBuiltins.mesh
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 147
+
+                              Capability ClipDistance
+                              Capability CullDistance
+                              Capability MultiViewport
+                              Capability DrawParameters
+                              Capability ShaderViewportMaskNV
+                              Capability MeshShadingNV
+                              Extension  "SPV_KHR_shader_draw_parameters"
+                              Extension  "SPV_NV_mesh_shader"
+                              Extension  "SPV_NV_viewport_array2"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MeshNV 4  "main" 11 17 34 89 129 140 144
+                              ExecutionMode 4 LocalSize 32 1 1
+                              ExecutionMode 4 OutputVertices 81
+                              ExecutionMode 4 OutputPrimitivesNV 32
+                              ExecutionMode 4 OutputTrianglesNV
+                              Source GLSL 460
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 16  "gid"
+                              Name 17  "gl_WorkGroupID"
+                              Name 30  "gl_MeshPerVertexNV"
+                              MemberName 30(gl_MeshPerVertexNV) 0  "gl_Position"
+                              MemberName 30(gl_MeshPerVertexNV) 1  "gl_PointSize"
+                              MemberName 30(gl_MeshPerVertexNV) 2  "gl_ClipDistance"
+                              MemberName 30(gl_MeshPerVertexNV) 3  "gl_CullDistance"
+                              MemberName 30(gl_MeshPerVertexNV) 4  "gl_PositionPerViewNV"
+                              MemberName 30(gl_MeshPerVertexNV) 5  "gl_ClipDistancePerViewNV"
+                              MemberName 30(gl_MeshPerVertexNV) 6  "gl_CullDistancePerViewNV"
+                              Name 34  "gl_MeshVerticesNV"
+                              Name 85  "gl_MeshPerPrimitiveNV"
+                              MemberName 85(gl_MeshPerPrimitiveNV) 0  "gl_PrimitiveID"
+                              MemberName 85(gl_MeshPerPrimitiveNV) 1  "gl_Layer"
+                              MemberName 85(gl_MeshPerPrimitiveNV) 2  "gl_ViewportIndex"
+                              MemberName 85(gl_MeshPerPrimitiveNV) 3  "gl_ViewportMask"
+                              MemberName 85(gl_MeshPerPrimitiveNV) 4  "gl_LayerPerViewNV"
+                              MemberName 85(gl_MeshPerPrimitiveNV) 5  "gl_ViewportMaskPerViewNV"
+                              Name 89  "gl_MeshPrimitivesNV"
+                              Name 129  "gl_PrimitiveIndicesNV"
+                              Name 140  "gl_DrawID"
+                              Name 144  "gl_PrimitiveCountNV"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
+                              MemberDecorate 30(gl_MeshPerVertexNV) 0 BuiltIn Position
+                              MemberDecorate 30(gl_MeshPerVertexNV) 1 BuiltIn PointSize
+                              MemberDecorate 30(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
+                              MemberDecorate 30(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
+                              MemberDecorate 30(gl_MeshPerVertexNV) 4 PerViewNV
+                              MemberDecorate 30(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
+                              MemberDecorate 30(gl_MeshPerVertexNV) 5 PerViewNV
+                              MemberDecorate 30(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
+                              MemberDecorate 30(gl_MeshPerVertexNV) 6 PerViewNV
+                              MemberDecorate 30(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
+                              Decorate 30(gl_MeshPerVertexNV) Block
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 4 PerViewNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 5 PerViewNV
+                              MemberDecorate 85(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
+                              Decorate 85(gl_MeshPerPrimitiveNV) Block
+                              Decorate 129(gl_PrimitiveIndicesNV) BuiltIn PrimitiveIndicesNV
+                              Decorate 140(gl_DrawID) BuiltIn DrawIndex
+                              Decorate 144(gl_PrimitiveCountNV) BuiltIn PrimitiveCountNV
+                              Decorate 146 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+17(gl_WorkGroupID):     10(ptr) Variable Input
+              20:             TypeFloat 32
+              21:             TypeVector 20(float) 4
+              22:      6(int) Constant 4
+              23:             TypeArray 20(float) 22
+              24:      6(int) Constant 3
+              25:             TypeArray 20(float) 24
+              26:             TypeArray 21(fvec4) 22
+              27:      6(int) Constant 8
+              28:             TypeArray 20(float) 27
+              29:             TypeArray 28 22
+30(gl_MeshPerVertexNV):             TypeStruct 21(fvec4) 20(float) 23 25 26 29 29
+              31:      6(int) Constant 81
+              32:             TypeArray 30(gl_MeshPerVertexNV) 31
+              33:             TypePointer Output 32
+34(gl_MeshVerticesNV):     33(ptr) Variable Output
+              36:             TypeInt 32 1
+              37:     36(int) Constant 0
+              38:   20(float) Constant 1065353216
+              39:   21(fvec4) ConstantComposite 38 38 38 38
+              40:             TypePointer Output 21(fvec4)
+              43:     36(int) Constant 1
+              44:   20(float) Constant 1073741824
+              45:             TypePointer Output 20(float)
+              48:     36(int) Constant 2
+              49:     36(int) Constant 3
+              50:   20(float) Constant 1077936128
+              53:   20(float) Constant 1082130432
+              55:      6(int) Constant 1
+              56:      6(int) Constant 264
+              57:      6(int) Constant 2
+              82:             TypeArray 36(int) 55
+              83:             TypeArray 36(int) 22
+              84:             TypeArray 82 22
+85(gl_MeshPerPrimitiveNV):             TypeStruct 36(int) 36(int) 36(int) 82 83 84
+              86:      6(int) Constant 32
+              87:             TypeArray 85(gl_MeshPerPrimitiveNV) 86
+              88:             TypePointer Output 87
+89(gl_MeshPrimitivesNV):     88(ptr) Variable Output
+              91:     36(int) Constant 6
+              92:             TypePointer Output 36(int)
+              95:     36(int) Constant 7
+              98:     36(int) Constant 8
+             101:     36(int) Constant 9
+             127:             TypeArray 6(int) 31
+             128:             TypePointer Output 127
+129(gl_PrimitiveIndicesNV):    128(ptr) Variable Output
+             130:      6(int) Constant 257
+             131:             TypePointer Output 6(int)
+             139:             TypePointer Input 36(int)
+  140(gl_DrawID):    139(ptr) Variable Input
+             143:      6(int) Constant 16909060
+144(gl_PrimitiveCountNV):    131(ptr) Variable Output
+             145:      6(int) Constant 96
+             146:    9(ivec3) ConstantComposite 86 55 55
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+         16(gid):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
+              19:      6(int) Load 18
+                              Store 16(gid) 19
+              35:      6(int) Load 8(iid)
+              41:     40(ptr) AccessChain 34(gl_MeshVerticesNV) 35 37
+                              Store 41 39
+              42:      6(int) Load 8(iid)
+              46:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 42 43
+                              Store 46 44
+              47:      6(int) Load 8(iid)
+              51:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 47 48 49
+                              Store 51 50
+              52:      6(int) Load 8(iid)
+              54:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 52 49 48
+                              Store 54 53
+                              MemoryBarrier 55 56
+                              ControlBarrier 57 57 56
+              58:      6(int) Load 8(iid)
+              59:      6(int) IAdd 58 55
+              60:      6(int) Load 8(iid)
+              61:     40(ptr) AccessChain 34(gl_MeshVerticesNV) 60 37
+              62:   21(fvec4) Load 61
+              63:     40(ptr) AccessChain 34(gl_MeshVerticesNV) 59 37
+                              Store 63 62
+              64:      6(int) Load 8(iid)
+              65:      6(int) IAdd 64 55
+              66:      6(int) Load 8(iid)
+              67:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 66 43
+              68:   20(float) Load 67
+              69:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 65 43
+                              Store 69 68
+              70:      6(int) Load 8(iid)
+              71:      6(int) IAdd 70 55
+              72:      6(int) Load 8(iid)
+              73:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 72 48 49
+              74:   20(float) Load 73
+              75:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 71 48 49
+                              Store 75 74
+              76:      6(int) Load 8(iid)
+              77:      6(int) IAdd 76 55
+              78:      6(int) Load 8(iid)
+              79:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 78 49 48
+              80:   20(float) Load 79
+              81:     45(ptr) AccessChain 34(gl_MeshVerticesNV) 77 49 48
+                              Store 81 80
+                              MemoryBarrier 55 56
+                              ControlBarrier 57 57 56
+              90:      6(int) Load 8(iid)
+              93:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 90 37
+                              Store 93 91
+              94:      6(int) Load 8(iid)
+              96:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 94 43
+                              Store 96 95
+              97:      6(int) Load 8(iid)
+              99:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 97 48
+                              Store 99 98
+             100:      6(int) Load 8(iid)
+             102:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 100 49 37
+                              Store 102 101
+                              MemoryBarrier 55 56
+                              ControlBarrier 57 57 56
+             103:      6(int) Load 8(iid)
+             104:      6(int) IAdd 103 55
+             105:      6(int) Load 8(iid)
+             106:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 105 37
+             107:     36(int) Load 106
+             108:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 104 37
+                              Store 108 107
+             109:      6(int) Load 8(iid)
+             110:      6(int) IAdd 109 55
+             111:      6(int) Load 8(iid)
+             112:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 111 43
+             113:     36(int) Load 112
+             114:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 110 43
+                              Store 114 113
+             115:      6(int) Load 8(iid)
+             116:      6(int) IAdd 115 55
+             117:      6(int) Load 8(iid)
+             118:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 117 48
+             119:     36(int) Load 118
+             120:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 116 48
+                              Store 120 119
+             121:      6(int) Load 8(iid)
+             122:      6(int) IAdd 121 55
+             123:      6(int) Load 8(iid)
+             124:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 123 49 37
+             125:     36(int) Load 124
+             126:     92(ptr) AccessChain 89(gl_MeshPrimitivesNV) 122 49 37
+                              Store 126 125
+                              MemoryBarrier 55 56
+                              ControlBarrier 57 57 56
+             132:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 37
+                              Store 132 130
+             133:      6(int) Load 16(gid)
+             134:      6(int) Load 16(gid)
+             135:      6(int) ISub 134 55
+             136:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 135
+             137:      6(int) Load 136
+             138:    131(ptr) AccessChain 129(gl_PrimitiveIndicesNV) 133
+                              Store 138 137
+             141:     36(int) Load 140(gl_DrawID)
+             142:      6(int) Bitcast 141
+             143:         142 WritePackedPrimitiveIndices4x8NV
+                              Store 144(gl_PrimitiveCountNV) 145
+                              MemoryBarrier 55 56
+                              ControlBarrier 57 57 56
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
new file mode 100644
index 0000000..c79a5c3
--- /dev/null
+++ b/Test/baseResults/spv.meshShaderPerViewBuiltins.mesh.out
@@ -0,0 +1,212 @@
+spv.meshShaderPerViewBuiltins.mesh
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 124
+
+                              Capability MultiViewport
+                              Capability PerViewAttributesNV
+                              Capability MeshShadingNV
+                              Extension  "SPV_NVX_multiview_per_view_attributes"
+                              Extension  "SPV_NV_mesh_shader"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MeshNV 4  "main" 11 20 21 38 70
+                              ExecutionMode 4 LocalSize 32 1 1
+                              ExecutionMode 4 OutputVertices 81
+                              ExecutionMode 4 OutputPrimitivesNV 32
+                              ExecutionMode 4 OutputTrianglesNV
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 16  "viewID"
+                              Name 20  "gl_MeshViewIndicesNV"
+                              Name 21  "gl_MeshViewCountNV"
+                              Name 34  "gl_MeshPerVertexNV"
+                              MemberName 34(gl_MeshPerVertexNV) 0  "gl_Position"
+                              MemberName 34(gl_MeshPerVertexNV) 1  "gl_PointSize"
+                              MemberName 34(gl_MeshPerVertexNV) 2  "gl_ClipDistance"
+                              MemberName 34(gl_MeshPerVertexNV) 3  "gl_CullDistance"
+                              MemberName 34(gl_MeshPerVertexNV) 4  "gl_PositionPerViewNV"
+                              MemberName 34(gl_MeshPerVertexNV) 5  "gl_ClipDistancePerViewNV"
+                              MemberName 34(gl_MeshPerVertexNV) 6  "gl_CullDistancePerViewNV"
+                              Name 38  "gl_MeshVerticesNV"
+                              Name 66  "gl_MeshPerPrimitiveNV"
+                              MemberName 66(gl_MeshPerPrimitiveNV) 0  "gl_PrimitiveID"
+                              MemberName 66(gl_MeshPerPrimitiveNV) 1  "gl_Layer"
+                              MemberName 66(gl_MeshPerPrimitiveNV) 2  "gl_ViewportIndex"
+                              MemberName 66(gl_MeshPerPrimitiveNV) 3  "gl_ViewportMask"
+                              MemberName 66(gl_MeshPerPrimitiveNV) 4  "gl_LayerPerViewNV"
+                              MemberName 66(gl_MeshPerPrimitiveNV) 5  "gl_ViewportMaskPerViewNV"
+                              Name 70  "gl_MeshPrimitivesNV"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
+                              Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
+                              MemberDecorate 34(gl_MeshPerVertexNV) 0 BuiltIn Position
+                              MemberDecorate 34(gl_MeshPerVertexNV) 1 BuiltIn PointSize
+                              MemberDecorate 34(gl_MeshPerVertexNV) 2 BuiltIn ClipDistance
+                              MemberDecorate 34(gl_MeshPerVertexNV) 3 BuiltIn CullDistance
+                              MemberDecorate 34(gl_MeshPerVertexNV) 4 PerViewNV
+                              MemberDecorate 34(gl_MeshPerVertexNV) 4 BuiltIn PositionPerViewNV
+                              MemberDecorate 34(gl_MeshPerVertexNV) 5 PerViewNV
+                              MemberDecorate 34(gl_MeshPerVertexNV) 5 BuiltIn ClipDistancePerViewNV
+                              MemberDecorate 34(gl_MeshPerVertexNV) 6 PerViewNV
+                              MemberDecorate 34(gl_MeshPerVertexNV) 6 BuiltIn CullDistancePerViewNV
+                              Decorate 34(gl_MeshPerVertexNV) Block
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 0 PerPrimitiveNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 0 BuiltIn PrimitiveId
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 1 PerPrimitiveNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 1 BuiltIn Layer
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 2 PerPrimitiveNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 2 BuiltIn ViewportIndex
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 3 PerPrimitiveNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 3 BuiltIn ViewportMaskNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 4 PerPrimitiveNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 4 PerViewNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 4 BuiltIn LayerPerViewNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 5 PerPrimitiveNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 5 PerViewNV
+                              MemberDecorate 66(gl_MeshPerPrimitiveNV) 5 BuiltIn ViewportMaskPerViewNV
+                              Decorate 66(gl_MeshPerPrimitiveNV) Block
+                              Decorate 123 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+              17:      6(int) Constant 4
+              18:             TypeArray 6(int) 17
+              19:             TypePointer Input 18
+20(gl_MeshViewIndicesNV):     19(ptr) Variable Input
+21(gl_MeshViewCountNV):     13(ptr) Variable Input
+              26:             TypeFloat 32
+              27:             TypeVector 26(float) 4
+              28:      6(int) Constant 1
+              29:             TypeArray 26(float) 28
+              30:             TypeArray 27(fvec4) 17
+              31:      6(int) Constant 8
+              32:             TypeArray 26(float) 31
+              33:             TypeArray 32 17
+34(gl_MeshPerVertexNV):             TypeStruct 27(fvec4) 26(float) 29 29 30 33 33
+              35:      6(int) Constant 81
+              36:             TypeArray 34(gl_MeshPerVertexNV) 35
+              37:             TypePointer Output 36
+38(gl_MeshVerticesNV):     37(ptr) Variable Output
+              40:             TypeInt 32 1
+              41:     40(int) Constant 4
+              43:   26(float) Constant 1065353216
+              44:   26(float) Constant 1073741824
+              45:   26(float) Constant 1077936128
+              46:   26(float) Constant 1082130432
+              47:   27(fvec4) ConstantComposite 43 44 45 46
+              48:             TypePointer Output 27(fvec4)
+              51:     40(int) Constant 5
+              53:     40(int) Constant 2
+              54:   26(float) Constant 1084227584
+              55:             TypePointer Output 26(float)
+              58:     40(int) Constant 6
+              60:     40(int) Constant 3
+              61:   26(float) Constant 1086324736
+              63:             TypeArray 40(int) 28
+              64:             TypeArray 40(int) 17
+              65:             TypeArray 63 17
+66(gl_MeshPerPrimitiveNV):             TypeStruct 40(int) 40(int) 40(int) 63 64 65
+              67:      6(int) Constant 32
+              68:             TypeArray 66(gl_MeshPerPrimitiveNV) 67
+              69:             TypePointer Output 68
+70(gl_MeshPrimitivesNV):     69(ptr) Variable Output
+              73:     40(int) Constant 7
+              74:             TypePointer Output 40(int)
+              78:     40(int) Constant 0
+              79:     40(int) Constant 8
+              81:      6(int) Constant 264
+              82:      6(int) Constant 2
+             123:    9(ivec3) ConstantComposite 67 28 28
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+      16(viewID):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              22:      6(int) Load 21(gl_MeshViewCountNV)
+              23:      6(int) UMod 22 17
+              24:     13(ptr) AccessChain 20(gl_MeshViewIndicesNV) 23
+              25:      6(int) Load 24
+                              Store 16(viewID) 25
+              39:      6(int) Load 8(iid)
+              42:      6(int) Load 16(viewID)
+              49:     48(ptr) AccessChain 38(gl_MeshVerticesNV) 39 41 42
+                              Store 49 47
+              50:      6(int) Load 8(iid)
+              52:      6(int) Load 16(viewID)
+              56:     55(ptr) AccessChain 38(gl_MeshVerticesNV) 50 51 52 53
+                              Store 56 54
+              57:      6(int) Load 8(iid)
+              59:      6(int) Load 16(viewID)
+              62:     55(ptr) AccessChain 38(gl_MeshVerticesNV) 57 58 59 60
+                              Store 62 61
+              71:      6(int) Load 8(iid)
+              72:      6(int) Load 16(viewID)
+              75:     74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 71 41 72
+                              Store 75 73
+              76:      6(int) Load 8(iid)
+              77:      6(int) Load 16(viewID)
+              80:     74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 76 51 77 78
+                              Store 80 79
+                              MemoryBarrier 28 81
+                              ControlBarrier 82 82 81
+              83:      6(int) Load 8(iid)
+              84:      6(int) IAdd 83 28
+              85:      6(int) Load 16(viewID)
+              86:      6(int) Load 8(iid)
+              87:      6(int) Load 16(viewID)
+              88:     48(ptr) AccessChain 38(gl_MeshVerticesNV) 86 41 87
+              89:   27(fvec4) Load 88
+              90:     48(ptr) AccessChain 38(gl_MeshVerticesNV) 84 41 85
+                              Store 90 89
+              91:      6(int) Load 8(iid)
+              92:      6(int) IAdd 91 28
+              93:      6(int) Load 16(viewID)
+              94:      6(int) Load 8(iid)
+              95:      6(int) Load 16(viewID)
+              96:     55(ptr) AccessChain 38(gl_MeshVerticesNV) 94 51 95 53
+              97:   26(float) Load 96
+              98:     55(ptr) AccessChain 38(gl_MeshVerticesNV) 92 51 93 53
+                              Store 98 97
+              99:      6(int) Load 8(iid)
+             100:      6(int) IAdd 99 28
+             101:      6(int) Load 16(viewID)
+             102:      6(int) Load 8(iid)
+             103:      6(int) Load 16(viewID)
+             104:     55(ptr) AccessChain 38(gl_MeshVerticesNV) 102 58 103 60
+             105:   26(float) Load 104
+             106:     55(ptr) AccessChain 38(gl_MeshVerticesNV) 100 58 101 60
+                              Store 106 105
+             107:      6(int) Load 8(iid)
+             108:      6(int) IAdd 107 28
+             109:      6(int) Load 16(viewID)
+             110:      6(int) Load 8(iid)
+             111:      6(int) Load 16(viewID)
+             112:     74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 110 41 111
+             113:     40(int) Load 112
+             114:     74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 108 41 109
+                              Store 114 113
+             115:      6(int) Load 8(iid)
+             116:      6(int) IAdd 115 28
+             117:      6(int) Load 16(viewID)
+             118:      6(int) Load 8(iid)
+             119:      6(int) Load 16(viewID)
+             120:     74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 118 51 119 78
+             121:     40(int) Load 120
+             122:     74(ptr) AccessChain 70(gl_MeshPrimitivesNV) 116 51 117 78
+                              Store 122 121
+                              MemoryBarrier 28 81
+                              ControlBarrier 82 82 81
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
new file mode 100644
index 0000000..7e7a37d
--- /dev/null
+++ b/Test/baseResults/spv.meshShaderPerViewUserDefined.mesh.out
@@ -0,0 +1,156 @@
+spv.meshShaderPerViewUserDefined.mesh
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 90
+
+                              Capability MeshShadingNV
+                              Extension  "SPV_NV_mesh_shader"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MeshNV 4  "main" 11 20 21 35 67
+                              ExecutionMode 4 LocalSize 32 1 1
+                              ExecutionMode 4 OutputVertices 81
+                              ExecutionMode 4 OutputPrimitivesNV 32
+                              ExecutionMode 4 OutputTrianglesNV
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 16  "viewID"
+                              Name 20  "gl_MeshViewIndicesNV"
+                              Name 21  "gl_MeshViewCountNV"
+                              Name 31  "block"
+                              MemberName 31(block) 0  "color1"
+                              MemberName 31(block) 1  "color2"
+                              MemberName 31(block) 2  "color3"
+                              MemberName 31(block) 3  "color4"
+                              Name 35  "b"
+                              Name 64  "perviewBlock"
+                              MemberName 64(perviewBlock) 0  "color5"
+                              MemberName 64(perviewBlock) 1  "color6"
+                              MemberName 64(perviewBlock) 2  "color7"
+                              MemberName 64(perviewBlock) 3  "color8"
+                              Name 67  "b2"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 20(gl_MeshViewIndicesNV) BuiltIn MeshViewIndicesNV
+                              Decorate 21(gl_MeshViewCountNV) BuiltIn MeshViewCountNV
+                              MemberDecorate 31(block) 0 PerPrimitiveNV
+                              MemberDecorate 31(block) 0 PerViewNV
+                              MemberDecorate 31(block) 1 PerPrimitiveNV
+                              MemberDecorate 31(block) 2 PerViewNV
+                              Decorate 31(block) Block
+                              Decorate 35(b) Location 0
+                              MemberDecorate 64(perviewBlock) 0 PerPrimitiveNV
+                              MemberDecorate 64(perviewBlock) 0 PerViewNV
+                              MemberDecorate 64(perviewBlock) 1 PerPrimitiveNV
+                              MemberDecorate 64(perviewBlock) 1 PerViewNV
+                              MemberDecorate 64(perviewBlock) 2 PerViewNV
+                              MemberDecorate 64(perviewBlock) 3 PerViewNV
+                              Decorate 64(perviewBlock) Block
+                              Decorate 67(b2) Location 10
+                              Decorate 89 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+              17:      6(int) Constant 4
+              18:             TypeArray 6(int) 17
+              19:             TypePointer Input 18
+20(gl_MeshViewIndicesNV):     19(ptr) Variable Input
+21(gl_MeshViewCountNV):     13(ptr) Variable Input
+              26:             TypeFloat 32
+              27:             TypeVector 26(float) 4
+              28:      6(int) Constant 3
+              29:             TypeArray 27(fvec4) 28
+              30:             TypeArray 29 17
+       31(block):             TypeStruct 30 29 30 27(fvec4)
+              32:      6(int) Constant 81
+              33:             TypeArray 31(block) 32
+              34:             TypePointer Output 33
+           35(b):     34(ptr) Variable Output
+              37:             TypeInt 32 1
+              38:     37(int) Constant 0
+              40:     37(int) Constant 2
+              41:   26(float) Constant 1065353216
+              42:   27(fvec4) ConstantComposite 41 41 41 41
+              43:             TypePointer Output 27(fvec4)
+              46:     37(int) Constant 1
+              47:   26(float) Constant 1073741824
+              48:   27(fvec4) ConstantComposite 47 47 47 47
+              52:   26(float) Constant 1077936128
+              53:   27(fvec4) ConstantComposite 52 52 52 52
+              56:     37(int) Constant 3
+              57:   26(float) Constant 1082130432
+              58:   27(fvec4) ConstantComposite 57 57 57 57
+              60:      6(int) Constant 1
+              61:      6(int) Constant 264
+              62:      6(int) Constant 2
+              63:             TypeArray 27(fvec4) 17
+64(perviewBlock):             TypeStruct 63 30 30 63
+              65:             TypeArray 64(perviewBlock) 32
+              66:             TypePointer Output 65
+          67(b2):     66(ptr) Variable Output
+              70:   26(float) Constant 1084227584
+              71:   27(fvec4) ConstantComposite 70 70 70 70
+              75:   26(float) Constant 1086324736
+              76:   27(fvec4) ConstantComposite 75 75 75 75
+              80:   26(float) Constant 1088421888
+              81:   27(fvec4) ConstantComposite 80 80 80 80
+              85:   26(float) Constant 1090519040
+              86:   27(fvec4) ConstantComposite 85 85 85 85
+              88:      6(int) Constant 32
+              89:    9(ivec3) ConstantComposite 88 60 60
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+      16(viewID):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              22:      6(int) Load 21(gl_MeshViewCountNV)
+              23:      6(int) UMod 22 17
+              24:     13(ptr) AccessChain 20(gl_MeshViewIndicesNV) 23
+              25:      6(int) Load 24
+                              Store 16(viewID) 25
+              36:      6(int) Load 8(iid)
+              39:      6(int) Load 16(viewID)
+              44:     43(ptr) AccessChain 35(b) 36 38 39 40
+                              Store 44 42
+              45:      6(int) Load 8(iid)
+              49:     43(ptr) AccessChain 35(b) 45 46 46
+                              Store 49 48
+              50:      6(int) Load 8(iid)
+              51:      6(int) Load 16(viewID)
+              54:     43(ptr) AccessChain 35(b) 50 40 51 40
+                              Store 54 53
+              55:      6(int) Load 8(iid)
+              59:     43(ptr) AccessChain 35(b) 55 56
+                              Store 59 58
+                              MemoryBarrier 60 61
+                              ControlBarrier 62 62 61
+              68:      6(int) Load 8(iid)
+              69:      6(int) Load 16(viewID)
+              72:     43(ptr) AccessChain 67(b2) 68 38 69
+                              Store 72 71
+              73:      6(int) Load 8(iid)
+              74:      6(int) Load 16(viewID)
+              77:     43(ptr) AccessChain 67(b2) 73 46 74 46
+                              Store 77 76
+              78:      6(int) Load 8(iid)
+              79:      6(int) Load 16(viewID)
+              82:     43(ptr) AccessChain 67(b2) 78 40 79 40
+                              Store 82 81
+              83:      6(int) Load 8(iid)
+              84:      6(int) Load 16(viewID)
+              87:     43(ptr) AccessChain 67(b2) 83 56 84
+                              Store 87 86
+                              MemoryBarrier 60 61
+                              ControlBarrier 62 62 61
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderSharedMem.mesh.out b/Test/baseResults/spv.meshShaderSharedMem.mesh.out
new file mode 100644
index 0000000..198f812
--- /dev/null
+++ b/Test/baseResults/spv.meshShaderSharedMem.mesh.out
@@ -0,0 +1,128 @@
+spv.meshShaderSharedMem.mesh
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 77
+
+                              Capability StorageImageWriteWithoutFormat
+                              Capability MeshShadingNV
+                              Extension  "SPV_NV_mesh_shader"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MeshNV 4  "main" 11 17
+                              ExecutionMode 4 LocalSize 32 1 1
+                              ExecutionMode 4 OutputVertices 81
+                              ExecutionMode 4 OutputPrimitivesNV 32
+                              ExecutionMode 4 OutputTrianglesNV
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 16  "gid"
+                              Name 17  "gl_WorkGroupID"
+                              Name 20  "i"
+                              Name 34  "mem"
+                              Name 37  "block0"
+                              MemberName 37(block0) 0  "uni_value"
+                              Name 39  ""
+                              Name 55  "uni_image"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
+                              MemberDecorate 37(block0) 0 Offset 0
+                              Decorate 37(block0) Block
+                              Decorate 39 DescriptorSet 0
+                              Decorate 55(uni_image) DescriptorSet 0
+                              Decorate 55(uni_image) NonReadable
+                              Decorate 76 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+17(gl_WorkGroupID):     10(ptr) Variable Input
+              27:      6(int) Constant 10
+              28:             TypeBool
+              30:             TypeFloat 32
+              31:             TypeVector 30(float) 4
+              32:             TypeArray 31(fvec4) 27
+              33:             TypePointer Workgroup 32
+         34(mem):     33(ptr) Variable Workgroup
+      37(block0):             TypeStruct 6(int)
+              38:             TypePointer Uniform 37(block0)
+              39:     38(ptr) Variable Uniform
+              40:             TypeInt 32 1
+              41:     40(int) Constant 0
+              42:             TypePointer Uniform 6(int)
+              48:             TypePointer Workgroup 31(fvec4)
+              51:     40(int) Constant 1
+              53:             TypeImage 30(float) 2D nonsampled format:Unknown
+              54:             TypePointer UniformConstant 53
+   55(uni_image):     54(ptr) Variable UniformConstant
+              59:             TypeVector 40(int) 2
+              69:      6(int) Constant 1
+              73:      6(int) Constant 264
+              74:      6(int) Constant 2
+              75:      6(int) Constant 32
+              76:    9(ivec3) ConstantComposite 75 69 69
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+         16(gid):      7(ptr) Variable Function
+           20(i):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
+              19:      6(int) Load 18
+                              Store 16(gid) 19
+                              Store 20(i) 12
+                              Branch 21
+              21:             Label
+                              LoopMerge 23 24 None
+                              Branch 25
+              25:             Label
+              26:      6(int) Load 20(i)
+              29:    28(bool) ULessThan 26 27
+                              BranchConditional 29 22 23
+              22:               Label
+              35:      6(int)   Load 20(i)
+              36:      6(int)   Load 20(i)
+              43:     42(ptr)   AccessChain 39 41
+              44:      6(int)   Load 43
+              45:      6(int)   IAdd 36 44
+              46:   30(float)   ConvertUToF 45
+              47:   31(fvec4)   CompositeConstruct 46 46 46 46
+              49:     48(ptr)   AccessChain 34(mem) 35
+                                Store 49 47
+                                Branch 24
+              24:               Label
+              50:      6(int)   Load 20(i)
+              52:      6(int)   IAdd 50 51
+                                Store 20(i) 52
+                                Branch 21
+              23:             Label
+              56:          53 Load 55(uni_image)
+              57:      6(int) Load 8(iid)
+              58:     40(int) Bitcast 57
+              60:   59(ivec2) CompositeConstruct 58 58
+              61:      6(int) Load 16(gid)
+              62:     48(ptr) AccessChain 34(mem) 61
+              63:   31(fvec4) Load 62
+                              ImageWrite 56 60 63
+              64:          53 Load 55(uni_image)
+              65:      6(int) Load 8(iid)
+              66:     40(int) Bitcast 65
+              67:   59(ivec2) CompositeConstruct 66 66
+              68:      6(int) Load 16(gid)
+              70:      6(int) IAdd 68 69
+              71:     48(ptr) AccessChain 34(mem) 70
+              72:   31(fvec4) Load 71
+                              ImageWrite 64 67 72
+                              MemoryBarrier 69 73
+                              ControlBarrier 74 74 73
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderTaskMem.mesh.out b/Test/baseResults/spv.meshShaderTaskMem.mesh.out
new file mode 100644
index 0000000..93b2a45
--- /dev/null
+++ b/Test/baseResults/spv.meshShaderTaskMem.mesh.out
@@ -0,0 +1,107 @@
+spv.meshShaderTaskMem.mesh
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 58
+
+                              Capability MeshShadingNV
+                              Extension  "SPV_NV_mesh_shader"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MeshNV 4  "main" 11 22 30
+                              ExecutionMode 4 LocalSize 32 1 1
+                              ExecutionMode 4 OutputVertices 81
+                              ExecutionMode 4 OutputPrimitivesNV 32
+                              ExecutionMode 4 OutputTrianglesNV
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 18  "outBlock"
+                              MemberName 18(outBlock) 0  "gid5"
+                              MemberName 18(outBlock) 1  "gid6"
+                              Name 22  "myblk"
+                              Name 28  "taskBlock"
+                              MemberName 28(taskBlock) 0  "gid1"
+                              MemberName 28(taskBlock) 1  "gid2"
+                              Name 30  "mytask"
+                              Name 36  "bufferBlock"
+                              MemberName 36(bufferBlock) 0  "gid3"
+                              MemberName 36(bufferBlock) 1  "gid4"
+                              Name 38  "mybuf"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 18(outBlock) Block
+                              Decorate 22(myblk) Location 0
+                              Decorate 27 ArrayStride 4
+                              MemberDecorate 28(taskBlock) 0 PerTaskNV
+                              MemberDecorate 28(taskBlock) 0 Offset 0
+                              MemberDecorate 28(taskBlock) 1 PerTaskNV
+                              MemberDecorate 28(taskBlock) 1 Offset 16
+                              Decorate 28(taskBlock) Block
+                              Decorate 35 ArrayStride 4
+                              MemberDecorate 36(bufferBlock) 0 Offset 0
+                              MemberDecorate 36(bufferBlock) 1 Offset 16
+                              Decorate 36(bufferBlock) BufferBlock
+                              Decorate 38(mybuf) DescriptorSet 0
+                              Decorate 57 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+              16:             TypeFloat 32
+              17:             TypeVector 16(float) 4
+    18(outBlock):             TypeStruct 16(float) 17(fvec4)
+              19:      6(int) Constant 81
+              20:             TypeArray 18(outBlock) 19
+              21:             TypePointer Output 20
+       22(myblk):     21(ptr) Variable Output
+              24:             TypeInt 32 1
+              25:     24(int) Constant 0
+              26:      6(int) Constant 2
+              27:             TypeArray 16(float) 26
+   28(taskBlock):             TypeStruct 27 17(fvec4)
+              29:             TypePointer Input 28(taskBlock)
+      30(mytask):     29(ptr) Variable Input
+              31:     24(int) Constant 1
+              32:             TypePointer Input 16(float)
+              35:             TypeArray 16(float) 26
+ 36(bufferBlock):             TypeStruct 35 17(fvec4)
+              37:             TypePointer Uniform 36(bufferBlock)
+       38(mybuf):     37(ptr) Variable Uniform
+              39:             TypePointer Uniform 16(float)
+              43:             TypePointer Output 16(float)
+              46:             TypePointer Input 17(fvec4)
+              49:             TypePointer Uniform 17(fvec4)
+              53:             TypePointer Output 17(fvec4)
+              55:      6(int) Constant 32
+              56:      6(int) Constant 1
+              57:    9(ivec3) ConstantComposite 55 56 56
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              23:      6(int) Load 8(iid)
+              33:     32(ptr) AccessChain 30(mytask) 25 31
+              34:   16(float) Load 33
+              40:     39(ptr) AccessChain 38(mybuf) 25 31
+              41:   16(float) Load 40
+              42:   16(float) FAdd 34 41
+              44:     43(ptr) AccessChain 22(myblk) 23 25
+                              Store 44 42
+              45:      6(int) Load 8(iid)
+              47:     46(ptr) AccessChain 30(mytask) 31
+              48:   17(fvec4) Load 47
+              50:     49(ptr) AccessChain 38(mybuf) 31
+              51:   17(fvec4) Load 50
+              52:   17(fvec4) FAdd 48 51
+              54:     53(ptr) AccessChain 22(myblk) 45 31
+                              Store 54 52
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.meshShaderUserDefined.mesh.out b/Test/baseResults/spv.meshShaderUserDefined.mesh.out
new file mode 100644
index 0000000..c3ec915
--- /dev/null
+++ b/Test/baseResults/spv.meshShaderUserDefined.mesh.out
@@ -0,0 +1,203 @@
+spv.meshShaderUserDefined.mesh
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 138
+
+                              Capability MeshShadingNV
+                              Extension  "SPV_NV_mesh_shader"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint MeshNV 4  "main" 11 17 34 101
+                              ExecutionMode 4 LocalSize 32 1 1
+                              ExecutionMode 4 OutputVertices 81
+                              ExecutionMode 4 OutputPrimitivesNV 32
+                              ExecutionMode 4 OutputTrianglesNV
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 16  "gid"
+                              Name 17  "gl_WorkGroupID"
+                              Name 30  "myblock"
+                              MemberName 30(myblock) 0  "f"
+                              MemberName 30(myblock) 1  "fArr"
+                              MemberName 30(myblock) 2  "pos"
+                              MemberName 30(myblock) 3  "posArr"
+                              MemberName 30(myblock) 4  "m"
+                              MemberName 30(myblock) 5  "mArr"
+                              Name 34  "blk"
+                              Name 97  "myblock2"
+                              MemberName 97(myblock2) 0  "f"
+                              MemberName 97(myblock2) 1  "pos"
+                              MemberName 97(myblock2) 2  "m"
+                              Name 101  "blk2"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
+                              MemberDecorate 30(myblock) 0 PerPrimitiveNV
+                              MemberDecorate 30(myblock) 1 PerPrimitiveNV
+                              MemberDecorate 30(myblock) 2 PerPrimitiveNV
+                              MemberDecorate 30(myblock) 3 PerPrimitiveNV
+                              MemberDecorate 30(myblock) 4 PerPrimitiveNV
+                              MemberDecorate 30(myblock) 5 PerPrimitiveNV
+                              Decorate 30(myblock) Block
+                              Decorate 34(blk) Location 0
+                              Decorate 97(myblock2) Block
+                              Decorate 101(blk2) Location 20
+                              Decorate 137 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+17(gl_WorkGroupID):     10(ptr) Variable Input
+              20:             TypeFloat 32
+              21:      6(int) Constant 4
+              22:             TypeArray 20(float) 21
+              23:             TypeVector 20(float) 3
+              24:             TypeVector 20(float) 4
+              25:             TypeArray 24(fvec4) 21
+              26:             TypeMatrix 24(fvec4) 4
+              27:             TypeMatrix 23(fvec3) 3
+              28:      6(int) Constant 2
+              29:             TypeArray 27 28
+     30(myblock):             TypeStruct 20(float) 22 23(fvec3) 25 26 29
+              31:      6(int) Constant 32
+              32:             TypeArray 30(myblock) 31
+              33:             TypePointer Output 32
+         34(blk):     33(ptr) Variable Output
+              36:             TypeInt 32 1
+              37:     36(int) Constant 0
+              38:   20(float) Constant 1093664768
+              39:             TypePointer Output 20(float)
+              42:      6(int) Constant 1
+              44:     36(int) Constant 1
+              52:     36(int) Constant 2
+              53:   20(float) Constant 1096810496
+              54:   20(float) Constant 1097859072
+              55:   20(float) Constant 1095761920
+              56:   23(fvec3) ConstantComposite 53 54 55
+              57:             TypePointer Output 23(fvec3)
+              63:     36(int) Constant 3
+              68:             TypePointer Output 24(fvec4)
+              74:     36(int) Constant 4
+              75:   20(float) Constant 1098907648
+              76:   24(fvec4) ConstantComposite 55 53 54 75
+              81:     36(int) Constant 5
+              84:      6(int) Constant 3
+              91:   20(float) Constant 1099431936
+              92:   20(float) Constant 1099956224
+              93:   20(float) Constant 1100480512
+              94:   23(fvec3) ConstantComposite 91 92 93
+              96:      6(int) Constant 264
+    97(myblock2):             TypeStruct 20(float) 24(fvec4) 26
+              98:      6(int) Constant 81
+              99:             TypeArray 97(myblock2) 98
+             100:             TypePointer Output 99
+       101(blk2):    100(ptr) Variable Output
+             107:   20(float) Constant 1101004800
+             111:   20(float) Constant 1101529088
+             112:   20(float) Constant 1102053376
+             113:   20(float) Constant 1102577664
+             114:   20(float) Constant 1103101952
+             115:   24(fvec4) ConstantComposite 111 112 113 114
+             127:   20(float) Constant 1105723392
+             137:    9(ivec3) ConstantComposite 31 42 42
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+         16(gid):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
+              19:      6(int) Load 18
+                              Store 16(gid) 19
+              35:      6(int) Load 8(iid)
+              40:     39(ptr) AccessChain 34(blk) 35 37
+                              Store 40 38
+              41:      6(int) Load 8(iid)
+              43:      6(int) IAdd 41 42
+              45:      6(int) Load 16(gid)
+              46:      6(int) Load 8(iid)
+              47:     39(ptr) AccessChain 34(blk) 46 37
+              48:   20(float) Load 47
+              49:     39(ptr) AccessChain 34(blk) 43 44 45
+                              Store 49 48
+              50:      6(int) Load 8(iid)
+              51:      6(int) UDiv 50 28
+              58:     57(ptr) AccessChain 34(blk) 51 52
+              59:   23(fvec3) Load 58
+              60:   23(fvec3) VectorShuffle 59 56 5 3 4
+                              Store 58 60
+              61:      6(int) Load 8(iid)
+              62:      6(int) IMul 61 28
+              64:      6(int) Load 8(iid)
+              65:      6(int) UDiv 64 28
+              66:     57(ptr) AccessChain 34(blk) 65 52
+              67:   23(fvec3) Load 66
+              69:     68(ptr) AccessChain 34(blk) 62 63 44
+              70:   24(fvec4) Load 69
+              71:   24(fvec4) VectorShuffle 70 67 0 4 5 6
+                              Store 69 71
+              72:      6(int) Load 8(iid)
+              73:      6(int) UDiv 72 21
+              77:     68(ptr) AccessChain 34(blk) 73 74 52
+              78:   24(fvec4) Load 77
+              79:   24(fvec4) VectorShuffle 78 76 7 6 5 4
+                              Store 77 79
+              80:      6(int) Load 8(iid)
+              82:      6(int) Load 8(iid)
+              83:      6(int) UDiv 82 21
+              85:     39(ptr) AccessChain 34(blk) 83 74 52 84
+              86:   20(float) Load 85
+              87:     39(ptr) AccessChain 34(blk) 80 81 37 44 42
+                              Store 87 86
+              88:      6(int) Load 8(iid)
+              89:      6(int) IMul 88 21
+              90:      6(int) Load 16(gid)
+              95:     57(ptr) AccessChain 34(blk) 89 81 44 90
+                              Store 95 94
+                              MemoryBarrier 42 96
+                              ControlBarrier 28 28 96
+             102:      6(int) Load 8(iid)
+             103:      6(int) Load 8(iid)
+             104:      6(int) ISub 103 42
+             105:     39(ptr) AccessChain 101(blk2) 104 37
+             106:   20(float) Load 105
+             108:   20(float) FAdd 106 107
+             109:     39(ptr) AccessChain 101(blk2) 102 37
+                              Store 109 108
+             110:      6(int) Load 8(iid)
+             116:     68(ptr) AccessChain 101(blk2) 110 44
+                              Store 116 115
+             117:      6(int) Load 8(iid)
+             118:      6(int) IAdd 117 42
+             119:      6(int) Load 16(gid)
+             120:      6(int) Load 8(iid)
+             121:     68(ptr) AccessChain 101(blk2) 120 44
+             122:   24(fvec4) Load 121
+             123:     68(ptr) AccessChain 101(blk2) 118 52 119
+                              Store 123 122
+             124:      6(int) Load 8(iid)
+             125:      6(int) IAdd 124 42
+             126:      6(int) Load 16(gid)
+             128:     39(ptr) AccessChain 101(blk2) 125 52 126 28
+                              Store 128 127
+             129:      6(int) Load 8(iid)
+             130:      6(int) IAdd 129 28
+             131:      6(int) Load 8(iid)
+             132:      6(int) IAdd 131 42
+             133:      6(int) Load 16(gid)
+             134:     68(ptr) AccessChain 101(blk2) 132 52 133
+             135:   24(fvec4) Load 134
+             136:     68(ptr) AccessChain 101(blk2) 130 52 63
+                              Store 136 135
+                              MemoryBarrier 42 96
+                              ControlBarrier 28 28 96
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.meshTaskShader.task.out b/Test/baseResults/spv.meshTaskShader.task.out
new file mode 100644
index 0000000..9ac27fa
--- /dev/null
+++ b/Test/baseResults/spv.meshTaskShader.task.out
@@ -0,0 +1,172 @@
+spv.meshTaskShader.task
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 104
+
+                              Capability StorageImageWriteWithoutFormat
+                              Capability MeshShadingNV
+                              Extension  "SPV_NV_mesh_shader"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint TaskNV 4  "main" 11 17 80 101
+                              ExecutionMode 4 LocalSize 32 1 1
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_mesh_shader"
+                              Name 4  "main"
+                              Name 8  "iid"
+                              Name 11  "gl_LocalInvocationID"
+                              Name 16  "gid"
+                              Name 17  "gl_WorkGroupID"
+                              Name 20  "i"
+                              Name 34  "mem"
+                              Name 37  "block0"
+                              MemberName 37(block0) 0  "uni_value"
+                              Name 39  ""
+                              Name 55  "uni_image"
+                              Name 78  "Task"
+                              MemberName 78(Task) 0  "dummy"
+                              MemberName 78(Task) 1  "submesh"
+                              Name 80  "mytask"
+                              Name 101  "gl_TaskCountNV"
+                              Decorate 11(gl_LocalInvocationID) BuiltIn LocalInvocationId
+                              Decorate 17(gl_WorkGroupID) BuiltIn WorkgroupId
+                              MemberDecorate 37(block0) 0 Offset 0
+                              Decorate 37(block0) Block
+                              Decorate 39 DescriptorSet 0
+                              Decorate 55(uni_image) DescriptorSet 0
+                              Decorate 55(uni_image) Binding 0
+                              Decorate 55(uni_image) NonReadable
+                              Decorate 77 ArrayStride 8
+                              MemberDecorate 78(Task) 0 PerTaskNV
+                              MemberDecorate 78(Task) 0 Offset 0
+                              MemberDecorate 78(Task) 1 PerTaskNV
+                              MemberDecorate 78(Task) 1 Offset 8
+                              Decorate 78(Task) Block
+                              Decorate 101(gl_TaskCountNV) BuiltIn TaskCountNV
+                              Decorate 103 BuiltIn WorkgroupSize
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypePointer Function 6(int)
+               9:             TypeVector 6(int) 3
+              10:             TypePointer Input 9(ivec3)
+11(gl_LocalInvocationID):     10(ptr) Variable Input
+              12:      6(int) Constant 0
+              13:             TypePointer Input 6(int)
+17(gl_WorkGroupID):     10(ptr) Variable Input
+              27:      6(int) Constant 10
+              28:             TypeBool
+              30:             TypeFloat 32
+              31:             TypeVector 30(float) 4
+              32:             TypeArray 31(fvec4) 27
+              33:             TypePointer Workgroup 32
+         34(mem):     33(ptr) Variable Workgroup
+      37(block0):             TypeStruct 6(int)
+              38:             TypePointer Uniform 37(block0)
+              39:     38(ptr) Variable Uniform
+              40:             TypeInt 32 1
+              41:     40(int) Constant 0
+              42:             TypePointer Uniform 6(int)
+              48:             TypePointer Workgroup 31(fvec4)
+              51:     40(int) Constant 1
+              53:             TypeImage 30(float) 2D nonsampled format:Unknown
+              54:             TypePointer UniformConstant 53
+   55(uni_image):     54(ptr) Variable UniformConstant
+              59:             TypeVector 40(int) 2
+              69:      6(int) Constant 1
+              73:      6(int) Constant 264
+              74:      6(int) Constant 2
+              75:             TypeVector 30(float) 2
+              76:      6(int) Constant 3
+              77:             TypeArray 75(fvec2) 76
+        78(Task):             TypeStruct 75(fvec2) 77
+              79:             TypePointer Output 78(Task)
+      80(mytask):     79(ptr) Variable Output
+              81:   30(float) Constant 1106247680
+              82:   30(float) Constant 1106771968
+              83:   75(fvec2) ConstantComposite 81 82
+              84:             TypePointer Output 75(fvec2)
+              86:   30(float) Constant 1107296256
+              87:   30(float) Constant 1107558400
+              88:   75(fvec2) ConstantComposite 86 87
+              90:   30(float) Constant 1107820544
+              91:   30(float) Constant 1108082688
+              92:   75(fvec2) ConstantComposite 90 91
+              94:     40(int) Constant 2
+             100:             TypePointer Output 6(int)
+101(gl_TaskCountNV):    100(ptr) Variable Output
+             102:      6(int) Constant 32
+             103:    9(ivec3) ConstantComposite 102 69 69
+         4(main):           2 Function None 3
+               5:             Label
+          8(iid):      7(ptr) Variable Function
+         16(gid):      7(ptr) Variable Function
+           20(i):      7(ptr) Variable Function
+              14:     13(ptr) AccessChain 11(gl_LocalInvocationID) 12
+              15:      6(int) Load 14
+                              Store 8(iid) 15
+              18:     13(ptr) AccessChain 17(gl_WorkGroupID) 12
+              19:      6(int) Load 18
+                              Store 16(gid) 19
+                              Store 20(i) 12
+                              Branch 21
+              21:             Label
+                              LoopMerge 23 24 None
+                              Branch 25
+              25:             Label
+              26:      6(int) Load 20(i)
+              29:    28(bool) ULessThan 26 27
+                              BranchConditional 29 22 23
+              22:               Label
+              35:      6(int)   Load 20(i)
+              36:      6(int)   Load 20(i)
+              43:     42(ptr)   AccessChain 39 41
+              44:      6(int)   Load 43
+              45:      6(int)   IAdd 36 44
+              46:   30(float)   ConvertUToF 45
+              47:   31(fvec4)   CompositeConstruct 46 46 46 46
+              49:     48(ptr)   AccessChain 34(mem) 35
+                                Store 49 47
+                                Branch 24
+              24:               Label
+              50:      6(int)   Load 20(i)
+              52:      6(int)   IAdd 50 51
+                                Store 20(i) 52
+                                Branch 21
+              23:             Label
+              56:          53 Load 55(uni_image)
+              57:      6(int) Load 8(iid)
+              58:     40(int) Bitcast 57
+              60:   59(ivec2) CompositeConstruct 58 58
+              61:      6(int) Load 16(gid)
+              62:     48(ptr) AccessChain 34(mem) 61
+              63:   31(fvec4) Load 62
+                              ImageWrite 56 60 63
+              64:          53 Load 55(uni_image)
+              65:      6(int) Load 8(iid)
+              66:     40(int) Bitcast 65
+              67:   59(ivec2) CompositeConstruct 66 66
+              68:      6(int) Load 16(gid)
+              70:      6(int) IAdd 68 69
+              71:     48(ptr) AccessChain 34(mem) 70
+              72:   31(fvec4) Load 71
+                              ImageWrite 64 67 72
+                              MemoryBarrier 69 73
+                              ControlBarrier 74 74 73
+              85:     84(ptr) AccessChain 80(mytask) 41
+                              Store 85 83
+              89:     84(ptr) AccessChain 80(mytask) 51 41
+                              Store 89 88
+              93:     84(ptr) AccessChain 80(mytask) 51 51
+                              Store 93 92
+              95:      6(int) Load 16(gid)
+              96:      6(int) UMod 95 74
+              97:     84(ptr) AccessChain 80(mytask) 51 96
+              98:   75(fvec2) Load 97
+              99:     84(ptr) AccessChain 80(mytask) 51 94
+                              Store 99 98
+                              MemoryBarrier 69 73
+                              ControlBarrier 74 74 73
+                              Store 101(gl_TaskCountNV) 76
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.multiStruct.comp.out b/Test/baseResults/spv.multiStruct.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.multiStructFuncall.frag.out b/Test/baseResults/spv.multiStructFuncall.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
index 5d4508b..7874b94 100644
--- a/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
+++ b/Test/baseResults/spv.multiviewPerViewAttributes.tesc.out
@@ -1,4 +1,8 @@
 spv.multiviewPerViewAttributes.tesc
+error: SPIRV-Tools Validation Errors
+error: OpMemberName Member <id> '5' index is larger than Type <id> '27[gl_PositionPerViewNV]'s member count.
+  OpMemberName %gl_PerVertex_0 5 "gl_PositionPerViewNV"
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 37
diff --git a/Test/baseResults/spv.newTexture.frag.out b/Test/baseResults/spv.newTexture.frag.out
old mode 100755
new mode 100644
index 5ddd8a5..5e462be
--- a/Test/baseResults/spv.newTexture.frag.out
+++ b/Test/baseResults/spv.newTexture.frag.out
@@ -1,4 +1,8 @@
 spv.newTexture.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 284
diff --git a/Test/baseResults/spv.noWorkgroup.comp.out b/Test/baseResults/spv.noWorkgroup.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.nonSquare.vert.out b/Test/baseResults/spv.nonSquare.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.nonuniform.frag.out b/Test/baseResults/spv.nonuniform.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.offsets.frag.out b/Test/baseResults/spv.offsets.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.paramMemory.frag.out b/Test/baseResults/spv.paramMemory.frag.out
old mode 100755
new mode 100644
index b593ce9..a7e627a
--- a/Test/baseResults/spv.paramMemory.frag.out
+++ b/Test/baseResults/spv.paramMemory.frag.out
@@ -1,4 +1,8 @@
 spv.paramMemory.frag
+error: SPIRV-Tools Validation Errors
+error: OpFunctionCall Argument <id> '38[image1]'s type does not match Function <id> '8's parameter type.
+  %41 = OpFunctionCall %v4float %image_load_I21_vi2_ %image1 %param
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 69
diff --git a/Test/baseResults/spv.precision.frag.out b/Test/baseResults/spv.precision.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.precisionNonESSamp.frag.out b/Test/baseResults/spv.precisionNonESSamp.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.prepost.frag.out b/Test/baseResults/spv.prepost.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.pushConstantAnon.vert.out b/Test/baseResults/spv.pushConstantAnon.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.qualifiers.vert.out b/Test/baseResults/spv.qualifiers.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.queryL.frag.out b/Test/baseResults/spv.queryL.frag.out
old mode 100755
new mode 100644
index 33f0d95..b737a35
--- a/Test/baseResults/spv.queryL.frag.out
+++ b/Test/baseResults/spv.queryL.frag.out
@@ -1,4 +1,8 @@
 spv.queryL.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 224
diff --git a/Test/baseResults/spv.rankShift.comp.out b/Test/baseResults/spv.rankShift.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.sample.frag.out b/Test/baseResults/spv.sample.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.sampleId.frag.out b/Test/baseResults/spv.sampleId.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
index 470cd42..ae7e824 100644
--- a/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
+++ b/Test/baseResults/spv.sampleMaskOverrideCoverage.frag.out
@@ -1,4 +1,8 @@
 spv.sampleMaskOverrideCoverage.frag
+error: SPIRV-Tools Validation Errors
+error: Operand 2 of Decorate requires one of these capabilities: SampleMaskOverrideCoverageNV 
+  OpDecorate %gl_SampleMask OverrideCoverageNV
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 20
diff --git a/Test/baseResults/spv.samplePosition.frag.out b/Test/baseResults/spv.samplePosition.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.separate.frag.out b/Test/baseResults/spv.separate.frag.out
index a834efd..b9fefd7 100644
--- a/Test/baseResults/spv.separate.frag.out
+++ b/Test/baseResults/spv.separate.frag.out
@@ -1,4 +1,8 @@
 spv.separate.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 319
@@ -28,33 +32,33 @@
                               Name 84  "itexCubeArray"
                               Name 91  "utexCubeArray"
                               Name 98  "tex1DArray"
-                              Name 106  "itex1DArray"
-                              Name 113  "utex1D"
-                              Name 120  "itex1D"
-                              Name 127  "utex1DArray"
-                              Name 134  "texBuffer"
-                              Name 146  "tex2DArray"
-                              Name 158  "itex2D"
-                              Name 165  "itex3D"
-                              Name 172  "itexCube"
-                              Name 179  "itex2DArray"
-                              Name 186  "utex2D"
-                              Name 193  "utex3D"
-                              Name 200  "utexCube"
-                              Name 207  "utex2DArray"
-                              Name 214  "itex2DRect"
-                              Name 221  "utex2DRect"
-                              Name 228  "itexBuffer"
-                              Name 235  "utexBuffer"
-                              Name 242  "tex2DMS"
-                              Name 249  "itex2DMS"
-                              Name 256  "utex2DMS"
-                              Name 263  "tex2DMSArray"
-                              Name 270  "itex2DMSArray"
-                              Name 277  "utex2DMSArray"
-                              Name 284  "tex1D"
-                              Name 294  "tex3D"
-                              Name 305  "tex2DRect"
+                              Name 105  "itex1DArray"
+                              Name 112  "utex1D"
+                              Name 119  "itex1D"
+                              Name 126  "utex1DArray"
+                              Name 133  "texBuffer"
+                              Name 145  "tex2DArray"
+                              Name 157  "itex2D"
+                              Name 164  "itex3D"
+                              Name 171  "itexCube"
+                              Name 178  "itex2DArray"
+                              Name 185  "utex2D"
+                              Name 192  "utex3D"
+                              Name 199  "utexCube"
+                              Name 206  "utex2DArray"
+                              Name 213  "itex2DRect"
+                              Name 220  "utex2DRect"
+                              Name 227  "itexBuffer"
+                              Name 234  "utexBuffer"
+                              Name 241  "tex2DMS"
+                              Name 248  "itex2DMS"
+                              Name 255  "utex2DMS"
+                              Name 262  "tex2DMSArray"
+                              Name 269  "itex2DMSArray"
+                              Name 276  "utex2DMSArray"
+                              Name 283  "tex1D"
+                              Name 293  "tex3D"
+                              Name 304  "tex2DRect"
                               Decorate 14(t2d) DescriptorSet 0
                               Decorate 18(s) DescriptorSet 0
                               Decorate 31(t3d) DescriptorSet 0
@@ -67,33 +71,33 @@
                               Decorate 84(itexCubeArray) DescriptorSet 0
                               Decorate 91(utexCubeArray) DescriptorSet 0
                               Decorate 98(tex1DArray) DescriptorSet 0
-                              Decorate 106(itex1DArray) DescriptorSet 0
-                              Decorate 113(utex1D) DescriptorSet 0
-                              Decorate 120(itex1D) DescriptorSet 0
-                              Decorate 127(utex1DArray) DescriptorSet 0
-                              Decorate 134(texBuffer) DescriptorSet 0
-                              Decorate 146(tex2DArray) DescriptorSet 0
-                              Decorate 158(itex2D) DescriptorSet 0
-                              Decorate 165(itex3D) DescriptorSet 0
-                              Decorate 172(itexCube) DescriptorSet 0
-                              Decorate 179(itex2DArray) DescriptorSet 0
-                              Decorate 186(utex2D) DescriptorSet 0
-                              Decorate 193(utex3D) DescriptorSet 0
-                              Decorate 200(utexCube) DescriptorSet 0
-                              Decorate 207(utex2DArray) DescriptorSet 0
-                              Decorate 214(itex2DRect) DescriptorSet 0
-                              Decorate 221(utex2DRect) DescriptorSet 0
-                              Decorate 228(itexBuffer) DescriptorSet 0
-                              Decorate 235(utexBuffer) DescriptorSet 0
-                              Decorate 242(tex2DMS) DescriptorSet 0
-                              Decorate 249(itex2DMS) DescriptorSet 0
-                              Decorate 256(utex2DMS) DescriptorSet 0
-                              Decorate 263(tex2DMSArray) DescriptorSet 0
-                              Decorate 270(itex2DMSArray) DescriptorSet 0
-                              Decorate 277(utex2DMSArray) DescriptorSet 0
-                              Decorate 284(tex1D) DescriptorSet 0
-                              Decorate 294(tex3D) DescriptorSet 0
-                              Decorate 305(tex2DRect) DescriptorSet 0
+                              Decorate 105(itex1DArray) DescriptorSet 0
+                              Decorate 112(utex1D) DescriptorSet 0
+                              Decorate 119(itex1D) DescriptorSet 0
+                              Decorate 126(utex1DArray) DescriptorSet 0
+                              Decorate 133(texBuffer) DescriptorSet 0
+                              Decorate 145(tex2DArray) DescriptorSet 0
+                              Decorate 157(itex2D) DescriptorSet 0
+                              Decorate 164(itex3D) DescriptorSet 0
+                              Decorate 171(itexCube) DescriptorSet 0
+                              Decorate 178(itex2DArray) DescriptorSet 0
+                              Decorate 185(utex2D) DescriptorSet 0
+                              Decorate 192(utex3D) DescriptorSet 0
+                              Decorate 199(utexCube) DescriptorSet 0
+                              Decorate 206(utex2DArray) DescriptorSet 0
+                              Decorate 213(itex2DRect) DescriptorSet 0
+                              Decorate 220(utex2DRect) DescriptorSet 0
+                              Decorate 227(itexBuffer) DescriptorSet 0
+                              Decorate 234(utexBuffer) DescriptorSet 0
+                              Decorate 241(tex2DMS) DescriptorSet 0
+                              Decorate 248(itex2DMS) DescriptorSet 0
+                              Decorate 255(utex2DMS) DescriptorSet 0
+                              Decorate 262(tex2DMSArray) DescriptorSet 0
+                              Decorate 269(itex2DMSArray) DescriptorSet 0
+                              Decorate 276(utex2DMSArray) DescriptorSet 0
+                              Decorate 283(tex1D) DescriptorSet 0
+                              Decorate 293(tex3D) DescriptorSet 0
+                              Decorate 304(tex2DRect) DescriptorSet 0
                2:             TypeVoid
                3:             TypeFunction 2
                8:             TypeFloat 32
@@ -147,127 +151,127 @@
               90:             TypePointer UniformConstant 89
 91(utexCubeArray):     90(ptr) Variable UniformConstant
               94:             TypeSampledImage 89
-              96:             TypeImage 8(float) 1D array sampled format:Unknown
+              96:             TypeImage 8(float) 1D depth array sampled format:Unknown
               97:             TypePointer UniformConstant 96
   98(tex1DArray):     97(ptr) Variable UniformConstant
-             101:             TypeImage 8(float) 1D depth array sampled format:Unknown
-             102:             TypeSampledImage 101
-             104:             TypeImage 32(int) 1D array sampled format:Unknown
-             105:             TypePointer UniformConstant 104
-106(itex1DArray):    105(ptr) Variable UniformConstant
-             109:             TypeSampledImage 104
-             111:             TypeImage 27(int) 1D sampled format:Unknown
-             112:             TypePointer UniformConstant 111
-     113(utex1D):    112(ptr) Variable UniformConstant
-             116:             TypeSampledImage 111
-             118:             TypeImage 32(int) 1D sampled format:Unknown
-             119:             TypePointer UniformConstant 118
-     120(itex1D):    119(ptr) Variable UniformConstant
-             123:             TypeSampledImage 118
-             125:             TypeImage 27(int) 1D array sampled format:Unknown
-             126:             TypePointer UniformConstant 125
-127(utex1DArray):    126(ptr) Variable UniformConstant
-             130:             TypeSampledImage 125
-             132:             TypeImage 8(float) Buffer sampled format:Unknown
-             133:             TypePointer UniformConstant 132
-  134(texBuffer):    133(ptr) Variable UniformConstant
-             137:             TypeSampledImage 132
-             141:             TypeImage 8(float) Cube depth sampled format:Unknown
-             142:             TypeSampledImage 141
-             144:             TypeImage 8(float) 2D array sampled format:Unknown
-             145:             TypePointer UniformConstant 144
- 146(tex2DArray):    145(ptr) Variable UniformConstant
-             149:             TypeSampledImage 144
-             153:             TypeImage 8(float) 2D depth array sampled format:Unknown
-             154:             TypeSampledImage 153
-             156:             TypeImage 32(int) 2D sampled format:Unknown
-             157:             TypePointer UniformConstant 156
-     158(itex2D):    157(ptr) Variable UniformConstant
-             161:             TypeSampledImage 156
-             163:             TypeImage 32(int) 3D sampled format:Unknown
-             164:             TypePointer UniformConstant 163
-     165(itex3D):    164(ptr) Variable UniformConstant
-             168:             TypeSampledImage 163
-             170:             TypeImage 32(int) Cube sampled format:Unknown
-             171:             TypePointer UniformConstant 170
-   172(itexCube):    171(ptr) Variable UniformConstant
-             175:             TypeSampledImage 170
-             177:             TypeImage 32(int) 2D array sampled format:Unknown
-             178:             TypePointer UniformConstant 177
-179(itex2DArray):    178(ptr) Variable UniformConstant
-             182:             TypeSampledImage 177
-             184:             TypeImage 27(int) 2D sampled format:Unknown
-             185:             TypePointer UniformConstant 184
-     186(utex2D):    185(ptr) Variable UniformConstant
-             189:             TypeSampledImage 184
-             191:             TypeImage 27(int) 3D sampled format:Unknown
-             192:             TypePointer UniformConstant 191
-     193(utex3D):    192(ptr) Variable UniformConstant
-             196:             TypeSampledImage 191
-             198:             TypeImage 27(int) Cube sampled format:Unknown
-             199:             TypePointer UniformConstant 198
-   200(utexCube):    199(ptr) Variable UniformConstant
-             203:             TypeSampledImage 198
-             205:             TypeImage 27(int) 2D array sampled format:Unknown
-             206:             TypePointer UniformConstant 205
-207(utex2DArray):    206(ptr) Variable UniformConstant
-             210:             TypeSampledImage 205
-             212:             TypeImage 32(int) Rect sampled format:Unknown
-             213:             TypePointer UniformConstant 212
- 214(itex2DRect):    213(ptr) Variable UniformConstant
-             217:             TypeSampledImage 212
-             219:             TypeImage 27(int) Rect sampled format:Unknown
-             220:             TypePointer UniformConstant 219
- 221(utex2DRect):    220(ptr) Variable UniformConstant
-             224:             TypeSampledImage 219
-             226:             TypeImage 32(int) Buffer sampled format:Unknown
-             227:             TypePointer UniformConstant 226
- 228(itexBuffer):    227(ptr) Variable UniformConstant
-             231:             TypeSampledImage 226
-             233:             TypeImage 27(int) Buffer sampled format:Unknown
-             234:             TypePointer UniformConstant 233
- 235(utexBuffer):    234(ptr) Variable UniformConstant
-             238:             TypeSampledImage 233
-             240:             TypeImage 8(float) 2D multi-sampled sampled format:Unknown
-             241:             TypePointer UniformConstant 240
-    242(tex2DMS):    241(ptr) Variable UniformConstant
-             245:             TypeSampledImage 240
-             247:             TypeImage 32(int) 2D multi-sampled sampled format:Unknown
-             248:             TypePointer UniformConstant 247
-   249(itex2DMS):    248(ptr) Variable UniformConstant
-             252:             TypeSampledImage 247
-             254:             TypeImage 27(int) 2D multi-sampled sampled format:Unknown
-             255:             TypePointer UniformConstant 254
-   256(utex2DMS):    255(ptr) Variable UniformConstant
-             259:             TypeSampledImage 254
-             261:             TypeImage 8(float) 2D array multi-sampled sampled format:Unknown
-             262:             TypePointer UniformConstant 261
-263(tex2DMSArray):    262(ptr) Variable UniformConstant
-             266:             TypeSampledImage 261
-             268:             TypeImage 32(int) 2D array multi-sampled sampled format:Unknown
-             269:             TypePointer UniformConstant 268
-270(itex2DMSArray):    269(ptr) Variable UniformConstant
-             273:             TypeSampledImage 268
-             275:             TypeImage 27(int) 2D array multi-sampled sampled format:Unknown
-             276:             TypePointer UniformConstant 275
-277(utex2DMSArray):    276(ptr) Variable UniformConstant
-             280:             TypeSampledImage 275
-             282:             TypeImage 8(float) 1D sampled format:Unknown
-             283:             TypePointer UniformConstant 282
-      284(tex1D):    283(ptr) Variable UniformConstant
-             287:             TypeSampledImage 282
-             291:             TypeImage 8(float) 1D depth sampled format:Unknown
-             292:             TypeSampledImage 291
-      294(tex3D):     36(ptr) Variable UniformConstant
-             300:             TypeImage 8(float) 2D depth sampled format:Unknown
-             301:             TypeSampledImage 300
-             303:             TypeImage 8(float) Rect sampled format:Unknown
-             304:             TypePointer UniformConstant 303
-  305(tex2DRect):    304(ptr) Variable UniformConstant
-             308:             TypeSampledImage 303
-             312:             TypeImage 8(float) Rect depth sampled format:Unknown
-             313:             TypeSampledImage 312
-             317:             TypeSampledImage 96
+             101:             TypeSampledImage 96
+             103:             TypeImage 32(int) 1D array sampled format:Unknown
+             104:             TypePointer UniformConstant 103
+105(itex1DArray):    104(ptr) Variable UniformConstant
+             108:             TypeSampledImage 103
+             110:             TypeImage 27(int) 1D sampled format:Unknown
+             111:             TypePointer UniformConstant 110
+     112(utex1D):    111(ptr) Variable UniformConstant
+             115:             TypeSampledImage 110
+             117:             TypeImage 32(int) 1D sampled format:Unknown
+             118:             TypePointer UniformConstant 117
+     119(itex1D):    118(ptr) Variable UniformConstant
+             122:             TypeSampledImage 117
+             124:             TypeImage 27(int) 1D array sampled format:Unknown
+             125:             TypePointer UniformConstant 124
+126(utex1DArray):    125(ptr) Variable UniformConstant
+             129:             TypeSampledImage 124
+             131:             TypeImage 8(float) Buffer sampled format:Unknown
+             132:             TypePointer UniformConstant 131
+  133(texBuffer):    132(ptr) Variable UniformConstant
+             136:             TypeSampledImage 131
+             140:             TypeImage 8(float) Cube depth sampled format:Unknown
+             141:             TypeSampledImage 140
+             143:             TypeImage 8(float) 2D array sampled format:Unknown
+             144:             TypePointer UniformConstant 143
+ 145(tex2DArray):    144(ptr) Variable UniformConstant
+             148:             TypeSampledImage 143
+             152:             TypeImage 8(float) 2D depth array sampled format:Unknown
+             153:             TypeSampledImage 152
+             155:             TypeImage 32(int) 2D sampled format:Unknown
+             156:             TypePointer UniformConstant 155
+     157(itex2D):    156(ptr) Variable UniformConstant
+             160:             TypeSampledImage 155
+             162:             TypeImage 32(int) 3D sampled format:Unknown
+             163:             TypePointer UniformConstant 162
+     164(itex3D):    163(ptr) Variable UniformConstant
+             167:             TypeSampledImage 162
+             169:             TypeImage 32(int) Cube sampled format:Unknown
+             170:             TypePointer UniformConstant 169
+   171(itexCube):    170(ptr) Variable UniformConstant
+             174:             TypeSampledImage 169
+             176:             TypeImage 32(int) 2D array sampled format:Unknown
+             177:             TypePointer UniformConstant 176
+178(itex2DArray):    177(ptr) Variable UniformConstant
+             181:             TypeSampledImage 176
+             183:             TypeImage 27(int) 2D sampled format:Unknown
+             184:             TypePointer UniformConstant 183
+     185(utex2D):    184(ptr) Variable UniformConstant
+             188:             TypeSampledImage 183
+             190:             TypeImage 27(int) 3D sampled format:Unknown
+             191:             TypePointer UniformConstant 190
+     192(utex3D):    191(ptr) Variable UniformConstant
+             195:             TypeSampledImage 190
+             197:             TypeImage 27(int) Cube sampled format:Unknown
+             198:             TypePointer UniformConstant 197
+   199(utexCube):    198(ptr) Variable UniformConstant
+             202:             TypeSampledImage 197
+             204:             TypeImage 27(int) 2D array sampled format:Unknown
+             205:             TypePointer UniformConstant 204
+206(utex2DArray):    205(ptr) Variable UniformConstant
+             209:             TypeSampledImage 204
+             211:             TypeImage 32(int) Rect sampled format:Unknown
+             212:             TypePointer UniformConstant 211
+ 213(itex2DRect):    212(ptr) Variable UniformConstant
+             216:             TypeSampledImage 211
+             218:             TypeImage 27(int) Rect sampled format:Unknown
+             219:             TypePointer UniformConstant 218
+ 220(utex2DRect):    219(ptr) Variable UniformConstant
+             223:             TypeSampledImage 218
+             225:             TypeImage 32(int) Buffer sampled format:Unknown
+             226:             TypePointer UniformConstant 225
+ 227(itexBuffer):    226(ptr) Variable UniformConstant
+             230:             TypeSampledImage 225
+             232:             TypeImage 27(int) Buffer sampled format:Unknown
+             233:             TypePointer UniformConstant 232
+ 234(utexBuffer):    233(ptr) Variable UniformConstant
+             237:             TypeSampledImage 232
+             239:             TypeImage 8(float) 2D multi-sampled sampled format:Unknown
+             240:             TypePointer UniformConstant 239
+    241(tex2DMS):    240(ptr) Variable UniformConstant
+             244:             TypeSampledImage 239
+             246:             TypeImage 32(int) 2D multi-sampled sampled format:Unknown
+             247:             TypePointer UniformConstant 246
+   248(itex2DMS):    247(ptr) Variable UniformConstant
+             251:             TypeSampledImage 246
+             253:             TypeImage 27(int) 2D multi-sampled sampled format:Unknown
+             254:             TypePointer UniformConstant 253
+   255(utex2DMS):    254(ptr) Variable UniformConstant
+             258:             TypeSampledImage 253
+             260:             TypeImage 8(float) 2D array multi-sampled sampled format:Unknown
+             261:             TypePointer UniformConstant 260
+262(tex2DMSArray):    261(ptr) Variable UniformConstant
+             265:             TypeSampledImage 260
+             267:             TypeImage 32(int) 2D array multi-sampled sampled format:Unknown
+             268:             TypePointer UniformConstant 267
+269(itex2DMSArray):    268(ptr) Variable UniformConstant
+             272:             TypeSampledImage 267
+             274:             TypeImage 27(int) 2D array multi-sampled sampled format:Unknown
+             275:             TypePointer UniformConstant 274
+276(utex2DMSArray):    275(ptr) Variable UniformConstant
+             279:             TypeSampledImage 274
+             281:             TypeImage 8(float) 1D sampled format:Unknown
+             282:             TypePointer UniformConstant 281
+      283(tex1D):    282(ptr) Variable UniformConstant
+             286:             TypeSampledImage 281
+             290:             TypeImage 8(float) 1D depth sampled format:Unknown
+             291:             TypeSampledImage 290
+      293(tex3D):     36(ptr) Variable UniformConstant
+             299:             TypeImage 8(float) 2D depth sampled format:Unknown
+             300:             TypeSampledImage 299
+             302:             TypeImage 8(float) Rect sampled format:Unknown
+             303:             TypePointer UniformConstant 302
+  304(tex2DRect):    303(ptr) Variable UniformConstant
+             307:             TypeSampledImage 302
+             311:             TypeImage 8(float) Rect depth sampled format:Unknown
+             312:             TypeSampledImage 311
+             316:             TypeImage 8(float) 1D array sampled format:Unknown
+             317:             TypeSampledImage 316
          4(main):           2 Function None 3
                5:             Label
               15:          12 Load 14(t2d)
@@ -316,105 +320,105 @@
               95:          94 SampledImage 92 93
               99:          96 Load 98(tex1DArray)
              100:          16 Load 77(sShadow)
-             103:         102 SampledImage 99 100
-             107:         104 Load 106(itex1DArray)
-             108:          16 Load 18(s)
-             110:         109 SampledImage 107 108
-             114:         111 Load 113(utex1D)
-             115:          16 Load 18(s)
-             117:         116 SampledImage 114 115
-             121:         118 Load 120(itex1D)
-             122:          16 Load 18(s)
-             124:         123 SampledImage 121 122
-             128:         125 Load 127(utex1DArray)
-             129:          16 Load 18(s)
-             131:         130 SampledImage 128 129
-             135:         132 Load 134(texBuffer)
-             136:          16 Load 18(s)
-             138:         137 SampledImage 135 136
-             139:          62 Load 64(texCube)
-             140:          16 Load 77(sShadow)
-             143:         142 SampledImage 139 140
-             147:         144 Load 146(tex2DArray)
-             148:          16 Load 18(s)
-             150:         149 SampledImage 147 148
-             151:         144 Load 146(tex2DArray)
-             152:          16 Load 77(sShadow)
-             155:         154 SampledImage 151 152
-             159:         156 Load 158(itex2D)
-             160:          16 Load 18(s)
-             162:         161 SampledImage 159 160
-             166:         163 Load 165(itex3D)
-             167:          16 Load 18(s)
-             169:         168 SampledImage 166 167
-             173:         170 Load 172(itexCube)
-             174:          16 Load 18(s)
-             176:         175 SampledImage 173 174
-             180:         177 Load 179(itex2DArray)
-             181:          16 Load 18(s)
-             183:         182 SampledImage 180 181
-             187:         184 Load 186(utex2D)
-             188:          16 Load 18(s)
-             190:         189 SampledImage 187 188
-             194:         191 Load 193(utex3D)
-             195:          16 Load 18(s)
-             197:         196 SampledImage 194 195
-             201:         198 Load 200(utexCube)
-             202:          16 Load 18(s)
-             204:         203 SampledImage 201 202
-             208:         205 Load 207(utex2DArray)
-             209:          16 Load 18(s)
-             211:         210 SampledImage 208 209
-             215:         212 Load 214(itex2DRect)
-             216:          16 Load 18(s)
-             218:         217 SampledImage 215 216
-             222:         219 Load 221(utex2DRect)
-             223:          16 Load 18(s)
-             225:         224 SampledImage 222 223
-             229:         226 Load 228(itexBuffer)
-             230:          16 Load 18(s)
-             232:         231 SampledImage 229 230
-             236:         233 Load 235(utexBuffer)
-             237:          16 Load 18(s)
-             239:         238 SampledImage 236 237
-             243:         240 Load 242(tex2DMS)
-             244:          16 Load 18(s)
-             246:         245 SampledImage 243 244
-             250:         247 Load 249(itex2DMS)
-             251:          16 Load 18(s)
-             253:         252 SampledImage 250 251
-             257:         254 Load 256(utex2DMS)
-             258:          16 Load 18(s)
-             260:         259 SampledImage 257 258
-             264:         261 Load 263(tex2DMSArray)
-             265:          16 Load 18(s)
-             267:         266 SampledImage 264 265
-             271:         268 Load 270(itex2DMSArray)
-             272:          16 Load 18(s)
-             274:         273 SampledImage 271 272
-             278:         275 Load 277(utex2DMSArray)
-             279:          16 Load 18(s)
-             281:         280 SampledImage 278 279
-             285:         282 Load 284(tex1D)
-             286:          16 Load 18(s)
-             288:         287 SampledImage 285 286
-             289:         282 Load 284(tex1D)
-             290:          16 Load 77(sShadow)
-             293:         292 SampledImage 289 290
-             295:          26 Load 294(tex3D)
-             296:          16 Load 18(s)
-             297:          45 SampledImage 295 296
-             298:          12 Load 58(tex2D)
-             299:          16 Load 77(sShadow)
-             302:         301 SampledImage 298 299
-             306:         303 Load 305(tex2DRect)
-             307:          16 Load 18(s)
-             309:         308 SampledImage 306 307
-             310:         303 Load 305(tex2DRect)
-             311:          16 Load 77(sShadow)
-             314:         313 SampledImage 310 311
-             315:          96 Load 98(tex1DArray)
-             316:          16 Load 18(s)
-             318:         317 SampledImage 315 316
+             102:         101 SampledImage 99 100
+             106:         103 Load 105(itex1DArray)
+             107:          16 Load 18(s)
+             109:         108 SampledImage 106 107
+             113:         110 Load 112(utex1D)
+             114:          16 Load 18(s)
+             116:         115 SampledImage 113 114
+             120:         117 Load 119(itex1D)
+             121:          16 Load 18(s)
+             123:         122 SampledImage 120 121
+             127:         124 Load 126(utex1DArray)
+             128:          16 Load 18(s)
+             130:         129 SampledImage 127 128
+             134:         131 Load 133(texBuffer)
+             135:          16 Load 18(s)
+             137:         136 SampledImage 134 135
+             138:          62 Load 64(texCube)
+             139:          16 Load 77(sShadow)
+             142:         141 SampledImage 138 139
+             146:         143 Load 145(tex2DArray)
+             147:          16 Load 18(s)
+             149:         148 SampledImage 146 147
+             150:         143 Load 145(tex2DArray)
+             151:          16 Load 77(sShadow)
+             154:         153 SampledImage 150 151
+             158:         155 Load 157(itex2D)
+             159:          16 Load 18(s)
+             161:         160 SampledImage 158 159
+             165:         162 Load 164(itex3D)
+             166:          16 Load 18(s)
+             168:         167 SampledImage 165 166
+             172:         169 Load 171(itexCube)
+             173:          16 Load 18(s)
+             175:         174 SampledImage 172 173
+             179:         176 Load 178(itex2DArray)
+             180:          16 Load 18(s)
+             182:         181 SampledImage 179 180
+             186:         183 Load 185(utex2D)
+             187:          16 Load 18(s)
+             189:         188 SampledImage 186 187
+             193:         190 Load 192(utex3D)
+             194:          16 Load 18(s)
+             196:         195 SampledImage 193 194
+             200:         197 Load 199(utexCube)
+             201:          16 Load 18(s)
+             203:         202 SampledImage 200 201
+             207:         204 Load 206(utex2DArray)
+             208:          16 Load 18(s)
+             210:         209 SampledImage 207 208
+             214:         211 Load 213(itex2DRect)
+             215:          16 Load 18(s)
+             217:         216 SampledImage 214 215
+             221:         218 Load 220(utex2DRect)
+             222:          16 Load 18(s)
+             224:         223 SampledImage 221 222
+             228:         225 Load 227(itexBuffer)
+             229:          16 Load 18(s)
+             231:         230 SampledImage 228 229
+             235:         232 Load 234(utexBuffer)
+             236:          16 Load 18(s)
+             238:         237 SampledImage 235 236
+             242:         239 Load 241(tex2DMS)
+             243:          16 Load 18(s)
+             245:         244 SampledImage 242 243
+             249:         246 Load 248(itex2DMS)
+             250:          16 Load 18(s)
+             252:         251 SampledImage 249 250
+             256:         253 Load 255(utex2DMS)
+             257:          16 Load 18(s)
+             259:         258 SampledImage 256 257
+             263:         260 Load 262(tex2DMSArray)
+             264:          16 Load 18(s)
+             266:         265 SampledImage 263 264
+             270:         267 Load 269(itex2DMSArray)
+             271:          16 Load 18(s)
+             273:         272 SampledImage 270 271
+             277:         274 Load 276(utex2DMSArray)
+             278:          16 Load 18(s)
+             280:         279 SampledImage 277 278
+             284:         281 Load 283(tex1D)
+             285:          16 Load 18(s)
+             287:         286 SampledImage 284 285
+             288:         281 Load 283(tex1D)
+             289:          16 Load 77(sShadow)
+             292:         291 SampledImage 288 289
+             294:          26 Load 293(tex3D)
+             295:          16 Load 18(s)
+             296:          45 SampledImage 294 295
+             297:          12 Load 58(tex2D)
+             298:          16 Load 77(sShadow)
+             301:         300 SampledImage 297 298
+             305:         302 Load 304(tex2DRect)
+             306:          16 Load 18(s)
+             308:         307 SampledImage 305 306
+             309:         302 Load 304(tex2DRect)
+             310:          16 Load 77(sShadow)
+             313:         312 SampledImage 309 310
+             314:          96 Load 98(tex1DArray)
+             315:          16 Load 18(s)
+             318:         317 SampledImage 314 315
                               Return
                               FunctionEnd
diff --git a/Test/baseResults/spv.set.vert.out b/Test/baseResults/spv.set.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.shaderBallotAMD.comp.out b/Test/baseResults/spv.shaderBallotAMD.comp.out
index df70095..5219a3a 100644
--- a/Test/baseResults/spv.shaderBallotAMD.comp.out
+++ b/Test/baseResults/spv.shaderBallotAMD.comp.out
@@ -1,4 +1,8 @@
 spv.shaderBallotAMD.comp
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 1343
@@ -10,8 +14,6 @@
                               Capability Groups
                               Capability Int16
                               Capability StorageUniformBufferBlock16
-                              Extension  "SPV_AMD_gpu_shader_half_float"
-                              Extension  "SPV_AMD_gpu_shader_int16"
                               Extension  "SPV_AMD_shader_ballot"
                               Extension  "SPV_KHR_16bit_storage"
                1:             ExtInstImport  "GLSL.std.450"
diff --git a/Test/baseResults/spv.shaderImageFootprint.frag.out b/Test/baseResults/spv.shaderImageFootprint.frag.out
new file mode 100644
index 0000000..2ada2b5
--- /dev/null
+++ b/Test/baseResults/spv.shaderImageFootprint.frag.out
@@ -0,0 +1,849 @@
+spv.shaderImageFootprint.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 622
+
+                              Capability Shader
+                              Capability MinLod
+                              Capability Bad
+                              Extension  "SPV_NV_shader_image_footprint"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 21 24 76 125 225 275 277 387
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_shader_texture_footprint"
+                              Name 4  "main"
+                              Name 8  "result2D"
+                              MemberName 8(result2D) 0  "ret2D"
+                              MemberName 8(result2D) 1  "anchor2D"
+                              MemberName 8(result2D) 2  "offset2D"
+                              MemberName 8(result2D) 3  "mask2D"
+                              MemberName 8(result2D) 4  "lod2D"
+                              MemberName 8(result2D) 5  "granularity2D"
+                              Name 10  ""
+                              Name 17  "sample2D"
+                              Name 21  "P2"
+                              Name 24  "granularity"
+                              Name 28  "gl_TextureFootprint2DNV"
+                              MemberName 28(gl_TextureFootprint2DNV) 0  "anchor"
+                              MemberName 28(gl_TextureFootprint2DNV) 1  "offset"
+                              MemberName 28(gl_TextureFootprint2DNV) 2  "mask"
+                              MemberName 28(gl_TextureFootprint2DNV) 3  "lod"
+                              MemberName 28(gl_TextureFootprint2DNV) 4  "granularity"
+                              Name 30  "fp2D"
+                              Name 31  "ResType"
+                              Name 76  "bias"
+                              Name 78  "ResType"
+                              Name 125  "lodClamp"
+                              Name 128  "ResType"
+                              Name 178  "ResType"
+                              Name 225  "lod"
+                              Name 228  "ResType"
+                              Name 275  "dx"
+                              Name 277  "dy"
+                              Name 280  "ResType"
+                              Name 331  "ResType"
+                              Name 377  "result3D"
+                              MemberName 377(result3D) 0  "ret3D"
+                              MemberName 377(result3D) 1  "anchor3D"
+                              MemberName 377(result3D) 2  "offset3D"
+                              MemberName 377(result3D) 3  "mask3D"
+                              MemberName 377(result3D) 4  "lod3D"
+                              MemberName 377(result3D) 5  "granularity3D"
+                              Name 379  ""
+                              Name 383  "sample3D"
+                              Name 387  "P3"
+                              Name 390  "gl_TextureFootprint3DNV"
+                              MemberName 390(gl_TextureFootprint3DNV) 0  "anchor"
+                              MemberName 390(gl_TextureFootprint3DNV) 1  "offset"
+                              MemberName 390(gl_TextureFootprint3DNV) 2  "mask"
+                              MemberName 390(gl_TextureFootprint3DNV) 3  "lod"
+                              MemberName 390(gl_TextureFootprint3DNV) 4  "granularity"
+                              Name 392  "fp3D"
+                              Name 393  "ResType"
+                              Name 429  "ResType"
+                              Name 478  "ResType"
+                              Name 528  "ResType"
+                              Name 577  "ResType"
+                              MemberDecorate 8(result2D) 0 Offset 0
+                              MemberDecorate 8(result2D) 1 Offset 8
+                              MemberDecorate 8(result2D) 2 Offset 16
+                              MemberDecorate 8(result2D) 3 Offset 24
+                              MemberDecorate 8(result2D) 4 Offset 32
+                              MemberDecorate 8(result2D) 5 Offset 36
+                              Decorate 8(result2D) BufferBlock
+                              Decorate 10 DescriptorSet 0
+                              Decorate 17(sample2D) DescriptorSet 0
+                              Decorate 21(P2) Location 0
+                              Decorate 24(granularity) Flat
+                              Decorate 24(granularity) Location 3
+                              Decorate 76(bias) Location 9
+                              Decorate 125(lodClamp) Location 4
+                              Decorate 225(lod) Location 5
+                              Decorate 275(dx) Location 6
+                              Decorate 277(dy) Location 8
+                              MemberDecorate 377(result3D) 0 Offset 0
+                              MemberDecorate 377(result3D) 1 Offset 16
+                              MemberDecorate 377(result3D) 2 Offset 32
+                              MemberDecorate 377(result3D) 3 Offset 48
+                              MemberDecorate 377(result3D) 4 Offset 56
+                              MemberDecorate 377(result3D) 5 Offset 60
+                              Decorate 377(result3D) BufferBlock
+                              Decorate 379 DescriptorSet 0
+                              Decorate 383(sample3D) DescriptorSet 0
+                              Decorate 387(P3) Location 2
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeInt 32 0
+               7:             TypeVector 6(int) 2
+     8(result2D):             TypeStruct 6(int) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+               9:             TypePointer Uniform 8(result2D)
+              10:      9(ptr) Variable Uniform
+              11:             TypeInt 32 1
+              12:     11(int) Constant 0
+              13:             TypeFloat 32
+              14:             TypeImage 13(float) 2D sampled format:Unknown
+              15:             TypeSampledImage 14
+              16:             TypePointer UniformConstant 15
+    17(sample2D):     16(ptr) Variable UniformConstant
+              19:             TypeVector 13(float) 2
+              20:             TypePointer Input 19(fvec2)
+          21(P2):     20(ptr) Variable Input
+              23:             TypePointer Input 11(int)
+ 24(granularity):     23(ptr) Variable Input
+              26:             TypeBool
+              27:    26(bool) ConstantTrue
+28(gl_TextureFootprint2DNV):             TypeStruct 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+              29:             TypePointer Function 28(gl_TextureFootprint2DNV)
+     31(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+              34:             TypePointer Function 7(ivec2)
+              36:     11(int) Constant 1
+              39:     11(int) Constant 2
+              42:     11(int) Constant 3
+              44:             TypePointer Function 6(int)
+              46:     11(int) Constant 4
+              50:      6(int) Constant 1
+              51:      6(int) Constant 0
+              53:             TypePointer Uniform 6(int)
+              57:             TypePointer Uniform 7(ivec2)
+              68:     11(int) Constant 5
+              75:             TypePointer Input 13(float)
+        76(bias):     75(ptr) Variable Input
+     78(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+   125(lodClamp):     75(ptr) Variable Input
+    128(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+    178(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+        225(lod):     75(ptr) Variable Input
+    228(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+         275(dx):     20(ptr) Variable Input
+         277(dy):     20(ptr) Variable Input
+    280(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+    331(ResType):             TypeStruct 26(bool) 7(ivec2) 7(ivec2) 7(ivec2) 6(int) 6(int)
+             376:             TypeVector 6(int) 3
+   377(result3D):             TypeStruct 6(int) 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+             378:             TypePointer Uniform 377(result3D)
+             379:    378(ptr) Variable Uniform
+             380:             TypeImage 13(float) 3D sampled format:Unknown
+             381:             TypeSampledImage 380
+             382:             TypePointer UniformConstant 381
+   383(sample3D):    382(ptr) Variable UniformConstant
+             385:             TypeVector 13(float) 3
+             386:             TypePointer Input 385(fvec3)
+         387(P3):    386(ptr) Variable Input
+390(gl_TextureFootprint3DNV):             TypeStruct 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+             391:             TypePointer Function 390(gl_TextureFootprint3DNV)
+    393(ResType):             TypeStruct 26(bool) 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+             396:             TypePointer Function 376(ivec3)
+             411:             TypePointer Uniform 376(ivec3)
+    429(ResType):             TypeStruct 26(bool) 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+    478(ResType):             TypeStruct 26(bool) 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+    528(ResType):             TypeStruct 26(bool) 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+    577(ResType):             TypeStruct 26(bool) 376(ivec3) 376(ivec3) 7(ivec2) 6(int) 6(int)
+         4(main):           2 Function None 3
+               5:             Label
+        30(fp2D):     29(ptr) Variable Function
+       392(fp3D):    391(ptr) Variable Function
+              18:          15 Load 17(sample2D)
+              22:   19(fvec2) Load 21(P2)
+              25:     11(int) Load 24(granularity)
+              32: 31(ResType) ImageSampleFootprintNV 18 22 25 27
+              33:    7(ivec2) CompositeExtract 32 1
+              35:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 35 33
+              37:    7(ivec2) CompositeExtract 32 2
+              38:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 38 37
+              40:    7(ivec2) CompositeExtract 32 3
+              41:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 41 40
+              43:      6(int) CompositeExtract 32 4
+              45:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 45 43
+              47:      6(int) CompositeExtract 32 5
+              48:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 48 47
+              49:    26(bool) CompositeExtract 32 0
+              52:      6(int) Select 49 50 51
+              54:     53(ptr) AccessChain 10 12
+                              Store 54 52
+              55:     34(ptr) AccessChain 30(fp2D) 12
+              56:    7(ivec2) Load 55
+              58:     57(ptr) AccessChain 10 36
+                              Store 58 56
+              59:     34(ptr) AccessChain 30(fp2D) 36
+              60:    7(ivec2) Load 59
+              61:     57(ptr) AccessChain 10 39
+                              Store 61 60
+              62:     34(ptr) AccessChain 30(fp2D) 39
+              63:    7(ivec2) Load 62
+              64:     57(ptr) AccessChain 10 42
+                              Store 64 63
+              65:     44(ptr) AccessChain 30(fp2D) 42
+              66:      6(int) Load 65
+              67:     53(ptr) AccessChain 10 46
+                              Store 67 66
+              69:     44(ptr) AccessChain 30(fp2D) 46
+              70:      6(int) Load 69
+              71:     53(ptr) AccessChain 10 68
+                              Store 71 70
+              72:          15 Load 17(sample2D)
+              73:   19(fvec2) Load 21(P2)
+              74:     11(int) Load 24(granularity)
+              77:   13(float) Load 76(bias)
+              79: 78(ResType) ImageSampleFootprintNV 72 73 74 27 Bias 77
+              80:    7(ivec2) CompositeExtract 79 1
+              81:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 81 80
+              82:    7(ivec2) CompositeExtract 79 2
+              83:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 83 82
+              84:    7(ivec2) CompositeExtract 79 3
+              85:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 85 84
+              86:      6(int) CompositeExtract 79 4
+              87:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 87 86
+              88:      6(int) CompositeExtract 79 5
+              89:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 89 88
+              90:    26(bool) CompositeExtract 79 0
+              91:      6(int) Select 90 50 51
+              92:     53(ptr) AccessChain 10 12
+                              Store 92 91
+              93:     34(ptr) AccessChain 30(fp2D) 12
+              94:    7(ivec2) Load 93
+              95:     57(ptr) AccessChain 10 36
+              96:    7(ivec2) Load 95
+              97:    7(ivec2) IAdd 96 94
+              98:     57(ptr) AccessChain 10 36
+                              Store 98 97
+              99:     34(ptr) AccessChain 30(fp2D) 36
+             100:    7(ivec2) Load 99
+             101:     57(ptr) AccessChain 10 39
+             102:    7(ivec2) Load 101
+             103:    7(ivec2) IAdd 102 100
+             104:     57(ptr) AccessChain 10 39
+                              Store 104 103
+             105:     34(ptr) AccessChain 30(fp2D) 39
+             106:    7(ivec2) Load 105
+             107:     57(ptr) AccessChain 10 42
+             108:    7(ivec2) Load 107
+             109:    7(ivec2) IAdd 108 106
+             110:     57(ptr) AccessChain 10 42
+                              Store 110 109
+             111:     44(ptr) AccessChain 30(fp2D) 42
+             112:      6(int) Load 111
+             113:     53(ptr) AccessChain 10 46
+             114:      6(int) Load 113
+             115:      6(int) IAdd 114 112
+             116:     53(ptr) AccessChain 10 46
+                              Store 116 115
+             117:     44(ptr) AccessChain 30(fp2D) 46
+             118:      6(int) Load 117
+             119:     53(ptr) AccessChain 10 68
+             120:      6(int) Load 119
+             121:      6(int) IAdd 120 118
+             122:     53(ptr) AccessChain 10 68
+                              Store 122 121
+             123:          15 Load 17(sample2D)
+             124:   19(fvec2) Load 21(P2)
+             126:   13(float) Load 125(lodClamp)
+             127:     11(int) Load 24(granularity)
+             129:128(ResType) ImageSampleFootprintNV 123 124 127 27 MinLod 126
+             130:    7(ivec2) CompositeExtract 129 1
+             131:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 131 130
+             132:    7(ivec2) CompositeExtract 129 2
+             133:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 133 132
+             134:    7(ivec2) CompositeExtract 129 3
+             135:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 135 134
+             136:      6(int) CompositeExtract 129 4
+             137:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 137 136
+             138:      6(int) CompositeExtract 129 5
+             139:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 139 138
+             140:    26(bool) CompositeExtract 129 0
+             141:      6(int) Select 140 50 51
+             142:     53(ptr) AccessChain 10 12
+                              Store 142 141
+             143:     34(ptr) AccessChain 30(fp2D) 12
+             144:    7(ivec2) Load 143
+             145:     57(ptr) AccessChain 10 36
+             146:    7(ivec2) Load 145
+             147:    7(ivec2) IAdd 146 144
+             148:     57(ptr) AccessChain 10 36
+                              Store 148 147
+             149:     34(ptr) AccessChain 30(fp2D) 36
+             150:    7(ivec2) Load 149
+             151:     57(ptr) AccessChain 10 39
+             152:    7(ivec2) Load 151
+             153:    7(ivec2) IAdd 152 150
+             154:     57(ptr) AccessChain 10 39
+                              Store 154 153
+             155:     34(ptr) AccessChain 30(fp2D) 39
+             156:    7(ivec2) Load 155
+             157:     57(ptr) AccessChain 10 42
+             158:    7(ivec2) Load 157
+             159:    7(ivec2) IAdd 158 156
+             160:     57(ptr) AccessChain 10 42
+                              Store 160 159
+             161:     44(ptr) AccessChain 30(fp2D) 42
+             162:      6(int) Load 161
+             163:     53(ptr) AccessChain 10 46
+             164:      6(int) Load 163
+             165:      6(int) IAdd 164 162
+             166:     53(ptr) AccessChain 10 46
+                              Store 166 165
+             167:     44(ptr) AccessChain 30(fp2D) 46
+             168:      6(int) Load 167
+             169:     53(ptr) AccessChain 10 68
+             170:      6(int) Load 169
+             171:      6(int) IAdd 170 168
+             172:     53(ptr) AccessChain 10 68
+                              Store 172 171
+             173:          15 Load 17(sample2D)
+             174:   19(fvec2) Load 21(P2)
+             175:   13(float) Load 125(lodClamp)
+             176:     11(int) Load 24(granularity)
+             177:   13(float) Load 76(bias)
+             179:178(ResType) ImageSampleFootprintNV 173 174 176 27 Bias MinLod 177 175
+             180:    7(ivec2) CompositeExtract 179 1
+             181:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 181 180
+             182:    7(ivec2) CompositeExtract 179 2
+             183:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 183 182
+             184:    7(ivec2) CompositeExtract 179 3
+             185:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 185 184
+             186:      6(int) CompositeExtract 179 4
+             187:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 187 186
+             188:      6(int) CompositeExtract 179 5
+             189:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 189 188
+             190:    26(bool) CompositeExtract 179 0
+             191:      6(int) Select 190 50 51
+             192:     53(ptr) AccessChain 10 12
+                              Store 192 191
+             193:     34(ptr) AccessChain 30(fp2D) 12
+             194:    7(ivec2) Load 193
+             195:     57(ptr) AccessChain 10 36
+             196:    7(ivec2) Load 195
+             197:    7(ivec2) IAdd 196 194
+             198:     57(ptr) AccessChain 10 36
+                              Store 198 197
+             199:     34(ptr) AccessChain 30(fp2D) 36
+             200:    7(ivec2) Load 199
+             201:     57(ptr) AccessChain 10 39
+             202:    7(ivec2) Load 201
+             203:    7(ivec2) IAdd 202 200
+             204:     57(ptr) AccessChain 10 39
+                              Store 204 203
+             205:     34(ptr) AccessChain 30(fp2D) 39
+             206:    7(ivec2) Load 205
+             207:     57(ptr) AccessChain 10 42
+             208:    7(ivec2) Load 207
+             209:    7(ivec2) IAdd 208 206
+             210:     57(ptr) AccessChain 10 42
+                              Store 210 209
+             211:     44(ptr) AccessChain 30(fp2D) 42
+             212:      6(int) Load 211
+             213:     53(ptr) AccessChain 10 46
+             214:      6(int) Load 213
+             215:      6(int) IAdd 214 212
+             216:     53(ptr) AccessChain 10 46
+                              Store 216 215
+             217:     44(ptr) AccessChain 30(fp2D) 46
+             218:      6(int) Load 217
+             219:     53(ptr) AccessChain 10 68
+             220:      6(int) Load 219
+             221:      6(int) IAdd 220 218
+             222:     53(ptr) AccessChain 10 68
+                              Store 222 221
+             223:          15 Load 17(sample2D)
+             224:   19(fvec2) Load 21(P2)
+             226:   13(float) Load 225(lod)
+             227:     11(int) Load 24(granularity)
+             229:228(ResType) ImageSampleFootprintNV 223 224 227 27 Lod 226
+             230:    7(ivec2) CompositeExtract 229 1
+             231:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 231 230
+             232:    7(ivec2) CompositeExtract 229 2
+             233:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 233 232
+             234:    7(ivec2) CompositeExtract 229 3
+             235:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 235 234
+             236:      6(int) CompositeExtract 229 4
+             237:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 237 236
+             238:      6(int) CompositeExtract 229 5
+             239:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 239 238
+             240:    26(bool) CompositeExtract 229 0
+             241:      6(int) Select 240 50 51
+             242:     53(ptr) AccessChain 10 12
+                              Store 242 241
+             243:     34(ptr) AccessChain 30(fp2D) 12
+             244:    7(ivec2) Load 243
+             245:     57(ptr) AccessChain 10 36
+             246:    7(ivec2) Load 245
+             247:    7(ivec2) IAdd 246 244
+             248:     57(ptr) AccessChain 10 36
+                              Store 248 247
+             249:     34(ptr) AccessChain 30(fp2D) 36
+             250:    7(ivec2) Load 249
+             251:     57(ptr) AccessChain 10 39
+             252:    7(ivec2) Load 251
+             253:    7(ivec2) IAdd 252 250
+             254:     57(ptr) AccessChain 10 39
+                              Store 254 253
+             255:     34(ptr) AccessChain 30(fp2D) 39
+             256:    7(ivec2) Load 255
+             257:     57(ptr) AccessChain 10 42
+             258:    7(ivec2) Load 257
+             259:    7(ivec2) IAdd 258 256
+             260:     57(ptr) AccessChain 10 42
+                              Store 260 259
+             261:     44(ptr) AccessChain 30(fp2D) 42
+             262:      6(int) Load 261
+             263:     53(ptr) AccessChain 10 46
+             264:      6(int) Load 263
+             265:      6(int) IAdd 264 262
+             266:     53(ptr) AccessChain 10 46
+                              Store 266 265
+             267:     44(ptr) AccessChain 30(fp2D) 46
+             268:      6(int) Load 267
+             269:     53(ptr) AccessChain 10 68
+             270:      6(int) Load 269
+             271:      6(int) IAdd 270 268
+             272:     53(ptr) AccessChain 10 68
+                              Store 272 271
+             273:          15 Load 17(sample2D)
+             274:   19(fvec2) Load 21(P2)
+             276:   19(fvec2) Load 275(dx)
+             278:   19(fvec2) Load 277(dy)
+             279:     11(int) Load 24(granularity)
+             281:280(ResType) ImageSampleFootprintNV 273 274 279 27 Grad 276 278
+             282:    7(ivec2) CompositeExtract 281 1
+             283:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 283 282
+             284:    7(ivec2) CompositeExtract 281 2
+             285:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 285 284
+             286:    7(ivec2) CompositeExtract 281 3
+             287:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 287 286
+             288:      6(int) CompositeExtract 281 4
+             289:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 289 288
+             290:      6(int) CompositeExtract 281 5
+             291:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 291 290
+             292:    26(bool) CompositeExtract 281 0
+             293:      6(int) Select 292 50 51
+             294:     53(ptr) AccessChain 10 12
+                              Store 294 293
+             295:     34(ptr) AccessChain 30(fp2D) 12
+             296:    7(ivec2) Load 295
+             297:     57(ptr) AccessChain 10 36
+             298:    7(ivec2) Load 297
+             299:    7(ivec2) IAdd 298 296
+             300:     57(ptr) AccessChain 10 36
+                              Store 300 299
+             301:     34(ptr) AccessChain 30(fp2D) 36
+             302:    7(ivec2) Load 301
+             303:     57(ptr) AccessChain 10 39
+             304:    7(ivec2) Load 303
+             305:    7(ivec2) IAdd 304 302
+             306:     57(ptr) AccessChain 10 39
+                              Store 306 305
+             307:     34(ptr) AccessChain 30(fp2D) 39
+             308:    7(ivec2) Load 307
+             309:     57(ptr) AccessChain 10 42
+             310:    7(ivec2) Load 309
+             311:    7(ivec2) IAdd 310 308
+             312:     57(ptr) AccessChain 10 42
+                              Store 312 311
+             313:     44(ptr) AccessChain 30(fp2D) 42
+             314:      6(int) Load 313
+             315:     53(ptr) AccessChain 10 46
+             316:      6(int) Load 315
+             317:      6(int) IAdd 316 314
+             318:     53(ptr) AccessChain 10 46
+                              Store 318 317
+             319:     44(ptr) AccessChain 30(fp2D) 46
+             320:      6(int) Load 319
+             321:     53(ptr) AccessChain 10 68
+             322:      6(int) Load 321
+             323:      6(int) IAdd 322 320
+             324:     53(ptr) AccessChain 10 68
+                              Store 324 323
+             325:          15 Load 17(sample2D)
+             326:   19(fvec2) Load 21(P2)
+             327:   19(fvec2) Load 275(dx)
+             328:   19(fvec2) Load 277(dy)
+             329:   13(float) Load 125(lodClamp)
+             330:     11(int) Load 24(granularity)
+             332:331(ResType) ImageSampleFootprintNV 325 326 330 27 Grad MinLod 327 328 329
+             333:    7(ivec2) CompositeExtract 332 1
+             334:     34(ptr) AccessChain 30(fp2D) 12
+                              Store 334 333
+             335:    7(ivec2) CompositeExtract 332 2
+             336:     34(ptr) AccessChain 30(fp2D) 36
+                              Store 336 335
+             337:    7(ivec2) CompositeExtract 332 3
+             338:     34(ptr) AccessChain 30(fp2D) 39
+                              Store 338 337
+             339:      6(int) CompositeExtract 332 4
+             340:     44(ptr) AccessChain 30(fp2D) 42
+                              Store 340 339
+             341:      6(int) CompositeExtract 332 5
+             342:     44(ptr) AccessChain 30(fp2D) 46
+                              Store 342 341
+             343:    26(bool) CompositeExtract 332 0
+             344:      6(int) Select 343 50 51
+             345:     53(ptr) AccessChain 10 12
+                              Store 345 344
+             346:     34(ptr) AccessChain 30(fp2D) 12
+             347:    7(ivec2) Load 346
+             348:     57(ptr) AccessChain 10 36
+             349:    7(ivec2) Load 348
+             350:    7(ivec2) IAdd 349 347
+             351:     57(ptr) AccessChain 10 36
+                              Store 351 350
+             352:     34(ptr) AccessChain 30(fp2D) 36
+             353:    7(ivec2) Load 352
+             354:     57(ptr) AccessChain 10 39
+             355:    7(ivec2) Load 354
+             356:    7(ivec2) IAdd 355 353
+             357:     57(ptr) AccessChain 10 39
+                              Store 357 356
+             358:     34(ptr) AccessChain 30(fp2D) 39
+             359:    7(ivec2) Load 358
+             360:     57(ptr) AccessChain 10 42
+             361:    7(ivec2) Load 360
+             362:    7(ivec2) IAdd 361 359
+             363:     57(ptr) AccessChain 10 42
+                              Store 363 362
+             364:     44(ptr) AccessChain 30(fp2D) 42
+             365:      6(int) Load 364
+             366:     53(ptr) AccessChain 10 46
+             367:      6(int) Load 366
+             368:      6(int) IAdd 367 365
+             369:     53(ptr) AccessChain 10 46
+                              Store 369 368
+             370:     44(ptr) AccessChain 30(fp2D) 46
+             371:      6(int) Load 370
+             372:     53(ptr) AccessChain 10 68
+             373:      6(int) Load 372
+             374:      6(int) IAdd 373 371
+             375:     53(ptr) AccessChain 10 68
+                              Store 375 374
+             384:         381 Load 383(sample3D)
+             388:  385(fvec3) Load 387(P3)
+             389:     11(int) Load 24(granularity)
+             394:393(ResType) ImageSampleFootprintNV 384 388 389 27
+             395:  376(ivec3) CompositeExtract 394 1
+             397:    396(ptr) AccessChain 392(fp3D) 12
+                              Store 397 395
+             398:  376(ivec3) CompositeExtract 394 2
+             399:    396(ptr) AccessChain 392(fp3D) 36
+                              Store 399 398
+             400:    7(ivec2) CompositeExtract 394 3
+             401:     34(ptr) AccessChain 392(fp3D) 39
+                              Store 401 400
+             402:      6(int) CompositeExtract 394 4
+             403:     44(ptr) AccessChain 392(fp3D) 42
+                              Store 403 402
+             404:      6(int) CompositeExtract 394 5
+             405:     44(ptr) AccessChain 392(fp3D) 46
+                              Store 405 404
+             406:    26(bool) CompositeExtract 394 0
+             407:      6(int) Select 406 50 51
+             408:     53(ptr) AccessChain 379 12
+                              Store 408 407
+             409:    396(ptr) AccessChain 392(fp3D) 12
+             410:  376(ivec3) Load 409
+             412:    411(ptr) AccessChain 379 36
+                              Store 412 410
+             413:    396(ptr) AccessChain 392(fp3D) 36
+             414:  376(ivec3) Load 413
+             415:    411(ptr) AccessChain 379 39
+                              Store 415 414
+             416:     34(ptr) AccessChain 392(fp3D) 39
+             417:    7(ivec2) Load 416
+             418:     57(ptr) AccessChain 379 42
+                              Store 418 417
+             419:     44(ptr) AccessChain 392(fp3D) 42
+             420:      6(int) Load 419
+             421:     53(ptr) AccessChain 379 46
+                              Store 421 420
+             422:     44(ptr) AccessChain 392(fp3D) 46
+             423:      6(int) Load 422
+             424:     53(ptr) AccessChain 379 68
+                              Store 424 423
+             425:         381 Load 383(sample3D)
+             426:  385(fvec3) Load 387(P3)
+             427:     11(int) Load 24(granularity)
+             428:   13(float) Load 76(bias)
+             430:429(ResType) ImageSampleFootprintNV 425 426 427 27 Bias 428
+             431:  376(ivec3) CompositeExtract 430 1
+             432:    396(ptr) AccessChain 392(fp3D) 12
+                              Store 432 431
+             433:  376(ivec3) CompositeExtract 430 2
+             434:    396(ptr) AccessChain 392(fp3D) 36
+                              Store 434 433
+             435:    7(ivec2) CompositeExtract 430 3
+             436:     34(ptr) AccessChain 392(fp3D) 39
+                              Store 436 435
+             437:      6(int) CompositeExtract 430 4
+             438:     44(ptr) AccessChain 392(fp3D) 42
+                              Store 438 437
+             439:      6(int) CompositeExtract 430 5
+             440:     44(ptr) AccessChain 392(fp3D) 46
+                              Store 440 439
+             441:    26(bool) CompositeExtract 430 0
+             442:      6(int) Select 441 50 51
+             443:     53(ptr) AccessChain 379 12
+                              Store 443 442
+             444:    396(ptr) AccessChain 392(fp3D) 12
+             445:  376(ivec3) Load 444
+             446:    411(ptr) AccessChain 379 36
+             447:  376(ivec3) Load 446
+             448:  376(ivec3) IAdd 447 445
+             449:    411(ptr) AccessChain 379 36
+                              Store 449 448
+             450:    396(ptr) AccessChain 392(fp3D) 36
+             451:  376(ivec3) Load 450
+             452:    411(ptr) AccessChain 379 39
+             453:  376(ivec3) Load 452
+             454:  376(ivec3) IAdd 453 451
+             455:    411(ptr) AccessChain 379 39
+                              Store 455 454
+             456:     34(ptr) AccessChain 392(fp3D) 39
+             457:    7(ivec2) Load 456
+             458:     57(ptr) AccessChain 379 42
+             459:    7(ivec2) Load 458
+             460:    7(ivec2) IAdd 459 457
+             461:     57(ptr) AccessChain 379 42
+                              Store 461 460
+             462:     44(ptr) AccessChain 392(fp3D) 42
+             463:      6(int) Load 462
+             464:     53(ptr) AccessChain 379 46
+             465:      6(int) Load 464
+             466:      6(int) IAdd 465 463
+             467:     53(ptr) AccessChain 379 46
+                              Store 467 466
+             468:     44(ptr) AccessChain 392(fp3D) 46
+             469:      6(int) Load 468
+             470:     53(ptr) AccessChain 379 68
+             471:      6(int) Load 470
+             472:      6(int) IAdd 471 469
+             473:     53(ptr) AccessChain 379 68
+                              Store 473 472
+             474:         381 Load 383(sample3D)
+             475:  385(fvec3) Load 387(P3)
+             476:   13(float) Load 125(lodClamp)
+             477:     11(int) Load 24(granularity)
+             479:478(ResType) ImageSampleFootprintNV 474 475 477 27 MinLod 476
+             480:  376(ivec3) CompositeExtract 479 1
+             481:    396(ptr) AccessChain 392(fp3D) 12
+                              Store 481 480
+             482:  376(ivec3) CompositeExtract 479 2
+             483:    396(ptr) AccessChain 392(fp3D) 36
+                              Store 483 482
+             484:    7(ivec2) CompositeExtract 479 3
+             485:     34(ptr) AccessChain 392(fp3D) 39
+                              Store 485 484
+             486:      6(int) CompositeExtract 479 4
+             487:     44(ptr) AccessChain 392(fp3D) 42
+                              Store 487 486
+             488:      6(int) CompositeExtract 479 5
+             489:     44(ptr) AccessChain 392(fp3D) 46
+                              Store 489 488
+             490:    26(bool) CompositeExtract 479 0
+             491:      6(int) Select 490 50 51
+             492:     53(ptr) AccessChain 379 12
+                              Store 492 491
+             493:    396(ptr) AccessChain 392(fp3D) 12
+             494:  376(ivec3) Load 493
+             495:    411(ptr) AccessChain 379 36
+             496:  376(ivec3) Load 495
+             497:  376(ivec3) IAdd 496 494
+             498:    411(ptr) AccessChain 379 36
+                              Store 498 497
+             499:    396(ptr) AccessChain 392(fp3D) 36
+             500:  376(ivec3) Load 499
+             501:    411(ptr) AccessChain 379 39
+             502:  376(ivec3) Load 501
+             503:  376(ivec3) IAdd 502 500
+             504:    411(ptr) AccessChain 379 39
+                              Store 504 503
+             505:     34(ptr) AccessChain 392(fp3D) 39
+             506:    7(ivec2) Load 505
+             507:     57(ptr) AccessChain 379 42
+             508:    7(ivec2) Load 507
+             509:    7(ivec2) IAdd 508 506
+             510:     57(ptr) AccessChain 379 42
+                              Store 510 509
+             511:     44(ptr) AccessChain 392(fp3D) 42
+             512:      6(int) Load 511
+             513:     53(ptr) AccessChain 379 46
+             514:      6(int) Load 513
+             515:      6(int) IAdd 514 512
+             516:     53(ptr) AccessChain 379 46
+                              Store 516 515
+             517:     44(ptr) AccessChain 392(fp3D) 46
+             518:      6(int) Load 517
+             519:     53(ptr) AccessChain 379 68
+             520:      6(int) Load 519
+             521:      6(int) IAdd 520 518
+             522:     53(ptr) AccessChain 379 68
+                              Store 522 521
+             523:         381 Load 383(sample3D)
+             524:  385(fvec3) Load 387(P3)
+             525:   13(float) Load 125(lodClamp)
+             526:     11(int) Load 24(granularity)
+             527:   13(float) Load 76(bias)
+             529:528(ResType) ImageSampleFootprintNV 523 524 526 27 Bias MinLod 527 525
+             530:  376(ivec3) CompositeExtract 529 1
+             531:    396(ptr) AccessChain 392(fp3D) 12
+                              Store 531 530
+             532:  376(ivec3) CompositeExtract 529 2
+             533:    396(ptr) AccessChain 392(fp3D) 36
+                              Store 533 532
+             534:    7(ivec2) CompositeExtract 529 3
+             535:     34(ptr) AccessChain 392(fp3D) 39
+                              Store 535 534
+             536:      6(int) CompositeExtract 529 4
+             537:     44(ptr) AccessChain 392(fp3D) 42
+                              Store 537 536
+             538:      6(int) CompositeExtract 529 5
+             539:     44(ptr) AccessChain 392(fp3D) 46
+                              Store 539 538
+             540:    26(bool) CompositeExtract 529 0
+             541:      6(int) Select 540 50 51
+             542:     53(ptr) AccessChain 379 12
+                              Store 542 541
+             543:    396(ptr) AccessChain 392(fp3D) 12
+             544:  376(ivec3) Load 543
+             545:    411(ptr) AccessChain 379 36
+             546:  376(ivec3) Load 545
+             547:  376(ivec3) IAdd 546 544
+             548:    411(ptr) AccessChain 379 36
+                              Store 548 547
+             549:    396(ptr) AccessChain 392(fp3D) 36
+             550:  376(ivec3) Load 549
+             551:    411(ptr) AccessChain 379 39
+             552:  376(ivec3) Load 551
+             553:  376(ivec3) IAdd 552 550
+             554:    411(ptr) AccessChain 379 39
+                              Store 554 553
+             555:     34(ptr) AccessChain 392(fp3D) 39
+             556:    7(ivec2) Load 555
+             557:     57(ptr) AccessChain 379 42
+             558:    7(ivec2) Load 557
+             559:    7(ivec2) IAdd 558 556
+             560:     57(ptr) AccessChain 379 42
+                              Store 560 559
+             561:     44(ptr) AccessChain 392(fp3D) 42
+             562:      6(int) Load 561
+             563:     53(ptr) AccessChain 379 46
+             564:      6(int) Load 563
+             565:      6(int) IAdd 564 562
+             566:     53(ptr) AccessChain 379 46
+                              Store 566 565
+             567:     44(ptr) AccessChain 392(fp3D) 46
+             568:      6(int) Load 567
+             569:     53(ptr) AccessChain 379 68
+             570:      6(int) Load 569
+             571:      6(int) IAdd 570 568
+             572:     53(ptr) AccessChain 379 68
+                              Store 572 571
+             573:         381 Load 383(sample3D)
+             574:  385(fvec3) Load 387(P3)
+             575:   13(float) Load 225(lod)
+             576:     11(int) Load 24(granularity)
+             578:577(ResType) ImageSampleFootprintNV 573 574 576 27 Lod 575
+             579:  376(ivec3) CompositeExtract 578 1
+             580:    396(ptr) AccessChain 392(fp3D) 12
+                              Store 580 579
+             581:  376(ivec3) CompositeExtract 578 2
+             582:    396(ptr) AccessChain 392(fp3D) 36
+                              Store 582 581
+             583:    7(ivec2) CompositeExtract 578 3
+             584:     34(ptr) AccessChain 392(fp3D) 39
+                              Store 584 583
+             585:      6(int) CompositeExtract 578 4
+             586:     44(ptr) AccessChain 392(fp3D) 42
+                              Store 586 585
+             587:      6(int) CompositeExtract 578 5
+             588:     44(ptr) AccessChain 392(fp3D) 46
+                              Store 588 587
+             589:    26(bool) CompositeExtract 578 0
+             590:      6(int) Select 589 50 51
+             591:     53(ptr) AccessChain 379 12
+                              Store 591 590
+             592:    396(ptr) AccessChain 392(fp3D) 12
+             593:  376(ivec3) Load 592
+             594:    411(ptr) AccessChain 379 36
+             595:  376(ivec3) Load 594
+             596:  376(ivec3) IAdd 595 593
+             597:    411(ptr) AccessChain 379 36
+                              Store 597 596
+             598:    396(ptr) AccessChain 392(fp3D) 36
+             599:  376(ivec3) Load 598
+             600:    411(ptr) AccessChain 379 39
+             601:  376(ivec3) Load 600
+             602:  376(ivec3) IAdd 601 599
+             603:    411(ptr) AccessChain 379 39
+                              Store 603 602
+             604:     34(ptr) AccessChain 392(fp3D) 39
+             605:    7(ivec2) Load 604
+             606:     57(ptr) AccessChain 379 42
+             607:    7(ivec2) Load 606
+             608:    7(ivec2) IAdd 607 605
+             609:     57(ptr) AccessChain 379 42
+                              Store 609 608
+             610:     44(ptr) AccessChain 392(fp3D) 42
+             611:      6(int) Load 610
+             612:     53(ptr) AccessChain 379 46
+             613:      6(int) Load 612
+             614:      6(int) IAdd 613 611
+             615:     53(ptr) AccessChain 379 46
+                              Store 615 614
+             616:     44(ptr) AccessChain 392(fp3D) 46
+             617:      6(int) Load 616
+             618:     53(ptr) AccessChain 379 68
+             619:      6(int) Load 618
+             620:      6(int) IAdd 619 617
+             621:     53(ptr) AccessChain 379 68
+                              Store 621 620
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.shadingRate.frag.out b/Test/baseResults/spv.shadingRate.frag.out
new file mode 100644
index 0000000..2b6bd31
--- /dev/null
+++ b/Test/baseResults/spv.shadingRate.frag.out
@@ -0,0 +1,48 @@
+spv.shadingRate.frag
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 21
+
+                              Capability Shader
+                              Capability ShadingRateNV
+                              Extension  "SPV_NV_shading_rate"
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 9 13 17 19
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 450
+                              SourceExtension  "GL_NV_shading_rate_image"
+                              Name 4  "main"
+                              Name 9  "FragmentSize"
+                              Name 13  "gl_FragmentSizeNV"
+                              Name 17  "InvocationsPerPixel"
+                              Name 19  "gl_InvocationsPerPixelNV"
+                              Decorate 9(FragmentSize) Location 0
+                              Decorate 13(gl_FragmentSizeNV) Flat
+                              Decorate 13(gl_FragmentSizeNV) BuiltIn FragmentSizeNV
+                              Decorate 17(InvocationsPerPixel) Location 2
+                              Decorate 19(gl_InvocationsPerPixelNV) Flat
+                              Decorate 19(gl_InvocationsPerPixelNV) BuiltIn InvocationsPerPixelNV
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeVector 6(float) 2
+               8:             TypePointer Output 7(fvec2)
+ 9(FragmentSize):      8(ptr) Variable Output
+              10:             TypeInt 32 1
+              11:             TypeVector 10(int) 2
+              12:             TypePointer Input 11(ivec2)
+13(gl_FragmentSizeNV):     12(ptr) Variable Input
+              16:             TypePointer Output 10(int)
+17(InvocationsPerPixel):     16(ptr) Variable Output
+              18:             TypePointer Input 10(int)
+19(gl_InvocationsPerPixelNV):     18(ptr) Variable Input
+         4(main):           2 Function None 3
+               5:             Label
+              14:   11(ivec2) Load 13(gl_FragmentSizeNV)
+              15:    7(fvec2) ConvertSToF 14
+                              Store 9(FragmentSize) 15
+              20:     10(int) Load 19(gl_InvocationsPerPixelNV)
+                              Store 17(InvocationsPerPixel) 20
+                              Return
+                              FunctionEnd
diff --git a/Test/baseResults/spv.simpleFunctionCall.frag.out b/Test/baseResults/spv.simpleFunctionCall.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.simpleMat.vert.out b/Test/baseResults/spv.simpleMat.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.sparseTexture.frag.out b/Test/baseResults/spv.sparseTexture.frag.out
index d94f643..78a2c2e 100644
--- a/Test/baseResults/spv.sparseTexture.frag.out
+++ b/Test/baseResults/spv.sparseTexture.frag.out
@@ -1,4 +1,8 @@
 spv.sparseTexture.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 438
diff --git a/Test/baseResults/spv.sparseTextureClamp.frag.out b/Test/baseResults/spv.sparseTextureClamp.frag.out
index f63fd2f..fe210f7 100644
--- a/Test/baseResults/spv.sparseTextureClamp.frag.out
+++ b/Test/baseResults/spv.sparseTextureClamp.frag.out
@@ -1,4 +1,8 @@
 spv.sparseTextureClamp.frag
+error: SPIRV-Tools Validation Errors
+error: Capability SampledRect is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability SampledRect
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 360
diff --git a/Test/baseResults/spv.specConst.vert.out b/Test/baseResults/spv.specConst.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.specConstant.vert.out b/Test/baseResults/spv.specConstant.vert.out
index beda9e0..0d47dce 100644
--- a/Test/baseResults/spv.specConstant.vert.out
+++ b/Test/baseResults/spv.specConstant.vert.out
@@ -11,7 +11,7 @@
                               Source GLSL 400
                               Name 4  "main"
                               Name 9  "arraySize"
-                              Name 14  "foo(vf4[s2543];"
+                              Name 14  "foo(vf4[s2765];"
                               Name 13  "p"
                               Name 17  "builtin_spec_constant("
                               Name 20  "color"
@@ -102,10 +102,10 @@
                               Store 20(color) 46
               48:          10 Load 22(ucol)
                               Store 47(param) 48
-              49:           2 FunctionCall 14(foo(vf4[s2543];) 47(param)
+              49:           2 FunctionCall 14(foo(vf4[s2765];) 47(param)
                               Return
                               FunctionEnd
-14(foo(vf4[s2543];):           2 Function None 12
+14(foo(vf4[s2765];):           2 Function None 12
            13(p):     11(ptr) FunctionParameter
               15:             Label
               54:     24(ptr) AccessChain 53(dupUcol) 23
diff --git a/Test/baseResults/spv.ssboAlias.frag.out b/Test/baseResults/spv.ssboAlias.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.stereoViewRendering.tesc.out b/Test/baseResults/spv.stereoViewRendering.tesc.out
index c01467e..732e5b4 100644
--- a/Test/baseResults/spv.stereoViewRendering.tesc.out
+++ b/Test/baseResults/spv.stereoViewRendering.tesc.out
@@ -1,4 +1,8 @@
 spv.stereoViewRendering.tesc
+error: SPIRV-Tools Validation Errors
+error: When BuiltIn decoration is applied to a structure-type member, all members of that structure type must also be decorated with BuiltIn (No allowed mixing of built-in variables and non-built-in variables within a single structure). Structure id 27 does not meet this requirement.
+  %gl_PerVertex_0 = OpTypeStruct %v4float %float %_arr_float_uint_1 %_arr_float_uint_1 %v4float
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 38
diff --git a/Test/baseResults/spv.storageBuffer.vert.out b/Test/baseResults/spv.storageBuffer.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.structAssignment.frag.out b/Test/baseResults/spv.structAssignment.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.structDeref.frag.out b/Test/baseResults/spv.structDeref.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.structure.frag.out b/Test/baseResults/spv.structure.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.subgroupClusteredNeg.comp.out b/Test/baseResults/spv.subgroupClusteredNeg.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.subgroupPartitioned.comp.out b/Test/baseResults/spv.subgroupPartitioned.comp.out
old mode 100755
new mode 100644
index 527a62e..f65d996
--- a/Test/baseResults/spv.subgroupPartitioned.comp.out
+++ b/Test/baseResults/spv.subgroupPartitioned.comp.out
@@ -1,4 +1,8 @@
 spv.subgroupPartitioned.comp
+error: SPIRV-Tools Validation Errors
+error: Opcode GroupNonUniformFAdd requires one of these capabilities: GroupNonUniformArithmetic GroupNonUniformClustered 
+  %179 = OpGroupNonUniformFAdd %float %uint_3 PartitionedReduceNV %176 %177
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 2506
diff --git a/Test/baseResults/spv.switch.frag.out b/Test/baseResults/spv.switch.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.swizzle.frag.out b/Test/baseResults/spv.swizzle.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.swizzleInversion.frag.out b/Test/baseResults/spv.swizzleInversion.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.texture.frag.out b/Test/baseResults/spv.texture.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.texture.vert.out b/Test/baseResults/spv.texture.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.textureBuffer.vert.out b/Test/baseResults/spv.textureBuffer.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.textureGatherBiasLod.frag.out b/Test/baseResults/spv.textureGatherBiasLod.frag.out
index faa4dba..d01515d 100644
--- a/Test/baseResults/spv.textureGatherBiasLod.frag.out
+++ b/Test/baseResults/spv.textureGatherBiasLod.frag.out
@@ -1,4 +1,8 @@
 spv.textureGatherBiasLod.frag
+error: SPIRV-Tools Validation Errors
+error: Image Operand Bias can only be used with ImplicitLod opcodes
+  %27 = OpImageGather %v4float %17 %21 %int_0 Bias %26
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 298
diff --git a/Test/baseResults/spv.types.frag.out b/Test/baseResults/spv.types.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.uint.frag.out b/Test/baseResults/spv.uint.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.unit1.frag.out b/Test/baseResults/spv.unit1.frag.out
new file mode 100644
index 0000000..d64d437
--- /dev/null
+++ b/Test/baseResults/spv.unit1.frag.out
@@ -0,0 +1,298 @@
+spv.unit1.frag
+Shader version: 460
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      move second child to first child ( temp highp float)
+0:12        'f' ( global highp float)
+0:12        Constant:
+0:12          10.000000
+0:13      Sequence
+0:13        move second child to first child ( temp highp float)
+0:13          'g' ( temp highp float)
+0:13          Function Call: foo( ( global highp float)
+0:14      add second child into first child ( temp highp float)
+0:14        'f' ( global highp float)
+0:14        'g' ( temp highp float)
+0:15      add second child into first child ( temp highp float)
+0:15        'f' ( global highp float)
+0:15        direct index ( temp highp float)
+0:15          'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
+0:15          Constant:
+0:15            1 (const int)
+0:?   Linker Objects
+0:?     'f' ( global highp float)
+0:?     'a1' ( global highp float)
+0:?     'cout' ( out highp float)
+
+spv.unit2.frag
+Shader version: 410
+gl_FragCoord origin is upper left
+0:? Sequence
+0:12  Function Definition: foo( ( global highp float)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      Sequence
+0:14        move second child to first child ( temp highp float)
+0:14          'h2' ( temp highp float)
+0:14          add ( temp highp float)
+0:14            component-wise multiply ( temp highp float)
+0:14              Constant:
+0:14                2.000000
+0:14              'f' ( global highp float)
+0:14            'cin' ( smooth in highp float)
+0:15      Sequence
+0:15        move second child to first child ( temp highp float)
+0:15          'g2' ( temp highp float)
+0:15          Function Call: bar( ( global highp float)
+0:16      Branch: Return with expression
+0:16        add ( temp highp float)
+0:16          add ( temp highp float)
+0:16            'h2' ( temp highp float)
+0:16            'g2' ( temp highp float)
+0:16          direct index ( temp highp float)
+0:16            'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
+0:16            Constant:
+0:16              1 (const int)
+0:?   Linker Objects
+0:?     'a2' ( global highp float)
+0:?     'f' ( global highp float)
+0:?     'cout' ( out highp float)
+0:?     'cin' ( smooth in highp float)
+
+spv.unit3.frag
+Shader version: 460
+gl_FragCoord origin is upper left
+0:? Sequence
+0:4  Sequence
+0:4    move second child to first child ( temp highp float)
+0:4      'h3' ( global highp float)
+0:4      Constant:
+0:4        3.000000
+0:9  Function Definition: bar( ( global highp float)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      multiply second child into first child ( temp highp float)
+0:11        'h3' ( global highp float)
+0:11        'f' ( global highp float)
+0:12      Sequence
+0:12        move second child to first child ( temp highp float)
+0:12          'g3' ( temp highp float)
+0:12          component-wise multiply ( temp highp float)
+0:12            Constant:
+0:12              2.000000
+0:12            'h3' ( global highp float)
+0:13      move second child to first child ( temp highp float)
+0:13        'cout' ( out highp float)
+0:13        'g3' ( temp highp float)
+0:14      Branch: Return with expression
+0:14        add ( temp highp float)
+0:14          add ( temp highp float)
+0:14            'h3' ( global highp float)
+0:14            'g3' ( temp highp float)
+0:14          direct index ( temp highp float)
+0:14            'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
+0:14            Constant:
+0:14              1 (const int)
+0:?   Linker Objects
+0:?     'f' ( global highp float)
+0:?     'h3' ( global highp float)
+0:?     'cout' ( out highp float)
+0:?     'cin' ( smooth in highp float)
+
+
+Linked fragment stage:
+
+
+Shader version: 460
+gl_FragCoord origin is upper left
+0:? Sequence
+0:10  Function Definition: main( ( global void)
+0:10    Function Parameters: 
+0:12    Sequence
+0:12      move second child to first child ( temp highp float)
+0:12        'f' ( global highp float)
+0:12        Constant:
+0:12          10.000000
+0:13      Sequence
+0:13        move second child to first child ( temp highp float)
+0:13          'g' ( temp highp float)
+0:13          Function Call: foo( ( global highp float)
+0:14      add second child into first child ( temp highp float)
+0:14        'f' ( global highp float)
+0:14        'g' ( temp highp float)
+0:15      add second child into first child ( temp highp float)
+0:15        'f' ( global highp float)
+0:15        direct index ( temp highp float)
+0:15          'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
+0:15          Constant:
+0:15            1 (const int)
+0:12  Function Definition: foo( ( global highp float)
+0:12    Function Parameters: 
+0:14    Sequence
+0:14      Sequence
+0:14        move second child to first child ( temp highp float)
+0:14          'h2' ( temp highp float)
+0:14          add ( temp highp float)
+0:14            component-wise multiply ( temp highp float)
+0:14              Constant:
+0:14                2.000000
+0:14              'f' ( global highp float)
+0:14            'cin' ( smooth in highp float)
+0:15      Sequence
+0:15        move second child to first child ( temp highp float)
+0:15          'g2' ( temp highp float)
+0:15          Function Call: bar( ( global highp float)
+0:16      Branch: Return with expression
+0:16        add ( temp highp float)
+0:16          add ( temp highp float)
+0:16            'h2' ( temp highp float)
+0:16            'g2' ( temp highp float)
+0:16          direct index ( temp highp float)
+0:16            'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
+0:16            Constant:
+0:16              1 (const int)
+0:4  Sequence
+0:4    move second child to first child ( temp highp float)
+0:4      'h3' ( global highp float)
+0:4      Constant:
+0:4        3.000000
+0:9  Function Definition: bar( ( global highp float)
+0:9    Function Parameters: 
+0:11    Sequence
+0:11      multiply second child into first child ( temp highp float)
+0:11        'h3' ( global highp float)
+0:11        'f' ( global highp float)
+0:12      Sequence
+0:12        move second child to first child ( temp highp float)
+0:12          'g3' ( temp highp float)
+0:12          component-wise multiply ( temp highp float)
+0:12            Constant:
+0:12              2.000000
+0:12            'h3' ( global highp float)
+0:13      move second child to first child ( temp highp float)
+0:13        'cout' ( out highp float)
+0:13        'g3' ( temp highp float)
+0:14      Branch: Return with expression
+0:14        add ( temp highp float)
+0:14          add ( temp highp float)
+0:14            'h3' ( global highp float)
+0:14            'g3' ( temp highp float)
+0:14          direct index ( temp highp float)
+0:14            'gl_FragCoord' ( gl_FragCoord highp 4-component vector of float FragCoord)
+0:14            Constant:
+0:14              1 (const int)
+0:?   Linker Objects
+0:?     'f' ( global highp float)
+0:?     'a1' ( global highp float)
+0:?     'cout' ( out highp float)
+0:?     'a2' ( global highp float)
+0:?     'cin' ( smooth in highp float)
+0:?     'h3' ( global highp float)
+
+// Module Version 10000
+// Generated by (magic number): 80007
+// Id's are bound by 69
+
+                              Capability Shader
+               1:             ExtInstImport  "GLSL.std.450"
+                              MemoryModel Logical GLSL450
+                              EntryPoint Fragment 4  "main" 25 37 57
+                              ExecutionMode 4 OriginUpperLeft
+                              Source GLSL 460
+                              Name 4  "main"
+                              Name 8  "foo("
+                              Name 10  "bar("
+                              Name 13  "h3"
+                              Name 15  "f"
+                              Name 18  "g"
+                              Name 25  "gl_FragCoord"
+                              Name 33  "h2"
+                              Name 37  "cin"
+                              Name 40  "g2"
+                              Name 53  "g3"
+                              Name 57  "cout"
+                              Name 67  "a1"
+                              Name 68  "a2"
+                              Decorate 25(gl_FragCoord) BuiltIn FragCoord
+               2:             TypeVoid
+               3:             TypeFunction 2
+               6:             TypeFloat 32
+               7:             TypeFunction 6(float)
+              12:             TypePointer Private 6(float)
+          13(h3):     12(ptr) Variable Private
+              14:    6(float) Constant 1077936128
+           15(f):     12(ptr) Variable Private
+              16:    6(float) Constant 1092616192
+              17:             TypePointer Function 6(float)
+              23:             TypeVector 6(float) 4
+              24:             TypePointer Input 23(fvec4)
+25(gl_FragCoord):     24(ptr) Variable Input
+              26:             TypeInt 32 0
+              27:     26(int) Constant 1
+              28:             TypePointer Input 6(float)
+              34:    6(float) Constant 1073741824
+         37(cin):     28(ptr) Variable Input
+              56:             TypePointer Output 6(float)
+        57(cout):     56(ptr) Variable Output
+          67(a1):     12(ptr) Variable Private
+          68(a2):     12(ptr) Variable Private
+         4(main):           2 Function None 3
+               5:             Label
+           18(g):     17(ptr) Variable Function
+                              Store 13(h3) 14
+                              Store 15(f) 16
+              19:    6(float) FunctionCall 8(foo()
+                              Store 18(g) 19
+              20:    6(float) Load 18(g)
+              21:    6(float) Load 15(f)
+              22:    6(float) FAdd 21 20
+                              Store 15(f) 22
+              29:     28(ptr) AccessChain 25(gl_FragCoord) 27
+              30:    6(float) Load 29
+              31:    6(float) Load 15(f)
+              32:    6(float) FAdd 31 30
+                              Store 15(f) 32
+                              Return
+                              FunctionEnd
+         8(foo():    6(float) Function None 7
+               9:             Label
+          33(h2):     17(ptr) Variable Function
+          40(g2):     17(ptr) Variable Function
+              35:    6(float) Load 15(f)
+              36:    6(float) FMul 34 35
+              38:    6(float) Load 37(cin)
+              39:    6(float) FAdd 36 38
+                              Store 33(h2) 39
+              41:    6(float) FunctionCall 10(bar()
+                              Store 40(g2) 41
+              42:    6(float) Load 33(h2)
+              43:    6(float) Load 40(g2)
+              44:    6(float) FAdd 42 43
+              45:     28(ptr) AccessChain 25(gl_FragCoord) 27
+              46:    6(float) Load 45
+              47:    6(float) FAdd 44 46
+                              ReturnValue 47
+                              FunctionEnd
+        10(bar():    6(float) Function None 7
+              11:             Label
+          53(g3):     17(ptr) Variable Function
+              50:    6(float) Load 15(f)
+              51:    6(float) Load 13(h3)
+              52:    6(float) FMul 51 50
+                              Store 13(h3) 52
+              54:    6(float) Load 13(h3)
+              55:    6(float) FMul 34 54
+                              Store 53(g3) 55
+              58:    6(float) Load 53(g3)
+                              Store 57(cout) 58
+              59:    6(float) Load 13(h3)
+              60:    6(float) Load 53(g3)
+              61:    6(float) FAdd 59 60
+              62:     28(ptr) AccessChain 25(gl_FragCoord) 27
+              63:    6(float) Load 62
+              64:    6(float) FAdd 61 63
+                              ReturnValue 64
+                              FunctionEnd
diff --git a/Test/baseResults/spv.variableArrayIndex.frag.out b/Test/baseResults/spv.variableArrayIndex.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.varyingArray.frag.out b/Test/baseResults/spv.varyingArray.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.varyingArrayIndirect.frag.out b/Test/baseResults/spv.varyingArrayIndirect.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.vecMatConstruct.frag.out b/Test/baseResults/spv.vecMatConstruct.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.viewportArray2.tesc.out b/Test/baseResults/spv.viewportArray2.tesc.out
index a9c9ba2..b14179e 100644
--- a/Test/baseResults/spv.viewportArray2.tesc.out
+++ b/Test/baseResults/spv.viewportArray2.tesc.out
@@ -1,4 +1,8 @@
 spv.viewportArray2.tesc
+error: SPIRV-Tools Validation Errors
+error: Vulkan spec allows BuiltIn ViewportIndex to be used only with Vertex, TessellationEvaluation, Geometry, or Fragment execution models. ID <0> (OpStore) is referencing ID <22> (OpVariable) which is decorated with BuiltIn ViewportIndex in function <4> called with execution model TessellationControl.
+  OpStore %gl_ViewportIndex %int_2
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 25
diff --git a/Test/baseResults/spv.voidFunction.frag.out b/Test/baseResults/spv.voidFunction.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.vulkan100.subgroupArithmetic.comp.out b/Test/baseResults/spv.vulkan100.subgroupArithmetic.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.vulkan100.subgroupPartitioned.comp.out b/Test/baseResults/spv.vulkan100.subgroupPartitioned.comp.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.vulkan110.int16.frag.out b/Test/baseResults/spv.vulkan110.int16.frag.out
old mode 100755
new mode 100644
index b6936f8..9141e4e
--- a/Test/baseResults/spv.vulkan110.int16.frag.out
+++ b/Test/baseResults/spv.vulkan110.int16.frag.out
@@ -1,4 +1,8 @@
 spv.vulkan110.int16.frag
+error: SPIRV-Tools Validation Errors
+error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
+  OpCapability Float16
+
 // Module Version 10300
 // Generated by (magic number): 80007
 // Id's are bound by 523
diff --git a/Test/baseResults/spv.vulkan110.storageBuffer.vert.out b/Test/baseResults/spv.vulkan110.storageBuffer.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.while-simple.vert.out b/Test/baseResults/spv.while-simple.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.whileLoop.frag.out b/Test/baseResults/spv.whileLoop.frag.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/spv.xfb.vert.out b/Test/baseResults/spv.xfb.vert.out
old mode 100755
new mode 100644
index 3cd93d5..68633e1
--- a/Test/baseResults/spv.xfb.vert.out
+++ b/Test/baseResults/spv.xfb.vert.out
@@ -1,4 +1,8 @@
 spv.xfb.vert
+error: SPIRV-Tools Validation Errors
+error: Capability TransformFeedback is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability TransformFeedback
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 16
diff --git a/Test/baseResults/spv.xfb2.vert.out b/Test/baseResults/spv.xfb2.vert.out
old mode 100755
new mode 100644
index a8551a1..6dc3987
--- a/Test/baseResults/spv.xfb2.vert.out
+++ b/Test/baseResults/spv.xfb2.vert.out
@@ -1,4 +1,8 @@
 spv.xfb2.vert
+error: SPIRV-Tools Validation Errors
+error: Capability TransformFeedback is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability TransformFeedback
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 35
diff --git a/Test/baseResults/spv.xfb3.vert.out b/Test/baseResults/spv.xfb3.vert.out
old mode 100755
new mode 100644
index 0218847..1d526aa
--- a/Test/baseResults/spv.xfb3.vert.out
+++ b/Test/baseResults/spv.xfb3.vert.out
@@ -1,4 +1,8 @@
 spv.xfb3.vert
+error: SPIRV-Tools Validation Errors
+error: Capability TransformFeedback is not allowed by Vulkan 1.0 specification (or requires extension)
+  OpCapability TransformFeedback
+
 // Module Version 10000
 // Generated by (magic number): 80007
 // Id's are bound by 35
diff --git a/Test/baseResults/stringToDouble.vert.out b/Test/baseResults/stringToDouble.vert.out
old mode 100755
new mode 100644
index b4c073c..a799d0a
--- a/Test/baseResults/stringToDouble.vert.out
+++ b/Test/baseResults/stringToDouble.vert.out
@@ -1,5 +1,6 @@
 stringToDouble.vert
 Shader version: 460
+Requested GL_KHX_shader_explicit_arithmetic_types_float16
 0:? Sequence
 0:3  Function Definition: main( ( global void)
 0:3    Function Parameters: 
@@ -440,10 +441,80 @@
 0:95          Constant:
 0:95            5.7089907708238e+45
 0:97      Sequence
-0:97        move second child to first child ( temp double)
-0:97          'pi' ( temp double)
+0:97        move second child to first child ( temp float)
+0:97          'pi1' ( temp float)
 0:97          Constant:
 0:97            3.141593
+0:98      Sequence
+0:98        move second child to first child ( temp float)
+0:98          'pi2' ( temp float)
+0:98          Constant:
+0:98            3.141593
+0:99      Sequence
+0:99        move second child to first child ( temp float)
+0:99          'pi3' ( temp float)
+0:99          Constant:
+0:99            3.141593
+0:101      Sequence
+0:101        move second child to first child ( temp double)
+0:101          'dpi1' ( temp double)
+0:101          Constant:
+0:101            3.141593
+0:102      Sequence
+0:102        move second child to first child ( temp double)
+0:102          'dpi2' ( temp double)
+0:102          Constant:
+0:102            3.141593
+0:103      Sequence
+0:103        move second child to first child ( temp double)
+0:103          'dpi3' ( temp double)
+0:103          Constant:
+0:103            3.141593
+0:105      Sequence
+0:105        move second child to first child ( temp float)
+0:105          'dfpi1' ( temp float)
+0:105          Constant:
+0:105            3.141593
+0:106      Sequence
+0:106        move second child to first child ( temp float)
+0:106          'dfpi2' ( temp float)
+0:106          Constant:
+0:106            3.141593
+0:107      Sequence
+0:107        move second child to first child ( temp float)
+0:107          'dfpi3' ( temp float)
+0:107          Constant:
+0:107            3.141593
+0:109      Sequence
+0:109        move second child to first child ( temp double)
+0:109          'lfpi1' ( temp double)
+0:109          Constant:
+0:109            3.141593
+0:110      Sequence
+0:110        move second child to first child ( temp double)
+0:110          'lfpi2' ( temp double)
+0:110          Constant:
+0:110            3.141593
+0:111      Sequence
+0:111        move second child to first child ( temp double)
+0:111          'lfpi3' ( temp double)
+0:111          Constant:
+0:111            3.141593
+0:113      Sequence
+0:113        move second child to first child ( temp double)
+0:113          'hfpi1' ( temp double)
+0:113          Constant:
+0:113            3.141593
+0:114      Sequence
+0:114        move second child to first child ( temp double)
+0:114          'hfpi2' ( temp double)
+0:114          Constant:
+0:114            3.141593
+0:115      Sequence
+0:115        move second child to first child ( temp double)
+0:115          'hfpi3' ( temp double)
+0:115          Constant:
+0:115            3.141593
 0:?   Linker Objects
 0:?     'gl_VertexID' ( gl_VertexId int VertexId)
 0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
@@ -453,6 +524,7 @@
 
 
 Shader version: 460
+Requested GL_KHX_shader_explicit_arithmetic_types_float16
 0:? Sequence
 0:3  Function Definition: main( ( global void)
 0:3    Function Parameters: 
@@ -893,10 +965,80 @@
 0:95          Constant:
 0:95            5.7089907708238e+45
 0:97      Sequence
-0:97        move second child to first child ( temp double)
-0:97          'pi' ( temp double)
+0:97        move second child to first child ( temp float)
+0:97          'pi1' ( temp float)
 0:97          Constant:
 0:97            3.141593
+0:98      Sequence
+0:98        move second child to first child ( temp float)
+0:98          'pi2' ( temp float)
+0:98          Constant:
+0:98            3.141593
+0:99      Sequence
+0:99        move second child to first child ( temp float)
+0:99          'pi3' ( temp float)
+0:99          Constant:
+0:99            3.141593
+0:101      Sequence
+0:101        move second child to first child ( temp double)
+0:101          'dpi1' ( temp double)
+0:101          Constant:
+0:101            3.141593
+0:102      Sequence
+0:102        move second child to first child ( temp double)
+0:102          'dpi2' ( temp double)
+0:102          Constant:
+0:102            3.141593
+0:103      Sequence
+0:103        move second child to first child ( temp double)
+0:103          'dpi3' ( temp double)
+0:103          Constant:
+0:103            3.141593
+0:105      Sequence
+0:105        move second child to first child ( temp float)
+0:105          'dfpi1' ( temp float)
+0:105          Constant:
+0:105            3.141593
+0:106      Sequence
+0:106        move second child to first child ( temp float)
+0:106          'dfpi2' ( temp float)
+0:106          Constant:
+0:106            3.141593
+0:107      Sequence
+0:107        move second child to first child ( temp float)
+0:107          'dfpi3' ( temp float)
+0:107          Constant:
+0:107            3.141593
+0:109      Sequence
+0:109        move second child to first child ( temp double)
+0:109          'lfpi1' ( temp double)
+0:109          Constant:
+0:109            3.141593
+0:110      Sequence
+0:110        move second child to first child ( temp double)
+0:110          'lfpi2' ( temp double)
+0:110          Constant:
+0:110            3.141593
+0:111      Sequence
+0:111        move second child to first child ( temp double)
+0:111          'lfpi3' ( temp double)
+0:111          Constant:
+0:111            3.141593
+0:113      Sequence
+0:113        move second child to first child ( temp double)
+0:113          'hfpi1' ( temp double)
+0:113          Constant:
+0:113            3.141593
+0:114      Sequence
+0:114        move second child to first child ( temp double)
+0:114          'hfpi2' ( temp double)
+0:114          Constant:
+0:114            3.141593
+0:115      Sequence
+0:115        move second child to first child ( temp double)
+0:115          'hfpi3' ( temp double)
+0:115          Constant:
+0:115            3.141593
 0:?   Linker Objects
 0:?     'gl_VertexID' ( gl_VertexId int VertexId)
 0:?     'gl_InstanceID' ( gl_InstanceId int InstanceId)
diff --git a/Test/baseResults/test.conf b/Test/baseResults/test.conf
index f156c5c..cff7716 100644
--- a/Test/baseResults/test.conf
+++ b/Test/baseResults/test.conf
@@ -81,6 +81,15 @@
 MaxCullDistances 8
 MaxCombinedClipAndCullDistances 8
 MaxSamples 4
+MaxMeshOutputVerticesNV 256
+MaxMeshOutputPrimitivesNV 512
+MaxMeshWorkGroupSizeX_NV 32
+MaxMeshWorkGroupSizeY_NV 1
+MaxMeshWorkGroupSizeZ_NV 1
+MaxTaskWorkGroupSizeX_NV 32
+MaxTaskWorkGroupSizeY_NV 1
+MaxTaskWorkGroupSizeZ_NV 1
+MaxMeshViewCountNV 4
 nonInductiveForLoops 1
 whileLoops 1
 doWhileLoops 1
diff --git a/Test/baseResults/tokenPaste.vert.out b/Test/baseResults/tokenPaste.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/vulkan.ast.vert.out b/Test/baseResults/vulkan.ast.vert.out
old mode 100755
new mode 100644
diff --git a/Test/baseResults/vulkan.frag.out b/Test/baseResults/vulkan.frag.out
index e46345c..c81ed25 100644
--- a/Test/baseResults/vulkan.frag.out
+++ b/Test/baseResults/vulkan.frag.out
@@ -15,8 +15,6 @@
 ERROR: 0:21: 'sampler3D' : sampler-constructor cannot make an array of samplers 
 ERROR: 0:22: 'sampler2D' : sampler-constructor first argument must be a scalar textureXXX type 
 ERROR: 0:23: 'sampler2D' : sampler-constructor first argument must match type and dimensionality of constructor type 
-ERROR: 0:24: 'sampler2D' : sampler-constructor second argument presence of shadow must match constructor presence of shadow 
-ERROR: 0:25: 'sampler2DShadow' : sampler-constructor second argument presence of shadow must match constructor presence of shadow 
 ERROR: 0:28: 'sampler2D' : sampler/image types can only be used in uniform variables or function parameters: s2D
 ERROR: 0:29: 'sampler3D' : sampler-constructor cannot make an array of samplers 
 ERROR: 0:29: 'sampler3D' : sampler/image types can only be used in uniform variables or function parameters: s3d
@@ -56,7 +54,7 @@
 ERROR: 0:102: 'noise2' : no matching overloaded function found 
 ERROR: 0:103: 'noise3' : no matching overloaded function found 
 ERROR: 0:104: 'noise4' : no matching overloaded function found 
-ERROR: 55 compilation errors.  No code generated.
+ERROR: 53 compilation errors.  No code generated.
 
 
 ERROR: Linking fragment stage: Only one push_constant block is allowed per stage
diff --git a/Test/bump b/Test/bump
index f23be33..03df632 100755
--- a/Test/bump
+++ b/Test/bump
@@ -1,2 +1,3 @@
+#!/usr/bin/env bash
 cp localResults/* baseResults/
 
diff --git a/Test/compoundsuffix.vert.glsl b/Test/compoundsuffix.vert.glsl
old mode 100755
new mode 100644
diff --git a/Test/constFold.frag b/Test/constFold.frag
old mode 100755
new mode 100644
diff --git a/Test/cppBad2.vert b/Test/cppBad2.vert
old mode 100755
new mode 100644
diff --git a/Test/cppPassMacroName.frag b/Test/cppPassMacroName.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.amend.frag b/Test/hlsl.amend.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.boolConv.vert b/Test/hlsl.boolConv.vert
old mode 100755
new mode 100644
diff --git a/Test/hlsl.charLit.vert b/Test/hlsl.charLit.vert
old mode 100755
new mode 100644
diff --git a/Test/hlsl.flattenSubset.frag b/Test/hlsl.flattenSubset.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.flattenSubset2.frag b/Test/hlsl.flattenSubset2.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.hlslOffset.vert b/Test/hlsl.hlslOffset.vert
old mode 100755
new mode 100644
diff --git a/Test/hlsl.implicitBool.frag b/Test/hlsl.implicitBool.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.inf.vert b/Test/hlsl.inf.vert
old mode 100755
new mode 100644
diff --git a/Test/hlsl.intrinsics.frag b/Test/hlsl.intrinsics.frag
index 41b5f54..ffa3c25 100644
--- a/Test/hlsl.intrinsics.frag
+++ b/Test/hlsl.intrinsics.frag
@@ -42,6 +42,7 @@
     float r021 = ddy_coarse(inF0);
     float r022 = ddy_fine(inF0);
     float r023 = degrees(inF0);
+    float r024 = distance(inF0, inF1);
     // EvaluateAttributeAtCentroid(inF0);
     // EvaluateAttributeAtSample(inF0, 0);
     // TODO: EvaluateAttributeSnapped(inF0, int2(1,2));
diff --git a/Test/hlsl.logicalConvert.frag b/Test/hlsl.logicalConvert.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.multiEntry.vert b/Test/hlsl.multiEntry.vert
old mode 100755
new mode 100644
diff --git a/Test/hlsl.multiReturn.frag b/Test/hlsl.multiReturn.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.namespace.frag b/Test/hlsl.namespace.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.nonstaticMemberFunction.frag b/Test/hlsl.nonstaticMemberFunction.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.partialInit.frag b/Test/hlsl.partialInit.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.pp.expand.frag b/Test/hlsl.pp.expand.frag
index 765d17e..d5318a0 100755
--- a/Test/hlsl.pp.expand.frag
+++ b/Test/hlsl.pp.expand.frag
@@ -14,4 +14,5 @@
 
 void main()
 {
+    "a string"
 }
diff --git a/Test/hlsl.scalarCast.vert b/Test/hlsl.scalarCast.vert
old mode 100755
new mode 100644
diff --git a/Test/hlsl.shapeConvRet.frag b/Test/hlsl.shapeConvRet.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.shift.per-set.frag b/Test/hlsl.shift.per-set.frag
old mode 100644
new mode 100755
index 9c29f9d..d7c0243
--- a/Test/hlsl.shift.per-set.frag
+++ b/Test/hlsl.shift.per-set.frag
@@ -6,7 +6,7 @@
 Texture1D <float4> t1 : register(t1, space1);
 Texture2D <float4> t2 : register(t2, space1);
 Texture3D <float4> t3 : register(t1, space2);
-
+Texture3D <float4> ts6 : register(t1, space6);
 StructuredBuffer<float4> t4 : register(t1, space3);
 
 ByteAddressBuffer t5 : register(t2, space3);
@@ -54,6 +54,7 @@
 
     cb1;
     tb1;
+    ts6;
 
     return 0;
 }
diff --git a/Test/hlsl.staticFuncInit.frag b/Test/hlsl.staticFuncInit.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.staticMemberFunction.frag b/Test/hlsl.staticMemberFunction.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.string.frag b/Test/hlsl.string.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.structIoFourWay.frag b/Test/hlsl.structIoFourWay.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.structStructName.frag b/Test/hlsl.structStructName.frag
old mode 100755
new mode 100644
diff --git a/Test/hlsl.this.frag b/Test/hlsl.this.frag
old mode 100755
new mode 100644
diff --git a/Test/nosuffix b/Test/nosuffix
old mode 100755
new mode 100644
diff --git a/Test/preprocessor.bad_arg.vert b/Test/preprocessor.bad_arg.vert
old mode 100755
new mode 100644
diff --git a/Test/runtests b/Test/runtests
index 390acfc..d36f3a8 100755
--- a/Test/runtests
+++ b/Test/runtests
@@ -56,7 +56,7 @@
 # entry point renaming tests
 #
 echo Running entry-point renaming tests
-$EXE -i -H -V -D -Od -e main_in_spv --ku --source-entrypoint main -Od hlsl.entry.rename.frag > $TARGETDIR/hlsl.entry.rename.frag.out
+$EXE -i -H -V -D -Od --entry-point 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
 
 #
@@ -112,7 +112,7 @@
 # Testing per-descriptor-set IO map shift
 #
 echo 'Testing per-descriptor-set IO map shift'
-$EXE -e main --hlsl-iomap --ssb 10 1 15 2 --stb 20 --stb 25 2 --suavb 30 --suavb 40 2 --sub 50 6 -i -q -D -Od -V hlsl.shift.per-set.frag > $TARGETDIR/hlsl.shift.per-set.frag.out || HASERROR=1
+$EXE -e main --hlsl-iomap --ssb 10 1 15 2 --stb 20 --stb 25 2 --stb 70 6 --suavb 30 --suavb 40 2 --sub 50 6 -i -q -D -Od -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
 
 #
@@ -130,13 +130,13 @@
 # Testing debug information
 #
 echo Testing SPV Debug Information
-$EXE -g --relaxed-errors --suppress-warnings --aml --amb --hlsl-offsets --nsf \
+$EXE -g --relaxed-errors --suppress-warnings --aml --amb --hlsl-offsets --nsf --spirv-val \
      -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 -Od --target-env vulkan1.1 --relaxed-errors --suppress-warnings --aml --hlsl-offsets --nsf \
+$EXE -g -Od --target-env vulkan1.1 --relaxed-errors --suppress-warnings --aml --hlsl-offsets --nsf --spirv-val \
      -G -H spv.debugInfo.frag --rsb frag 3 > $TARGETDIR/spv.debugInfo.1.1.frag.out
 diff -b $BASEDIR/spv.debugInfo.1.1.frag.out $TARGETDIR/spv.debugInfo.1.1.frag.out || HASERROR=1
-$EXE -g -D -Od -e newMain -g --amb --aml --fua --hlsl-iomap --nsf --sib 1 --ssb 2 --sbb 3 --stb 4 --suavb 5 --sub 6 \
+$EXE -g -D -Od -e newMain -g --amb --aml --fua --hlsl-iomap --nsf --spirv-val --sib 1 --ssb 2 --sbb 3 --stb 4 --suavb 5 --sub 6 \
      --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
 
diff --git a/Test/runtimeArray.vert b/Test/runtimeArray.vert
old mode 100755
new mode 100644
diff --git a/Test/spv.16bitstorage-int.frag b/Test/spv.16bitstorage-int.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.16bitstorage-uint.frag b/Test/spv.16bitstorage-uint.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.16bitstorage.frag b/Test/spv.16bitstorage.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.16bitstorage_Error-int.frag b/Test/spv.16bitstorage_Error-int.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.16bitstorage_Error-uint.frag b/Test/spv.16bitstorage_Error-uint.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.16bitstorage_Error.frag b/Test/spv.16bitstorage_Error.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.8bitstorage-int.frag b/Test/spv.8bitstorage-int.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.8bitstorage-uint.frag b/Test/spv.8bitstorage-uint.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.8bitstorage_Error-int.frag b/Test/spv.8bitstorage_Error-int.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.8bitstorage_Error-uint.frag b/Test/spv.8bitstorage_Error-uint.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.AnyHitShader.rahit b/Test/spv.AnyHitShader.rahit
new file mode 100644
index 0000000..88e5601
--- /dev/null
+++ b/Test/spv.AnyHitShader.rahit
@@ -0,0 +1,26 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+layout(location = 1) rayPayloadInNVX vec4 incomingPayload;
+void main()
+{
+	uvec2 v0 = gl_LaunchIDNVX;
+	uvec2 v1 = gl_LaunchSizeNVX;
+	int v2 = gl_PrimitiveID;
+	int v3 = gl_InstanceID;
+	int v4 = gl_InstanceCustomIndexNVX;
+	vec3 v5 = gl_WorldRayOriginNVX;
+	vec3 v6 = gl_WorldRayDirectionNVX;
+	vec3 v7 = gl_ObjectRayOriginNVX;
+	vec3 v8 = gl_ObjectRayDirectionNVX;
+	float v9 = gl_RayTminNVX;
+	float v10 = gl_RayTmaxNVX;
+	float v11 = gl_HitTNVX;
+	uint v12 = gl_HitKindNVX;
+	mat4x3 v13 = gl_ObjectToWorldNVX;
+	mat4x3 v14 = gl_WorldToObjectNVX;
+	incomingPayload = vec4(0.5f);
+	if (v2 == 1)
+	    ignoreIntersectionNVX();
+	else
+	    terminateRayNVX();
+}
diff --git a/Test/spv.AnyHitShader_Errors.rahit b/Test/spv.AnyHitShader_Errors.rahit
new file mode 100644
index 0000000..a0f72e6
--- /dev/null
+++ b/Test/spv.AnyHitShader_Errors.rahit
@@ -0,0 +1,11 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+hitAttributeNVX vec4 payload;                               
+layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
+
+void main()
+{
+    payload.x = 1.0f;                                       // ERROR, cannot write to hitattributeNVX in stage
+    reportIntersectionNVX(1.0, 1U);                         // ERROR, unsupported builtin in stage
+    traceNVX(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported builtin in stage
+}
diff --git a/Test/spv.ClosestHitShader.rchit b/Test/spv.ClosestHitShader.rchit
new file mode 100644
index 0000000..498d0d8
--- /dev/null
+++ b/Test/spv.ClosestHitShader.rchit
@@ -0,0 +1,24 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
+layout(location = 0) rayPayloadNVX vec4 localPayload;
+layout(location = 1) rayPayloadInNVX vec4 incomingPayload;
+void main()
+{
+	uvec2 v0 = gl_LaunchIDNVX;
+	uvec2 v1 = gl_LaunchSizeNVX;
+	int v2 = gl_PrimitiveID;
+	int v3 = gl_InstanceID;
+	int v4 = gl_InstanceCustomIndexNVX;
+	vec3 v5 = gl_WorldRayOriginNVX;
+	vec3 v6 = gl_WorldRayDirectionNVX;
+	vec3 v7 = gl_ObjectRayOriginNVX;
+	vec3 v8 = gl_ObjectRayDirectionNVX;
+	float v9 = gl_RayTminNVX;
+	float v10 = gl_RayTmaxNVX;
+	float v11 = gl_HitTNVX;
+	uint v12 = gl_HitKindNVX;
+	mat4x3 v13 = gl_ObjectToWorldNVX;
+	mat4x3 v14 = gl_WorldToObjectNVX;
+	traceNVX(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
+}
diff --git a/Test/spv.ClosestHitShader_Errors.rchit b/Test/spv.ClosestHitShader_Errors.rchit
new file mode 100644
index 0000000..6c1f6e4
--- /dev/null
+++ b/Test/spv.ClosestHitShader_Errors.rchit
@@ -0,0 +1,12 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+hitAttributeNVX vec4 payload;                               
+layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
+
+void main()
+{
+    payload.x = 1.0f;                                       // ERROR, cannot write to hitattributeNVX in stage
+    reportIntersectionNVX(1.0, 1U);                         // ERROR, unsupported builtin in stage 
+    terminateRayNVX();
+    ignoreIntersectionNVX();
+}
diff --git a/Test/spv.IntersectShader.rint b/Test/spv.IntersectShader.rint
new file mode 100644
index 0000000..226ff06
--- /dev/null
+++ b/Test/spv.IntersectShader.rint
@@ -0,0 +1,21 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+hitAttributeNVX vec4 iAttr;
+void main()
+{
+	uvec2 v0 = gl_LaunchIDNVX;
+	uvec2 v1 = gl_LaunchSizeNVX;
+	int v2 = gl_PrimitiveID;
+	int v3 = gl_InstanceID;
+	int v4 = gl_InstanceCustomIndexNVX;
+	vec3 v5 = gl_WorldRayOriginNVX;
+	vec3 v6 = gl_WorldRayDirectionNVX;
+	vec3 v7 = gl_ObjectRayOriginNVX;
+	vec3 v8 = gl_ObjectRayDirectionNVX;
+	float v9 = gl_RayTminNVX;
+	float v10 = gl_RayTmaxNVX;
+	mat4x3 v11 = gl_ObjectToWorldNVX;
+	mat4x3 v12 = gl_WorldToObjectNVX;
+	iAttr = vec4(0.5f,0.5f,0.0f,1.0f);
+	reportIntersectionNVX(0.5, 1U);
+}
diff --git a/Test/spv.IntersectShader_Errors.rint b/Test/spv.IntersectShader_Errors.rint
new file mode 100644
index 0000000..90278d8
--- /dev/null
+++ b/Test/spv.IntersectShader_Errors.rint
@@ -0,0 +1,11 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+rayPayloadInNVX vec4 payloadIn;                             // ERROR, rayPayloadIn unsupported in this stage
+rayPayloadNVX vec4 payload;                                 // ERROR, rayPayload unsuppoted in this stage
+uniform accelerationStructureNVX accNV;
+void main()
+{
+    float e12 = gl_HitTNVX;                                 // ERROR, unsupported builtin in stage
+    float e13 = gl_HitKindNVX;                              // ERROR, unsupported builtin in stage
+    traceNVX(accNV, 0, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 0); // ERROR, unsupported
+}
diff --git a/Test/spv.MissShader.rmiss b/Test/spv.MissShader.rmiss
new file mode 100644
index 0000000..6daaa01
--- /dev/null
+++ b/Test/spv.MissShader.rmiss
@@ -0,0 +1,17 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
+layout(location = 0) rayPayloadNVX vec4 localPayload;
+layout(location = 1) rayPayloadInNVX vec4 incomingPayload;
+void main()
+{
+	uvec2 v0 = gl_LaunchIDNVX;
+	uvec2 v1 = gl_LaunchSizeNVX;
+	vec3 v2 = gl_WorldRayOriginNVX;
+	vec3 v3 = gl_WorldRayDirectionNVX;
+	vec3 v4 = gl_ObjectRayOriginNVX;
+	vec3 v5 = gl_ObjectRayDirectionNVX;
+	float v6 = gl_RayTminNVX;
+	float v7 = gl_RayTmaxNVX;
+	traceNVX(accNV, 0u, 1u, 2u, 3u, 0u, vec3(0.5f), 0.5f, vec3(1.0f), 0.75f, 1);
+}
diff --git a/Test/spv.MissShader_Errors.rmiss b/Test/spv.MissShader_Errors.rmiss
new file mode 100644
index 0000000..a45cb8d
--- /dev/null
+++ b/Test/spv.MissShader_Errors.rmiss
@@ -0,0 +1,16 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+hitAttributeNVX vec4 payload;                               // ERROR, hitattributeNVX unsupported in this stage 
+void main()
+{
+    int e0 = gl_PrimitiveID;                                // ERROR, unsupported builtin in stage
+    int e1 = gl_InstanceID;                                 // ERROR, unsupported builtin in stage
+    int e3 = gl_InstanceCustomIndexNVX;                     // ERROR, unsupported builtin in stage
+    mat4x3 e10 = gl_ObjectToWorldNVX;                       // ERROR, unsupported builtin in stage
+    mat4x3 e11 = gl_WorldToObjectNVX;                       // ERROR, unsupported builtin in stage
+    float e12 = gl_HitTNVX;                                 // ERROR, unsupported builtin in stage
+    float e13 = gl_HitKindNVX;                              // ERROR, unsupported builtin in stage
+    reportIntersectionNVX(1.0, 1U);                         // ERROR, unsupported builtin in stage
+    ignoreIntersectionNVX();                                // ERROR, unsupported builtin in stage
+    terminateRayNVX();                                      // ERROR, unsupported builtin in stage
+}
diff --git a/Test/spv.RayConstants.rgen b/Test/spv.RayConstants.rgen
new file mode 100644
index 0000000..61ff39e
--- /dev/null
+++ b/Test/spv.RayConstants.rgen
@@ -0,0 +1,15 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
+layout(location = 0) rayPayloadNVX vec4 payload;
+void main()
+{
+    const uint rayFlags = gl_RayFlagsNoneNVX | gl_RayFlagsOpaqueNVX |
+                          gl_RayFlagsNoOpaqueNVX | gl_RayFlagsTerminateOnFirstHitNVX |
+                          gl_RayFlagsSkipClosestHitShaderNVX | gl_RayFlagsCullBackFacingTrianglesNVX |
+                          gl_RayFlagsCullFrontFacingTrianglesNVX | gl_RayFlagsCullOpaqueNVX | 
+                          gl_RayFlagsCullNoOpaqueNVX;
+
+    const int payloadId = 1;
+    traceNVX(accNV, rayFlags, 0, 1, 1, 0, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, payloadId);
+}
diff --git a/Test/spv.RayGenShader.rgen b/Test/spv.RayGenShader.rgen
new file mode 100644
index 0000000..19f16ce
--- /dev/null
+++ b/Test/spv.RayGenShader.rgen
@@ -0,0 +1,19 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+layout(binding = 0, set = 0) uniform accelerationStructureNVX accNV;
+layout(location = 0) rayPayloadNVX vec4 payload;
+layout(shaderRecordNVX) buffer block
+{
+	float arr[4];
+	vec4 pad;
+};
+void main()
+{
+    uint lx = gl_LaunchIDNVX.x;
+    uint ly = gl_LaunchIDNVX.y;
+    uint sx = gl_LaunchSizeNVX.x;
+    uint sy = gl_LaunchSizeNVX.y;
+    traceNVX(accNV, lx, ly, sx, sy, 0u, vec3(0.0f), 0.5f, vec3(1.0f), 0.75f, 1);
+    arr[3] = 1.0f;
+    pad = payload;
+}
diff --git a/Test/spv.RayGenShader_Errors.rgen b/Test/spv.RayGenShader_Errors.rgen
new file mode 100644
index 0000000..73175b8
--- /dev/null
+++ b/Test/spv.RayGenShader_Errors.rgen
@@ -0,0 +1,40 @@
+#version 460
+#extension GL_NVX_raytracing : enable
+hitAttributeNVX vec4 payload;                               // ERROR, hitattributeNVX unsupported in this stage 
+rayPayloadInNVX vec4 payloadIn;                             // ERROR, rayPayloadIn unsupported in this stage
+layout(shaderRecordNVX) uniform ublock                      // ERROR, shaderRecordNVX unsupported on uniform blocks
+{
+    float a;
+};
+layout(binding = 0, shaderRecordNVX) buffer bblock {        // ERROR, binding unsupported on shaderRecordNVX blocks
+    float b;
+};
+layout(set = 0, shaderRecordNVX) buffer bblock2 {           // ERROR, set unsupported on shaderRecordNVX blocks
+    float c;
+};
+layout(shaderRecordNVX) buffer bblock3 {
+    float d;
+};
+layout(shaderRecordNVX) buffer bblock4 {                    // ERROR, cannot have more than one shaderRecordNVX block
+    float e;
+};
+void main()
+{
+    accelerationStructureNVX a = 0;
+    int e0 = gl_PrimitiveID;                                // ERROR, unsupported builtin in stage
+    int e1 = gl_InstanceID;                                 // ERROR, unsupported builtin in stage
+    int e3 = gl_InstanceCustomIndexNVX;                     // ERROR, unsupported builtin in stage
+    vec3 e4 = gl_WorldRayOriginNVX;                         // ERROR, unsupported builtin in stage
+    vec3 e5 = gl_WorldRayDirectionNVX;                      // ERROR, unsupported builtin in stage
+    vec3 e6 = gl_ObjectRayOriginNVX;                        // ERROR, unsupported builtin in stage
+    vec3 e7 = gl_ObjectRayDirectionNVX;                     // ERROR, unsupported builtin in stage
+    float e8 = gl_RayTminNVX;                               // ERROR, unsupported builtin in stage
+    float e9 = gl_RayTmaxNVX;                               // ERROR, unsupported builtin in stage
+    mat4x3 e10 = gl_ObjectToWorldNVX;                       // ERROR, unsupported builtin in stage
+    mat4x3 e11 = gl_WorldToObjectNVX;                       // ERROR, unsupported builtin in stage
+    float e12 = gl_HitTNVX;                                 // ERROR, unsupported builtin in stage
+    float e13 = gl_HitKindNVX;                              // ERROR, unsupported builtin in stage
+    reportIntersectionNVX(1.0, 1U);                         // ERROR, unsupported builtin in stage
+    ignoreIntersectionNVX();                                // ERROR, unsupported builtin in stage
+    terminateRayNVX();                                      // ERROR, unsupported builtin in stage
+}
diff --git a/Test/spv.computeShaderDerivatives.comp b/Test/spv.computeShaderDerivatives.comp
new file mode 100644
index 0000000..884f14d
--- /dev/null
+++ b/Test/spv.computeShaderDerivatives.comp
@@ -0,0 +1,106 @@
+#version 450
+#extension GL_NV_compute_shader_derivatives : require
+
+layout (local_size_x = 2, local_size_y = 4) in;
+layout(derivative_group_quadsNV) in;
+
+buffer block {
+  float fDerivativeX;
+  float fDerivativeY;
+  float fDerivativeWidth;
+  float fCoarseDerivativeX;
+  float fCoarseDerivativeY;
+  float fCoarseDerivativeWidth;
+  float fFineDerivativeX;
+  float fFineDerivativeY;
+  float fFineDerivativeWidth;
+  
+  float fX;
+  float fY;
+  
+  
+  vec2 v2DerivativeX;
+  vec2 v2DerivativeY;
+  vec2 v2DerivativeWidth;
+  vec2 v2CoarseDerivativeX;
+  vec2 v2CoarseDerivativeY;
+  vec2 v2CoarseDerivativeWidth;
+  vec2 v2FineDerivativeX;
+  vec2 v2FineDerivativeY;
+  vec2 v2FineDerivativeWidth;
+  
+  vec2 v2X;
+  vec2 v2Y;
+  
+  
+  vec3 v3DerivativeX;
+  vec3 v3DerivativeY;
+  vec3 v3DerivativeWidth;
+  vec3 v3CoarseDerivativeX;
+  vec3 v3CoarseDerivativeY;
+  vec3 v3CoarseDerivativeWidth;
+  vec3 v3FineDerivativeX;
+  vec3 v3FineDerivativeY;
+  vec3 v3FineDerivativeWidth;
+  
+  vec3 v3X;
+  vec3 v3Y;
+  
+  
+  vec4 v4DerivativeX;
+  vec4 v4DerivativeY;
+  vec4 v4DerivativeWidth;
+  vec4 v4CoarseDerivativeX;
+  vec4 v4CoarseDerivativeY;
+  vec4 v4CoarseDerivativeWidth;
+  vec4 v4FineDerivativeX;
+  vec4 v4FineDerivativeY;
+  vec4 v4FineDerivativeWidth;
+  
+  vec4 v4X;
+  vec4 v4Y;
+};
+
+void main(){
+    fDerivativeX = dFdx(fX);
+    fDerivativeY = dFdy(fY);
+    fDerivativeWidth = fwidth(fX);
+    fCoarseDerivativeX = dFdxCoarse(fX);
+    fCoarseDerivativeY = dFdyCoarse(fY);
+    fCoarseDerivativeWidth = fwidthCoarse(fX);
+    fFineDerivativeX = dFdxFine(fX);
+    fFineDerivativeY = dFdyFine(fY);
+    fFineDerivativeWidth = fwidthFine(fX);
+
+    v2DerivativeX = dFdx(v2X);
+    v2DerivativeY = dFdy(v2Y);
+    v2DerivativeWidth = fwidth(v2X);
+    v2CoarseDerivativeX = dFdxCoarse(v2X);
+    v2CoarseDerivativeY = dFdyCoarse(v2Y);
+    v2CoarseDerivativeWidth = fwidthCoarse(v2X);
+    v2FineDerivativeX = dFdxFine(v2X);
+    v2FineDerivativeY = dFdyFine(v2Y);
+    v2FineDerivativeWidth = fwidthFine(v2X);
+
+
+    v3DerivativeX = dFdx(v3X);
+    v3DerivativeY = dFdy(v3Y);
+    v3DerivativeWidth = fwidth(v3X);
+    v3CoarseDerivativeX = dFdxCoarse(v3X);
+    v3CoarseDerivativeY = dFdyCoarse(v3Y);
+    v3CoarseDerivativeWidth = fwidthCoarse(v3X);
+    v3FineDerivativeX = dFdxFine(v3X);
+    v3FineDerivativeY = dFdyFine(v3Y);
+    v3FineDerivativeWidth = fwidthFine(v3X);
+
+
+    v4DerivativeX = dFdx(v4X);
+    v4DerivativeY = dFdy(v4Y);
+    v4DerivativeWidth = fwidth(v4X);
+    v4CoarseDerivativeX = dFdxCoarse(v4X);
+    v4CoarseDerivativeY = dFdyCoarse(v4Y);
+    v4CoarseDerivativeWidth = fwidthCoarse(v4X);
+    v4FineDerivativeX = dFdxFine(v4X);
+    v4FineDerivativeY = dFdyFine(v4Y);
+    v4FineDerivativeWidth = fwidthFine(v4X);
+}
diff --git a/Test/spv.computeShaderDerivatives2.comp b/Test/spv.computeShaderDerivatives2.comp
new file mode 100644
index 0000000..f964fdd
--- /dev/null
+++ b/Test/spv.computeShaderDerivatives2.comp
@@ -0,0 +1,106 @@
+#version 320 es
+#extension GL_NV_compute_shader_derivatives : require
+
+layout (local_size_x = 2, local_size_y = 4) in;
+layout(derivative_group_linearNV) in;
+
+buffer block {
+  float fDerivativeX;
+  float fDerivativeY;
+  float fDerivativeWidth;
+  float fCoarseDerivativeX;
+  float fCoarseDerivativeY;
+  float fCoarseDerivativeWidth;
+  float fFineDerivativeX;
+  float fFineDerivativeY;
+  float fFineDerivativeWidth;
+  
+  float fX;
+  float fY;
+  
+  
+  vec2 v2DerivativeX;
+  vec2 v2DerivativeY;
+  vec2 v2DerivativeWidth;
+  vec2 v2CoarseDerivativeX;
+  vec2 v2CoarseDerivativeY;
+  vec2 v2CoarseDerivativeWidth;
+  vec2 v2FineDerivativeX;
+  vec2 v2FineDerivativeY;
+  vec2 v2FineDerivativeWidth;
+  
+  vec2 v2X;
+  vec2 v2Y;
+  
+  
+  vec3 v3DerivativeX;
+  vec3 v3DerivativeY;
+  vec3 v3DerivativeWidth;
+  vec3 v3CoarseDerivativeX;
+  vec3 v3CoarseDerivativeY;
+  vec3 v3CoarseDerivativeWidth;
+  vec3 v3FineDerivativeX;
+  vec3 v3FineDerivativeY;
+  vec3 v3FineDerivativeWidth;
+  
+  vec3 v3X;
+  vec3 v3Y;
+  
+  
+  vec4 v4DerivativeX;
+  vec4 v4DerivativeY;
+  vec4 v4DerivativeWidth;
+  vec4 v4CoarseDerivativeX;
+  vec4 v4CoarseDerivativeY;
+  vec4 v4CoarseDerivativeWidth;
+  vec4 v4FineDerivativeX;
+  vec4 v4FineDerivativeY;
+  vec4 v4FineDerivativeWidth;
+  
+  vec4 v4X;
+  vec4 v4Y;
+};
+
+void main(){
+    fDerivativeX = dFdx(fX);
+    fDerivativeY = dFdy(fY);
+    fDerivativeWidth = fwidth(fX);
+    fCoarseDerivativeX = dFdxCoarse(fX);
+    fCoarseDerivativeY = dFdyCoarse(fY);
+    fCoarseDerivativeWidth = fwidthCoarse(fX);
+    fFineDerivativeX = dFdxFine(fX);
+    fFineDerivativeY = dFdyFine(fY);
+    fFineDerivativeWidth = fwidthFine(fX);
+
+    v2DerivativeX = dFdx(v2X);
+    v2DerivativeY = dFdy(v2Y);
+    v2DerivativeWidth = fwidth(v2X);
+    v2CoarseDerivativeX = dFdxCoarse(v2X);
+    v2CoarseDerivativeY = dFdyCoarse(v2Y);
+    v2CoarseDerivativeWidth = fwidthCoarse(v2X);
+    v2FineDerivativeX = dFdxFine(v2X);
+    v2FineDerivativeY = dFdyFine(v2Y);
+    v2FineDerivativeWidth = fwidthFine(v2X);
+
+
+    v3DerivativeX = dFdx(v3X);
+    v3DerivativeY = dFdy(v3Y);
+    v3DerivativeWidth = fwidth(v3X);
+    v3CoarseDerivativeX = dFdxCoarse(v3X);
+    v3CoarseDerivativeY = dFdyCoarse(v3Y);
+    v3CoarseDerivativeWidth = fwidthCoarse(v3X);
+    v3FineDerivativeX = dFdxFine(v3X);
+    v3FineDerivativeY = dFdyFine(v3Y);
+    v3FineDerivativeWidth = fwidthFine(v3X);
+
+
+    v4DerivativeX = dFdx(v4X);
+    v4DerivativeY = dFdy(v4Y);
+    v4DerivativeWidth = fwidth(v4X);
+    v4CoarseDerivativeX = dFdxCoarse(v4X);
+    v4CoarseDerivativeY = dFdyCoarse(v4Y);
+    v4CoarseDerivativeWidth = fwidthCoarse(v4X);
+    v4FineDerivativeX = dFdxFine(v4X);
+    v4FineDerivativeY = dFdyFine(v4Y);
+    v4FineDerivativeWidth = fwidthFine(v4X);
+}
diff --git a/Test/spv.fragmentShaderBarycentric.frag b/Test/spv.fragmentShaderBarycentric.frag
new file mode 100644
index 0000000..c923aca
--- /dev/null
+++ b/Test/spv.fragmentShaderBarycentric.frag
@@ -0,0 +1,15 @@
+#version 450
+#extension GL_NV_fragment_shader_barycentric : require
+
+layout(location = 0) pervertexNV in vertices {
+    float attrib;
+    } v[];   
+      
+layout(location = 1) out float value;
+      
+void main () {
+    value = (gl_BaryCoordNV.x * v[0].attrib +
+             gl_BaryCoordNV.y * v[1].attrib +
+             gl_BaryCoordNV.z * v[2].attrib);
+
+}
diff --git a/Test/spv.fragmentShaderBarycentric2.frag b/Test/spv.fragmentShaderBarycentric2.frag
new file mode 100644
index 0000000..4682e4e
--- /dev/null
+++ b/Test/spv.fragmentShaderBarycentric2.frag
@@ -0,0 +1,15 @@
+#version 320 es
+#extension GL_NV_fragment_shader_barycentric : require
+
+precision highp float;
+
+layout(location = 0) pervertexNV in float vertexIDs[3];
+      
+layout(location = 1) out float value;
+      
+void main () {
+    value = (gl_BaryCoordNoPerspNV.x * vertexIDs[0] +
+             gl_BaryCoordNoPerspNV.y * vertexIDs[1] +
+             gl_BaryCoordNoPerspNV.z * vertexIDs[2]);
+
+}
diff --git a/Test/spv.functionNestedOpaque.vert b/Test/spv.functionNestedOpaque.vert
old mode 100755
new mode 100644
diff --git a/Test/spv.hlslOffsets.vert b/Test/spv.hlslOffsets.vert
old mode 100755
new mode 100644
diff --git a/Test/spv.memoryScopeSemantics.comp b/Test/spv.memoryScopeSemantics.comp
new file mode 100644
index 0000000..c03c123
--- /dev/null
+++ b/Test/spv.memoryScopeSemantics.comp
@@ -0,0 +1,61 @@
+#version 450
+#extension GL_KHR_memory_scope_semantics : require
+#extension GL_ARB_gpu_shader_int64 : require
+
+#pragma use_vulkan_memory_model
+
+shared uint value;
+shared int atomi;
+shared uint atomu;
+layout(binding = 0, r32ui) workgroupcoherent uniform uimage2D imageu;
+layout(binding = 1, r32i) volatile coherent uniform iimage2D imagei;
+layout(binding = 5, r32i) nonprivate uniform iimage2D imagej[2];
+layout (binding = 2) buffer BufferU { workgroupcoherent uint x; } bufferu;
+layout (binding = 3) coherent buffer BufferI { uint x; } bufferi;
+struct A { uint x[2]; };
+layout (binding = 4) volatile buffer BufferJ { subgroupcoherent A a; } bufferj[2];
+layout (binding = 6) nonprivate uniform sampler2D samp[2];
+layout (binding = 7) nonprivate uniform BufferK { uint x; } bufferk;
+shared uint64_t atomu64;
+shared int64_t atomi64;
+
+
+void main()
+{
+    int origi = atomicAdd(atomi, 3, gl_ScopeDevice, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsRelease);
+    uint origu = atomicAnd(atomu, value);
+    origi = atomicLoad(atomi, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquire);
+    atomicStore(atomu, value, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsRelease);
+    origi = imageAtomicLoad(imagei, ivec2(0,0), gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquire);
+    origu = imageAtomicAdd(imageu, ivec2(0,0), 3u, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquire);
+    imageAtomicStore(imageu, ivec2(0,0), 4u, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsRelease);
+    origu = atomicOr(atomu, 7u, gl_ScopeDevice, 0, 0);
+    origu = atomicXor(atomu, 7u, gl_ScopeDevice, 0, 0);
+    origu = atomicMin(atomu, value, gl_ScopeDevice, 0, 0);
+    origi = atomicMax(atomi, 7, gl_ScopeDevice, 0, 0);
+    origi = atomicExchange(atomi, origi, gl_ScopeDevice, 0, 0);
+    origu = atomicCompSwap(atomu, 10u, value, gl_ScopeDevice, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire);
+    atomicAdd(bufferu.x, 1, gl_ScopeDevice, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsRelease);
+    memoryBarrier(gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsRelease);
+    controlBarrier(gl_ScopeWorkgroup, gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire);
+    controlBarrier(gl_ScopeWorkgroup, gl_ScopeWorkgroup, 0, 0);
+
+    uint y;
+    y = bufferu.x;
+    bufferu.x = y;
+    y = bufferi.x;
+    y = bufferj[0].a.x[1];
+    bufferi.x = y;
+    bufferj[0].a.x[1] = y;
+    bufferj[0].a = bufferj[1].a;
+    bufferi.x = bufferk.x;
+
+    imageLoad(imagei, ivec2(0,0));
+    imageLoad(imagej[0], ivec2(0,0));
+    imageStore(imagej[1], ivec2(0,0), ivec4(0,0,0,0));
+    texture(samp[0], vec2(0,0));
+
+    atomu64 = atomicMax(atomu64, uint64_t(7), gl_ScopeDevice, 0, 0);
+    atomicCompSwap(atomi64, int64_t(10), int64_t(atomu64), gl_ScopeDevice, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire);
+}
+
diff --git a/Test/spv.memoryScopeSemantics_Error.comp b/Test/spv.memoryScopeSemantics_Error.comp
new file mode 100644
index 0000000..4e18b2e
--- /dev/null
+++ b/Test/spv.memoryScopeSemantics_Error.comp
@@ -0,0 +1,28 @@
+#version 450
+#extension GL_KHR_memory_scope_semantics : require
+
+
+shared uint value;
+shared int atomi;
+shared uint atomu;
+layout(binding = 0, r32ui) workgroupcoherent uniform uimage2D imageu;
+layout(binding = 1, r32i) coherent uniform iimage2D imagei;
+layout (binding = 2) buffer BufferU { workgroupcoherent uint x; } bufferu;
+layout (binding = 3) subgroupcoherent buffer BufferI { uint x; } bufferi;
+
+void main()
+{
+    atomicStore(atomu, value, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquire);
+    int origi = imageAtomicLoad(imagei, ivec2(0,0), gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsRelease);
+    atomicStore(atomu, value, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsAcquireRelease);
+    atomicStore(atomu, value, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_StorageSemanticsBuffer);
+    origi = imageAtomicLoad(imagei, ivec2(0,0), gl_ScopeDevice, gl_SemanticsAcquire, gl_SemanticsAcquire);
+    memoryBarrier(gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, 0);
+    memoryBarrier(gl_ScopeWorkgroup, 0, gl_SemanticsRelease);
+    memoryBarrier(gl_ScopeWorkgroup, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsRelease | gl_SemanticsAcquire);
+    atomicAdd(atomu, value, gl_ScopeDevice, gl_StorageSemanticsBuffer, gl_SemanticsRelease | gl_SemanticsAcquire);
+    uint origu = atomicCompSwap(atomu, 10u, value, gl_ScopeDevice, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquire, gl_StorageSemanticsBuffer | gl_StorageSemanticsShared, gl_SemanticsAcquireRelease);
+    memoryBarrier(gl_ScopeWorkgroup, gl_StorageSemanticsBuffer, gl_SemanticsRelease | gl_SemanticsMakeVisible);
+    memoryBarrier(gl_ScopeWorkgroup, gl_StorageSemanticsBuffer, gl_SemanticsAcquire | gl_SemanticsMakeAvailable);
+}
+
diff --git a/Test/spv.meshShaderBuiltins.mesh b/Test/spv.meshShaderBuiltins.mesh
new file mode 100644
index 0000000..8adff3d
--- /dev/null
+++ b/Test/spv.meshShaderBuiltins.mesh
@@ -0,0 +1,63 @@
+#version 460
+
+#define MAX_VER  81
+#define MAX_PRIM 32
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+layout(max_vertices=MAX_VER) out;
+layout(max_primitives=MAX_PRIM) out;
+layout(triangles) out;
+
+// test use of builtins in mesh shaders:
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+    uint gid = gl_WorkGroupID.x;
+
+    gl_MeshVerticesNV[iid].gl_Position = vec4(1.0);
+    gl_MeshVerticesNV[iid].gl_PointSize = 2.0;
+    gl_MeshVerticesNV[iid].gl_ClipDistance[3] = 3.0;
+    gl_MeshVerticesNV[iid].gl_CullDistance[2] = 4.0;
+
+    BARRIER();
+
+    gl_MeshVerticesNV[iid+1].gl_Position = gl_MeshVerticesNV[iid].gl_Position;
+    gl_MeshVerticesNV[iid+1].gl_PointSize = gl_MeshVerticesNV[iid].gl_PointSize;
+    gl_MeshVerticesNV[iid+1].gl_ClipDistance[3] = gl_MeshVerticesNV[iid].gl_ClipDistance[3];
+    gl_MeshVerticesNV[iid+1].gl_CullDistance[2] = gl_MeshVerticesNV[iid].gl_CullDistance[2];
+
+    BARRIER();
+
+    gl_MeshPrimitivesNV[iid].gl_PrimitiveID = 6;
+    gl_MeshPrimitivesNV[iid].gl_Layer = 7;
+    gl_MeshPrimitivesNV[iid].gl_ViewportIndex = 8;
+    gl_MeshPrimitivesNV[iid].gl_ViewportMask[0] = 9;
+
+    BARRIER();
+
+    gl_MeshPrimitivesNV[iid+1].gl_PrimitiveID = gl_MeshPrimitivesNV[iid].gl_PrimitiveID;
+    gl_MeshPrimitivesNV[iid+1].gl_Layer = gl_MeshPrimitivesNV[iid].gl_Layer;
+    gl_MeshPrimitivesNV[iid+1].gl_ViewportIndex = gl_MeshPrimitivesNV[iid].gl_ViewportIndex;
+    gl_MeshPrimitivesNV[iid+1].gl_ViewportMask[0] = gl_MeshPrimitivesNV[iid].gl_ViewportMask[0];
+
+    BARRIER();
+
+    // should truncate 257 -> 1
+    gl_PrimitiveIndicesNV[0] = 257;
+    gl_PrimitiveIndicesNV[gid] = gl_PrimitiveIndicesNV[gid-1];
+
+    // writes 4 indices at offset gl_DrawID
+    writePackedPrimitiveIndices4x8NV(gl_DrawID, 0x01020304);
+
+    gl_PrimitiveCountNV = MAX_PRIM * 3;
+
+    BARRIER();
+}
diff --git a/Test/spv.meshShaderPerViewBuiltins.mesh b/Test/spv.meshShaderPerViewBuiltins.mesh
new file mode 100644
index 0000000..54fb744
--- /dev/null
+++ b/Test/spv.meshShaderPerViewBuiltins.mesh
@@ -0,0 +1,42 @@
+#version 450
+
+#define MAX_VER  81
+#define MAX_PRIM 32
+#define MAX_VIEWS gl_MaxMeshViewCountNV
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+layout(max_vertices=MAX_VER) out;
+layout(max_primitives=MAX_PRIM) out;
+layout(triangles) out;
+
+// test use of per-view builtin attributes
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+    uint viewID = gl_MeshViewIndicesNV[gl_MeshViewCountNV%MAX_VIEWS];
+
+    gl_MeshVerticesNV[iid].gl_PositionPerViewNV[viewID]          = vec4(1.0, 2.0, 3.0, 4.0);
+    gl_MeshVerticesNV[iid].gl_ClipDistancePerViewNV[viewID][2]   = 5.0;
+    gl_MeshVerticesNV[iid].gl_CullDistancePerViewNV[viewID][3]   = 6.0;
+    gl_MeshPrimitivesNV[iid].gl_LayerPerViewNV[viewID]           = 7;
+    gl_MeshPrimitivesNV[iid].gl_ViewportMaskPerViewNV[viewID][0] = 8;
+
+    BARRIER();
+
+    gl_MeshVerticesNV[iid+1].gl_PositionPerViewNV[viewID]          = gl_MeshVerticesNV[iid].gl_PositionPerViewNV[viewID];
+    gl_MeshVerticesNV[iid+1].gl_ClipDistancePerViewNV[viewID][2]   = gl_MeshVerticesNV[iid].gl_ClipDistancePerViewNV[viewID][2];
+    gl_MeshVerticesNV[iid+1].gl_CullDistancePerViewNV[viewID][3]   = gl_MeshVerticesNV[iid].gl_CullDistancePerViewNV[viewID][3];
+    gl_MeshPrimitivesNV[iid+1].gl_LayerPerViewNV[viewID]           = gl_MeshPrimitivesNV[iid].gl_LayerPerViewNV[viewID];
+    gl_MeshPrimitivesNV[iid+1].gl_ViewportMaskPerViewNV[viewID][0] = gl_MeshPrimitivesNV[iid].gl_ViewportMaskPerViewNV[viewID][0];
+
+    BARRIER();
+}
+
diff --git a/Test/spv.meshShaderPerViewUserDefined.mesh b/Test/spv.meshShaderPerViewUserDefined.mesh
new file mode 100644
index 0000000..4a316eb
--- /dev/null
+++ b/Test/spv.meshShaderPerViewUserDefined.mesh
@@ -0,0 +1,56 @@
+#version 450
+
+#define MAX_VER  81
+#define MAX_PRIM 32
+#define MAX_VIEWS gl_MaxMeshViewCountNV
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+layout(max_vertices=MAX_VER) out;
+layout(max_primitives=MAX_PRIM) out;
+layout(triangles) out;
+
+// test use of user-defined per-view attributes
+
+// mix of single-view and per-view attributes
+layout(location=0) out block {
+    perprimitiveNV perviewNV vec4 color1[][3];  // Implicitly sized
+    perprimitiveNV vec4 color2[3];
+    perviewNV vec4 color3[MAX_VIEWS][3];          // Explicitly sized
+    vec4 color4;
+} b[];
+
+// per-view block
+perviewNV layout(location=10) out perviewBlock {
+    perprimitiveNV vec4 color5[];              // Implicitly sized
+    perprimitiveNV vec4 color6[MAX_VIEWS][3];  // Explicitly sized
+    vec4 color7[][3];                            // Implicitly sized
+    vec4 color8[MAX_VIEWS];                      // Explicitly sized
+} b2[];
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+    uint viewID = gl_MeshViewIndicesNV[gl_MeshViewCountNV%MAX_VIEWS];
+
+    b[iid].color1[viewID][2] = vec4(1.0);
+    b[iid].color2[1]         = vec4(2.0);
+    b[iid].color3[viewID][2] = vec4(3.0);
+    b[iid].color4            = vec4(4.0);
+
+    BARRIER();
+
+    b2[iid].color5[viewID]    = vec4(5.0);
+    b2[iid].color6[viewID][1] = vec4(6.0);
+    b2[iid].color7[viewID][2] = vec4(7.0);
+    b2[iid].color8[viewID]    = vec4(8.0);
+
+    BARRIER();
+}
+
diff --git a/Test/spv.meshShaderSharedMem.mesh b/Test/spv.meshShaderSharedMem.mesh
new file mode 100644
index 0000000..b9d2f6d
--- /dev/null
+++ b/Test/spv.meshShaderSharedMem.mesh
@@ -0,0 +1,39 @@
+#version 450
+
+#define MAX_VER  81
+#define MAX_PRIM 32
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+layout(max_vertices=MAX_VER) out;
+layout(max_primitives=MAX_PRIM) out;
+layout(triangles) out;
+
+// test use of shared memory in mesh shaders:
+
+writeonly uniform image2D uni_image;
+uniform block0 {
+    uint    uni_value;
+};
+
+shared vec4 mem[10];
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+    uint gid = gl_WorkGroupID.x;
+
+    for (uint i = 0; i < 10; ++i) {
+        mem[i] = vec4(i+uni_value);
+    }
+    imageStore(uni_image, ivec2(iid), mem[gid]);
+    imageStore(uni_image, ivec2(iid), mem[gid+1]);
+
+    BARRIER();
+}
diff --git a/Test/spv.meshShaderTaskMem.mesh b/Test/spv.meshShaderTaskMem.mesh
new file mode 100644
index 0000000..5ce5bed
--- /dev/null
+++ b/Test/spv.meshShaderTaskMem.mesh
@@ -0,0 +1,41 @@
+#version 450
+
+#define MAX_VER  81
+#define MAX_PRIM 32
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+layout(max_vertices=MAX_VER) out;
+layout(max_primitives=MAX_PRIM) out;
+layout(triangles) out;
+
+// test use of task memory in mesh shaders:
+
+taskNV in taskBlock {
+    float gid1[2];
+    vec4 gid2;
+} mytask;
+
+buffer bufferBlock {
+    float gid3[2];
+    vec4 gid4;
+} mybuf;
+
+layout(location=0) out outBlock {
+    float gid5;
+    vec4 gid6;
+} myblk[];
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+
+    myblk[iid].gid5 = mytask.gid1[1] + mybuf.gid3[1];
+    myblk[iid].gid6 = mytask.gid2    + mybuf.gid4;
+}
diff --git a/Test/spv.meshShaderUserDefined.mesh b/Test/spv.meshShaderUserDefined.mesh
new file mode 100644
index 0000000..8b0937d
--- /dev/null
+++ b/Test/spv.meshShaderUserDefined.mesh
@@ -0,0 +1,59 @@
+#version 450
+
+#define MAX_VER  81
+#define MAX_PRIM 32
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+layout(max_vertices=MAX_VER) out;
+layout(max_primitives=MAX_PRIM) out;
+layout(triangles) out;
+
+// test use of user defined interface out blocks:
+
+// per-primitive block
+perprimitiveNV layout(location=0) out myblock {
+    float f;
+    float fArr[4];
+    vec3 pos;
+    vec4 posArr[4];
+    mat4 m;
+    mat3 mArr[2];
+} blk[];
+
+// per-vertex block
+layout(location=20) out myblock2 {
+    float f;
+    vec4 pos;
+    mat4 m;
+} blk2[];
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+    uint gid = gl_WorkGroupID.x;
+
+    blk[iid].f               = 11.0;
+    blk[iid+1].fArr[gid]     = blk[iid].f;
+    blk[iid/2].pos.yzx       = vec3(14.0, 15.0, 13.0);
+    blk[iid*2].posArr[1].yzw = blk[iid/2].pos;
+    blk[iid/4].m[2].wzyx     = vec4(13.0, 14.0, 15.0, 16.0);
+    blk[iid].mArr[0][1][1]   = blk[iid/4].m[2].w;
+    blk[iid*4].mArr[1][gid]  = vec3(17.0, 18.0, 19.0);
+
+    BARRIER();
+
+    blk2[iid].f           = blk2[iid-1].f + 20.0;
+    blk2[iid].pos         = vec4(21.0, 22.0, 23.0, 24.0);
+    blk2[iid+1].m[gid]    = blk2[iid].pos;
+    blk2[iid+1].m[gid][2] = 29.0;
+    blk2[iid+2].m[3]      = blk2[iid+1].m[gid];
+
+    BARRIER();
+}
diff --git a/Test/spv.meshTaskShader.task b/Test/spv.meshTaskShader.task
new file mode 100644
index 0000000..c12b3bd
--- /dev/null
+++ b/Test/spv.meshTaskShader.task
@@ -0,0 +1,49 @@
+#version 450
+
+#define BARRIER() \
+    memoryBarrierShared(); \
+    barrier();
+
+#extension GL_NV_mesh_shader : enable
+
+layout(local_size_x = 32) in;
+
+// test use of shared memory in task shaders:
+layout(binding=0) writeonly uniform image2D uni_image;
+uniform block0 {
+    uint uni_value;
+};
+shared vec4 mem[10];
+
+// test use of task memory in task shaders:
+taskNV out Task {
+    vec2 dummy;
+    vec2 submesh[3];
+} mytask;
+
+void main()
+{
+    uint iid = gl_LocalInvocationID.x;
+    uint gid = gl_WorkGroupID.x;
+
+    // 1. shared memory load and stores
+    for (uint i = 0; i < 10; ++i) {
+        mem[i] = vec4(i + uni_value);
+    }
+    imageStore(uni_image, ivec2(iid), mem[gid]);
+    imageStore(uni_image, ivec2(iid), mem[gid+1]);
+
+    BARRIER();
+
+    // 2. task memory stores
+
+    mytask.dummy      = vec2(30.0, 31.0);
+    mytask.submesh[0] = vec2(32.0, 33.0);
+    mytask.submesh[1] = vec2(34.0, 35.0);
+    mytask.submesh[2] = mytask.submesh[gid%2];
+
+    BARRIER();
+
+    // 3. set task count
+    gl_TaskCountNV = 3;
+}
diff --git a/Test/spv.multiStructFuncall.frag b/Test/spv.multiStructFuncall.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.offsets.frag b/Test/spv.offsets.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.shaderImageFootprint.frag b/Test/spv.shaderImageFootprint.frag
new file mode 100644
index 0000000..efde370
--- /dev/null
+++ b/Test/spv.shaderImageFootprint.frag
@@ -0,0 +1,123 @@
+#version 450
+
+#extension GL_NV_shader_texture_footprint : require
+
+
+layout (location = 0) in vec2 P2;
+layout (location = 2) in vec3 P3;
+layout (location = 3) in flat int granularity;
+layout (location = 4) in float lodClamp;
+layout (location = 5) in float lod;
+layout (location = 6) in vec2 dx;
+layout (location = 8) in vec2 dy;
+layout (location = 9) in float bias;
+
+uniform sampler2D sample2D;
+uniform sampler3D sample3D;
+
+buffer result2D {
+    bool ret2D;
+    uvec2 anchor2D;
+    uvec2 offset2D;
+    uvec2 mask2D;
+    uint lod2D;
+    uint granularity2D;
+};
+
+buffer result3D {
+    bool ret3D;
+    uvec3 anchor3D;
+    uvec3 offset3D;
+    uvec2 mask3D;
+    uint lod3D;
+    uint granularity3D;
+};
+
+void main() {
+ gl_TextureFootprint2DNV fp2D;
+ gl_TextureFootprint3DNV fp3D;
+ 
+ ret2D = textureFootprintNV(sample2D, P2, granularity, true, fp2D);
+ anchor2D = fp2D.anchor;
+ offset2D = fp2D.offset;
+ mask2D = fp2D.mask;
+ lod2D = fp2D.lod;
+ granularity2D = fp2D.granularity;
+ 
+ ret2D = textureFootprintNV(sample2D, P2, granularity, true, fp2D, bias);
+ anchor2D += fp2D.anchor;
+ offset2D += fp2D.offset;
+ mask2D += fp2D.mask;
+ lod2D += fp2D.lod;
+ granularity2D += fp2D.granularity;
+ 
+ ret2D = textureFootprintClampNV(sample2D, P2, lodClamp, granularity, true, fp2D);
+ anchor2D += fp2D.anchor;
+ offset2D += fp2D.offset;
+ mask2D += fp2D.mask;
+ lod2D += fp2D.lod;
+ granularity2D += fp2D.granularity;
+ 
+ ret2D = textureFootprintClampNV(sample2D, P2, lodClamp, granularity, true, fp2D, bias);
+ anchor2D += fp2D.anchor;
+ offset2D += fp2D.offset;
+ mask2D += fp2D.mask;
+ lod2D += fp2D.lod;
+ granularity2D += fp2D.granularity;
+ 
+ ret2D = textureFootprintLodNV(sample2D, P2, lod, granularity, true, fp2D);
+ anchor2D += fp2D.anchor;
+ offset2D += fp2D.offset;
+ mask2D += fp2D.mask;
+ lod2D += fp2D.lod;
+ granularity2D += fp2D.granularity;
+ 
+ ret2D = textureFootprintGradNV(sample2D, P2, dx, dy, granularity, true, fp2D);
+ anchor2D += fp2D.anchor;
+ offset2D += fp2D.offset;
+ mask2D += fp2D.mask;
+ lod2D += fp2D.lod;
+ granularity2D += fp2D.granularity;
+ 
+ ret2D = textureFootprintGradClampNV(sample2D, P2, dx, dy, lodClamp, granularity, true, fp2D);
+ anchor2D += fp2D.anchor;
+ offset2D += fp2D.offset;
+ mask2D += fp2D.mask;
+ lod2D += fp2D.lod;
+ granularity2D += fp2D.granularity;
+ 
+ ret3D = textureFootprintNV(sample3D, P3, granularity, true, fp3D);
+ anchor3D = fp3D.anchor;
+ offset3D = fp3D.offset;
+ mask3D = fp3D.mask;
+ lod3D = fp3D.lod;
+ granularity3D = fp3D.granularity;
+ 
+ ret3D = textureFootprintNV(sample3D, P3, granularity, true, fp3D, bias);
+ anchor3D += fp3D.anchor;
+ offset3D += fp3D.offset;
+ mask3D += fp3D.mask;
+ lod3D += fp3D.lod;
+ granularity3D += fp3D.granularity;
+ 
+ ret3D = textureFootprintClampNV(sample3D, P3, lodClamp, granularity, true, fp3D);
+ anchor3D += fp3D.anchor;
+ offset3D += fp3D.offset;
+ mask3D += fp3D.mask;
+ lod3D += fp3D.lod;
+ granularity3D += fp3D.granularity;
+ 
+ ret3D = textureFootprintClampNV(sample3D, P3, lodClamp, granularity, true, fp3D, bias);
+ anchor3D += fp3D.anchor;
+ offset3D += fp3D.offset;
+ mask3D += fp3D.mask;
+ lod3D += fp3D.lod;
+ granularity3D += fp3D.granularity;
+ 
+ ret3D = textureFootprintLodNV(sample3D, P3, lod, granularity, true, fp3D);
+ anchor3D += fp3D.anchor;
+ offset3D += fp3D.offset;
+ mask3D += fp3D.mask;
+ lod3D += fp3D.lod;
+ granularity3D += fp3D.granularity;
+}
\ No newline at end of file
diff --git a/Test/spv.shadingRate.frag b/Test/spv.shadingRate.frag
new file mode 100644
index 0000000..8fbd4ba
--- /dev/null
+++ b/Test/spv.shadingRate.frag
@@ -0,0 +1,11 @@
+#version 450
+
+#extension GL_NV_shading_rate_image : require
+
+layout (location = 0) out vec2 FragmentSize;
+layout (location = 2) out int InvocationsPerPixel;
+
+void main () {
+    FragmentSize = gl_FragmentSizeNV;
+    InvocationsPerPixel = gl_InvocationsPerPixelNV;
+}
\ No newline at end of file
diff --git a/Test/spv.shortCircuit.frag b/Test/spv.shortCircuit.frag
old mode 100755
new mode 100644
diff --git a/Test/spv.subgroupPartitioned.comp b/Test/spv.subgroupPartitioned.comp
old mode 100755
new mode 100644
diff --git a/Test/spv.targetOpenGL.vert b/Test/spv.targetOpenGL.vert
old mode 100755
new mode 100644
diff --git a/Test/spv.targetVulkan.vert b/Test/spv.targetVulkan.vert
old mode 100755
new mode 100644
diff --git a/Test/spv.unit1.frag b/Test/spv.unit1.frag
new file mode 100644
index 0000000..d84f821
--- /dev/null
+++ b/Test/spv.unit1.frag
@@ -0,0 +1,16 @@
+#version 460
+
+float f;
+float a1;
+
+float foo();
+
+out float cout;
+
+void main()
+{
+    f = 10;
+    float g = foo();
+    f += g;
+    f += gl_FragCoord.y;
+}
\ No newline at end of file
diff --git a/Test/spv.unit2.frag b/Test/spv.unit2.frag
new file mode 100644
index 0000000..d17e7e7
--- /dev/null
+++ b/Test/spv.unit2.frag
@@ -0,0 +1,17 @@
+#version 410
+// a different version number makes different id's for the same shared symbol
+
+float a2;
+float f;
+
+float bar();
+
+out float cout;
+in float cin;
+
+float foo()
+{
+    float h2 = 2 * f + cin;
+    float g2 = bar();
+    return h2 + g2 + gl_FragCoord.y;
+}
\ No newline at end of file
diff --git a/Test/spv.unit3.frag b/Test/spv.unit3.frag
new file mode 100644
index 0000000..4c96597
--- /dev/null
+++ b/Test/spv.unit3.frag
@@ -0,0 +1,15 @@
+#version 460
+
+float f;
+float h3 = 3.0;
+
+out float cout;
+in float cin;
+
+float bar()
+{
+    h3 *= f;
+    float g3 = 2 * h3;
+    cout = g3;
+    return h3 + g3 + gl_FragCoord.y;
+}
diff --git a/Test/spv.vulkan100.subgroupPartitioned.comp b/Test/spv.vulkan100.subgroupPartitioned.comp
old mode 100755
new mode 100644
diff --git a/Test/stringToDouble.vert b/Test/stringToDouble.vert
old mode 100755
new mode 100644
index 2f21302..5a7024d
--- a/Test/stringToDouble.vert
+++ b/Test/stringToDouble.vert
@@ -1,5 +1,5 @@
 #version 460
-//#pragma glslang_binary_double_output
+#extension GL_KHX_shader_explicit_arithmetic_types_float16 : enable
 void main()
 {
     float w1   = 00000.000;
@@ -94,5 +94,23 @@
     double b44 = 5708990770823839207320493820740630171355185151999e-3;
     double b45 = 5708990770823839207320493820740630171355185152001e-3;
 
-    double pi = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679;
+    float pi1 = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679f;
+    float pi2 = 3.14159265358979f;
+    float pi3 = 3.141592653589793f;
+
+    double dpi1 = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679;
+    double dpi2 = 3.14159265358979;
+    double dpi3 = 3.141592653589793;
+
+    float dfpi1 = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679f;
+    float dfpi2 = 3.14159265358979f;
+    float dfpi3 = 3.141592653589793f;
+
+    double lfpi1 = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679LF;
+    double lfpi2 = 3.14159265358979Lf;
+    double lfpi3 = 3.141592653589793lF;
+
+    double hfpi1 = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679hF;
+    double hfpi2 = 3.14159265358979hF;
+    double hfpi3 = 3.141592653589793hf;
 }
diff --git a/Test/tokenLength.vert b/Test/tokenLength.vert
old mode 100755
new mode 100644
diff --git a/Test/vulkan.frag b/Test/vulkan.frag
index 74a5aa1..46c14f3 100644
--- a/Test/vulkan.frag
+++ b/Test/vulkan.frag
@@ -21,8 +21,8 @@
     sampler3D[4](t3d5, sA[2]);    // ERROR, can't make array
     sampler2D(i2d, s);            // ERROR, image instead of texture
     sampler2D(t3d[1], s);         // ERROR, 3D not 2D
-    sampler2D(t2d, sShadow);      // ERROR, shadow mismatch
-    sampler2DShadow(t2d, s);      // ERROR, shadow mismatch
+    sampler2D(t2d, sShadow);
+    sampler2DShadow(t2d, s);
 }
 
 sampler2D s2D = sampler2D(t2d, s);            // ERROR, no sampler constructor
diff --git a/build_overrides/glslang.gni b/build_overrides/glslang.gni
new file mode 100644
index 0000000..500578c
--- /dev/null
+++ b/build_overrides/glslang.gni
@@ -0,0 +1,37 @@
+# Copyright (C) 2018 Google, Inc.
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#    Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+#    Redistributions in binary form must reproduce the above
+#    copyright notice, this list of conditions and the following
+#    disclaimer in the documentation and/or other materials provided
+#    with the distribution.
+#
+#    Neither the name of Google Inc. nor the names of its
+#    contributors may be used to endorse or promote products derived
+#    from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+# These are variables that are overridable by projects that include glslang.
+
+# The path to glslang dependencies.
+glslang_spirv_tools_dir = "//Externals/spirv-tools"
diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt
old mode 100755
new mode 100644
diff --git a/glslang/Include/BaseTypes.h b/glslang/Include/BaseTypes.h
index 46fe159..fc3a19f 100644
--- a/glslang/Include/BaseTypes.h
+++ b/glslang/Include/BaseTypes.h
@@ -62,6 +62,10 @@
     EbtStruct,
     EbtBlock,
 
+#ifdef NV_EXTENSIONS
+    EbtAccStructNV,
+#endif
+
     // HLSL types that live only temporarily.
     EbtString,
 
@@ -88,6 +92,12 @@
     EvqBuffer,        // read/write, shared with app
     EvqShared,        // compute shader's read/write 'shared' qualifier
 
+#ifdef NV_EXTENSIONS
+    EvqPayloadNV,
+    EvqPayloadInNV,
+    EvqHitAttrNV,
+#endif
+
     // parameters
     EvqIn,            // also, for 'in' in the grammar before we know if it's a pipeline input or an 'in' parameter
     EvqOut,           // also, for 'out' in the grammar before we know if it's a pipeline output or an 'out' parameter
@@ -227,6 +237,32 @@
     EbvPositionPerViewNV,
     EbvViewportMaskPerViewNV,
     EbvFragFullyCoveredNV,
+    EbvFragmentSizeNV,
+    EbvInvocationsPerPixelNV,
+    // raytracing
+    EbvLaunchIdNV,
+    EbvLaunchSizeNV,
+    EbvInstanceCustomIndexNV,
+    EbvWorldRayOriginNV,
+    EbvWorldRayDirectionNV,
+    EbvObjectRayOriginNV,
+    EbvObjectRayDirectionNV,
+    EbvRayTminNV,
+    EbvRayTmaxNV,
+    EbvHitTNV,
+    EbvHitKindNV,
+    EbvObjectToWorldNV,
+    EbvWorldToObjectNV,
+    EbvBaryCoordNV,
+    EbvBaryCoordNoPerspNV,
+    EbvTaskCountNV,
+    EbvPrimitiveCountNV,
+    EbvPrimitiveIndicesNV,
+    EbvClipDistancePerViewNV,
+    EbvCullDistancePerViewNV,
+    EbvLayerPerViewNV,
+    EbvMeshViewCountNV,
+    EbvMeshViewIndicesNV,
 #endif 
 
     // HLSL built-ins that live only temporarily, until they get remapped
@@ -273,6 +309,11 @@
     case EvqPointCoord:     return "gl_PointCoord";  break;
     case EvqFragColor:      return "fragColor";      break;
     case EvqFragDepth:      return "gl_FragDepth";   break;
+#ifdef NV_EXTENSIONS
+    case EvqPayloadNV:      return "rayPayloadNVX";   break;
+    case EvqPayloadInNV:    return "rayPayloadInNVX"; break;
+    case EvqHitAttrNV:      return "hitAttributeNVX"; break;
+#endif
     default:                return "unknown qualifier";
     }
 }
@@ -365,6 +406,31 @@
     case EbvPositionPerViewNV:          return "PositionPerViewNV";
     case EbvViewportMaskPerViewNV:      return "ViewportMaskPerViewNV";
     case EbvFragFullyCoveredNV:         return "FragFullyCoveredNV";
+    case EbvFragmentSizeNV:             return "FragmentSizeNV";
+    case EbvInvocationsPerPixelNV:      return "InvocationsPerPixelNV";
+    case EbvLaunchIdNV:                 return "LaunchIdNVX";
+    case EbvLaunchSizeNV:               return "LaunchSizeNVX";
+    case EbvInstanceCustomIndexNV:      return "InstanceCustomIndexNVX";
+    case EbvWorldRayOriginNV:           return "WorldRayOriginNVX";
+    case EbvWorldRayDirectionNV:        return "WorldRayDirectionNVX";
+    case EbvObjectRayOriginNV:          return "ObjectRayOriginNVX";
+    case EbvObjectRayDirectionNV:       return "ObjectRayDirectionNVX";
+    case EbvRayTminNV:                  return "ObjectRayTminNVX";
+    case EbvRayTmaxNV:                  return "ObjectRayTmaxNVX";
+    case EbvHitTNV:                     return "HitTNVX";
+    case EbvHitKindNV:                  return "HitKindNVX";
+    case EbvObjectToWorldNV:            return "ObjectToWorldNVX";
+    case EbvWorldToObjectNV:            return "WorldToObjectNVX";
+    case EbvBaryCoordNV:                return "BaryCoordNV";
+    case EbvBaryCoordNoPerspNV:         return "BaryCoordNoPerspNV";
+    case EbvTaskCountNV:                return "TaskCountNV";
+    case EbvPrimitiveCountNV:           return "PrimitiveCountNV";
+    case EbvPrimitiveIndicesNV:         return "PrimitiveIndicesNV";
+    case EbvClipDistancePerViewNV:      return "ClipDistancePerViewNV";
+    case EbvCullDistancePerViewNV:      return "CullDistancePerViewNV";
+    case EbvLayerPerViewNV:             return "LayerPerViewNV";
+    case EbvMeshViewCountNV:            return "MeshViewCountNV";
+    case EbvMeshViewIndicesNV:          return "MeshViewIndicesNV";
 #endif 
     default:                      return "unknown built-in variable";
     }
diff --git a/glslang/Include/ResourceLimits.h b/glslang/Include/ResourceLimits.h
index 0d07b8c..106b21d 100644
--- a/glslang/Include/ResourceLimits.h
+++ b/glslang/Include/ResourceLimits.h
@@ -133,6 +133,15 @@
     int maxCullDistances;
     int maxCombinedClipAndCullDistances;
     int maxSamples;
+    int maxMeshOutputVerticesNV;
+    int maxMeshOutputPrimitivesNV;
+    int maxMeshWorkGroupSizeX_NV;
+    int maxMeshWorkGroupSizeY_NV;
+    int maxMeshWorkGroupSizeZ_NV;
+    int maxTaskWorkGroupSizeX_NV;
+    int maxTaskWorkGroupSizeY_NV;
+    int maxTaskWorkGroupSizeZ_NV;
+    int maxMeshViewCountNV;
 
     TLimits limits;
 };
diff --git a/glslang/Include/Types.h b/glslang/Include/Types.h
old mode 100755
new mode 100644
index 2b0c7a1..7793c2c
--- a/glslang/Include/Types.h
+++ b/glslang/Include/Types.h
@@ -457,11 +457,22 @@
 #ifdef AMD_EXTENSIONS
         explicitInterp = false;
 #endif
+#ifdef NV_EXTENSIONS
+        pervertexNV = false;
+        perPrimitiveNV = false;
+        perViewNV = false;
+        perTaskNV = false;
+#endif
     }
 
     void clearMemory()
     {
         coherent     = false;
+        devicecoherent = false;
+        queuefamilycoherent = false;
+        workgroupcoherent = false;
+        subgroupcoherent  = false;
+        nonprivate = false;
         volatil      = false;
         restrict     = false;
         readonly     = false;
@@ -496,9 +507,20 @@
 #ifdef AMD_EXTENSIONS
     bool explicitInterp : 1;
 #endif
+#ifdef NV_EXTENSIONS
+    bool pervertexNV  : 1;
+    bool perPrimitiveNV : 1;
+    bool perViewNV : 1;
+    bool perTaskNV : 1;
+#endif
     bool patch        : 1;
     bool sample       : 1;
     bool coherent     : 1;
+    bool devicecoherent : 1;
+    bool queuefamilycoherent : 1;
+    bool workgroupcoherent : 1;
+    bool subgroupcoherent  : 1;
+    bool nonprivate   : 1;
     bool volatil      : 1;
     bool restrict     : 1;
     bool readonly     : 1;
@@ -508,8 +530,13 @@
 
     bool isMemory() const
     {
-        return coherent || volatil || restrict || readonly || writeonly;
+        return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || volatil || restrict || readonly || writeonly || nonprivate;
     }
+    bool isMemoryQualifierImageAndSSBOOnly() const
+    {
+        return subgroupcoherent || workgroupcoherent || queuefamilycoherent || devicecoherent || coherent || volatil || restrict || readonly || writeonly;
+    }
+
     bool isInterpolation() const
     {
 #ifdef AMD_EXTENSIONS
@@ -518,15 +545,21 @@
         return flat || smooth || nopersp;
 #endif
     }
+
 #ifdef AMD_EXTENSIONS
     bool isExplicitInterpolation() const
     {
         return explicitInterp;
     }
 #endif
+
     bool isAuxiliary() const
     {
+#ifdef NV_EXTENSIONS
+        return centroid || patch || sample || pervertexNV;
+#else
         return centroid || patch || sample;
+#endif
     }
 
     bool isPipeInput() const
@@ -593,6 +626,33 @@
         }
     }
 
+    bool isPerPrimitive() const
+    {
+#ifdef NV_EXTENSIONS
+        return perPrimitiveNV;
+#else
+        return false;
+#endif
+    }
+
+    bool isPerView() const
+    {
+#ifdef NV_EXTENSIONS
+        return perViewNV;
+#else
+        return false;
+#endif
+    }
+
+    bool isTaskMemory() const
+    {
+#ifdef NV_EXTENSIONS
+        return perTaskNV;
+#else
+        return false;
+#endif
+    }
+
     bool isIo() const
     {
         switch (storage) {
@@ -616,6 +676,22 @@
         }
     }
 
+    // non-built-in symbols that might link between compilation units
+    bool isLinkable() const
+    {
+        switch (storage) {
+        case EvqGlobal:
+        case EvqVaryingIn:
+        case EvqVaryingOut:
+        case EvqUniform:
+        case EvqBuffer:
+        case EvqShared:
+            return true;
+        default:
+            return false;
+        }
+    }
+
     // True if this type of IO is supposed to be arrayed with extra level for per-vertex data
     bool isArrayedIo(EShLanguage language) const
     {
@@ -626,6 +702,13 @@
             return ! patch && (isPipeInput() || isPipeOutput());
         case EShLangTessEvaluation:
             return ! patch && isPipeInput();
+#ifdef NV_EXTENSIONS
+        case EShLangFragment:
+            return pervertexNV && isPipeInput();
+        case EShLangMeshNV:
+            return ! perTaskNV && isPipeOutput();
+#endif
+
         default:
             return false;
         }
@@ -642,6 +725,7 @@
         layoutViewportRelative = false;
         // -2048 as the default value indicating layoutSecondaryViewportRelative is not set
         layoutSecondaryViewportRelativeOffset = -2048;
+        layoutShaderRecordNV = false;
 #endif
 
         clearInterstageLayout();
@@ -675,6 +759,9 @@
                hasAnyLocation() ||
                hasStream() ||
                hasFormat() ||
+#ifdef NV_EXTENSIONS
+               layoutShaderRecordNV ||
+#endif
                layoutPushConstant;
     }
     bool hasLayout() const
@@ -728,6 +815,7 @@
     bool layoutPassthrough;
     bool layoutViewportRelative;
     int layoutSecondaryViewportRelativeOffset;
+    bool layoutShaderRecordNV;
 #endif
 
     bool hasUniformLayout() const
@@ -1005,7 +1093,7 @@
     bool pixelCenterInteger;  // fragment shader
     bool originUpperLeft;     // fragment shader
     int invocations;
-    int vertices;             // both for tessellation "vertices" and geometry "max_vertices"
+    int vertices;             // for tessellation "vertices", geometry & mesh "max_vertices"
     TVertexSpacing spacing;
     TVertexOrder order;
     bool pointMode;
@@ -1018,7 +1106,10 @@
     int numViews;             // multiview extenstions
 
 #ifdef NV_EXTENSIONS
-    bool layoutOverrideCoverage;    // true if layout override_coverage set
+    bool layoutOverrideCoverage;        // true if layout override_coverage set
+    bool layoutDerivativeGroupQuads;    // true if layout derivative_group_quadsNV set
+    bool layoutDerivativeGroupLinear;   // true if layout derivative_group_linearNV set
+    int primitives;                     // mesh shader "max_primitives"DerivativeGroupLinear;   // true if layout derivative_group_linearNV set
 #endif
 
     void init()
@@ -1043,7 +1134,10 @@
         blendEquation = false;
         numViews = TQualifier::layoutNotSet;
 #ifdef NV_EXTENSIONS
-        layoutOverrideCoverage = false;
+        layoutOverrideCoverage      = false;
+        layoutDerivativeGroupQuads  = false;
+        layoutDerivativeGroupLinear = false;
+        primitives                  = TQualifier::layoutNotSet;
 #endif
     }
 
@@ -1088,6 +1182,12 @@
 #ifdef NV_EXTENSIONS
         if (src.layoutOverrideCoverage)
             layoutOverrideCoverage = src.layoutOverrideCoverage;
+        if (src.layoutDerivativeGroupQuads)
+            layoutDerivativeGroupQuads = src.layoutDerivativeGroupQuads;
+        if (src.layoutDerivativeGroupLinear)
+            layoutDerivativeGroupLinear = src.layoutDerivativeGroupLinear;
+        if (src.primitives != TQualifier::layoutNotSet)
+            primitives = src.primitives;
 #endif
     }
 };
@@ -1386,7 +1486,11 @@
         }
         return false;
     }
-    virtual bool isOpaque() const { return basicType == EbtSampler || basicType == EbtAtomicUint; }
+    virtual bool isOpaque() const { return basicType == EbtSampler || basicType == EbtAtomicUint
+#ifdef NV_EXTENSIONS
+        || basicType == EbtAccStructNV
+#endif
+        ; }
     virtual bool isBuiltIn() const { return getQualifier().builtIn != EbvNone; }
 
     // "Image" is a superset of "Subpass"
@@ -1574,6 +1678,9 @@
         case EbtSampler:           return "sampler/image";
         case EbtStruct:            return "structure";
         case EbtBlock:             return "block";
+#ifdef NV_EXTENSIONS
+        case EbtAccStructNV:       return "accelerationStructureNVX";
+#endif
         default:                   return "unknown type";
         }
     }
@@ -1669,6 +1776,8 @@
                     appendStr(" layoutSecondaryViewportRelativeOffset=");
                     appendInt(qualifier.layoutSecondaryViewportRelativeOffset);
                 }
+                if (qualifier.layoutShaderRecordNV)
+                    appendStr(" shaderRecordNVX");
 #endif
 
                 appendStr(")");
@@ -1691,12 +1800,32 @@
         if (qualifier.explicitInterp)
             appendStr(" __explicitInterpAMD");
 #endif
+#ifdef NV_EXTENSIONS
+        if (qualifier.pervertexNV)
+            appendStr(" pervertexNV");
+        if (qualifier.perPrimitiveNV)
+            appendStr(" perprimitiveNV");
+        if (qualifier.perViewNV)
+            appendStr(" perviewNV");
+        if (qualifier.perTaskNV)
+            appendStr(" taskNV");
+#endif
         if (qualifier.patch)
             appendStr(" patch");
         if (qualifier.sample)
             appendStr(" sample");
         if (qualifier.coherent)
             appendStr(" coherent");
+        if (qualifier.devicecoherent)
+            appendStr(" devicecoherent");
+        if (qualifier.queuefamilycoherent)
+            appendStr(" queuefamilycoherent");
+        if (qualifier.workgroupcoherent)
+            appendStr(" workgroupcoherent");
+        if (qualifier.subgroupcoherent)
+            appendStr(" subgroupcoherent");
+        if (qualifier.nonprivate)
+            appendStr(" nonprivate");
         if (qualifier.volatil)
             appendStr(" volatile");
         if (qualifier.restrict)
diff --git a/glslang/Include/intermediate.h b/glslang/Include/intermediate.h
old mode 100755
new mode 100644
index 19eb7aa..b770cee
--- a/glslang/Include/intermediate.h
+++ b/glslang/Include/intermediate.h
@@ -592,6 +592,8 @@
     EOpAtomicXor,
     EOpAtomicExchange,
     EOpAtomicCompSwap,
+    EOpAtomicLoad,
+    EOpAtomicStore,
 
     EOpAtomicCounterIncrement, // results in pre-increment value
     EOpAtomicCounterDecrement, // results in post-decrement value
@@ -784,6 +786,8 @@
     EOpImageAtomicXor,
     EOpImageAtomicExchange,
     EOpImageAtomicCompSwap,
+    EOpImageAtomicLoad,
+    EOpImageAtomicStore,
 
     EOpSubpassLoad,
     EOpSubpassLoadMS,
@@ -861,6 +865,16 @@
 #endif
 
     EOpSparseTextureGuardEnd,
+
+#ifdef NV_EXTENSIONS
+    EOpImageFootprintGuardBegin,
+    EOpImageSampleFootprintNV,
+    EOpImageSampleFootprintClampNV,
+    EOpImageSampleFootprintLodNV,
+    EOpImageSampleFootprintGradNV,
+    EOpImageSampleFootprintGradClampNV,
+    EOpImageFootprintGuardEnd,
+#endif
     EOpSamplingGuardEnd,
     EOpTextureGuardEnd,
 
@@ -879,6 +893,13 @@
     EOpFindLSB,
     EOpFindMSB,
 
+#ifdef NV_EXTENSIONS
+    EOpTraceNV,
+    EOpReportIntersectionNV,
+    EOpIgnoreIntersectionNV,
+    EOpTerminateRayNV,
+    EOpWritePackedPrimitiveIndices4x8NV,
+#endif
     //
     // HLSL operations
     //
@@ -1164,6 +1185,7 @@
         constSubtree(nullptr)
           { name = n; }
     virtual int getId() const { return id; }
+    virtual void changeId(int i) { id = i; }
     virtual const TString& getName() const { return name; }
     virtual void traverse(TIntermTraverser*);
     virtual       TIntermSymbol* getAsSymbolNode()       { return this; }
@@ -1243,6 +1265,9 @@
     bool isSampling() const { return op > EOpSamplingGuardBegin && op < EOpSamplingGuardEnd; }
     bool isImage()    const { return op > EOpImageGuardBegin    && op < EOpImageGuardEnd; }
     bool isSparseTexture() const { return op > EOpSparseTextureGuardBegin && op < EOpSparseTextureGuardEnd; }
+#ifdef NV_EXTENSIONS
+    bool isImageFootprint() const { return op > EOpImageFootprintGuardBegin && op < EOpImageFootprintGuardEnd; }
+#endif
     bool isSparseImage()   const { return op == EOpSparseImageLoad; }
 
     void setOperationPrecision(TPrecisionQualifier p) { operationPrecision = p; }
@@ -1416,6 +1441,23 @@
             cracked.fragMask = true;
             break;
 #endif
+#ifdef NV_EXTENSIONS
+        case EOpImageSampleFootprintNV:
+            break;
+        case EOpImageSampleFootprintClampNV:
+            cracked.lodClamp = true;
+            break;
+        case EOpImageSampleFootprintLodNV:
+            cracked.lod = true;
+            break;
+        case EOpImageSampleFootprintGradNV:
+            cracked.grad = true;
+            break;
+        case EOpImageSampleFootprintGradClampNV:
+            cracked.lodClamp = true;
+            cracked.grad = true;
+            break;
+#endif
         case EOpSubpassLoad:
         case EOpSubpassLoadMS:
             cracked.subpass = true;
diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h
index 99c1d4f..b595192 100644
--- a/glslang/Include/revision.h
+++ b/glslang/Include/revision.h
@@ -1,3 +1,3 @@
 // This header is generated by the make-revision script.
 
-#define GLSLANG_PATCH_LEVEL 2801
+#define GLSLANG_PATCH_LEVEL 2904
diff --git a/glslang/MachineIndependent/Constant.cpp b/glslang/MachineIndependent/Constant.cpp
old mode 100755
new mode 100644
index 26bdced..b33af84
--- a/glslang/MachineIndependent/Constant.cpp
+++ b/glslang/MachineIndependent/Constant.cpp
@@ -184,7 +184,7 @@
                 else if (leftUnionArray[i].getDConst() > 0.0)
                     newConstArray[i].setDConst((double)INFINITY);
                 else if (leftUnionArray[i].getDConst() < 0.0)
-                    newConstArray[i].setDConst((double)-INFINITY);
+                    newConstArray[i].setDConst(-(double)INFINITY);
                 else
                     newConstArray[i].setDConst((double)NAN);
                 break;
@@ -223,8 +223,8 @@
             case EbtInt:
                 if (rightUnionArray[i] == 0)
                     newConstArray[i].setIConst(0x7FFFFFFF);
-                else if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == -(int)0x80000000)
-                    newConstArray[i].setIConst(-(int)0x80000000);
+                else if (rightUnionArray[i].getIConst() == -1 && leftUnionArray[i].getIConst() == (int)-0x80000000ll)
+                    newConstArray[i].setIConst((int)-0x80000000ll);
                 else
                     newConstArray[i].setIConst(leftUnionArray[i].getIConst() / rightUnionArray[i].getIConst());
                 break;
@@ -239,8 +239,8 @@
             case EbtInt64:
                 if (rightUnionArray[i] == 0ll)
                     newConstArray[i].setI64Const(0x7FFFFFFFFFFFFFFFll);
-                else if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == -0x8000000000000000ll)
-                    newConstArray[i].setI64Const(-0x8000000000000000ll);
+                else if (rightUnionArray[i].getI64Const() == -1 && leftUnionArray[i].getI64Const() == (long long)-0x8000000000000000ll)
+                    newConstArray[i].setI64Const((long long)-0x8000000000000000ll);
                 else
                     newConstArray[i].setI64Const(leftUnionArray[i].getI64Const() / rightUnionArray[i].getI64Const());
                 break;
diff --git a/glslang/MachineIndependent/Initialize.cpp b/glslang/MachineIndependent/Initialize.cpp
old mode 100755
new mode 100644
index 27bd9ac..cf5b2fe
--- a/glslang/MachineIndependent/Initialize.cpp
+++ b/glslang/MachineIndependent/Initialize.cpp
@@ -124,6 +124,158 @@
 {
     //============================================================================
     //
+    // Prototypes for built-in functions used repeatly by different shaders
+    //
+    //============================================================================
+
+    //
+    // Derivatives Functions.
+    //
+    TString derivatives (
+        "float dFdx(float p);"
+        "vec2  dFdx(vec2  p);"
+        "vec3  dFdx(vec3  p);"
+        "vec4  dFdx(vec4  p);"
+
+        "float dFdy(float p);"
+        "vec2  dFdy(vec2  p);"
+        "vec3  dFdy(vec3  p);"
+        "vec4  dFdy(vec4  p);"
+
+        "float fwidth(float p);"
+        "vec2  fwidth(vec2  p);"
+        "vec3  fwidth(vec3  p);"
+        "vec4  fwidth(vec4  p);"
+    );
+
+    TString derivativeControls (
+        "float dFdxFine(float p);"
+        "vec2  dFdxFine(vec2  p);"
+        "vec3  dFdxFine(vec3  p);"
+        "vec4  dFdxFine(vec4  p);"
+
+        "float dFdyFine(float p);"
+        "vec2  dFdyFine(vec2  p);"
+        "vec3  dFdyFine(vec3  p);"
+        "vec4  dFdyFine(vec4  p);"
+
+        "float fwidthFine(float p);"
+        "vec2  fwidthFine(vec2  p);"
+        "vec3  fwidthFine(vec3  p);"
+        "vec4  fwidthFine(vec4  p);"
+
+        "float dFdxCoarse(float p);"
+        "vec2  dFdxCoarse(vec2  p);"
+        "vec3  dFdxCoarse(vec3  p);"
+        "vec4  dFdxCoarse(vec4  p);"
+
+        "float dFdyCoarse(float p);"
+        "vec2  dFdyCoarse(vec2  p);"
+        "vec3  dFdyCoarse(vec3  p);"
+        "vec4  dFdyCoarse(vec4  p);"
+
+        "float fwidthCoarse(float p);"
+        "vec2  fwidthCoarse(vec2  p);"
+        "vec3  fwidthCoarse(vec3  p);"
+        "vec4  fwidthCoarse(vec4  p);"
+    );
+
+    TString derivativesAndControl16bits (
+        "float16_t dFdx(float16_t);"
+        "f16vec2   dFdx(f16vec2);"
+        "f16vec3   dFdx(f16vec3);"
+        "f16vec4   dFdx(f16vec4);"
+
+        "float16_t dFdy(float16_t);"
+        "f16vec2   dFdy(f16vec2);"
+        "f16vec3   dFdy(f16vec3);"
+        "f16vec4   dFdy(f16vec4);"
+
+        "float16_t dFdxFine(float16_t);"
+        "f16vec2   dFdxFine(f16vec2);"
+        "f16vec3   dFdxFine(f16vec3);"
+        "f16vec4   dFdxFine(f16vec4);"
+
+        "float16_t dFdyFine(float16_t);"
+        "f16vec2   dFdyFine(f16vec2);"
+        "f16vec3   dFdyFine(f16vec3);"
+        "f16vec4   dFdyFine(f16vec4);"
+
+        "float16_t dFdxCoarse(float16_t);"
+        "f16vec2   dFdxCoarse(f16vec2);"
+        "f16vec3   dFdxCoarse(f16vec3);"
+        "f16vec4   dFdxCoarse(f16vec4);"
+
+        "float16_t dFdyCoarse(float16_t);"
+        "f16vec2   dFdyCoarse(f16vec2);"
+        "f16vec3   dFdyCoarse(f16vec3);"
+        "f16vec4   dFdyCoarse(f16vec4);"
+
+        "float16_t fwidth(float16_t);"
+        "f16vec2   fwidth(f16vec2);"
+        "f16vec3   fwidth(f16vec3);"
+        "f16vec4   fwidth(f16vec4);"
+
+        "float16_t fwidthFine(float16_t);"
+        "f16vec2   fwidthFine(f16vec2);"
+        "f16vec3   fwidthFine(f16vec3);"
+        "f16vec4   fwidthFine(f16vec4);"
+
+        "float16_t fwidthCoarse(float16_t);"
+        "f16vec2   fwidthCoarse(f16vec2);"
+        "f16vec3   fwidthCoarse(f16vec3);"
+        "f16vec4   fwidthCoarse(f16vec4);"
+    );
+
+    TString derivativesAndControl64bits (
+        "float64_t dFdx(float64_t);"
+        "f64vec2   dFdx(f64vec2);"
+        "f64vec3   dFdx(f64vec3);"
+        "f64vec4   dFdx(f64vec4);"
+
+        "float64_t dFdy(float64_t);"
+        "f64vec2   dFdy(f64vec2);"
+        "f64vec3   dFdy(f64vec3);"
+        "f64vec4   dFdy(f64vec4);"
+
+        "float64_t dFdxFine(float64_t);"
+        "f64vec2   dFdxFine(f64vec2);"
+        "f64vec3   dFdxFine(f64vec3);"
+        "f64vec4   dFdxFine(f64vec4);"
+
+        "float64_t dFdyFine(float64_t);"
+        "f64vec2   dFdyFine(f64vec2);"
+        "f64vec3   dFdyFine(f64vec3);"
+        "f64vec4   dFdyFine(f64vec4);"
+
+        "float64_t dFdxCoarse(float64_t);"
+        "f64vec2   dFdxCoarse(f64vec2);"
+        "f64vec3   dFdxCoarse(f64vec3);"
+        "f64vec4   dFdxCoarse(f64vec4);"
+
+        "float64_t dFdyCoarse(float64_t);"
+        "f64vec2   dFdyCoarse(f64vec2);"
+        "f64vec3   dFdyCoarse(f64vec3);"
+        "f64vec4   dFdyCoarse(f64vec4);"
+
+        "float64_t fwidth(float64_t);"
+        "f64vec2   fwidth(f64vec2);"
+        "f64vec3   fwidth(f64vec3);"
+        "f64vec4   fwidth(f64vec4);"
+
+        "float64_t fwidthFine(float64_t);"
+        "f64vec2   fwidthFine(f64vec2);"
+        "f64vec3   fwidthFine(f64vec3);"
+        "f64vec4   fwidthFine(f64vec4);"
+
+        "float64_t fwidthCoarse(float64_t);"
+        "f64vec2   fwidthCoarse(f64vec2);"
+        "f64vec3   fwidthCoarse(f64vec3);"
+        "f64vec4   fwidthCoarse(f64vec4);"
+    );
+
+    //============================================================================
+    //
     // Prototypes for built-in functions seen by both vertex and fragment shaders.
     //
     //============================================================================
@@ -935,56 +1087,102 @@
         commonBuiltins.append(
             "uint atomicAdd(coherent volatile inout uint, uint);"
             " int atomicAdd(coherent volatile inout  int,  int);"
+            "uint atomicAdd(coherent volatile inout uint, uint, int, int, int);"
+            " int atomicAdd(coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicMin(coherent volatile inout uint, uint);"
             " int atomicMin(coherent volatile inout  int,  int);"
+            "uint atomicMin(coherent volatile inout uint, uint, int, int, int);"
+            " int atomicMin(coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicMax(coherent volatile inout uint, uint);"
             " int atomicMax(coherent volatile inout  int,  int);"
+            "uint atomicMax(coherent volatile inout uint, uint, int, int, int);"
+            " int atomicMax(coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicAnd(coherent volatile inout uint, uint);"
             " int atomicAnd(coherent volatile inout  int,  int);"
+            "uint atomicAnd(coherent volatile inout uint, uint, int, int, int);"
+            " int atomicAnd(coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicOr (coherent volatile inout uint, uint);"
             " int atomicOr (coherent volatile inout  int,  int);"
+            "uint atomicOr (coherent volatile inout uint, uint, int, int, int);"
+            " int atomicOr (coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicXor(coherent volatile inout uint, uint);"
             " int atomicXor(coherent volatile inout  int,  int);"
+            "uint atomicXor(coherent volatile inout uint, uint, int, int, int);"
+            " int atomicXor(coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicExchange(coherent volatile inout uint, uint);"
             " int atomicExchange(coherent volatile inout  int,  int);"
+            "uint atomicExchange(coherent volatile inout uint, uint, int, int, int);"
+            " int atomicExchange(coherent volatile inout  int,  int, int, int, int);"
 
             "uint atomicCompSwap(coherent volatile inout uint, uint, uint);"
             " int atomicCompSwap(coherent volatile inout  int,  int,  int);"
+            "uint atomicCompSwap(coherent volatile inout uint, uint, uint, int, int, int, int, int);"
+            " int atomicCompSwap(coherent volatile inout  int,  int,  int, int, int, int, int, int);"
+
+            "uint atomicLoad(coherent volatile in uint, int, int, int);"
+            " int atomicLoad(coherent volatile in  int, int, int, int);"
+
+            "void atomicStore(coherent volatile out uint, uint, int, int, int);"
+            "void atomicStore(coherent volatile out  int,  int, int, int, int);"
 
             "\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 atomicMin(coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicMin(coherent volatile inout  int64_t,  int64_t, int, int, int);"
 
             "uint64_t atomicMax(coherent volatile inout uint64_t, uint64_t);"
             " int64_t atomicMax(coherent volatile inout  int64_t,  int64_t);"
+            "uint64_t atomicMax(coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicMax(coherent volatile inout  int64_t,  int64_t, int, int, int);"
 
             "uint64_t atomicAnd(coherent volatile inout uint64_t, uint64_t);"
             " int64_t atomicAnd(coherent volatile inout  int64_t,  int64_t);"
+            "uint64_t atomicAnd(coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicAnd(coherent volatile inout  int64_t,  int64_t, int, int, int);"
 
             "uint64_t atomicOr (coherent volatile inout uint64_t, uint64_t);"
             " int64_t atomicOr (coherent volatile inout  int64_t,  int64_t);"
+            "uint64_t atomicOr (coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicOr (coherent volatile inout  int64_t,  int64_t, int, int, int);"
 
             "uint64_t atomicXor(coherent volatile inout uint64_t, uint64_t);"
             " int64_t atomicXor(coherent volatile inout  int64_t,  int64_t);"
+            "uint64_t atomicXor(coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicXor(coherent volatile inout  int64_t,  int64_t, int, int, int);"
 
-            " 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);"
+            "uint64_t atomicAdd(coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicAdd(coherent volatile inout  int64_t,  int64_t);"
+            "uint64_t atomicAdd(coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicAdd(coherent volatile inout  int64_t,  int64_t, int, int, int);"
 
+            "uint64_t atomicExchange(coherent volatile inout uint64_t, uint64_t);"
+            " int64_t atomicExchange(coherent volatile inout  int64_t,  int64_t);"
+            "uint64_t atomicExchange(coherent volatile inout uint64_t, uint64_t, int, int, int);"
+            " int64_t atomicExchange(coherent volatile inout  int64_t,  int64_t, int, int, int);"
+
+            "uint64_t atomicCompSwap(coherent volatile inout uint64_t, uint64_t, uint64_t);"
+            " int64_t atomicCompSwap(coherent volatile inout  int64_t,  int64_t,  int64_t);"
+            "uint64_t atomicCompSwap(coherent volatile inout uint64_t, uint64_t, uint64_t, int, int, int, int, int);"
+            " int64_t atomicCompSwap(coherent volatile inout  int64_t,  int64_t,  int64_t, int, int, int, int, int);"
+
+            "uint64_t atomicLoad(coherent volatile in uint64_t, int, int, int);"
+            " int64_t atomicLoad(coherent volatile in  int64_t, int, int, int);"
+
+            "void atomicStore(coherent volatile out uint64_t, uint64_t, int, int, int);"
+            "void atomicStore(coherent volatile out  int64_t,  int64_t, int, int, int);"
             "\n");
     }
-#endif
 
     if ((profile == EEsProfile && version >= 310) ||
         (profile != EEsProfile && version >= 450)) {
@@ -2743,6 +2941,16 @@
 
             "\n"
             );
+#ifdef NV_EXTENSIONS
+        stageBuiltins[EShLangMeshNV].append(
+            "void subgroupMemoryBarrierShared();"
+            "\n"
+            );
+        stageBuiltins[EShLangTaskNV].append(
+            "void subgroupMemoryBarrierShared();"
+            "\n"
+            );
+#endif
     }
 
     if (profile != EEsProfile && version >= 460) {
@@ -3652,6 +3860,42 @@
 
 #endif  // AMD_EXTENSIONS
 
+
+#ifdef NV_EXTENSIONS
+    if ((profile != EEsProfile && version >= 450) || 
+        (profile == EEsProfile && version >= 320)) {
+        commonBuiltins.append(
+            "struct gl_TextureFootprint2DNV {"
+                "uvec2 anchor;"
+                "uvec2 offset;"
+                "uvec2 mask;"
+                "uint lod;"
+                "uint granularity;"
+            "};"
+
+            "struct gl_TextureFootprint3DNV {"
+                "uvec3 anchor;"
+                "uvec3 offset;"
+                "uvec2 mask;"
+                "uint lod;"
+                "uint granularity;"
+            "};"
+            "bool textureFootprintNV(sampler2D, vec2, int, bool, out gl_TextureFootprint2DNV);"
+            "bool textureFootprintNV(sampler3D, vec3, int, bool, out gl_TextureFootprint3DNV);"
+            "bool textureFootprintNV(sampler2D, vec2, int, bool, out gl_TextureFootprint2DNV, float);"
+            "bool textureFootprintNV(sampler3D, vec3, int, bool, out gl_TextureFootprint3DNV, float);"
+            "bool textureFootprintClampNV(sampler2D, vec2, float, int, bool, out gl_TextureFootprint2DNV);"
+            "bool textureFootprintClampNV(sampler3D, vec3, float, int, bool, out gl_TextureFootprint3DNV);"
+            "bool textureFootprintClampNV(sampler2D, vec2, float, int, bool, out gl_TextureFootprint2DNV, float);"
+            "bool textureFootprintClampNV(sampler3D, vec3, float, int, bool, out gl_TextureFootprint3DNV, float);"
+            "bool textureFootprintLodNV(sampler2D, vec2, float, int, bool, out gl_TextureFootprint2DNV);"
+            "bool textureFootprintLodNV(sampler3D, vec3, float, int, bool, out gl_TextureFootprint3DNV);"
+            "bool textureFootprintGradNV(sampler2D, vec2, vec2, vec2, int, bool, out gl_TextureFootprint2DNV);"
+            "bool textureFootprintGradClampNV(sampler2D, vec2, vec2, vec2, float, int, bool, out gl_TextureFootprint2DNV);"
+            "\n");
+    }
+
+#endif // NV_EXTENSIONS
     // GL_AMD_gpu_shader_half_float/Explicit types
     if (profile != EEsProfile && version >= 450) {
         commonBuiltins.append(
@@ -4504,52 +4748,8 @@
             "\n");
         }
         if (profile != EEsProfile && version >= 450) {
+            stageBuiltins[EShLangFragment].append(derivativesAndControl64bits);
             stageBuiltins[EShLangFragment].append(
-                "float64_t dFdx(float64_t);"
-                "f64vec2   dFdx(f64vec2);"
-                "f64vec3   dFdx(f64vec3);"
-                "f64vec4   dFdx(f64vec4);"
-
-                "float64_t dFdy(float64_t);"
-                "f64vec2   dFdy(f64vec2);"
-                "f64vec3   dFdy(f64vec3);"
-                "f64vec4   dFdy(f64vec4);"
-
-                "float64_t dFdxFine(float64_t);"
-                "f64vec2   dFdxFine(f64vec2);"
-                "f64vec3   dFdxFine(f64vec3);"
-                "f64vec4   dFdxFine(f64vec4);"
-
-                "float64_t dFdyFine(float64_t);"
-                "f64vec2   dFdyFine(f64vec2);"
-                "f64vec3   dFdyFine(f64vec3);"
-                "f64vec4   dFdyFine(f64vec4);"
-
-                "float64_t dFdxCoarse(float64_t);"
-                "f64vec2   dFdxCoarse(f64vec2);"
-                "f64vec3   dFdxCoarse(f64vec3);"
-                "f64vec4   dFdxCoarse(f64vec4);"
-
-                "float64_t dFdyCoarse(float64_t);"
-                "f64vec2   dFdyCoarse(f64vec2);"
-                "f64vec3   dFdyCoarse(f64vec3);"
-                "f64vec4   dFdyCoarse(f64vec4);"
-
-                "float64_t fwidth(float64_t);"
-                "f64vec2   fwidth(f64vec2);"
-                "f64vec3   fwidth(f64vec3);"
-                "f64vec4   fwidth(f64vec4);"
-
-                "float64_t fwidthFine(float64_t);"
-                "f64vec2   fwidthFine(f64vec2);"
-                "f64vec3   fwidthFine(f64vec3);"
-                "f64vec4   fwidthFine(f64vec4);"
-
-                "float64_t fwidthCoarse(float64_t);"
-                "f64vec2   fwidthCoarse(f64vec2);"
-                "f64vec3   fwidthCoarse(f64vec3);"
-                "f64vec4   fwidthCoarse(f64vec4);"
-
                 "float64_t interpolateAtCentroid(float64_t);"
                 "f64vec2   interpolateAtCentroid(f64vec2);"
                 "f64vec3   interpolateAtCentroid(f64vec3);"
@@ -4677,6 +4877,16 @@
         stageBuiltins[EShLangCompute].append(
             "void barrier();"
             );
+#ifdef NV_EXTENSIONS
+    if ((profile != EEsProfile && version >= 450) || esBarrier) {
+        stageBuiltins[EShLangMeshNV].append(
+            "void barrier();"
+            );
+        stageBuiltins[EShLangTaskNV].append(
+            "void barrier();"
+            );
+    }
+#endif
     if ((profile != EEsProfile && version >= 130) || esBarrier)
         commonBuiltins.append(
             "void memoryBarrier();"
@@ -4692,6 +4902,21 @@
             "void groupMemoryBarrier();"
             );
     }
+#ifdef NV_EXTENSIONS
+    if (profile != EEsProfile && version >= 450) {
+        stageBuiltins[EShLangMeshNV].append(
+            "void memoryBarrierShared();"
+            "void groupMemoryBarrier();"
+        );
+        stageBuiltins[EShLangTaskNV].append(
+            "void memoryBarrierShared();"
+            "void groupMemoryBarrier();"
+        );
+    }
+#endif
+
+    commonBuiltins.append("void controlBarrier(int, int, int, int);\n"
+                          "void memoryBarrier(int, int, int);\n");
 
     //============================================================================
     //
@@ -4735,61 +4960,13 @@
             "\n");
     }
 
-    stageBuiltins[EShLangFragment].append(
-        "float dFdx(float p);"
-        "vec2  dFdx(vec2  p);"
-        "vec3  dFdx(vec3  p);"
-        "vec4  dFdx(vec4  p);"
-
-        "float dFdy(float p);"
-        "vec2  dFdy(vec2  p);"
-        "vec3  dFdy(vec3  p);"
-        "vec4  dFdy(vec4  p);"
-
-        "float fwidth(float p);"
-        "vec2  fwidth(vec2  p);"
-        "vec3  fwidth(vec3  p);"
-        "vec4  fwidth(vec4  p);"
-
-        "\n");
+    stageBuiltins[EShLangFragment].append(derivatives);
+    stageBuiltins[EShLangFragment].append("\n");
 
     // GL_ARB_derivative_control
     if (profile != EEsProfile && version >= 400) {
-        stageBuiltins[EShLangFragment].append(
-            "float dFdxFine(float p);"
-            "vec2  dFdxFine(vec2  p);"
-            "vec3  dFdxFine(vec3  p);"
-            "vec4  dFdxFine(vec4  p);"
-
-            "float dFdyFine(float p);"
-            "vec2  dFdyFine(vec2  p);"
-            "vec3  dFdyFine(vec3  p);"
-            "vec4  dFdyFine(vec4  p);"
-
-            "float fwidthFine(float p);"
-            "vec2  fwidthFine(vec2  p);"
-            "vec3  fwidthFine(vec3  p);"
-            "vec4  fwidthFine(vec4  p);"
-
-            "\n");
-
-        stageBuiltins[EShLangFragment].append(
-            "float dFdxCoarse(float p);"
-            "vec2  dFdxCoarse(vec2  p);"
-            "vec3  dFdxCoarse(vec3  p);"
-            "vec4  dFdxCoarse(vec4  p);"
-
-            "float dFdyCoarse(float p);"
-            "vec2  dFdyCoarse(vec2  p);"
-            "vec3  dFdyCoarse(vec3  p);"
-            "vec4  dFdyCoarse(vec4  p);"
-
-            "float fwidthCoarse(float p);"
-            "vec2  fwidthCoarse(vec2  p);"
-            "vec3  fwidthCoarse(vec3  p);"
-            "vec4  fwidthCoarse(vec4  p);"
-
-            "\n");
+        stageBuiltins[EShLangFragment].append(derivativeControls);
+        stageBuiltins[EShLangFragment].append("\n");
     }
 
     // GL_OES_shader_multisample_interpolation
@@ -4843,52 +5020,10 @@
 
     // GL_AMD_gpu_shader_half_float
     if (profile != EEsProfile && version >= 450) {
+        stageBuiltins[EShLangFragment].append(derivativesAndControl16bits);
+        stageBuiltins[EShLangFragment].append("\n");
+
         stageBuiltins[EShLangFragment].append(
-            "float16_t dFdx(float16_t);"
-            "f16vec2   dFdx(f16vec2);"
-            "f16vec3   dFdx(f16vec3);"
-            "f16vec4   dFdx(f16vec4);"
-
-            "float16_t dFdy(float16_t);"
-            "f16vec2   dFdy(f16vec2);"
-            "f16vec3   dFdy(f16vec3);"
-            "f16vec4   dFdy(f16vec4);"
-
-            "float16_t dFdxFine(float16_t);"
-            "f16vec2   dFdxFine(f16vec2);"
-            "f16vec3   dFdxFine(f16vec3);"
-            "f16vec4   dFdxFine(f16vec4);"
-
-            "float16_t dFdyFine(float16_t);"
-            "f16vec2   dFdyFine(f16vec2);"
-            "f16vec3   dFdyFine(f16vec3);"
-            "f16vec4   dFdyFine(f16vec4);"
-
-            "float16_t dFdxCoarse(float16_t);"
-            "f16vec2   dFdxCoarse(f16vec2);"
-            "f16vec3   dFdxCoarse(f16vec3);"
-            "f16vec4   dFdxCoarse(f16vec4);"
-
-            "float16_t dFdyCoarse(float16_t);"
-            "f16vec2   dFdyCoarse(f16vec2);"
-            "f16vec3   dFdyCoarse(f16vec3);"
-            "f16vec4   dFdyCoarse(f16vec4);"
-
-            "float16_t fwidth(float16_t);"
-            "f16vec2   fwidth(f16vec2);"
-            "f16vec3   fwidth(f16vec3);"
-            "f16vec4   fwidth(f16vec4);"
-
-            "float16_t fwidthFine(float16_t);"
-            "f16vec2   fwidthFine(f16vec2);"
-            "f16vec3   fwidthFine(f16vec3);"
-            "f16vec4   fwidthFine(f16vec4);"
-
-            "float16_t fwidthCoarse(float16_t);"
-            "f16vec2   fwidthCoarse(f16vec2);"
-            "f16vec3   fwidthCoarse(f16vec3);"
-            "f16vec4   fwidthCoarse(f16vec4);"
-
             "float16_t interpolateAtCentroid(float16_t);"
             "f16vec2   interpolateAtCentroid(f16vec2);"
             "f16vec3   interpolateAtCentroid(f16vec3);"
@@ -4922,6 +5057,50 @@
         }
 #endif
 
+#ifdef NV_EXTENSIONS
+
+    // Builtins for GL_NV_raytracing
+    if (profile != EEsProfile && version >= 460) {
+        stageBuiltins[EShLangRayGenNV].append(
+            "void traceNVX(accelerationStructureNVX,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+            "\n");
+        stageBuiltins[EShLangIntersectNV].append(
+            "bool reportIntersectionNVX(float, uint);"
+            "\n");
+        stageBuiltins[EShLangAnyHitNV].append(
+            "void ignoreIntersectionNVX();"
+            "void terminateRayNVX();"
+            "\n");
+        stageBuiltins[EShLangClosestHitNV].append(
+            "void traceNVX(accelerationStructureNVX,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+            "\n");
+        stageBuiltins[EShLangMissNV].append(
+            "void traceNVX(accelerationStructureNVX,uint,uint,uint,uint,uint,vec3,float,vec3,float,int);"
+            "\n");
+    }
+
+    //E_SPV_NV_compute_shader_derivatives
+    
+    stageBuiltins[EShLangCompute].append(derivatives);
+    stageBuiltins[EShLangCompute].append(derivativeControls);
+    stageBuiltins[EShLangCompute].append("\n");
+    
+
+    if (profile != EEsProfile && version >= 450) {
+
+        stageBuiltins[EShLangCompute].append(derivativesAndControl16bits);
+        stageBuiltins[EShLangCompute].append(derivativesAndControl64bits);
+        stageBuiltins[EShLangCompute].append("\n");
+    }
+
+    // Builtins for GL_NV_mesh_shader
+    if (profile != EEsProfile && version >= 450) {
+        stageBuiltins[EShLangMeshNV].append(
+            "void writePackedPrimitiveIndices4x8NV(uint, uint);"
+            "\n");   
+    }
+#endif
+
     //============================================================================
     //
     // Standard Uniforms
@@ -5101,6 +5280,89 @@
             "\n");
     }
 
+#ifdef NV_EXTENSIONS
+    //============================================================================
+    //
+    // Define the interface to the mesh/task shader.
+    //
+    //============================================================================
+
+    if (profile != EEsProfile && version >= 450) {
+        // per-vertex attributes
+        stageBuiltins[EShLangMeshNV].append(
+            "out gl_MeshPerVertexNV {"
+                "vec4 gl_Position;"
+                "float gl_PointSize;"
+                "float gl_ClipDistance[];"
+                "float gl_CullDistance[];"
+                "perviewNV vec4 gl_PositionPerViewNV[];"
+                "perviewNV float gl_ClipDistancePerViewNV[][8];"
+                "perviewNV float gl_CullDistancePerViewNV[][8];"
+            "} gl_MeshVerticesNV[];"
+        );
+
+        // per-primitive attributes
+        stageBuiltins[EShLangMeshNV].append(
+            "perprimitiveNV out gl_MeshPerPrimitiveNV {"
+                "int gl_PrimitiveID;"
+                "int gl_Layer;"
+                "int gl_ViewportIndex;"
+                "int gl_ViewportMask[];"
+                "perviewNV int gl_LayerPerViewNV[];"
+                "perviewNV int gl_ViewportMaskPerViewNV[][1];"
+            "} gl_MeshPrimitivesNV[];"
+        );
+
+        stageBuiltins[EShLangMeshNV].append(
+            "out uint gl_PrimitiveCountNV;"
+            "out uint gl_PrimitiveIndicesNV[];"
+
+            "in uint gl_MeshViewCountNV;"
+            "in uint gl_MeshViewIndicesNV[4];"
+
+            "const highp uvec3 gl_WorkGroupSize = uvec3(1,1,1);"
+
+            "in highp uvec3 gl_WorkGroupID;"
+            "in highp uvec3 gl_LocalInvocationID;"
+
+            "in highp uvec3 gl_GlobalInvocationID;"
+            "in highp uint gl_LocalInvocationIndex;"
+
+            "in highp int gl_DeviceIndex;"     // GL_EXT_device_group
+            "in int gl_DrawIDARB;"             // GL_ARB_shader_draw_parameters
+
+            "\n");
+
+        if (version >= 460) {
+            stageBuiltins[EShLangMeshNV].append(
+                "in int gl_DrawID;"
+            );
+        }
+
+        stageBuiltins[EShLangTaskNV].append(
+            "out uint gl_TaskCountNV;"
+
+            "const highp uvec3 gl_WorkGroupSize = uvec3(1,1,1);"
+
+            "in highp uvec3 gl_WorkGroupID;"
+            "in highp uvec3 gl_LocalInvocationID;"
+
+            "in highp uvec3 gl_GlobalInvocationID;"
+            "in highp uint gl_LocalInvocationIndex;"
+
+            "in highp int gl_DeviceIndex;"     // GL_EXT_device_group
+            "in int gl_DrawIDARB;"             // GL_ARB_shader_draw_parameters
+
+            "\n");
+
+        if (version >= 460) {
+            stageBuiltins[EShLangTaskNV].append(
+                "in int gl_DrawID;"
+            );
+        }
+    }
+#endif
+
     //============================================================================
     //
     // Define the interface to the vertex shader.
@@ -5685,6 +5947,14 @@
             stageBuiltins[EShLangFragment].append(
                 "in bool gl_FragFullyCoveredNV;"
                 );
+        if (version >= 450)
+            stageBuiltins[EShLangFragment].append(
+                "flat in ivec2 gl_FragmentSizeNV;"
+                "flat in int   gl_InvocationsPerPixelNV;"
+                "in vec3 gl_BaryCoordNV;"
+                "in vec3 gl_BaryCoordNoPerspNV;"
+                );
+
 #endif
     } else {
         // ES profile
@@ -5726,6 +5996,19 @@
         stageBuiltins[EShLangFragment].append(
             "highp float gl_FragDepthEXT;"       // GL_EXT_frag_depth
             );
+#ifdef NV_EXTENSIONS
+        if (version >= 320)
+            stageBuiltins[EShLangFragment].append(
+                "flat in ivec2 gl_FragmentSizeNV;"
+                "flat in int   gl_InvocationsPerPixelNV;"
+            );
+       if (version >= 320)
+            stageBuiltins[EShLangFragment].append(
+                "in vec3 gl_BaryCoordNV;"
+                "in vec3 gl_BaryCoordNoPerspNV;"
+                );
+#endif
+
     }
     stageBuiltins[EShLangFragment].append("\n");
 
@@ -5758,6 +6041,10 @@
         stageBuiltins[EShLangGeometry]      .append(ballotDecls);
         stageBuiltins[EShLangCompute]       .append(ballotDecls);
         stageBuiltins[EShLangFragment]      .append(fragmentBallotDecls);
+#ifdef NV_EXTENSIONS
+        stageBuiltins[EShLangMeshNV]        .append(ballotDecls);
+        stageBuiltins[EShLangTaskNV]        .append(ballotDecls);
+#endif
     }
 
     if ((profile != EEsProfile && version >= 140) ||
@@ -5794,19 +6081,143 @@
         stageBuiltins[EShLangGeometry]      .append(ballotDecls);
         stageBuiltins[EShLangCompute]       .append(ballotDecls);
         stageBuiltins[EShLangFragment]      .append(fragmentBallotDecls);
+#ifdef NV_EXTENSIONS
+        stageBuiltins[EShLangMeshNV]        .append(ballotDecls);
+        stageBuiltins[EShLangTaskNV]        .append(ballotDecls);
+#endif
 
         stageBuiltins[EShLangCompute].append(
             "highp   in uint  gl_NumSubgroups;"
             "highp   in uint  gl_SubgroupID;"
             "\n");
+#ifdef NV_EXTENSIONS
+        stageBuiltins[EShLangMeshNV].append(
+            "highp   in uint  gl_NumSubgroups;"
+            "highp   in uint  gl_SubgroupID;"
+            "\n");
+        stageBuiltins[EShLangTaskNV].append(
+            "highp   in uint  gl_NumSubgroups;"
+            "highp   in uint  gl_SubgroupID;"
+            "\n");
+#endif
     }
 
+#ifdef NV_EXTENSIONS
+    // GL_NV_raytracing
+    if (profile != EEsProfile && version >= 460) {
+
+        const char *constRayFlags =
+            "const uint gl_RayFlagsNoneNVX = 0U;"
+            "const uint gl_RayFlagsOpaqueNVX = 1U;"
+            "const uint gl_RayFlagsNoOpaqueNVX = 2U;"
+            "const uint gl_RayFlagsTerminateOnFirstHitNVX = 4U;"
+            "const uint gl_RayFlagsSkipClosestHitShaderNVX = 8U;"
+            "const uint gl_RayFlagsCullBackFacingTrianglesNVX = 16U;"
+            "const uint gl_RayFlagsCullFrontFacingTrianglesNVX = 32U;"
+            "const uint gl_RayFlagsCullOpaqueNVX = 64U;"
+            "const uint gl_RayFlagsCullNoOpaqueNVX = 128U;"
+            "\n";
+        const char *rayGenDecls =
+            "in    uvec2  gl_LaunchIDNVX;"
+            "in    uvec2  gl_LaunchSizeNVX;"
+            "\n";
+        const char *intersectDecls =
+            "in    uvec2  gl_LaunchIDNVX;"
+            "in    uvec2  gl_LaunchSizeNVX;"
+            "in     int   gl_PrimitiveID;"
+            "in     int   gl_InstanceID;"
+            "in     int   gl_InstanceCustomIndexNVX;"
+            "in    vec3   gl_WorldRayOriginNVX;"
+            "in    vec3   gl_WorldRayDirectionNVX;"
+            "in    vec3   gl_ObjectRayOriginNVX;"
+            "in    vec3   gl_ObjectRayDirectionNVX;"
+            "in    float  gl_RayTminNVX;"
+            "in    float  gl_RayTmaxNVX;"
+            "in    mat4x3 gl_ObjectToWorldNVX;"
+            "in    mat4x3 gl_WorldToObjectNVX;"
+            "\n";
+        const char *hitDecls =
+            "in    uvec2  gl_LaunchIDNVX;"
+            "in    uvec2  gl_LaunchSizeNVX;"
+            "in     int   gl_PrimitiveID;"
+            "in     int   gl_InstanceID;"
+            "in     int   gl_InstanceCustomIndexNVX;"
+            "in    vec3   gl_WorldRayOriginNVX;"
+            "in    vec3   gl_WorldRayDirectionNVX;"
+            "in    vec3   gl_ObjectRayOriginNVX;"
+            "in    vec3   gl_ObjectRayDirectionNVX;"
+            "in    float  gl_RayTminNVX;"
+            "in    float  gl_RayTmaxNVX;"
+            "in    float  gl_HitTNVX;"
+            "in    uint   gl_HitKindNVX;"
+            "in    mat4x3 gl_ObjectToWorldNVX;"
+            "in    mat4x3 gl_WorldToObjectNVX;"
+            "\n";
+        const char *missDecls =
+            "in    uvec2  gl_LaunchIDNVX;"
+            "in    uvec2  gl_LaunchSizeNVX;"
+            "in    vec3   gl_WorldRayOriginNVX;"
+            "in    vec3   gl_WorldRayDirectionNVX;"
+            "in    vec3   gl_ObjectRayOriginNVX;"
+            "in    vec3   gl_ObjectRayDirectionNVX;"
+            "in    float  gl_RayTminNVX;"
+            "in    float  gl_RayTmaxNVX;"
+            "\n";
+
+        stageBuiltins[EShLangRayGenNV].append(rayGenDecls);
+        stageBuiltins[EShLangRayGenNV].append(constRayFlags);
+
+        stageBuiltins[EShLangIntersectNV].append(intersectDecls);
+
+        stageBuiltins[EShLangAnyHitNV].append(hitDecls);
+
+        stageBuiltins[EShLangClosestHitNV].append(hitDecls);
+        stageBuiltins[EShLangClosestHitNV].append(constRayFlags);
+
+        stageBuiltins[EShLangMissNV].append(missDecls);
+        stageBuiltins[EShLangMissNV].append(constRayFlags);
+    }
+    if ((profile != EEsProfile && version >= 140)) {
+        const char *deviceIndex =
+            "in highp int gl_DeviceIndex;"     // GL_EXT_device_group
+            "\n";
+
+        stageBuiltins[EShLangRayGenNV].append(deviceIndex);
+        stageBuiltins[EShLangIntersectNV].append(deviceIndex);
+        stageBuiltins[EShLangAnyHitNV].append(deviceIndex);
+        stageBuiltins[EShLangClosestHitNV].append(deviceIndex);
+        stageBuiltins[EShLangMissNV].append(deviceIndex);
+    }
+#endif
+
     if (version >= 300 /* both ES and non-ES */) {
         stageBuiltins[EShLangFragment].append(
             "flat in highp uint gl_ViewID_OVR;"     // GL_OVR_multiview, GL_OVR_multiview2
             "\n");
     }
 
+    if ((profile != EEsProfile && version >= 420) ||
+        (profile == EEsProfile && version >= 310)) {
+        commonBuiltins.append("const int gl_ScopeDevice      = 1;\n");
+        commonBuiltins.append("const int gl_ScopeWorkgroup   = 2;\n");
+        commonBuiltins.append("const int gl_ScopeSubgroup    = 3;\n");
+        commonBuiltins.append("const int gl_ScopeInvocation  = 4;\n");
+        commonBuiltins.append("const int gl_ScopeQueueFamily = 5;\n");
+
+        commonBuiltins.append("const int gl_SemanticsRelaxed         = 0x0;\n");
+        commonBuiltins.append("const int gl_SemanticsAcquire         = 0x2;\n");
+        commonBuiltins.append("const int gl_SemanticsRelease         = 0x4;\n");
+        commonBuiltins.append("const int gl_SemanticsAcquireRelease  = 0x8;\n");
+        commonBuiltins.append("const int gl_SemanticsMakeAvailable   = 0x2000;\n");
+        commonBuiltins.append("const int gl_SemanticsMakeVisible     = 0x4000;\n");
+
+        commonBuiltins.append("const int gl_StorageSemanticsNone     = 0x0;\n");
+        commonBuiltins.append("const int gl_StorageSemanticsBuffer   = 0x40;\n");
+        commonBuiltins.append("const int gl_StorageSemanticsShared   = 0x100;\n");
+        commonBuiltins.append("const int gl_StorageSemanticsImage    = 0x800;\n");
+        commonBuiltins.append("const int gl_StorageSemanticsOutput   = 0x1000;\n");
+    }
+
     // printf("%s\n", commonBuiltins.c_str());
     // printf("%s\n", stageBuiltins[EShLangFragment].c_str());
 }
@@ -6031,6 +6442,18 @@
 #ifdef AMD_EXTENSIONS
         }
 #endif
+
+#ifdef NV_EXTENSIONS
+        stageBuiltins[EShLangCompute].append("vec2 textureQueryLod(");
+        stageBuiltins[EShLangCompute].append(typeName);
+        if (dimMap[sampler.dim] == 1)
+            stageBuiltins[EShLangCompute].append(", float");
+        else {
+            stageBuiltins[EShLangCompute].append(", vec");
+            stageBuiltins[EShLangCompute].append(postfixes[dimMap[sampler.dim]]);
+        }
+        stageBuiltins[EShLangCompute].append(");\n");
+#endif
     }
 
     //
@@ -6106,23 +6529,44 @@
                 " imageAtomicExchange(volatile coherent "
             };
 
-            for (size_t i = 0; i < numBuiltins; ++i) {
+            // Loop twice to add prototypes with/without scope/semantics
+            for (int j = 0; j < 2; ++j) {
+                for (size_t i = 0; i < numBuiltins; ++i) {
+                    commonBuiltins.append(dataType);
+                    commonBuiltins.append(atomicFunc[i]);
+                    commonBuiltins.append(imageParams);
+                    commonBuiltins.append(", ");
+                    commonBuiltins.append(dataType);
+                    if (j == 1) {
+                        commonBuiltins.append(", int, int, int");
+                    }
+                    commonBuiltins.append(");\n");
+                }
+
                 commonBuiltins.append(dataType);
-                commonBuiltins.append(atomicFunc[i]);
+                commonBuiltins.append(" imageAtomicCompSwap(volatile coherent ");
                 commonBuiltins.append(imageParams);
                 commonBuiltins.append(", ");
                 commonBuiltins.append(dataType);
+                commonBuiltins.append(", ");
+                commonBuiltins.append(dataType);
+                if (j == 1) {
+                    commonBuiltins.append(", int, int, int, int, int");
+                }
                 commonBuiltins.append(");\n");
             }
 
             commonBuiltins.append(dataType);
-            commonBuiltins.append(" imageAtomicCompSwap(volatile coherent ");
+            commonBuiltins.append(" imageAtomicLoad(volatile coherent ");
+            commonBuiltins.append(imageParams);
+            commonBuiltins.append(", int, int, int);\n");
+
+            commonBuiltins.append("void imageAtomicStore(volatile coherent ");
             commonBuiltins.append(imageParams);
             commonBuiltins.append(", ");
             commonBuiltins.append(dataType);
-            commonBuiltins.append(", ");
-            commonBuiltins.append(dataType);
-            commonBuiltins.append(");\n");
+            commonBuiltins.append(", int, int, int);\n");
+
         } else {
             // not int or uint
             // GL_ARB_ES3_1_compatibility
@@ -6490,9 +6934,12 @@
                                             s.append(");\n");
 
                                             // Add to the per-language set of built-ins
-                                            if (bias || lodClamp)
+                                            if (bias || lodClamp) {
                                                 stageBuiltins[EShLangFragment].append(s);
-                                            else
+#ifdef NV_EXTENSIONS
+                                                stageBuiltins[EShLangCompute].append(s);
+#endif
+                                            } else
                                                 commonBuiltins.append(s);
 
                                         }
@@ -7209,6 +7656,31 @@
     }
 #endif
 
+#ifdef NV_EXTENSIONS
+    // SPV_NV_mesh_shader
+    if (profile != EEsProfile && version >= 450) {
+        snprintf(builtInConstant, maxSize, "const int gl_MaxMeshOutputVerticesNV = %d;", resources.maxMeshOutputVerticesNV);
+        s.append(builtInConstant);
+
+        snprintf(builtInConstant, maxSize, "const int gl_MaxMeshOutputPrimitivesNV = %d;", resources.maxMeshOutputPrimitivesNV);
+        s.append(builtInConstant);
+
+        snprintf(builtInConstant, maxSize, "const ivec3 gl_MaxMeshWorkGroupSizeNV = ivec3(%d,%d,%d);", resources.maxMeshWorkGroupSizeX_NV,
+                                                                                                       resources.maxMeshWorkGroupSizeY_NV,
+                                                                                                       resources.maxMeshWorkGroupSizeZ_NV);
+        s.append(builtInConstant);
+        snprintf(builtInConstant, maxSize, "const ivec3 gl_MaxTaskWorkGroupSizeNV = ivec3(%d,%d,%d);", resources.maxTaskWorkGroupSizeX_NV,
+                                                                                                       resources.maxTaskWorkGroupSizeY_NV,
+                                                                                                       resources.maxTaskWorkGroupSizeZ_NV);
+        s.append(builtInConstant);
+
+        snprintf(builtInConstant, maxSize, "const int gl_MaxMeshViewCountNV = %d;", resources.maxMeshViewCountNV);
+        s.append(builtInConstant);
+
+        s.append("\n");
+    }
+#endif
+
     s.append("\n");
 }
 
@@ -7392,6 +7864,13 @@
         }
 #endif
 
+#ifdef NV_EXTENSIONS
+        symbolTable.setFunctionExtensions("textureFootprintNV",          1, &E_GL_NV_shader_texture_footprint);
+        symbolTable.setFunctionExtensions("textureFootprintClampNV",     1, &E_GL_NV_shader_texture_footprint);
+        symbolTable.setFunctionExtensions("textureFootprintLodNV",       1, &E_GL_NV_shader_texture_footprint);
+        symbolTable.setFunctionExtensions("textureFootprintGradNV",      1, &E_GL_NV_shader_texture_footprint);
+        symbolTable.setFunctionExtensions("textureFootprintGradClampNV", 1, &E_GL_NV_shader_texture_footprint);
+#endif
         // Compatibility variables, vertex only
         if (spvVersion.spv == 0) {
             BuiltInVariable("gl_Color",          EbvColor,          symbolTable);
@@ -7812,6 +8291,30 @@
             symbolTable.setVariableExtensions("gl_FragFullyCoveredNV", 1, &E_GL_NV_conservative_raster_underestimation);
             BuiltInVariable("gl_FragFullyCoveredNV", EbvFragFullyCoveredNV, symbolTable);
         }
+        if ((profile != EEsProfile && version >= 450) ||
+            (profile == EEsProfile && version >= 320)) {
+            symbolTable.setVariableExtensions("gl_FragmentSizeNV",        1, &E_GL_NV_shading_rate_image);
+            symbolTable.setVariableExtensions("gl_InvocationsPerPixelNV", 1, &E_GL_NV_shading_rate_image);
+            BuiltInVariable("gl_FragmentSizeNV",        EbvFragmentSizeNV, symbolTable);
+            BuiltInVariable("gl_InvocationsPerPixelNV", EbvInvocationsPerPixelNV, symbolTable);
+            symbolTable.setVariableExtensions("gl_BaryCoordNV",        1, &E_GL_NV_fragment_shader_barycentric);
+            symbolTable.setVariableExtensions("gl_BaryCoordNoPerspNV", 1, &E_GL_NV_fragment_shader_barycentric);
+            BuiltInVariable("gl_BaryCoordNV",        EbvBaryCoordNV,        symbolTable);
+            BuiltInVariable("gl_BaryCoordNoPerspNV", EbvBaryCoordNoPerspNV, symbolTable);
+        }
+        if (((profile != EEsProfile && version >= 450) ||
+            (profile == EEsProfile && version >= 320)) &&
+            language == EShLangCompute) {
+            symbolTable.setFunctionExtensions("dFdx",                   1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("dFdy",                   1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("fwidth",                 1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("dFdxFine",               1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("dFdyFine",               1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("fwidthFine",             1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("dFdxCoarse",             1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("dFdyCoarse",             1, &E_GL_NV_compute_shader_derivatives);
+            symbolTable.setFunctionExtensions("fwidthCoarse",           1, &E_GL_NV_compute_shader_derivatives);
+        }
 #endif
 
         symbolTable.setVariableExtensions("gl_FragDepthEXT", 1, &E_GL_EXT_frag_depth);
@@ -7969,6 +8472,26 @@
             symbolTable.setFunctionExtensions("shadow2DEXT",        1, &E_GL_EXT_shadow_samplers);
             symbolTable.setFunctionExtensions("shadow2DProjEXT",    1, &E_GL_EXT_shadow_samplers);
         }
+
+        if (spvVersion.vulkan > 0) {
+            symbolTable.setVariableExtensions("gl_ScopeDevice",             1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_ScopeWorkgroup",          1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_ScopeSubgroup",           1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_ScopeInvocation",         1, &E_GL_KHR_memory_scope_semantics);
+
+            symbolTable.setVariableExtensions("gl_SemanticsRelaxed",        1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_SemanticsAcquire",        1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_SemanticsRelease",        1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_SemanticsAcquireRelease", 1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_SemanticsMakeAvailable",  1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_SemanticsMakeVisible",    1, &E_GL_KHR_memory_scope_semantics);
+
+            symbolTable.setVariableExtensions("gl_StorageSemanticsNone",    1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_StorageSemanticsBuffer",  1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_StorageSemanticsShared",  1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_StorageSemanticsImage",   1, &E_GL_KHR_memory_scope_semantics);
+            symbolTable.setVariableExtensions("gl_StorageSemanticsOutput",  1, &E_GL_KHR_memory_scope_semantics);
+        }
         break;
 
     case EShLangCompute:
@@ -8003,6 +8526,8 @@
             symbolTable.setFunctionExtensions("groupMemoryBarrier",         1, &E_GL_ARB_compute_shader);
         }
 
+        symbolTable.setFunctionExtensions("controlBarrier",                 1, &E_GL_KHR_memory_scope_semantics);
+
         // GL_ARB_shader_ballot
         if (profile != EEsProfile) {
             symbolTable.setVariableExtensions("gl_SubGroupSizeARB",       1, &E_GL_ARB_shader_ballot);
@@ -8027,7 +8552,7 @@
                 BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable);
         }
 
-        // GL_ARB_shader_ballot
+        // GL_KHR_shader_subgroup
         if (spvVersion.vulkan > 0) {
             symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
             symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
@@ -8065,6 +8590,240 @@
             symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic);
         }
         break;
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:
+    case EShLangIntersectNV:
+    case EShLangAnyHitNV:
+    case EShLangClosestHitNV:
+    case EShLangMissNV:
+        if (profile != EEsProfile && version >= 460) {
+            symbolTable.setVariableExtensions("gl_LaunchIDNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_LaunchSizeNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_PrimitiveID", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_InstanceID", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_InstanceCustomIndexNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_WorldRayOriginNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_WorldRayDirectionNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_ObjectRayOriginNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_ObjectRayDirectionNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_RayTminNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_RayTmaxNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_HitTNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_HitKindNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_ObjectToWorldNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_WorldToObjectNVX", 1, &E_GL_NVX_raytracing);
+            symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
+
+            BuiltInVariable("gl_LaunchIDNVX",           EbvLaunchIdNV,           symbolTable);
+            BuiltInVariable("gl_LaunchSizeNVX",         EbvLaunchSizeNV,         symbolTable);
+            BuiltInVariable("gl_PrimitiveID",           EbvPrimitiveId,          symbolTable);
+            BuiltInVariable("gl_InstanceID",            EbvInstanceId,           symbolTable);
+            BuiltInVariable("gl_InstanceCustomIndexNVX",EbvInstanceCustomIndexNV,symbolTable);
+            BuiltInVariable("gl_WorldRayOriginNVX",     EbvWorldRayOriginNV,     symbolTable);
+            BuiltInVariable("gl_WorldRayDirectionNVX",  EbvWorldRayDirectionNV,  symbolTable);
+            BuiltInVariable("gl_ObjectRayOriginNVX",    EbvObjectRayOriginNV,    symbolTable);
+            BuiltInVariable("gl_ObjectRayDirectionNVX", EbvObjectRayDirectionNV, symbolTable);
+            BuiltInVariable("gl_RayTminNVX",            EbvRayTminNV,            symbolTable);
+            BuiltInVariable("gl_RayTmaxNVX",            EbvRayTmaxNV,            symbolTable);
+            BuiltInVariable("gl_HitTNVX",               EbvHitTNV,               symbolTable);
+            BuiltInVariable("gl_HitKindNVX",            EbvHitKindNV,            symbolTable);
+            BuiltInVariable("gl_ObjectToWorldNVX",      EbvObjectToWorldNV,      symbolTable);
+            BuiltInVariable("gl_WorldToObjectNVX",      EbvWorldToObjectNV,      symbolTable);
+            BuiltInVariable("gl_DeviceIndex",           EbvDeviceIndex,          symbolTable);
+        } 
+        break;
+    case EShLangMeshNV:
+        if (profile != EEsProfile && version >= 450) {
+            // Per-vertex builtins
+            BuiltInVariable("gl_MeshVerticesNV", "gl_Position",     EbvPosition,     symbolTable);
+            BuiltInVariable("gl_MeshVerticesNV", "gl_PointSize",    EbvPointSize,    symbolTable);
+            BuiltInVariable("gl_MeshVerticesNV", "gl_ClipDistance", EbvClipDistance, symbolTable);
+            BuiltInVariable("gl_MeshVerticesNV", "gl_CullDistance", EbvCullDistance, symbolTable);
+            // Per-view builtins
+            BuiltInVariable("gl_MeshVerticesNV", "gl_PositionPerViewNV",     EbvPositionPerViewNV,     symbolTable);
+            BuiltInVariable("gl_MeshVerticesNV", "gl_ClipDistancePerViewNV", EbvClipDistancePerViewNV, symbolTable);
+            BuiltInVariable("gl_MeshVerticesNV", "gl_CullDistancePerViewNV", EbvCullDistancePerViewNV, symbolTable);
+
+            // Per-primitive builtins
+            BuiltInVariable("gl_MeshPrimitivesNV", "gl_PrimitiveID",   EbvPrimitiveId,    symbolTable);
+            BuiltInVariable("gl_MeshPrimitivesNV", "gl_Layer",         EbvLayer,          symbolTable);
+            BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportIndex", EbvViewportIndex,  symbolTable);
+            BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportMask",  EbvViewportMaskNV, symbolTable);
+            // Per-view builtins
+            BuiltInVariable("gl_MeshPrimitivesNV", "gl_LayerPerViewNV",        EbvLayerPerViewNV,        symbolTable);
+            BuiltInVariable("gl_MeshPrimitivesNV", "gl_ViewportMaskPerViewNV", EbvViewportMaskPerViewNV, symbolTable);
+
+            symbolTable.setVariableExtensions("gl_PrimitiveCountNV",     1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_PrimitiveIndicesNV",   1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshViewCountNV",      1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MeshViewIndicesNV",    1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_WorkGroupSize",        1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_WorkGroupID",          1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_LocalInvocationID",    1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_GlobalInvocationID",   1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_LocalInvocationIndex", 1, &E_GL_NV_mesh_shader);
+
+            BuiltInVariable("gl_PrimitiveCountNV",     EbvPrimitiveCountNV,     symbolTable);
+            BuiltInVariable("gl_PrimitiveIndicesNV",   EbvPrimitiveIndicesNV,   symbolTable);
+            BuiltInVariable("gl_MeshViewCountNV",      EbvMeshViewCountNV,      symbolTable);
+            BuiltInVariable("gl_MeshViewIndicesNV",    EbvMeshViewIndicesNV,    symbolTable);
+            BuiltInVariable("gl_WorkGroupSize",        EbvWorkGroupSize,        symbolTable);
+            BuiltInVariable("gl_WorkGroupID",          EbvWorkGroupId,          symbolTable);
+            BuiltInVariable("gl_LocalInvocationID",    EbvLocalInvocationId,    symbolTable);
+            BuiltInVariable("gl_GlobalInvocationID",   EbvGlobalInvocationId,   symbolTable);
+            BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable);
+
+            symbolTable.setVariableExtensions("gl_MaxMeshOutputVerticesNV",   1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MaxMeshOutputPrimitivesNV", 1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MaxMeshWorkGroupSizeNV",    1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_MaxMeshViewCountNV",        1, &E_GL_NV_mesh_shader);
+
+            symbolTable.setFunctionExtensions("barrier",                      1, &E_GL_NV_mesh_shader);
+            symbolTable.setFunctionExtensions("memoryBarrierShared",          1, &E_GL_NV_mesh_shader);
+            symbolTable.setFunctionExtensions("groupMemoryBarrier",           1, &E_GL_NV_mesh_shader);
+
+            // GL_EXT_device_group
+            symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
+            BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
+
+            // GL_ARB_shader_draw_parameters
+            symbolTable.setVariableExtensions("gl_DrawIDARB", 1, &E_GL_ARB_shader_draw_parameters);
+            BuiltInVariable("gl_DrawIDARB", EbvDrawId, symbolTable);
+            if (version >= 460) {
+                BuiltInVariable("gl_DrawID", EbvDrawId, symbolTable);
+            }
+
+            // GL_ARB_shader_ballot
+            symbolTable.setVariableExtensions("gl_SubGroupSizeARB",       1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB",     1, &E_GL_ARB_shader_ballot);
+
+            BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable);
+            BuiltInVariable("gl_SubGroupEqMaskARB",     EbvSubGroupEqMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGeMaskARB",     EbvSubGroupGeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGtMaskARB",     EbvSubGroupGtMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLeMaskARB",     EbvSubGroupLeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLtMaskARB",     EbvSubGroupLtMask,     symbolTable);
+
+            if (spvVersion.vulkan > 0)
+                // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan
+                SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable);
+            else
+                BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable);
+        }
+
+        // GL_KHR_shader_subgroup
+        if (spvVersion.vulkan > 0) {
+            symbolTable.setVariableExtensions("gl_NumSubgroups",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupID",           1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+
+            BuiltInVariable("gl_NumSubgroups",         EbvNumSubgroups,        symbolTable);
+            BuiltInVariable("gl_SubgroupID",           EbvSubgroupID,          symbolTable);
+            BuiltInVariable("gl_SubgroupSize",         EbvSubgroupSize2,       symbolTable);
+            BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable);
+            BuiltInVariable("gl_SubgroupEqMask",       EbvSubgroupEqMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGeMask",       EbvSubgroupGeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGtMask",       EbvSubgroupGtMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLeMask",       EbvSubgroupLeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLtMask",       EbvSubgroupLtMask2,     symbolTable);
+
+            symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic);
+        }
+        break;
+
+    case EShLangTaskNV:
+        if (profile != EEsProfile && version >= 450) {
+            symbolTable.setVariableExtensions("gl_TaskCountNV",          1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_WorkGroupSize",        1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_WorkGroupID",          1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_LocalInvocationID",    1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_GlobalInvocationID",   1, &E_GL_NV_mesh_shader);
+            symbolTable.setVariableExtensions("gl_LocalInvocationIndex", 1, &E_GL_NV_mesh_shader);
+
+            BuiltInVariable("gl_TaskCountNV",          EbvTaskCountNV,          symbolTable);
+            BuiltInVariable("gl_WorkGroupSize",        EbvWorkGroupSize,        symbolTable);
+            BuiltInVariable("gl_WorkGroupID",          EbvWorkGroupId,          symbolTable);
+            BuiltInVariable("gl_LocalInvocationID",    EbvLocalInvocationId,    symbolTable);
+            BuiltInVariable("gl_GlobalInvocationID",   EbvGlobalInvocationId,   symbolTable);
+            BuiltInVariable("gl_LocalInvocationIndex", EbvLocalInvocationIndex, symbolTable);
+
+            symbolTable.setVariableExtensions("gl_MaxTaskWorkGroupSizeNV", 1, &E_GL_NV_mesh_shader);
+
+            symbolTable.setFunctionExtensions("barrier",                   1, &E_GL_NV_mesh_shader);
+            symbolTable.setFunctionExtensions("memoryBarrierShared",       1, &E_GL_NV_mesh_shader);
+            symbolTable.setFunctionExtensions("groupMemoryBarrier",        1, &E_GL_NV_mesh_shader);
+
+            // GL_EXT_device_group
+            symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
+            BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
+
+            // GL_ARB_shader_draw_parameters
+            symbolTable.setVariableExtensions("gl_DrawIDARB", 1, &E_GL_ARB_shader_draw_parameters);
+            BuiltInVariable("gl_DrawIDARB", EbvDrawId, symbolTable);
+            if (version >= 460) {
+                BuiltInVariable("gl_DrawID", EbvDrawId, symbolTable);
+            }
+
+            // GL_ARB_shader_ballot
+            symbolTable.setVariableExtensions("gl_SubGroupSizeARB",       1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupInvocationARB", 1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupEqMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupGtMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLeMaskARB",     1, &E_GL_ARB_shader_ballot);
+            symbolTable.setVariableExtensions("gl_SubGroupLtMaskARB",     1, &E_GL_ARB_shader_ballot);
+
+            BuiltInVariable("gl_SubGroupInvocationARB", EbvSubGroupInvocation, symbolTable);
+            BuiltInVariable("gl_SubGroupEqMaskARB",     EbvSubGroupEqMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGeMaskARB",     EbvSubGroupGeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupGtMaskARB",     EbvSubGroupGtMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLeMaskARB",     EbvSubGroupLeMask,     symbolTable);
+            BuiltInVariable("gl_SubGroupLtMaskARB",     EbvSubGroupLtMask,     symbolTable);
+
+            if (spvVersion.vulkan > 0)
+                // Treat "gl_SubGroupSizeARB" as shader input instead of uniform for Vulkan
+                SpecialQualifier("gl_SubGroupSizeARB", EvqVaryingIn, EbvSubGroupSize, symbolTable);
+            else
+                BuiltInVariable("gl_SubGroupSizeARB", EbvSubGroupSize, symbolTable);
+        }
+
+        // GL_KHR_shader_subgroup
+        if (spvVersion.vulkan > 0) {
+            symbolTable.setVariableExtensions("gl_NumSubgroups",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupID",           1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupSize",         1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupInvocationID", 1, &E_GL_KHR_shader_subgroup_basic);
+            symbolTable.setVariableExtensions("gl_SubgroupEqMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupGtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLeMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+            symbolTable.setVariableExtensions("gl_SubgroupLtMask",       1, &E_GL_KHR_shader_subgroup_ballot);
+
+            BuiltInVariable("gl_NumSubgroups",         EbvNumSubgroups,        symbolTable);
+            BuiltInVariable("gl_SubgroupID",           EbvSubgroupID,          symbolTable);
+            BuiltInVariable("gl_SubgroupSize",         EbvSubgroupSize2,       symbolTable);
+            BuiltInVariable("gl_SubgroupInvocationID", EbvSubgroupInvocation2, symbolTable);
+            BuiltInVariable("gl_SubgroupEqMask",       EbvSubgroupEqMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGeMask",       EbvSubgroupGeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupGtMask",       EbvSubgroupGtMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLeMask",       EbvSubgroupLeMask2,     symbolTable);
+            BuiltInVariable("gl_SubgroupLtMask",       EbvSubgroupLtMask2,     symbolTable);
+
+            symbolTable.setFunctionExtensions("subgroupMemoryBarrierShared", 1, &E_GL_KHR_shader_subgroup_basic);
+        }
+        break;
+#endif
 
     default:
         assert(false && "Language not supported");
@@ -8213,6 +8972,7 @@
     symbolTable.relateToOperator("all",          EOpAll);
 
     symbolTable.relateToOperator("barrier",                    EOpBarrier);
+    symbolTable.relateToOperator("controlBarrier",             EOpBarrier);
     symbolTable.relateToOperator("memoryBarrier",              EOpMemoryBarrier);
     symbolTable.relateToOperator("memoryBarrierAtomicCounter", EOpMemoryBarrierAtomicCounter);
     symbolTable.relateToOperator("memoryBarrierBuffer",        EOpMemoryBarrierBuffer);
@@ -8226,6 +8986,8 @@
     symbolTable.relateToOperator("atomicXor",      EOpAtomicXor);
     symbolTable.relateToOperator("atomicExchange", EOpAtomicExchange);
     symbolTable.relateToOperator("atomicCompSwap", EOpAtomicCompSwap);
+    symbolTable.relateToOperator("atomicLoad",     EOpAtomicLoad);
+    symbolTable.relateToOperator("atomicStore",    EOpAtomicStore);
 
     symbolTable.relateToOperator("atomicCounterIncrement", EOpAtomicCounterIncrement);
     symbolTable.relateToOperator("atomicCounterDecrement", EOpAtomicCounterDecrement);
@@ -8270,6 +9032,8 @@
         symbolTable.relateToOperator("imageAtomicXor",          EOpImageAtomicXor);
         symbolTable.relateToOperator("imageAtomicExchange",     EOpImageAtomicExchange);
         symbolTable.relateToOperator("imageAtomicCompSwap",     EOpImageAtomicCompSwap);
+        symbolTable.relateToOperator("imageAtomicLoad",         EOpImageAtomicLoad);
+        symbolTable.relateToOperator("imageAtomicStore",        EOpImageAtomicStore);
 
         symbolTable.relateToOperator("subpassLoad",             EOpSubpassLoad);
         symbolTable.relateToOperator("subpassLoadMS",           EOpSubpassLoadMS);
@@ -8301,6 +9065,14 @@
         symbolTable.relateToOperator("noise3", EOpNoise);
         symbolTable.relateToOperator("noise4", EOpNoise);
 
+#ifdef NV_EXTENSIONS
+        symbolTable.relateToOperator("textureFootprintNV",          EOpImageSampleFootprintNV);
+        symbolTable.relateToOperator("textureFootprintClampNV",     EOpImageSampleFootprintClampNV);
+        symbolTable.relateToOperator("textureFootprintLodNV",       EOpImageSampleFootprintLodNV);
+        symbolTable.relateToOperator("textureFootprintGradNV",      EOpImageSampleFootprintGradNV);
+        symbolTable.relateToOperator("textureFootprintGradClampNV", EOpImageSampleFootprintGradClampNV);
+#endif
+
         if (spvVersion.spv == 0 && (IncludeLegacy(version, profile, spvVersion) ||
             (profile == EEsProfile && version == 100))) {
             symbolTable.relateToOperator("ftransform",               EOpFtransform);
@@ -8573,8 +9345,52 @@
         symbolTable.relateToOperator("memoryBarrierShared",         EOpMemoryBarrierShared);
         symbolTable.relateToOperator("groupMemoryBarrier",          EOpGroupMemoryBarrier);
         symbolTable.relateToOperator("subgroupMemoryBarrierShared", EOpSubgroupMemoryBarrierShared);
+#ifdef NV_EXTENSIONS
+        if ((profile != EEsProfile && version >= 450) ||
+            (profile == EEsProfile && version >= 320)) {
+            symbolTable.relateToOperator("dFdx",        EOpDPdx);
+            symbolTable.relateToOperator("dFdy",        EOpDPdy);
+            symbolTable.relateToOperator("fwidth",      EOpFwidth);
+            symbolTable.relateToOperator("dFdxFine",    EOpDPdxFine);
+            symbolTable.relateToOperator("dFdyFine",    EOpDPdyFine);
+            symbolTable.relateToOperator("fwidthFine",  EOpFwidthFine);
+            symbolTable.relateToOperator("dFdxCoarse",  EOpDPdxCoarse);
+            symbolTable.relateToOperator("dFdyCoarse",  EOpDPdyCoarse);
+            symbolTable.relateToOperator("fwidthCoarse",EOpFwidthCoarse);
+        }
+#endif
         break;
 
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:
+    case EShLangClosestHitNV:
+    case EShLangMissNV:
+        if (profile != EEsProfile && version >= 460)
+            symbolTable.relateToOperator("traceNVX", EOpTraceNV);
+        break;
+    case EShLangIntersectNV:
+        if (profile != EEsProfile && version >= 460)
+            symbolTable.relateToOperator("reportIntersectionNVX", EOpReportIntersectionNV);
+        break;
+    case EShLangAnyHitNV:
+        if (profile != EEsProfile && version >= 460) {
+            symbolTable.relateToOperator("ignoreIntersectionNVX", EOpIgnoreIntersectionNV);
+            symbolTable.relateToOperator("terminateRayNVX", EOpTerminateRayNV);
+        }
+        break;
+    case EShLangMeshNV:
+        if (profile != EEsProfile && version >= 450) {
+            symbolTable.relateToOperator("writePackedPrimitiveIndices4x8NV", EOpWritePackedPrimitiveIndices4x8NV);
+        }
+        // fall through
+    case EShLangTaskNV:
+        if (profile != EEsProfile && version >= 450) {
+            symbolTable.relateToOperator("memoryBarrierShared", EOpMemoryBarrierShared);
+            symbolTable.relateToOperator("groupMemoryBarrier", EOpGroupMemoryBarrier);
+        }
+        break;
+#endif
+
     default:
         assert(false && "Language not supported");
     }
diff --git a/glslang/MachineIndependent/Intermediate.cpp b/glslang/MachineIndependent/Intermediate.cpp
old mode 100755
new mode 100644
index 8eb5ff5..769dad0
--- a/glslang/MachineIndependent/Intermediate.cpp
+++ b/glslang/MachineIndependent/Intermediate.cpp
@@ -460,6 +460,9 @@
         return false;
     case EbtAtomicUint:
     case EbtSampler:
+#ifdef NV_EXTENSIONS
+    case EbtAccStructNV:
+#endif
         // opaque types can be passed to functions
         if (op == EOpFunction)
             break;
@@ -1573,27 +1576,29 @@
                 return false;
             }
         case EbtFloat16:
-            switch (from) {
 #ifdef AMD_EXTENSIONS
+            switch (from) {
             case EbtInt16:
             case EbtUint16:
                 return extensionRequested(E_GL_AMD_gpu_shader_int16);
             case EbtFloat16:
                 return extensionRequested(E_GL_AMD_gpu_shader_half_float);
-#endif
             default:
-                return false;
-        }
+                break;
+            }
+#endif
+            return false;
         case EbtUint16:
-            switch (from) {
 #ifdef AMD_EXTENSIONS
+            switch (from) {
             case EbtInt16:
             case EbtUint16:
                 return extensionRequested(E_GL_AMD_gpu_shader_int16);
-#endif
             default:
-                return false;
-        }
+                break;
+            }
+#endif
+            return false;
         default:
             return false;
         }
diff --git a/glslang/MachineIndependent/ParseContextBase.cpp b/glslang/MachineIndependent/ParseContextBase.cpp
index bfa9de4..ca5d7e4 100644
--- a/glslang/MachineIndependent/ParseContextBase.cpp
+++ b/glslang/MachineIndependent/ParseContextBase.cpp
@@ -153,6 +153,12 @@
         if (node->getQualifier().readonly)
             message = "can't modify a readonly buffer";
         break;
+#ifdef NV_EXTENSIONS
+    case EvqHitAttrNV:
+        if (language != EShLangIntersectNV)
+            message = "cannot modify hitAttributeNVX in this stage";
+        break;
+#endif
 
     default:
         //
@@ -168,6 +174,11 @@
         case EbtVoid:
             message = "can't modify void";
             break;
+#ifdef NV_EXTENSIONS
+        case EbtAccStructNV:
+            message = "can't modify accelerationStructureNVX";
+            break;
+#endif
         default:
             break;
         }
diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp
old mode 100755
new mode 100644
index 94af167..6d1004d
--- a/glslang/MachineIndependent/ParseHelper.cpp
+++ b/glslang/MachineIndependent/ParseHelper.cpp
@@ -267,6 +267,10 @@
         if (tokens.size() != 1)
             error(loc, "extra tokens", "#pragma", "");
         intermediate.setUseStorageBuffer();
+    } else if (spvVersion.spv > 0 && tokens[0].compare("use_vulkan_memory_model") == 0) {
+        if (tokens.size() != 1)
+            error(loc, "extra tokens", "#pragma", "");
+        intermediate.setUseVulkanMemoryModel();
     } else if (tokens[0].compare("once") == 0) {
         warn(loc, "not implemented", "#pragma once", "");
     } else if (tokens[0].compare("glslang_binary_double_output") == 0)
@@ -487,12 +491,20 @@
         ioArraySymbolResizeList.push_back(symbol);
 }
 
-// Return true if this is a geometry shader input array or tessellation control output array.
+// Return true if this is a geometry shader input array or tessellation control output array
+// or mesh shader output array.
 bool TParseContext::isIoResizeArray(const TType& type) const
 {
     return type.isArray() &&
            ((language == EShLangGeometry    && type.getQualifier().storage == EvqVaryingIn) ||
-            (language == EShLangTessControl && type.getQualifier().storage == EvqVaryingOut && ! type.getQualifier().patch));
+            (language == EShLangTessControl && type.getQualifier().storage == EvqVaryingOut && ! type.getQualifier().patch)
+#ifdef NV_EXTENSIONS
+            ||
+            (language == EShLangFragment && type.getQualifier().storage == EvqVaryingIn &&  type.getQualifier().pervertexNV) ||
+            (language == EShLangMeshNV && type.getQualifier().storage == EvqVaryingOut && !type.getQualifier().perTaskNV)
+
+#endif
+            );
 }
 
 // If an array is not isIoResizeArray() but is an io array, make sure it has the right size
@@ -542,7 +554,7 @@
 
     // fix array size, if it can be fixed and needs to be fixed (will allow variable indexing)
     if (symbolNode->getType().isUnsizedArray()) {
-        int newSize = getIoArrayImplicitSize();
+        int newSize = getIoArrayImplicitSize(symbolNode->getType().getQualifier().isPerPrimitive());
         if (newSize > 0)
             symbolNode->getWritableType().changeOuterArraySize(newSize);
     }
@@ -556,17 +568,27 @@
 // Types without an array size will be given one.
 // Types already having a size that is wrong will get an error.
 //
-void TParseContext::checkIoArraysConsistency(const TSourceLoc& loc, bool tailOnly)
+void TParseContext::checkIoArraysConsistency(const TSourceLoc& loc, bool tailOnly, bool isPerPrimitive)
 {
-    int requiredSize = getIoArrayImplicitSize();
+    int requiredSize = getIoArrayImplicitSize(isPerPrimitive);
     if (requiredSize == 0)
         return;
 
     const char* feature;
     if (language == EShLangGeometry)
         feature = TQualifier::getGeometryString(intermediate.getInputPrimitive());
-    else if (language == EShLangTessControl)
+    else if (language == EShLangTessControl
+#ifdef NV_EXTENSIONS
+          || language == EShLangFragment
+#endif
+        )
+
         feature = "vertices";
+#ifdef NV_EXTENSIONS
+     else if (language == EShLangMeshNV) {
+        feature = isPerPrimitive ? "max_primitives" : "max_vertices";
+     }
+#endif
     else
         feature = "unknown";
 
@@ -579,12 +601,24 @@
         checkIoArrayConsistency(loc, requiredSize, feature, ioArraySymbolResizeList[i]->getWritableType(), ioArraySymbolResizeList[i]->getName());
 }
 
-int TParseContext::getIoArrayImplicitSize() const
+int TParseContext::getIoArrayImplicitSize(bool isPerPrimitive) const
 {
     if (language == EShLangGeometry)
         return TQualifier::mapGeometryToSize(intermediate.getInputPrimitive());
     else if (language == EShLangTessControl)
         return intermediate.getVertices() != TQualifier::layoutNotSet ? intermediate.getVertices() : 0;
+#ifdef NV_EXTENSIONS
+    else if (language == EShLangFragment)
+        return 3; //Number of vertices for Fragment shader is always three.
+    else if (language == EShLangMeshNV) {
+        if (isPerPrimitive) {
+            return intermediate.getPrimitives() != TQualifier::layoutNotSet ? intermediate.getPrimitives() : 0;            
+        } else {
+            return intermediate.getVertices() != TQualifier::layoutNotSet ? intermediate.getVertices() : 0;
+        }
+    }
+#endif
+
     else
         return 0;
 }
@@ -598,6 +632,14 @@
             error(loc, "inconsistent input primitive for array size of", feature, name.c_str());
         else if (language == EShLangTessControl)
             error(loc, "inconsistent output number of vertices for array size of", feature, name.c_str());
+#ifdef NV_EXTENSIONS
+        else if (language == EShLangFragment) {
+            if (type.getOuterArraySize() > requiredSize)
+                error(loc, " cannot be greater than 3 for pervertexNV", feature, name.c_str());
+        }
+        else if (language == EShLangMeshNV)
+            error(loc, "inconsistent output array size of", feature, name.c_str());
+#endif
         else
             assert(0);
     }
@@ -1028,8 +1070,16 @@
                         const char* message = "argument cannot drop memory qualifier when passed to formal parameter";
                         if (argQualifier.volatil && ! formalQualifier.volatil)
                             error(arguments->getLoc(), message, "volatile", "");
-                        if (argQualifier.coherent && ! formalQualifier.coherent)
+                        if (argQualifier.coherent && ! (formalQualifier.devicecoherent || formalQualifier.coherent))
                             error(arguments->getLoc(), message, "coherent", "");
+                        if (argQualifier.devicecoherent && ! (formalQualifier.devicecoherent || formalQualifier.coherent))
+                            error(arguments->getLoc(), message, "devicecoherent", "");
+                        if (argQualifier.queuefamilycoherent && ! (formalQualifier.queuefamilycoherent || formalQualifier.devicecoherent || formalQualifier.coherent))
+                            error(arguments->getLoc(), message, "queuefamilycoherent", "");
+                        if (argQualifier.workgroupcoherent && ! (formalQualifier.workgroupcoherent || formalQualifier.queuefamilycoherent || formalQualifier.devicecoherent || formalQualifier.coherent))
+                            error(arguments->getLoc(), message, "workgroupcoherent", "");
+                        if (argQualifier.subgroupcoherent && ! (formalQualifier.subgroupcoherent || formalQualifier.workgroupcoherent || formalQualifier.queuefamilycoherent || formalQualifier.devicecoherent || formalQualifier.coherent))
+                            error(arguments->getLoc(), message, "subgroupcoherent", "");
                         if (argQualifier.readonly && ! formalQualifier.readonly)
                             error(arguments->getLoc(), message, "readonly", "");
                         if (argQualifier.writeonly && ! formalQualifier.writeonly)
@@ -1289,8 +1339,15 @@
                     // without actually redeclaring the array.  (It is an error to use a member before the
                     // redeclaration, but not an error to use the array name itself.)
                     const TString& name = intermNode->getAsSymbolNode()->getName();
-                    if (name == "gl_in" || name == "gl_out")
-                        length = getIoArrayImplicitSize();
+                    if (name == "gl_in" || name == "gl_out"
+#ifdef NV_EXTENSIONS
+                        || name == "gl_MeshVerticesNV"
+                        || name == "gl_MeshPrimitivesNV"
+#endif
+                        )
+                    {
+                        length = getIoArrayImplicitSize(type.getQualifier().isPerPrimitive());
+                    }
                 }
                 if (length == 0) {
                     if (intermNode->getAsSymbolNode() && isIoResizeArray(type))
@@ -1428,6 +1485,161 @@
     return conversionTree;
 }
 
+void TParseContext::memorySemanticsCheck(const TSourceLoc& loc, const TFunction& fnCandidate, const TIntermOperator& callNode)
+{
+    const TIntermSequence* argp = &callNode.getAsAggregate()->getSequence();
+
+    const int gl_SemanticsRelaxed         = 0x0;
+    const int gl_SemanticsAcquire         = 0x2;
+    const int gl_SemanticsRelease         = 0x4;
+    const int gl_SemanticsAcquireRelease  = 0x8;
+    const int gl_SemanticsMakeAvailable   = 0x2000;
+    const int gl_SemanticsMakeVisible     = 0x4000;
+
+    const int gl_StorageSemanticsNone     = 0x0;
+    const int gl_StorageSemanticsBuffer   = 0x40;
+    const int gl_StorageSemanticsShared   = 0x100;
+    const int gl_StorageSemanticsImage    = 0x800;
+    const int gl_StorageSemanticsOutput   = 0x1000;
+
+
+    unsigned int semantics = 0, storageClassSemantics = 0;
+    unsigned int semantics2 = 0, storageClassSemantics2 = 0;
+
+    // Grab the semantics and storage class semantics from the operands, based on opcode
+    switch (callNode.getOp()) {
+    case EOpAtomicAdd:
+    case EOpAtomicMin:
+    case EOpAtomicMax:
+    case EOpAtomicAnd:
+    case EOpAtomicOr:
+    case EOpAtomicXor:
+    case EOpAtomicExchange:
+    case EOpAtomicStore:
+        storageClassSemantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[4]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+    case EOpAtomicLoad:
+        storageClassSemantics = (*argp)[2]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+    case EOpAtomicCompSwap:
+        storageClassSemantics = (*argp)[4]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[5]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        storageClassSemantics2 = (*argp)[6]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics2 = (*argp)[7]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+
+    case EOpImageAtomicAdd:
+    case EOpImageAtomicMin:
+    case EOpImageAtomicMax:
+    case EOpImageAtomicAnd:
+    case EOpImageAtomicOr:
+    case EOpImageAtomicXor:
+    case EOpImageAtomicExchange:
+    case EOpImageAtomicStore:
+        storageClassSemantics = (*argp)[4]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[5]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+    case EOpImageAtomicLoad:
+        storageClassSemantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[4]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+    case EOpImageAtomicCompSwap:
+        storageClassSemantics = (*argp)[5]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[6]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        storageClassSemantics2 = (*argp)[7]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics2 = (*argp)[8]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+
+    case EOpBarrier:
+        storageClassSemantics = (*argp)[2]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[3]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+    case EOpMemoryBarrier:
+        storageClassSemantics = (*argp)[1]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        semantics = (*argp)[2]->getAsConstantUnion()->getConstArray()[0].getIConst();
+        break;
+    default:
+        break;
+    }
+
+    if ((semantics & gl_SemanticsAcquire) && 
+        (callNode.getOp() == EOpAtomicStore || callNode.getOp() == EOpImageAtomicStore)) {
+        error(loc, "gl_SemanticsAcquire must not be used with (image) atomic store",
+              fnCandidate.getName().c_str(), "");
+    }
+    if ((semantics & gl_SemanticsRelease) && 
+        (callNode.getOp() == EOpAtomicLoad || callNode.getOp() == EOpImageAtomicLoad)) {
+        error(loc, "gl_SemanticsRelease must not be used with (image) atomic load",
+              fnCandidate.getName().c_str(), "");
+    }
+    if ((semantics & gl_SemanticsAcquireRelease) && 
+        (callNode.getOp() == EOpAtomicStore || callNode.getOp() == EOpImageAtomicStore || 
+         callNode.getOp() == EOpAtomicLoad  || callNode.getOp() == EOpImageAtomicLoad)) {
+        error(loc, "gl_SemanticsAcquireRelease must not be used with (image) atomic load/store",
+              fnCandidate.getName().c_str(), "");
+    }
+    if (((semantics | semantics2) & ~(gl_SemanticsAcquire |
+                                      gl_SemanticsRelease |
+                                      gl_SemanticsAcquireRelease |
+                                      gl_SemanticsMakeAvailable |
+                                      gl_SemanticsMakeVisible))) {
+        error(loc, "Invalid semantics value", fnCandidate.getName().c_str(), "");
+    }
+    if (((storageClassSemantics | storageClassSemantics2) & ~(gl_StorageSemanticsBuffer |
+                                                              gl_StorageSemanticsShared |
+                                                              gl_StorageSemanticsImage |
+                                                              gl_StorageSemanticsOutput))) {
+        error(loc, "Invalid storage class semantics value", fnCandidate.getName().c_str(), "");
+    }
+
+    if (callNode.getOp() == EOpMemoryBarrier) {
+        if (!IsPow2(semantics & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease))) {
+            error(loc, "Semantics must include exactly one of gl_SemanticsRelease, gl_SemanticsAcquire, or "
+                       "gl_SemanticsAcquireRelease", fnCandidate.getName().c_str(), "");
+        }
+    } else {
+        if (semantics & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease)) {
+            if (!IsPow2(semantics & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease))) {
+                error(loc, "Semantics must not include multiple of gl_SemanticsRelease, gl_SemanticsAcquire, or "
+                           "gl_SemanticsAcquireRelease", fnCandidate.getName().c_str(), "");
+            }
+        }
+        if (semantics2 & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease)) {
+            if (!IsPow2(semantics2 & (gl_SemanticsAcquire | gl_SemanticsRelease | gl_SemanticsAcquireRelease))) {
+                error(loc, "semUnequal must not include multiple of gl_SemanticsRelease, gl_SemanticsAcquire, or "
+                           "gl_SemanticsAcquireRelease", fnCandidate.getName().c_str(), "");
+            }
+        }
+    }
+    if (callNode.getOp() == EOpMemoryBarrier) {
+        if (storageClassSemantics == 0) {
+            error(loc, "Storage class semantics must not be zero", fnCandidate.getName().c_str(), "");
+        }
+    }
+    if (callNode.getOp() == EOpBarrier && semantics != 0 && storageClassSemantics == 0) {
+        error(loc, "Storage class semantics must not be zero", fnCandidate.getName().c_str(), "");
+    }
+    if ((callNode.getOp() == EOpAtomicCompSwap || callNode.getOp() == EOpImageAtomicCompSwap) &&
+        (semantics2 & (gl_SemanticsRelease | gl_SemanticsAcquireRelease))) {
+        error(loc, "semUnequal must not be gl_SemanticsRelease or gl_SemanticsAcquireRelease",
+              fnCandidate.getName().c_str(), "");
+    }
+    if ((semantics & gl_SemanticsMakeAvailable) &&
+        !(semantics & (gl_SemanticsRelease | gl_SemanticsAcquireRelease))) {
+        error(loc, "gl_SemanticsMakeAvailable requires gl_SemanticsRelease or gl_SemanticsAcquireRelease",
+              fnCandidate.getName().c_str(), "");
+    }
+    if ((semantics & gl_SemanticsMakeVisible) &&
+        !(semantics & (gl_SemanticsAcquire | gl_SemanticsAcquireRelease))) {
+        error(loc, "gl_SemanticsMakeVisible requires gl_SemanticsAcquire or gl_SemanticsAcquireRelease",
+              fnCandidate.getName().c_str(), "");
+    }
+
+}
+
+
 //
 // Do additional checking of built-in function calls that is not caught
 // by normal semantic checks on argument type, extension tagging, etc.
@@ -1656,6 +1868,8 @@
     case EOpImageAtomicXor:
     case EOpImageAtomicExchange:
     case EOpImageAtomicCompSwap:
+    case EOpImageAtomicLoad:
+    case EOpImageAtomicStore:
     {
         // Make sure the image types have the correct layout() format and correct argument types
         const TType& imageType = arg0->getType();
@@ -1669,10 +1883,14 @@
                 error(loc, "only supported on image with format r32f", fnCandidate.getName().c_str(), "");
         }
 
+        if (argp->size() > 4) {
+            requireExtensions(loc, 1, &E_GL_KHR_memory_scope_semantics, fnCandidate.getName().c_str());
+            memorySemanticsCheck(loc, fnCandidate, callNode);
+        }
+
         break;
     }
 
-#ifdef NV_EXTENSIONS
     case EOpAtomicAdd:
     case EOpAtomicMin:
     case EOpAtomicMax:
@@ -1681,13 +1899,23 @@
     case EOpAtomicXor:
     case EOpAtomicExchange:
     case EOpAtomicCompSwap:
+    case EOpAtomicLoad:
+    case EOpAtomicStore:
     {
-        if (arg0->getType().getBasicType() == EbtInt64 || arg0->getType().getBasicType() == EbtUint64)
-            requireExtensions(loc, 1, &E_GL_NV_shader_atomic_int64, fnCandidate.getName().c_str());
-
+        if (argp->size() > 3) {
+            requireExtensions(loc, 1, &E_GL_KHR_memory_scope_semantics, fnCandidate.getName().c_str());
+            memorySemanticsCheck(loc, fnCandidate, callNode);
+        } else if (arg0->getType().getBasicType() == EbtInt64 || arg0->getType().getBasicType() == EbtUint64) {
+#ifdef NV_EXTENSIONS
+            const char* const extensions[2] = { E_GL_NV_shader_atomic_int64,
+                                                E_GL_EXT_shader_atomic_int64 };
+            requireExtensions(loc, 2, extensions, fnCandidate.getName().c_str());
+#else
+            requireExtensions(loc, 1, &E_GL_EXT_shader_atomic_int64, fnCandidate.getName().c_str());
+#endif
+        }
         break;
     }
-#endif
 
     case EOpInterpolateAtCentroid:
     case EOpInterpolateAtSample:
@@ -1751,6 +1979,14 @@
         }
         break;
 
+    case EOpBarrier:
+    case EOpMemoryBarrier:
+        if (argp->size() > 0) {
+            requireExtensions(loc, 1, &E_GL_KHR_memory_scope_semantics, fnCandidate.getName().c_str());
+            memorySemanticsCheck(loc, fnCandidate, callNode);
+        }
+        break;
+
     default:
         break;
     }
@@ -2655,18 +2891,12 @@
     // second argument
     //   * the constructor's second argument must be a scalar of type
     //     *sampler* or *samplerShadow*
-    //   * the presence or absence of depth comparison (Shadow) must match
-    //     between the constructed sampler type and the type of the second argument
     if (  function[1].type->getBasicType() != EbtSampler ||
         ! function[1].type->getSampler().isPureSampler() ||
           function[1].type->isArray()) {
         error(loc, "sampler-constructor second argument must be a scalar type 'sampler'", token, "");
         return true;
     }
-    if (function.getType().getSampler().shadow != function[1].type->getSampler().shadow) {
-        error(loc, "sampler-constructor second argument presence of shadow must match constructor presence of shadow", token, "");
-        return true;
-    }
 
     return false;
 }
@@ -2734,6 +2964,20 @@
     else if (type.getBasicType() == EbtAtomicUint && type.getQualifier().storage != EvqUniform)
         error(loc, "atomic_uints can only be used in uniform variables or function parameters:", type.getBasicTypeString().c_str(), identifier.c_str());
 }
+#ifdef NV_EXTENSIONS
+void TParseContext::accStructNVCheck(const TSourceLoc& loc, const TType& type, const TString& identifier)
+{
+    if (type.getQualifier().storage == EvqUniform)
+        return;
+
+    if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtAccStructNV))
+        error(loc, "non-uniform struct contains an accelerationStructureNVX:", type.getBasicTypeString().c_str(), identifier.c_str());
+    else if (type.getBasicType() == EbtAccStructNV && type.getQualifier().storage != EvqUniform)
+        error(loc, "accelerationStructureNVX can only be used in uniform variables or function parameters:",
+            type.getBasicTypeString().c_str(), identifier.c_str());
+
+}
+#endif
 
 void TParseContext::transparentOpaqueCheck(const TSourceLoc& loc, const TType& type, const TString& identifier)
 {
@@ -2812,8 +3056,11 @@
     if (! symbolTable.atGlobalLevel())
         return;
 
-    if (qualifier.isMemory() && ! publicType.isImage() && publicType.qualifier.storage != EvqBuffer)
+    if (qualifier.isMemoryQualifierImageAndSSBOOnly() && ! publicType.isImage() && publicType.qualifier.storage != EvqBuffer) {
         error(loc, "memory qualifiers cannot be used on this type", "", "");
+    } else if (qualifier.isMemory() && (publicType.basicType != EbtSampler) && !publicType.qualifier.isUniformOrBuffer()) {
+        error(loc, "memory qualifiers cannot be used on this type", "", "");
+    }
 
     if (qualifier.storage == EvqBuffer && publicType.basicType != EbtBlock)
         error(loc, "buffers can be declared only as blocks", "buffer", "");
@@ -2834,11 +3081,14 @@
     if (isTypeInt(publicType.basicType) || publicType.basicType == EbtDouble)
         profileRequires(loc, EEsProfile, 300, nullptr, "shader input/output");
 
+    if (!qualifier.flat
 #ifdef AMD_EXTENSIONS
-    if (! qualifier.flat && ! qualifier.explicitInterp) {
-#else
-    if (!qualifier.flat) {
+        && !qualifier.explicitInterp
 #endif
+#ifdef NV_EXTENSIONS
+        && !qualifier.pervertexNV
+#endif
+        ) {
         if (isTypeInt(publicType.basicType) ||
             publicType.basicType == EbtDouble ||
             (publicType.userDef && (publicType.userDef->containsBasicType(EbtInt8)   ||
@@ -2860,6 +3110,11 @@
     if (qualifier.patch && qualifier.isInterpolation())
         error(loc, "cannot use interpolation qualifiers with patch", "patch", "");
 
+#ifdef NV_EXTENSIONS
+    if (qualifier.perTaskNV && publicType.basicType != EbtBlock)
+        error(loc, "taskNV variables can be declared only as blocks", "taskNV", "");
+#endif
+
     if (qualifier.storage == EvqVaryingIn) {
         switch (language) {
         case EShLangVertex:
@@ -3026,6 +3281,13 @@
     if (dst.precision == EpqNone || (force && src.precision != EpqNone))
         dst.precision = src.precision;
 
+    if (!force && ((src.coherent && (dst.devicecoherent || dst.queuefamilycoherent || dst.workgroupcoherent || dst.subgroupcoherent)) ||
+                   (src.devicecoherent && (dst.coherent || dst.queuefamilycoherent || dst.workgroupcoherent || dst.subgroupcoherent)) ||
+                   (src.queuefamilycoherent && (dst.coherent || dst.devicecoherent || dst.workgroupcoherent || dst.subgroupcoherent)) ||
+                   (src.workgroupcoherent && (dst.coherent || dst.devicecoherent || dst.queuefamilycoherent || dst.subgroupcoherent)) ||
+                   (src.subgroupcoherent  && (dst.coherent || dst.devicecoherent || dst.queuefamilycoherent || dst.workgroupcoherent)))) {
+        error(loc, "only one coherent/devicecoherent/queuefamilycoherent/workgroupcoherent/subgroupcoherent qualifier allowed", GetPrecisionQualifierString(src.precision), "");
+    }
     // Layout qualifiers
     mergeObjectLayoutQualifiers(dst, src, false);
 
@@ -3041,9 +3303,19 @@
 #ifdef AMD_EXTENSIONS
     MERGE_SINGLETON(explicitInterp);
 #endif
+#ifdef NV_EXTENSIONS
+    MERGE_SINGLETON(perPrimitiveNV);
+    MERGE_SINGLETON(perViewNV);
+    MERGE_SINGLETON(perTaskNV);
+#endif
     MERGE_SINGLETON(patch);
     MERGE_SINGLETON(sample);
     MERGE_SINGLETON(coherent);
+    MERGE_SINGLETON(devicecoherent);
+    MERGE_SINGLETON(queuefamilycoherent);
+    MERGE_SINGLETON(workgroupcoherent);
+    MERGE_SINGLETON(subgroupcoherent);
+    MERGE_SINGLETON(nonprivate);
     MERGE_SINGLETON(volatil);
     MERGE_SINGLETON(restrict);
     MERGE_SINGLETON(readonly);
@@ -3377,7 +3649,7 @@
             if (! symbolTable.atBuiltInLevel()) {
                 if (isIoResizeArray(type)) {
                     ioArraySymbolResizeList.push_back(symbol);
-                    checkIoArraysConsistency(loc, true);
+                    checkIoArraysConsistency(loc, true, type.getQualifier().isPerPrimitive());
                 } else
                     fixIoArraySize(loc, symbol->getWritableType());
             }
@@ -3430,7 +3702,7 @@
     existingType.updateArraySizes(type);
 
     if (isIoResizeArray(type))
-        checkIoArraysConsistency(loc);
+        checkIoArraysConsistency(loc, false, type.getQualifier().isPerPrimitive());
 }
 
 // Policy and error check for needing a runtime sized array.
@@ -3466,6 +3738,28 @@
     return false;
 }
 
+#ifdef NV_EXTENSIONS
+// Fix mesh view output array dimension
+void TParseContext::resizeMeshViewDimension(const TSourceLoc& loc, TType& type)
+{
+    // see if member is a per-view attribute
+    if (type.getQualifier().isPerView()) {
+        // since we don't have the maxMeshViewCountNV set during parsing builtins, we hardcode the value
+        int maxViewCount = parsingBuiltins ? 4 : resources.maxMeshViewCountNV;
+
+        if (! type.isArray()) {
+            error(loc, "requires an view array dimension", "perviewNV", "");
+        }
+        else if (!type.isUnsizedArray() && type.getOuterArraySize() != maxViewCount) {
+            error(loc, "mesh view output array size must be gl_MaxMeshViewCountNV or implicitly sized", "[]", "");
+        }
+        else if (type.isUnsizedArray()) {
+            type.changeOuterArraySize(maxViewCount);
+        }
+    }
+}
+#endif
+
 // Returns true if the first argument to the #line directive is the line number for the next line.
 //
 // Desktop, pre-version 3.30:  "After processing this directive
@@ -3656,7 +3950,12 @@
     profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, feature);
     profileRequires(loc, ~EEsProfile, 410, E_GL_ARB_separate_shader_objects, feature);
 
-    if (blockName != "gl_PerVertex" && blockName != "gl_PerFragment") {
+    if (blockName != "gl_PerVertex" && blockName != "gl_PerFragment"
+#ifdef NV_EXTENSIONS
+        && blockName != "gl_MeshPerVertexNV" && blockName != "gl_MeshPerPrimitiveNV"
+#endif
+       )
+    {
         error(loc, "cannot redeclare block: ", "block declaration", blockName.c_str());
         return;
     }
@@ -3832,7 +4131,7 @@
     // Tracking for implicit sizing of array
     if (isIoResizeArray(block->getType())) {
         ioArraySymbolResizeList.push_back(block);
-        checkIoArraysConsistency(loc, true);
+        checkIoArraysConsistency(loc, true, block->getType().getQualifier().isPerPrimitive());
     } else if (block->getType().isArray())
         fixIoArraySize(loc, block->getWritableType());
 
@@ -3868,6 +4167,11 @@
     if (qualifier.isMemory()) {
         type.getQualifier().volatil   = qualifier.volatil;
         type.getQualifier().coherent  = qualifier.coherent;
+        type.getQualifier().devicecoherent  = qualifier.devicecoherent ;
+        type.getQualifier().queuefamilycoherent  = qualifier.queuefamilycoherent;
+        type.getQualifier().workgroupcoherent  = qualifier.workgroupcoherent;
+        type.getQualifier().subgroupcoherent  = qualifier.subgroupcoherent;
+        type.getQualifier().nonprivate = qualifier.nonprivate;
         type.getQualifier().readonly  = qualifier.readonly;
         type.getQualifier().writeonly = qualifier.writeonly;
         type.getQualifier().restrict  = qualifier.restrict;
@@ -4244,44 +4548,57 @@
         publicType.qualifier.layoutPushConstant = true;
         return;
     }
-    if (language == EShLangGeometry || language == EShLangTessEvaluation) {
+    if (language == EShLangGeometry || language == EShLangTessEvaluation
+#ifdef NV_EXTENSIONS
+        || language == EShLangMeshNV
+#endif
+       ) {
         if (id == TQualifier::getGeometryString(ElgTriangles)) {
             publicType.shaderQualifiers.geometry = ElgTriangles;
             return;
         }
-        if (language == EShLangGeometry) {
+        if (language == EShLangGeometry
+#ifdef NV_EXTENSIONS
+            || language == EShLangMeshNV
+#endif
+           ) {
             if (id == TQualifier::getGeometryString(ElgPoints)) {
                 publicType.shaderQualifiers.geometry = ElgPoints;
                 return;
             }
-            if (id == TQualifier::getGeometryString(ElgLineStrip)) {
-                publicType.shaderQualifiers.geometry = ElgLineStrip;
-                return;
-            }
             if (id == TQualifier::getGeometryString(ElgLines)) {
                 publicType.shaderQualifiers.geometry = ElgLines;
                 return;
             }
-            if (id == TQualifier::getGeometryString(ElgLinesAdjacency)) {
-                publicType.shaderQualifiers.geometry = ElgLinesAdjacency;
-                return;
-            }
-            if (id == TQualifier::getGeometryString(ElgTrianglesAdjacency)) {
-                publicType.shaderQualifiers.geometry = ElgTrianglesAdjacency;
-                return;
-            }
-            if (id == TQualifier::getGeometryString(ElgTriangleStrip)) {
-                publicType.shaderQualifiers.geometry = ElgTriangleStrip;
-                return;
-            }
 #ifdef NV_EXTENSIONS
-            if (id == "passthrough") {
-               requireExtensions(loc, 1, &E_SPV_NV_geometry_shader_passthrough, "geometry shader passthrough");
-               publicType.qualifier.layoutPassthrough = true;
-               intermediate.setGeoPassthroughEXT();
-               return;
-            }
+            if (language == EShLangGeometry)
 #endif
+            {
+                if (id == TQualifier::getGeometryString(ElgLineStrip)) {
+                    publicType.shaderQualifiers.geometry = ElgLineStrip;
+                    return;
+                }
+                if (id == TQualifier::getGeometryString(ElgLinesAdjacency)) {
+                    publicType.shaderQualifiers.geometry = ElgLinesAdjacency;
+                    return;
+                }
+                if (id == TQualifier::getGeometryString(ElgTrianglesAdjacency)) {
+                    publicType.shaderQualifiers.geometry = ElgTrianglesAdjacency;
+                    return;
+                }
+                if (id == TQualifier::getGeometryString(ElgTriangleStrip)) {
+                    publicType.shaderQualifiers.geometry = ElgTriangleStrip;
+                    return;
+                }
+#ifdef NV_EXTENSIONS
+                if (id == "passthrough") {
+                    requireExtensions(loc, 1, &E_SPV_NV_geometry_shader_passthrough, "geometry shader passthrough");
+                    publicType.qualifier.layoutPassthrough = true;
+                    intermediate.setGeoPassthroughEXT();
+                    return;
+                }
+#endif
+            }
         } else {
             assert(language == EShLangTessEvaluation);
 
@@ -4395,6 +4712,27 @@
             publicType.qualifier.layoutViewportRelative = true;
             return;
         }
+    } else {
+        if (language == EShLangRayGenNV || language == EShLangIntersectNV ||
+        language == EShLangAnyHitNV || language == EShLangClosestHitNV ||
+        language == EShLangMissNV || language == EShLangCallableNV) {
+            if (id == "shaderrecordnvx") {
+                publicType.qualifier.layoutShaderRecordNV = true;
+                return;
+            }
+        }
+    }
+    if (language == EShLangCompute) {
+        if (id.compare(0, 17, "derivative_group_") == 0) {
+            requireExtensions(loc, 1, &E_GL_NV_compute_shader_derivatives, "compute shader derivatives");
+            if (id == "derivative_group_quadsnv") {
+                publicType.shaderQualifiers.layoutDerivativeGroupQuads = true;
+                return;
+            } else if (id == "derivative_group_linearnv") {
+                publicType.shaderQualifiers.layoutDerivativeGroupLinear = true;
+                return;
+            }
+        }
     }
 #else
     }
@@ -4624,10 +4962,37 @@
         }
         break;
 
+#ifdef NV_EXTENSIONS
+    case EShLangMeshNV:
+        if (id == "max_vertices") {
+            publicType.shaderQualifiers.vertices = value;
+            if (value > resources.maxMeshOutputVerticesNV)
+                error(loc, "too large, must be less than gl_MaxMeshOutputVerticesNV", "max_vertices", "");
+            return;
+        }
+        if (id == "max_primitives") {
+            publicType.shaderQualifiers.primitives = value;
+            if (value > resources.maxMeshOutputPrimitivesNV)
+                error(loc, "too large, must be less than gl_MaxMeshOutputPrimitivesNV", "max_primitives", "");
+            return;
+        }
+        // Fall through
+
+    case EShLangTaskNV:
+        // Fall through
+#endif
     case EShLangCompute:
         if (id.compare(0, 11, "local_size_") == 0) {
-            profileRequires(loc, EEsProfile, 310, 0, "gl_WorkGroupSize");
-            profileRequires(loc, ~EEsProfile, 430, E_GL_ARB_compute_shader, "gl_WorkGroupSize");
+#ifdef NV_EXTENSIONS
+            if (language == EShLangMeshNV || language == EShLangTaskNV) {
+                profileRequires(loc, ~EEsProfile, 450, E_GL_NV_mesh_shader, "gl_WorkGroupSize");
+            }
+            else
+#endif
+            {
+                profileRequires(loc, EEsProfile, 310, 0, "gl_WorkGroupSize");
+                profileRequires(loc, ~EEsProfile, 430, E_GL_ARB_compute_shader, "gl_WorkGroupSize");
+            }
             if (id.size() == 12 && value == 0) {
                 error(loc, "must be at least 1", id.c_str(), "");
                 return;
@@ -4736,6 +5101,10 @@
             dst.layoutViewportRelative = true;
         if (src.layoutSecondaryViewportRelativeOffset != -2048)
             dst.layoutSecondaryViewportRelativeOffset = src.layoutSecondaryViewportRelativeOffset;
+        if (src.layoutShaderRecordNV)
+            dst.layoutShaderRecordNV = true;
+        if (src.pervertexNV)
+            dst.pervertexNV = true;
 #endif
     }
 }
@@ -4772,9 +5141,10 @@
         switch (qualifier.storage) {
         case EvqVaryingIn:
         case EvqVaryingOut:
-            if (type.getBasicType() != EbtBlock ||
-                (!(*type.getStruct())[0].type->getQualifier().hasLocation() &&
-                  (*type.getStruct())[0].type->getQualifier().builtIn == EbvNone))
+            if (!type.getQualifier().isTaskMemory() &&
+                (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;
         default:
@@ -4800,6 +5170,10 @@
                     error(loc, "cannot specify on a variable declaration", "align", "");
                 if (qualifier.layoutPushConstant)
                     error(loc, "can only specify on a uniform block", "push_constant", "");
+#ifdef NV_EXTENSIONS
+                if (qualifier.layoutShaderRecordNV)
+                    error(loc, "can only specify on a buffer block", "shaderRecordNVX", "");
+#endif
             }
             break;
         default:
@@ -4863,12 +5237,22 @@
         case EvqVaryingOut:
             if (type.getBasicType() == EbtBlock)
                 profileRequires(loc, ECoreProfile | ECompatibilityProfile, 440, E_GL_ARB_enhanced_layouts, "location qualifier on in/out block");
+#ifdef NV_EXTENSIONS
+            if (type.getQualifier().isTaskMemory())
+                error(loc, "cannot apply to taskNV in/out blocks", "location", "");
+#endif
             break;
         case EvqUniform:
         case EvqBuffer:
             if (type.getBasicType() == EbtBlock)
                 error(loc, "cannot apply to uniform or buffer block", "location", "");
             break;
+#ifdef NV_EXTENSIONS
+        case EvqPayloadNV:
+        case EvqPayloadInNV:
+        case EvqHitAttrNV:
+            break;
+#endif
         default:
             error(loc, "can only apply to uniform, buffer, in, or out storage qualifiers", "location", "");
             break;
@@ -4952,7 +5336,10 @@
         if (spvVersion.spv > 0) {
             if (qualifier.isUniformOrBuffer()) {
                 if (type.getBasicType() == EbtBlock && !qualifier.layoutPushConstant &&
-                                                       !qualifier.layoutAttachment)
+#ifdef NV_EXTENSIONS
+                       !qualifier.layoutShaderRecordNV &&
+#endif
+                       !qualifier.layoutAttachment)
                     error(loc, "uniform/buffer blocks require layout(binding=X)", "binding", "");
                 else if (spvVersion.vulkan > 0 && type.getBasicType() == EbtSampler)
                     error(loc, "sampler/texture/image requires layout(binding=X)", "binding", "");
@@ -5004,6 +5391,11 @@
     if (qualifier.layoutPushConstant && type.getBasicType() != EbtBlock)
         error(loc, "can only be used with a block", "push_constant", "");
 
+#ifdef NV_EXTENSIONS
+    if (qualifier.layoutShaderRecordNV && type.getBasicType() != EbtBlock)
+        error(loc, "can only be used with a block", "shaderRecordNVX", "");
+#endif
+
     // input attachment
     if (type.isSubpass()) {
         if (! qualifier.hasAttachment())
@@ -5114,7 +5506,7 @@
     }
 
     if (qualifier.hasBinding()) {
-        if (! qualifier.isUniformOrBuffer())
+        if (! qualifier.isUniformOrBuffer() && !qualifier.isTaskMemory())
             error(loc, "requires uniform or buffer storage qualifier", "binding", "");
     }
     if (qualifier.hasStream()) {
@@ -5126,7 +5518,7 @@
             error(loc, "can only be used on an output", "xfb layout qualifier", "");
     }
     if (qualifier.hasUniformLayout()) {
-        if (! qualifier.isUniformOrBuffer()) {
+        if (! qualifier.isUniformOrBuffer() && !qualifier.isTaskMemory()) {
             if (qualifier.hasMatrix() || qualifier.hasPacking())
                 error(loc, "matrix or packing qualifiers can only be used on a uniform or buffer", "layout", "");
             if (qualifier.hasOffset() || qualifier.hasAlign())
@@ -5139,6 +5531,16 @@
         if (qualifier.hasSet())
             error(loc, "cannot be used with push_constant", "set", "");
     }
+#ifdef NV_EXTENSIONS
+    if (qualifier.layoutShaderRecordNV) {
+        if (qualifier.storage != EvqBuffer)
+            error(loc, "can only be used with a buffer", "shaderRecordNVX", "");
+        if (qualifier.hasBinding())
+            error(loc, "cannot be used with shaderRecordNVX", "binding", "");
+        if (qualifier.hasSet())
+            error(loc, "cannot be used with shaderRecordNVX", "set", "");
+    }
+#endif
 }
 
 // For places that can't have shader-level layout qualifiers
@@ -5167,13 +5569,25 @@
             error(loc, message, "local_size id", "");
     }
     if (shaderQualifiers.vertices != TQualifier::layoutNotSet) {
-        if (language == EShLangGeometry)
+        if (language == EShLangGeometry
+#ifdef NV_EXTENSIONS
+            || language == EShLangMeshNV
+#endif
+           )
             error(loc, message, "max_vertices", "");
         else if (language == EShLangTessControl)
             error(loc, message, "vertices", "");
         else
             assert(0);
     }
+#ifdef NV_EXTENSIONS
+    if (shaderQualifiers.primitives != TQualifier::layoutNotSet) {
+        if (language == EShLangMeshNV)
+            error(loc, message, "max_primitives", "");
+        else
+            assert(0);
+    }
+#endif
     if (shaderQualifiers.blendEquation)
         error(loc, message, "blend equation", "");
     if (shaderQualifiers.numViews != TQualifier::layoutNotSet)
@@ -5556,6 +5970,9 @@
     samplerCheck(loc, type, identifier, initializer);
     atomicUintCheck(loc, type, identifier);
     transparentOpaqueCheck(loc, type, identifier);
+#ifdef NV_EXTENSIONS
+    accStructNVCheck(loc, type, identifier);
+#endif
 
     if (type.getQualifier().storage != EvqUniform && type.getQualifier().storage != EvqBuffer) {
         if (type.containsBasicType(EbtFloat16))
@@ -5917,8 +6334,14 @@
 
     // Combined texture-sampler constructors are completely semantic checked
     // in constructorTextureSamplerError()
-    if (op == EOpConstructTextureSampler)
+    if (op == EOpConstructTextureSampler) {
+        if (aggrNode->getSequence()[1]->getAsTyped()->getType().getSampler().shadow) {
+            // Transfer depth into the texture (SPIR-V image) type, as a hint
+            // for tools to know this texture/image is a depth image.
+            aggrNode->getSequence()[0]->getAsTyped()->getWritableType().getSampler().shadow = true;
+        }
         return intermediate.setAggregateOperator(aggrNode, op, type, loc);
+    }
 
     TTypeList::const_iterator memberTypes;
     if (op == EOpConstructStruct)
@@ -6198,6 +6621,14 @@
         if (memberQualifier.storage != EvqTemporary && memberQualifier.storage != EvqGlobal && memberQualifier.storage != currentBlockQualifier.storage)
             error(memberLoc, "member storage qualifier cannot contradict block storage qualifier", memberType.getFieldName().c_str(), "");
         memberQualifier.storage = currentBlockQualifier.storage;
+#ifdef NV_EXTENSIONS
+        if (currentBlockQualifier.perPrimitiveNV)
+            memberQualifier.perPrimitiveNV = currentBlockQualifier.perPrimitiveNV;
+        if (currentBlockQualifier.perViewNV)
+            memberQualifier.perViewNV = currentBlockQualifier.perViewNV;
+        if (currentBlockQualifier.perTaskNV)
+            memberQualifier.perTaskNV = currentBlockQualifier.perTaskNV;
+#endif
         if ((currentBlockQualifier.storage == EvqUniform || currentBlockQualifier.storage == EvqBuffer) && (memberQualifier.isInterpolation() || memberQualifier.isAuxiliary()))
             error(memberLoc, "member of uniform or buffer block cannot have an auxiliary or interpolation qualifier", memberType.getFieldName().c_str(), "");
         if (memberType.isArray())
@@ -6240,9 +6671,19 @@
 
     // Special case for "push_constant uniform", which has a default of std430,
     // contrary to normal uniform defaults, and can't have a default tracked for it.
-    if (currentBlockQualifier.layoutPushConstant && !currentBlockQualifier.hasPacking())
+    if ((currentBlockQualifier.layoutPushConstant && !currentBlockQualifier.hasPacking())
+#ifdef NV_EXTENSIONS
+        || (currentBlockQualifier.layoutShaderRecordNV && !currentBlockQualifier.hasPacking())
+#endif
+       )
         currentBlockQualifier.layoutPacking = ElpStd430;
 
+#ifdef NV_EXTENSIONS
+    // Special case for "taskNV in/out", which has a default of std430,
+    if (currentBlockQualifier.perTaskNV && !currentBlockQualifier.hasPacking())
+        currentBlockQualifier.layoutPacking = ElpStd430;
+#endif
+
     // fix and check for member layout qualifiers
 
     mergeObjectLayoutQualifiers(defaultQualification, currentBlockQualifier, true);
@@ -6257,6 +6698,9 @@
 
     bool memberWithLocation = false;
     bool memberWithoutLocation = false;
+#ifdef NV_EXTENSIONS
+    bool memberWithPerViewQualifier = false;
+#endif
     for (unsigned int member = 0; member < typeList.size(); ++member) {
         TQualifier& memberQualifier = typeList[member].type->getQualifier();
         const TSourceLoc& memberLoc = typeList[member].loc;
@@ -6300,6 +6744,12 @@
                 error(memberLoc, "can only be used with std140 or std430 layout packing", "offset/align", "");
         }
 
+#ifdef NV_EXTENSIONS
+        if (memberQualifier.isPerView()) {
+            memberWithPerViewQualifier = true;
+        }
+#endif
+
         TQualifier newMemberQualification = defaultQualification;
         mergeQualifiers(memberLoc, newMemberQualification, memberQualifier, false);
         memberQualifier = newMemberQualification;
@@ -6314,6 +6764,14 @@
     for (unsigned int member = 0; member < typeList.size(); ++member)
         layoutTypeCheck(typeList[member].loc, *typeList[member].type);
 
+#ifdef NV_EXTENSIONS
+    if (memberWithPerViewQualifier) {
+        for (unsigned int member = 0; member < typeList.size(); ++member) {
+            resizeMeshViewDimension(typeList[member].loc, *typeList[member].type);
+        }
+    }
+#endif
+
     // reverse merge, so that currentBlockQualifier now has all layout information
     // (can't use defaultQualification directly, it's missing other non-layout-default-class qualifiers)
     mergeObjectLayoutQualifiers(currentBlockQualifier, defaultQualification, true);
@@ -6377,7 +6835,7 @@
     // fix up
     if (isIoResizeArray(blockType)) {
         ioArraySymbolResizeList.push_back(&variable);
-        checkIoArraysConsistency(loc, true);
+        checkIoArraysConsistency(loc, true, blockType.getQualifier().isPerPrimitive());
     } else
         fixIoArraySize(loc, variable.getWritableType());
 
@@ -6405,17 +6863,56 @@
         profileRequires(loc, ~EEsProfile, 150, E_GL_ARB_separate_shader_objects, "input block");
         // It is a compile-time error to have an input block in a vertex shader or an output block in a fragment shader
         // "Compute shaders do not permit user-defined input variables..."
-        requireStage(loc, (EShLanguageMask)(EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask|EShLangFragmentMask), "input block");
-        if (language == EShLangFragment)
+        requireStage(loc, (EShLanguageMask)(EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask|EShLangFragmentMask
+#ifdef NV_EXTENSIONS
+                                            |EShLangMeshNVMask
+#endif
+                                           ), "input block");
+        if (language == EShLangFragment) {
             profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "fragment input block");
+        }
+#ifdef NV_EXTENSIONS
+        else if (language == EShLangMeshNV && ! qualifier.isTaskMemory()) {
+            error(loc, "input blocks cannot be used in a mesh shader", "out", "");
+        }
+#endif
         break;
     case EvqVaryingOut:
         profileRequires(loc, ~EEsProfile, 150, E_GL_ARB_separate_shader_objects, "output block");
-        requireStage(loc, (EShLanguageMask)(EShLangVertexMask|EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask), "output block");
+        requireStage(loc, (EShLanguageMask)(EShLangVertexMask|EShLangTessControlMask|EShLangTessEvaluationMask|EShLangGeometryMask
+#ifdef NV_EXTENSIONS
+                                            |EShLangMeshNVMask|EShLangTaskNVMask
+#endif
+                                           ), "output block");
         // ES 310 can have a block before shader_io is turned on, so skip this test for built-ins
-        if (language == EShLangVertex && ! parsingBuiltins)
+        if (language == EShLangVertex && ! parsingBuiltins) {
             profileRequires(loc, EEsProfile, 320, Num_AEP_shader_io_blocks, AEP_shader_io_blocks, "vertex output block");
+        }
+#ifdef NV_EXTENSIONS
+        else if (language == EShLangMeshNV && qualifier.isTaskMemory()) {
+            error(loc, "can only use on input blocks in mesh shader", "taskNV", "");
+        }
+        else if (language == EShLangTaskNV && ! qualifier.isTaskMemory()) {
+            error(loc, "output blocks cannot be used in a task shader", "out", "");
+        }
+#endif
         break;
+#ifdef NV_EXTENSIONS
+    case EvqPayloadNV:
+        profileRequires(loc, ~EEsProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX block");
+        requireStage(loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangAnyHitNVMask | EShLangClosestHitNVMask | EShLangMissNVMask),
+            "rayPayloadNVX block");
+        break;
+    case EvqPayloadInNV:
+        profileRequires(loc, ~EEsProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX block");
+        requireStage(loc, (EShLanguageMask)(EShLangAnyHitNVMask | EShLangClosestHitNVMask | EShLangMissNVMask),
+            "rayPayloadInNVX block");
+        break;
+    case EvqHitAttrNV:
+        profileRequires(loc, ~EEsProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX block");
+        requireStage(loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangAnyHitNVMask | EShLangClosestHitNVMask), "hitAttributeNVX block");
+        break;
+#endif
     default:
         error(loc, "only uniform, buffer, in, or out blocks are supported", blockName->c_str(), "");
         break;
@@ -6452,6 +6949,12 @@
         error(loc, "cannot use invariant qualifier on an interface block", "invariant", "");
     if (qualifier.layoutPushConstant)
         intermediate.addPushConstantCount();
+#ifdef NV_EXTENSIONS
+    if (qualifier.layoutShaderRecordNV)
+        intermediate.addShaderRecordNVCount();
+    if (qualifier.perTaskNV)
+        intermediate.addTaskNVCount();
+#endif
 }
 
 //
@@ -6537,7 +7040,7 @@
 //
 void TParseContext::fixBlockUniformOffsets(TQualifier& qualifier, TTypeList& typeList)
 {
-    if (! qualifier.isUniformOrBuffer())
+    if (!qualifier.isUniformOrBuffer() && !qualifier.isTaskMemory())
         return;
     if (qualifier.layoutPacking != ElpStd140 && qualifier.layoutPacking != ElpStd430)
         return;
@@ -6669,7 +7172,11 @@
 void TParseContext::updateStandaloneQualifierDefaults(const TSourceLoc& loc, const TPublicType& publicType)
 {
     if (publicType.shaderQualifiers.vertices != TQualifier::layoutNotSet) {
+#ifdef NV_EXTENSIONS
+        assert(language == EShLangTessControl || language == EShLangGeometry || language == EShLangMeshNV);
+#else
         assert(language == EShLangTessControl || language == EShLangGeometry);
+#endif
         const char* id = (language == EShLangTessControl) ? "vertices" : "max_vertices";
 
         if (publicType.qualifier.storage != EvqVaryingOut)
@@ -6680,6 +7187,17 @@
         if (language == EShLangTessControl)
             checkIoArraysConsistency(loc);
     }
+#ifdef NV_EXTENSIONS
+    if (publicType.shaderQualifiers.primitives != TQualifier::layoutNotSet) {
+        assert(language == EShLangMeshNV);
+        const char* id = "max_primitives";
+
+        if (publicType.qualifier.storage != EvqVaryingOut)
+            error(loc, "can only apply to 'out'", id, "");
+        if (! intermediate.setPrimitives(publicType.shaderQualifiers.primitives))
+            error(loc, "cannot change previously set layout value", id, "");
+    }
+#endif
     if (publicType.shaderQualifiers.invocations != TQualifier::layoutNotSet) {
         if (publicType.qualifier.storage != EvqVaryingIn)
             error(loc, "can only apply to 'in'", "invocations", "");
@@ -6696,6 +7214,12 @@
             case ElgTrianglesAdjacency:
             case ElgQuads:
             case ElgIsolines:
+#ifdef NV_EXTENSIONS
+                if (language == EShLangMeshNV) {
+                    error(loc, "cannot apply to input", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), "");
+                    break;
+                }
+#endif
                 if (intermediate.setInputPrimitive(publicType.shaderQualifiers.geometry)) {
                     if (language == EShLangGeometry)
                         checkIoArraysConsistency(loc);
@@ -6707,6 +7231,15 @@
             }
         } else if (publicType.qualifier.storage == EvqVaryingOut) {
             switch (publicType.shaderQualifiers.geometry) {
+#ifdef NV_EXTENSIONS
+            case ElgLines:
+            case ElgTriangles:
+                if (language != EShLangMeshNV) {
+                    error(loc, "cannot apply to 'out'", TQualifier::getGeometryString(publicType.shaderQualifiers.geometry), "");
+                    break;
+                }
+#endif
+                // Fall through
             case ElgPoints:
             case ElgLineStrip:
             case ElgTriangleStrip:
@@ -6746,14 +7279,41 @@
                     error(loc, "cannot change previously set size", "local_size", "");
                 else {
                     int max = 0;
-                    switch (i) {
-                    case 0: max = resources.maxComputeWorkGroupSizeX; break;
-                    case 1: max = resources.maxComputeWorkGroupSizeY; break;
-                    case 2: max = resources.maxComputeWorkGroupSizeZ; break;
-                    default: break;
+                    if (language == EShLangCompute) {
+                        switch (i) {
+                        case 0: max = resources.maxComputeWorkGroupSizeX; break;
+                        case 1: max = resources.maxComputeWorkGroupSizeY; break;
+                        case 2: max = resources.maxComputeWorkGroupSizeZ; break;
+                        default: break;
+                        }
+                        if (intermediate.getLocalSize(i) > (unsigned int)max)
+                            error(loc, "too large; see gl_MaxComputeWorkGroupSize", "local_size", "");
                     }
-                    if (intermediate.getLocalSize(i) > (unsigned int)max)
-                        error(loc, "too large; see gl_MaxComputeWorkGroupSize", "local_size", "");
+#ifdef NV_EXTENSIONS
+                    else if (language == EShLangMeshNV) {
+                        switch (i) {
+                        case 0: max = resources.maxMeshWorkGroupSizeX_NV; break;
+                        case 1: max = resources.maxMeshWorkGroupSizeY_NV; break;
+                        case 2: max = resources.maxMeshWorkGroupSizeZ_NV; break;
+                        default: break;
+                        }
+                        if (intermediate.getLocalSize(i) > (unsigned int)max)
+                            error(loc, "too large; see gl_MaxMeshWorkGroupSizeNV", "local_size", "");
+                    }
+                    else if (language == EShLangTaskNV) {
+                        switch (i) {
+                        case 0: max = resources.maxTaskWorkGroupSizeX_NV; break;
+                        case 1: max = resources.maxTaskWorkGroupSizeY_NV; break;
+                        case 2: max = resources.maxTaskWorkGroupSizeZ_NV; break;
+                        default: break;
+                        }
+                        if (intermediate.getLocalSize(i) > (unsigned int)max)
+                            error(loc, "too large; see gl_MaxTaskWorkGroupSizeNV", "local_size", "");
+                    }
+#endif
+                    else {
+                        assert(0);
+                    }
 
                     // Fix the existing constant gl_WorkGroupSize with this new information.
                     TVariable* workGroupSize = getEditableVariable("gl_WorkGroupSize");
@@ -6792,6 +7352,36 @@
             error(loc, "can only apply to 'out'", "blend equation", "");
     }
 
+#ifdef NV_EXTENSIONS
+    if (publicType.shaderQualifiers.layoutDerivativeGroupQuads &&
+        publicType.shaderQualifiers.layoutDerivativeGroupLinear) {
+        error(loc, "cannot be both specified", "derivative_group_quadsNV and derivative_group_linearNV", "");
+    }
+
+    if (publicType.shaderQualifiers.layoutDerivativeGroupQuads) {
+        if (publicType.qualifier.storage == EvqVaryingIn) {
+            if ((intermediate.getLocalSize(0) & 1) ||
+                (intermediate.getLocalSize(1) & 1))
+                error(loc, "requires local_size_x and local_size_y to be multiple of two", "derivative_group_quadsNV", "");
+            else
+                intermediate.setLayoutDerivativeMode(LayoutDerivativeGroupQuads);
+        }
+        else
+            error(loc, "can only apply to 'in'", "derivative_group_quadsNV", "");
+    }
+    if (publicType.shaderQualifiers.layoutDerivativeGroupLinear) {
+        if (publicType.qualifier.storage == EvqVaryingIn) {
+            if((intermediate.getLocalSize(0) *
+                intermediate.getLocalSize(1) *
+                intermediate.getLocalSize(2)) % 4 != 0)
+                error(loc, "requires total group size to be multiple of four", "derivative_group_linearNV", "");
+            else
+                intermediate.setLayoutDerivativeMode(LayoutDerivativeGroupLinear);
+        }
+        else
+            error(loc, "can only apply to 'in'", "derivative_group_linearNV", "");
+    }
+#endif 
     const TQualifier& qualifier = publicType.qualifier;
 
     if (qualifier.isAuxiliary() ||
@@ -6847,6 +7437,10 @@
         error(loc, "cannot declare a default, can only be used on a block", "push_constant", "");
     if (qualifier.hasSpecConstantId())
         error(loc, "cannot declare a default, can only be used on a scalar", "constant_id", "");
+#ifdef NV_EXTENSIONS
+    if (qualifier.layoutShaderRecordNV)
+        error(loc, "cannot declare a default, can only be used on a block", "shaderRecordNVX", "");
+#endif
 }
 
 //
diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h
old mode 100755
new mode 100644
index e40855e..b513f49
--- a/glslang/MachineIndependent/ParseHelper.h
+++ b/glslang/MachineIndependent/ParseHelper.h
@@ -298,8 +298,8 @@
     void fixIoArraySize(const TSourceLoc&, TType&);
     void ioArrayCheck(const TSourceLoc&, const TType&, const TString& identifier);
     void handleIoResizeArrayAccess(const TSourceLoc&, TIntermTyped* base);
-    void checkIoArraysConsistency(const TSourceLoc&, bool tailOnly = false);
-    int getIoArrayImplicitSize() const;
+    void checkIoArraysConsistency(const TSourceLoc&, bool tailOnly = false, bool isPerPrimitive = false);
+    int getIoArrayImplicitSize(bool isPerPrimitive = false) const;
     void checkIoArrayConsistency(const TSourceLoc&, int requiredSize, const char* feature, TType&, const TString&);
 
     TIntermTyped* handleBinaryMath(const TSourceLoc&, const char* str, TOperator op, TIntermTyped* left, TIntermTyped* right);
@@ -323,6 +323,7 @@
     TFunction* handleConstructorCall(const TSourceLoc&, const TPublicType&);
     void handlePrecisionQualifier(const TSourceLoc&, TQualifier&, TPrecisionQualifier);
     void checkPrecisionQualifier(const TSourceLoc&, TPrecisionQualifier);
+    void memorySemanticsCheck(const TSourceLoc&, const TFunction&, const TIntermOperator& callNode);
 
     void assignError(const TSourceLoc&, const char* op, TString left, TString right);
     void unaryOpError(const TSourceLoc&, const char* op, TString operand);
@@ -347,6 +348,7 @@
     void boolCheck(const TSourceLoc&, const TPublicType&);
     void samplerCheck(const TSourceLoc&, const TType&, const TString& identifier, TIntermTyped* initializer);
     void atomicUintCheck(const TSourceLoc&, const TType&, const TString& identifier);
+    void accStructNVCheck(const TSourceLoc & loc, const TType & type, const TString & identifier);
     void transparentOpaqueCheck(const TSourceLoc&, const TType&, const TString& identifier);
     void memberQualifierCheck(glslang::TPublicType&);
     void globalQualifierFixCheck(const TSourceLoc&, TQualifier&);
@@ -422,6 +424,8 @@
     // Determine loop control from attributes
     void handleLoopAttributes(const TAttributes& attributes, TIntermNode*);
 
+    void resizeMeshViewDimension(const TSourceLoc&, TType&);
+
 protected:
     void nonInitConstCheck(const TSourceLoc&, TString& identifier, TType& type);
     void inheritGlobalDefaults(TQualifier& dst) const;
diff --git a/glslang/MachineIndependent/Scan.cpp b/glslang/MachineIndependent/Scan.cpp
old mode 100755
new mode 100644
index 66ac4a8..7bdd430
--- a/glslang/MachineIndependent/Scan.cpp
+++ b/glslang/MachineIndependent/Scan.cpp
@@ -380,6 +380,11 @@
     (*KeywordMap)["varying"] =                 VARYING;
     (*KeywordMap)["buffer"] =                  BUFFER;
     (*KeywordMap)["coherent"] =                COHERENT;
+    (*KeywordMap)["devicecoherent"] =          DEVICECOHERENT;
+    (*KeywordMap)["queuefamilycoherent"] =     QUEUEFAMILYCOHERENT;
+    (*KeywordMap)["workgroupcoherent"] =       WORKGROUPCOHERENT;
+    (*KeywordMap)["subgroupcoherent"] =        SUBGROUPCOHERENT;
+    (*KeywordMap)["nonprivate"] =              NONPRIVATE;
     (*KeywordMap)["restrict"] =                RESTRICT;
     (*KeywordMap)["readonly"] =                READONLY;
     (*KeywordMap)["writeonly"] =               WRITEONLY;
@@ -683,15 +688,28 @@
     (*KeywordMap)["smooth"] =                  SMOOTH;
     (*KeywordMap)["flat"] =                    FLAT;
 #ifdef AMD_EXTENSIONS
-    (*KeywordMap)["__explicitInterpAMD"] =     __EXPLICITINTERPAMD;
+    (*KeywordMap)["__explicitInterpAMD"] =     EXPLICITINTERPAMD;
 #endif
     (*KeywordMap)["centroid"] =                CENTROID;
+#ifdef NV_EXTENSIONS
+    (*KeywordMap)["pervertexNV"] =             PERVERTEXNV;
+#endif
     (*KeywordMap)["precise"] =                 PRECISE;
     (*KeywordMap)["invariant"] =               INVARIANT;
     (*KeywordMap)["packed"] =                  PACKED;
     (*KeywordMap)["resource"] =                RESOURCE;
     (*KeywordMap)["superp"] =                  SUPERP;
 
+#ifdef NV_EXTENSIONS
+    (*KeywordMap)["rayPayloadNVX"] =            PAYLOADNV;
+    (*KeywordMap)["rayPayloadInNVX"] =          PAYLOADINNV;
+    (*KeywordMap)["hitAttributeNVX"] =          HITATTRNV;
+    (*KeywordMap)["accelerationStructureNVX"] = ACCSTRUCTNV;
+    (*KeywordMap)["perprimitiveNV"] =          PERPRIMITIVENV;
+    (*KeywordMap)["perviewNV"] =               PERVIEWNV;
+    (*KeywordMap)["taskNV"] =                  PERTASKNV;
+#endif
+
     ReservedSet = new std::unordered_set<const char*, str_hash, str_eq>;
 
     ReservedSet->insert("common");
@@ -930,6 +948,18 @@
             return identifierOrType();
         return keyword;
 
+#ifdef NV_EXTENSIONS
+    case PAYLOADNV:
+    case PAYLOADINNV:
+    case HITATTRNV:
+    case ACCSTRUCTNV:
+        if (parseContext.symbolTable.atBuiltInLevel() ||
+            (parseContext.profile != EEsProfile && parseContext.version >= 460
+                 && parseContext.extensionTurnedOn(E_GL_NVX_raytracing)))
+            return keyword;
+        return identifierOrType();
+#endif
+
     case ATOMIC_UINT:
         if ((parseContext.profile == EEsProfile && parseContext.version >= 310) ||
             parseContext.extensionTurnedOn(E_GL_ARB_shader_atomic_counters))
@@ -937,6 +967,11 @@
         return es30ReservedFromGLSL(420);
 
     case COHERENT:
+    case DEVICECOHERENT:
+    case QUEUEFAMILYCOHERENT:
+    case WORKGROUPCOHERENT:
+    case SUBGROUPCOHERENT:
+    case NONPRIVATE:
     case RESTRICT:
     case READONLY:
     case WRITEONLY:
@@ -1490,13 +1525,22 @@
         return keyword;
 
 #ifdef AMD_EXTENSIONS
-    case __EXPLICITINTERPAMD:
+    case EXPLICITINTERPAMD:
         if (parseContext.profile != EEsProfile && parseContext.version >= 450 &&
             parseContext.extensionTurnedOn(E_GL_AMD_shader_explicit_vertex_parameter))
             return keyword;
         return identifierOrType();
 #endif
 
+#ifdef NV_EXTENSIONS
+    case PERVERTEXNV:
+        if (((parseContext.profile != EEsProfile && parseContext.version >= 450) ||
+            (parseContext.profile == EEsProfile && parseContext.version >= 320)) &&
+            parseContext.extensionTurnedOn(E_GL_NV_fragment_shader_barycentric))
+            return keyword;
+        return identifierOrType();
+#endif
+
     case FLAT:
         if (parseContext.profile == EEsProfile && parseContext.version < 300)
             reservedWord();
@@ -1543,6 +1587,16 @@
         return identifierOrReserved(reserved);
     }
 
+#ifdef NV_EXTENSIONS
+    case PERPRIMITIVENV:
+    case PERVIEWNV:
+    case PERTASKNV:
+        if (parseContext.profile != EEsProfile &&
+            (parseContext.version >= 450 || parseContext.extensionTurnedOn(E_GL_NV_mesh_shader)))
+            return keyword;
+        return identifierOrType();
+#endif
+
     default:
         parseContext.infoSink.info.message(EPrefixInternalError, "Unknown glslang keyword", loc);
         return 0;
diff --git a/glslang/MachineIndependent/ScanContext.h b/glslang/MachineIndependent/ScanContext.h
old mode 100755
new mode 100644
diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp
old mode 100644
new mode 100755
index dd3e159..901b1fd
--- a/glslang/MachineIndependent/ShaderLang.cpp
+++ b/glslang/MachineIndependent/ShaderLang.cpp
@@ -67,6 +67,11 @@
 #include "iomapper.h"
 #include "Initialize.h"
 
+// TODO: this really shouldn't be here, it is only because of the trial addition
+// of printing pre-processed tokens, which requires knowing the string literal
+// token to print ", but none of that seems appropriate for this file.
+#include "preprocessor/PpTokens.h"
+
 namespace { // anonymous namespace for file-local functions and symbols
 
 // Total number of successful initializers of glslang: a refcount
@@ -342,6 +347,31 @@
         InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangCompute, source,
                                    infoSink, commonTable, symbolTables);
 
+#ifdef NV_EXTENSIONS
+    // check for ray tracing stages
+    if (profile != EEsProfile && version >= 450) {
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangRayGenNV, source,
+            infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangIntersectNV, source,
+            infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangAnyHitNV, source,
+            infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangClosestHitNV, source,
+            infoSink, commonTable, symbolTables);
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMissNV, source,
+            infoSink, commonTable, symbolTables);
+    }
+    // check for mesh
+    if (profile != EEsProfile && version >= 450)
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangMeshNV, source,
+                                   infoSink, commonTable, symbolTables);
+
+    // check for task
+    if (profile != EEsProfile && version >= 450)
+        InitializeStageSymbolTable(*builtInParseables, version, profile, spvVersion, EShLangTaskNV, source,
+                                   infoSink, commonTable, symbolTables);
+#endif
+
     return true;
 }
 
@@ -565,6 +595,28 @@
             version = profile == EEsProfile ? 310 : 420;
         }
         break;
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:
+    case EShLangIntersectNV:
+    case EShLangAnyHitNV:
+    case EShLangClosestHitNV:
+    case EShLangMissNV:
+    case EShLangCallableNV:
+        if (profile == EEsProfile || version < 460) {
+            correct = false;
+            infoSink.info.message(EPrefixError, "#version: raytracing shaders require non-es profile with version 460 or above");
+            version = 460;
+        }
+        break;
+    case EShLangMeshNV:
+    case EShLangTaskNV:
+        if ((profile == EEsProfile) ||
+            (profile != EEsProfile && version < 450)) {
+            correct = false;
+            infoSink.info.message(EPrefixError, "#version: mesh/task shaders require non-es profile with version 450 or above");
+            version = 450;
+        }
+#endif
     default:
         break;
     }
@@ -965,6 +1017,8 @@
 // DoPreprocessing is a valid ProcessingContext template argument,
 // which only performs the preprocessing step of compilation.
 // It places the result in the "string" argument to its constructor.
+//
+// This is not an officially supported or fully working path.
 struct DoPreprocessing {
     explicit DoPreprocessing(std::string* string): outputString(string) {}
     bool operator()(TParseContextBase& parseContext, TPpContext& ppContext,
@@ -1072,7 +1126,11 @@
                 outputBuffer += ' ';
             }
             lastToken = token;
+            if (token == PpAtomConstString)
+                outputBuffer += "\"";
             outputBuffer += ppToken.name;
+            if (token == PpAtomConstString)
+                outputBuffer += "\"";
         } while (true);
         outputBuffer += '\n';
         *outputString = std::move(outputBuffer);
@@ -1122,6 +1180,9 @@
 // Return: True if there were no issues found in preprocessing,
 //         False if during preprocessing any unknown version, pragmas or
 //         extensions were found.
+//
+// NOTE: Doing just preprocessing to obtain a correct preprocessed shader string
+// is not an officially supported or fully working path.
 bool PreprocessDeferred(
     TCompiler* compiler,
     const char* const shaderStrings[],
@@ -1726,6 +1787,9 @@
 
 // Fill in a string with the result of preprocessing ShaderStrings
 // Returns true if all extensions, pragmas and version strings were valid.
+//
+// NOTE: Doing just preprocessing to obtain a correct preprocessed shader string
+// is not an officially supported or fully working path.
 bool TShader::preprocess(const TBuiltInResource* builtInResources,
                          int defaultVersion, EProfile defaultProfile,
                          bool forceDefaultVersionAndProfile,
diff --git a/glslang/MachineIndependent/SymbolTable.cpp b/glslang/MachineIndependent/SymbolTable.cpp
index db46e10..bd7d5aa 100644
--- a/glslang/MachineIndependent/SymbolTable.cpp
+++ b/glslang/MachineIndependent/SymbolTable.cpp
@@ -72,6 +72,9 @@
     case EbtUint64:             mangledName += "u64";    break;
     case EbtBool:               mangledName += 'b';      break;
     case EbtAtomicUint:         mangledName += "au";     break;
+#ifdef NV_EXTENSIONS
+    case EbtAccStructNV:        mangledName += "asnv";   break;
+#endif
     case EbtSampler:
         switch (sampler.type) {
 #ifdef AMD_EXTENSIONS
diff --git a/glslang/MachineIndependent/Versions.cpp b/glslang/MachineIndependent/Versions.cpp
old mode 100755
new mode 100644
index 00af4d4..250f325
--- a/glslang/MachineIndependent/Versions.cpp
+++ b/glslang/MachineIndependent/Versions.cpp
@@ -194,6 +194,9 @@
     extensionBehavior[E_GL_KHR_shader_subgroup_shuffle_relative] = EBhDisable;
     extensionBehavior[E_GL_KHR_shader_subgroup_clustered]        = EBhDisable;
     extensionBehavior[E_GL_KHR_shader_subgroup_quad]             = EBhDisable;
+    extensionBehavior[E_GL_KHR_memory_scope_semantics]           = EBhDisable;
+
+    extensionBehavior[E_GL_EXT_shader_atomic_int64]              = EBhDisable;
 
     extensionBehavior[E_GL_EXT_shader_non_constant_global_initializers] = EBhDisable;
     extensionBehavior[E_GL_EXT_shader_image_load_formatted]             = EBhDisable;
@@ -232,6 +235,12 @@
     extensionBehavior[E_GL_NV_conservative_raster_underestimation]   = EBhDisable;
     extensionBehavior[E_GL_NV_shader_noperspective_interpolation]    = EBhDisable;
     extensionBehavior[E_GL_NV_shader_subgroup_partitioned]           = EBhDisable;
+    extensionBehavior[E_GL_NV_shading_rate_image]                    = EBhDisable;
+    extensionBehavior[E_GL_NVX_raytracing]                           = EBhDisable;
+    extensionBehavior[E_GL_NV_fragment_shader_barycentric]           = EBhDisable;
+    extensionBehavior[E_GL_NV_compute_shader_derivatives]            = EBhDisable;
+    extensionBehavior[E_GL_NV_shader_texture_footprint]              = EBhDisable;
+    extensionBehavior[E_GL_NV_mesh_shader]                           = EBhDisable;
 #endif
 
     // AEP
@@ -380,6 +389,8 @@
             "#define GL_KHR_shader_subgroup_clustered 1\n"
             "#define GL_KHR_shader_subgroup_quad 1\n"
 
+            "#define E_GL_EXT_shader_atomic_int64 1\n"
+
 #ifdef AMD_EXTENSIONS
             "#define GL_AMD_shader_ballot 1\n"
             "#define GL_AMD_shader_trinary_minmax 1\n"
@@ -400,6 +411,12 @@
             "#define GL_NV_shader_atomic_int64 1\n"
             "#define GL_NV_conservative_raster_underestimation 1\n"
             "#define GL_NV_shader_subgroup_partitioned 1\n"
+            "#define GL_NV_shading_rate_image 1\n"
+            "#define GL_NVX_raytracing 1\n"
+            "#define GL_NV_fragment_shader_barycentric 1\n"
+            "#define GL_NV_compute_shader_derivatives 1\n"
+            "#define GL_NV_shader_texture_footprint 1\n"
+            "#define GL_NV_mesh_shader 1\n"
 #endif
             "#define GL_KHX_shader_explicit_arithmetic_types 1\n"
             "#define GL_KHX_shader_explicit_arithmetic_types_int8 1\n"
@@ -487,6 +504,16 @@
     case EShLangGeometry:       return "geometry";
     case EShLangFragment:       return "fragment";
     case EShLangCompute:        return "compute";
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:       return "ray-generation";
+    case EShLangIntersectNV:    return "intersection";
+    case EShLangAnyHitNV:       return "any-hit";
+    case EShLangClosestHitNV:   return "closest-hit";
+    case EShLangMissNV:         return "miss";
+    case EShLangCallableNV:     return "callable";
+    case EShLangMeshNV:         return "mesh";
+    case EShLangTaskNV:         return "task";
+#endif
     default:                    return "unknown stage";
     }
 }
diff --git a/glslang/MachineIndependent/Versions.h b/glslang/MachineIndependent/Versions.h
old mode 100755
new mode 100644
index 025e01c..e4cbbbb
--- a/glslang/MachineIndependent/Versions.h
+++ b/glslang/MachineIndependent/Versions.h
@@ -148,6 +148,9 @@
 const char* const E_GL_KHR_shader_subgroup_shuffle_relative = "GL_KHR_shader_subgroup_shuffle_relative";
 const char* const E_GL_KHR_shader_subgroup_clustered        = "GL_KHR_shader_subgroup_clustered";
 const char* const E_GL_KHR_shader_subgroup_quad             = "GL_KHR_shader_subgroup_quad";
+const char* const E_GL_KHR_memory_scope_semantics           = "GL_KHR_memory_scope_semantics";
+
+const char* const E_GL_EXT_shader_atomic_int64              = "GL_EXT_shader_atomic_int64";
 
 const char* const E_GL_EXT_shader_non_constant_global_initializers = "GL_EXT_shader_non_constant_global_initializers";
 const char* const E_GL_EXT_shader_image_load_formatted = "GL_EXT_shader_image_load_formatted";
@@ -204,6 +207,12 @@
 const char* const E_GL_NV_conservative_raster_underestimation   = "GL_NV_conservative_raster_underestimation";
 const char* const E_GL_NV_shader_noperspective_interpolation    = "GL_NV_shader_noperspective_interpolation";
 const char* const E_GL_NV_shader_subgroup_partitioned           = "GL_NV_shader_subgroup_partitioned";
+const char* const E_GL_NV_shading_rate_image                    = "GL_NV_shading_rate_image";
+const char* const E_GL_NVX_raytracing                           = "GL_NVX_raytracing";
+const char* const E_GL_NV_fragment_shader_barycentric           = "GL_NV_fragment_shader_barycentric";
+const char* const E_GL_NV_compute_shader_derivatives            = "GL_NV_compute_shader_derivatives";
+const char* const E_GL_NV_shader_texture_footprint              = "GL_NV_shader_texture_footprint";
+const char* const E_GL_NV_mesh_shader                           = "GL_NV_mesh_shader";
 
 // Arrays of extensions for the above viewportEXTs duplications
 
diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y
old mode 100755
new mode 100644
index 4d16b2b..9d89d46
--- a/glslang/MachineIndependent/glslang.y
+++ b/glslang/MachineIndependent/glslang.y
@@ -140,13 +140,13 @@
 %token <lex> U8VEC2  U8VEC3  U8VEC4
 %token <lex> VEC2 VEC3 VEC4
 %token <lex> MAT2 MAT3 MAT4 CENTROID IN OUT INOUT
-%token <lex> UNIFORM PATCH SAMPLE BUFFER SHARED NONUNIFORM
-%token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY
+%token <lex> UNIFORM PATCH SAMPLE BUFFER SHARED NONUNIFORM PAYLOADNV PAYLOADINNV HITATTRNV
+%token <lex> COHERENT VOLATILE RESTRICT READONLY WRITEONLY DEVICECOHERENT QUEUEFAMILYCOHERENT WORKGROUPCOHERENT SUBGROUPCOHERENT NONPRIVATE
 %token <lex> DVEC2 DVEC3 DVEC4 DMAT2 DMAT3 DMAT4
 %token <lex> F16VEC2 F16VEC3 F16VEC4 F16MAT2 F16MAT3 F16MAT4
 %token <lex> F32VEC2 F32VEC3 F32VEC4 F32MAT2 F32MAT3 F32MAT4
 %token <lex> F64VEC2 F64VEC3 F64VEC4 F64MAT2 F64MAT3 F64MAT4
-%token <lex> NOPERSPECTIVE FLAT SMOOTH LAYOUT __EXPLICITINTERPAMD
+%token <lex> NOPERSPECTIVE FLAT SMOOTH LAYOUT EXPLICITINTERPAMD PERVERTEXNV PERPRIMITIVENV PERVIEWNV PERTASKNV
 
 %token <lex> MAT2X2 MAT2X3 MAT2X4
 %token <lex> MAT3X2 MAT3X3 MAT3X4
@@ -164,6 +164,7 @@
 %token <lex> F64MAT3X2 F64MAT3X3 F64MAT3X4
 %token <lex> F64MAT4X2 F64MAT4X3 F64MAT4X4
 %token <lex> ATOMIC_UINT
+%token <lex> ACCSTRUCTNV
 
 // combined image/sampler
 %token <lex> SAMPLER1D SAMPLER2D SAMPLER3D SAMPLERCUBE SAMPLER1DSHADOW SAMPLER2DSHADOW
@@ -1135,7 +1136,7 @@
         $$.init($1.loc);
         $$.qualifier.nopersp = true;
     }
-    | __EXPLICITINTERPAMD {
+    | EXPLICITINTERPAMD {
 #ifdef AMD_EXTENSIONS
         parseContext.globalCheck($1.loc, "__explicitInterpAMD");
         parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_AMD_shader_explicit_vertex_parameter, "explicit interpolation");
@@ -1144,6 +1145,40 @@
         $$.qualifier.explicitInterp = true;
 #endif
     }
+    | PERVERTEXNV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "pervertexNV");
+        parseContext.profileRequires($1.loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
+        parseContext.profileRequires($1.loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
+        parseContext.profileRequires($1.loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
+        $$.init($1.loc);
+        $$.qualifier.pervertexNV = true;
+#endif
+    }
+    | PERPRIMITIVENV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "perprimitiveNV");
+        parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NV_mesh_shader, "perprimitiveNV");
+        $$.init($1.loc);
+        $$.qualifier.perPrimitiveNV = true;
+#endif
+    }
+    | PERVIEWNV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "perviewNV");
+        parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NV_mesh_shader, "perviewNV");
+        $$.init($1.loc);
+        $$.qualifier.perViewNV = true;
+#endif
+    }
+    | PERTASKNV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "taskNV");
+        parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NV_mesh_shader, "taskNV");
+        $$.init($1.loc);
+        $$.qualifier.perTaskNV = true;
+#endif
+    }
     ;
 
 layout_qualifier
@@ -1305,11 +1340,45 @@
         $$.init($1.loc);
         $$.qualifier.storage = EvqBuffer;
     }
+    | HITATTRNV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "hitAttributeNVX");
+        parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask
+            | EShLangAnyHitNVMask), "hitAttributeNVX");
+        parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX");
+        $$.init($1.loc);
+        $$.qualifier.storage = EvqHitAttrNV;
+#endif
+    }
+    | PAYLOADNV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "rayPayloadNVX");
+        parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask |
+            EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNVX");
+        parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX");
+        $$.init($1.loc);
+        $$.qualifier.storage = EvqPayloadNV;
+#endif
+    }
+    | PAYLOADINNV {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck($1.loc, "rayPayloadInNVX");
+        parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangClosestHitNVMask |
+            EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNVX");
+        parseContext.profileRequires($1.loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX");
+        $$.init($1.loc);
+        $$.qualifier.storage = EvqPayloadInNV;
+#endif
+    }
     | SHARED {
         parseContext.globalCheck($1.loc, "shared");
         parseContext.profileRequires($1.loc, ECoreProfile | ECompatibilityProfile, 430, E_GL_ARB_compute_shader, "shared");
         parseContext.profileRequires($1.loc, EEsProfile, 310, 0, "shared");
+#ifdef NV_EXTENSIONS
+        parseContext.requireStage($1.loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared");
+#else
         parseContext.requireStage($1.loc, EShLangCompute, "shared");
+#endif
         $$.init($1.loc);
         $$.qualifier.storage = EvqShared;
     }
@@ -1317,6 +1386,31 @@
         $$.init($1.loc);
         $$.qualifier.coherent = true;
     }
+    | DEVICECOHERENT {
+        $$.init($1.loc);
+        parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
+        $$.qualifier.devicecoherent = true;
+    }
+    | QUEUEFAMILYCOHERENT {
+        $$.init($1.loc);
+        parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
+        $$.qualifier.queuefamilycoherent = true;
+    }
+    | WORKGROUPCOHERENT {
+        $$.init($1.loc);
+        parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
+        $$.qualifier.workgroupcoherent = true;
+    }
+    | SUBGROUPCOHERENT {
+        $$.init($1.loc);
+        parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
+        $$.qualifier.subgroupcoherent = true;
+    }
+    | NONPRIVATE {
+        $$.init($1.loc);
+        parseContext.requireExtensions($1.loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
+        $$.qualifier.nonprivate = true;
+    }
     | VOLATILE {
         $$.init($1.loc);
         $$.qualifier.volatil = true;
@@ -2114,6 +2208,12 @@
         $$.basicType = EbtDouble;
         $$.setMatrix(4, 4);
     }
+    | ACCSTRUCTNV {
+#ifdef NV_EXTENSIONS
+       $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
+       $$.basicType = EbtAccStructNV;
+#endif
+    }
     | ATOMIC_UINT {
         parseContext.vulkanRemoved($1.loc, "atomic counter types");
         $$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
diff --git a/glslang/MachineIndependent/glslang_tab.cpp b/glslang/MachineIndependent/glslang_tab.cpp
old mode 100755
new mode 100644
index 96e245e..32ec5ba
--- 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.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison implementation for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015 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"
+#define YYBISON_VERSION "3.0.4"
 
 /* Skeleton name.  */
 #define YYSKELETON_NAME "yacc.c"
@@ -90,11 +90,11 @@
 
 #line 92 "MachineIndependent/glslang_tab.cpp" /* yacc.c:339  */
 
-# ifndef YY_NULL
+# ifndef YY_NULLPTR
 #  if defined __cplusplus && 201103L <= __cplusplus
-#   define YY_NULL nullptr
+#   define YY_NULLPTR nullptr
 #  else
-#   define YY_NULL 0
+#   define YY_NULLPTR 0
 #  endif
 # endif
 
@@ -203,320 +203,333 @@
     BUFFER = 335,
     SHARED = 336,
     NONUNIFORM = 337,
-    COHERENT = 338,
-    VOLATILE = 339,
-    RESTRICT = 340,
-    READONLY = 341,
-    WRITEONLY = 342,
-    DVEC2 = 343,
-    DVEC3 = 344,
-    DVEC4 = 345,
-    DMAT2 = 346,
-    DMAT3 = 347,
-    DMAT4 = 348,
-    F16VEC2 = 349,
-    F16VEC3 = 350,
-    F16VEC4 = 351,
-    F16MAT2 = 352,
-    F16MAT3 = 353,
-    F16MAT4 = 354,
-    F32VEC2 = 355,
-    F32VEC3 = 356,
-    F32VEC4 = 357,
-    F32MAT2 = 358,
-    F32MAT3 = 359,
-    F32MAT4 = 360,
-    F64VEC2 = 361,
-    F64VEC3 = 362,
-    F64VEC4 = 363,
-    F64MAT2 = 364,
-    F64MAT3 = 365,
-    F64MAT4 = 366,
-    NOPERSPECTIVE = 367,
-    FLAT = 368,
-    SMOOTH = 369,
-    LAYOUT = 370,
-    __EXPLICITINTERPAMD = 371,
-    MAT2X2 = 372,
-    MAT2X3 = 373,
-    MAT2X4 = 374,
-    MAT3X2 = 375,
-    MAT3X3 = 376,
-    MAT3X4 = 377,
-    MAT4X2 = 378,
-    MAT4X3 = 379,
-    MAT4X4 = 380,
-    DMAT2X2 = 381,
-    DMAT2X3 = 382,
-    DMAT2X4 = 383,
-    DMAT3X2 = 384,
-    DMAT3X3 = 385,
-    DMAT3X4 = 386,
-    DMAT4X2 = 387,
-    DMAT4X3 = 388,
-    DMAT4X4 = 389,
-    F16MAT2X2 = 390,
-    F16MAT2X3 = 391,
-    F16MAT2X4 = 392,
-    F16MAT3X2 = 393,
-    F16MAT3X3 = 394,
-    F16MAT3X4 = 395,
-    F16MAT4X2 = 396,
-    F16MAT4X3 = 397,
-    F16MAT4X4 = 398,
-    F32MAT2X2 = 399,
-    F32MAT2X3 = 400,
-    F32MAT2X4 = 401,
-    F32MAT3X2 = 402,
-    F32MAT3X3 = 403,
-    F32MAT3X4 = 404,
-    F32MAT4X2 = 405,
-    F32MAT4X3 = 406,
-    F32MAT4X4 = 407,
-    F64MAT2X2 = 408,
-    F64MAT2X3 = 409,
-    F64MAT2X4 = 410,
-    F64MAT3X2 = 411,
-    F64MAT3X3 = 412,
-    F64MAT3X4 = 413,
-    F64MAT4X2 = 414,
-    F64MAT4X3 = 415,
-    F64MAT4X4 = 416,
-    ATOMIC_UINT = 417,
-    SAMPLER1D = 418,
-    SAMPLER2D = 419,
-    SAMPLER3D = 420,
-    SAMPLERCUBE = 421,
-    SAMPLER1DSHADOW = 422,
-    SAMPLER2DSHADOW = 423,
-    SAMPLERCUBESHADOW = 424,
-    SAMPLER1DARRAY = 425,
-    SAMPLER2DARRAY = 426,
-    SAMPLER1DARRAYSHADOW = 427,
-    SAMPLER2DARRAYSHADOW = 428,
-    ISAMPLER1D = 429,
-    ISAMPLER2D = 430,
-    ISAMPLER3D = 431,
-    ISAMPLERCUBE = 432,
-    ISAMPLER1DARRAY = 433,
-    ISAMPLER2DARRAY = 434,
-    USAMPLER1D = 435,
-    USAMPLER2D = 436,
-    USAMPLER3D = 437,
-    USAMPLERCUBE = 438,
-    USAMPLER1DARRAY = 439,
-    USAMPLER2DARRAY = 440,
-    SAMPLER2DRECT = 441,
-    SAMPLER2DRECTSHADOW = 442,
-    ISAMPLER2DRECT = 443,
-    USAMPLER2DRECT = 444,
-    SAMPLERBUFFER = 445,
-    ISAMPLERBUFFER = 446,
-    USAMPLERBUFFER = 447,
-    SAMPLERCUBEARRAY = 448,
-    SAMPLERCUBEARRAYSHADOW = 449,
-    ISAMPLERCUBEARRAY = 450,
-    USAMPLERCUBEARRAY = 451,
-    SAMPLER2DMS = 452,
-    ISAMPLER2DMS = 453,
-    USAMPLER2DMS = 454,
-    SAMPLER2DMSARRAY = 455,
-    ISAMPLER2DMSARRAY = 456,
-    USAMPLER2DMSARRAY = 457,
-    SAMPLEREXTERNALOES = 458,
-    F16SAMPLER1D = 459,
-    F16SAMPLER2D = 460,
-    F16SAMPLER3D = 461,
-    F16SAMPLER2DRECT = 462,
-    F16SAMPLERCUBE = 463,
-    F16SAMPLER1DARRAY = 464,
-    F16SAMPLER2DARRAY = 465,
-    F16SAMPLERCUBEARRAY = 466,
-    F16SAMPLERBUFFER = 467,
-    F16SAMPLER2DMS = 468,
-    F16SAMPLER2DMSARRAY = 469,
-    F16SAMPLER1DSHADOW = 470,
-    F16SAMPLER2DSHADOW = 471,
-    F16SAMPLER1DARRAYSHADOW = 472,
-    F16SAMPLER2DARRAYSHADOW = 473,
-    F16SAMPLER2DRECTSHADOW = 474,
-    F16SAMPLERCUBESHADOW = 475,
-    F16SAMPLERCUBEARRAYSHADOW = 476,
-    SAMPLER = 477,
-    SAMPLERSHADOW = 478,
-    TEXTURE1D = 479,
-    TEXTURE2D = 480,
-    TEXTURE3D = 481,
-    TEXTURECUBE = 482,
-    TEXTURE1DARRAY = 483,
-    TEXTURE2DARRAY = 484,
-    ITEXTURE1D = 485,
-    ITEXTURE2D = 486,
-    ITEXTURE3D = 487,
-    ITEXTURECUBE = 488,
-    ITEXTURE1DARRAY = 489,
-    ITEXTURE2DARRAY = 490,
-    UTEXTURE1D = 491,
-    UTEXTURE2D = 492,
-    UTEXTURE3D = 493,
-    UTEXTURECUBE = 494,
-    UTEXTURE1DARRAY = 495,
-    UTEXTURE2DARRAY = 496,
-    TEXTURE2DRECT = 497,
-    ITEXTURE2DRECT = 498,
-    UTEXTURE2DRECT = 499,
-    TEXTUREBUFFER = 500,
-    ITEXTUREBUFFER = 501,
-    UTEXTUREBUFFER = 502,
-    TEXTURECUBEARRAY = 503,
-    ITEXTURECUBEARRAY = 504,
-    UTEXTURECUBEARRAY = 505,
-    TEXTURE2DMS = 506,
-    ITEXTURE2DMS = 507,
-    UTEXTURE2DMS = 508,
-    TEXTURE2DMSARRAY = 509,
-    ITEXTURE2DMSARRAY = 510,
-    UTEXTURE2DMSARRAY = 511,
-    F16TEXTURE1D = 512,
-    F16TEXTURE2D = 513,
-    F16TEXTURE3D = 514,
-    F16TEXTURE2DRECT = 515,
-    F16TEXTURECUBE = 516,
-    F16TEXTURE1DARRAY = 517,
-    F16TEXTURE2DARRAY = 518,
-    F16TEXTURECUBEARRAY = 519,
-    F16TEXTUREBUFFER = 520,
-    F16TEXTURE2DMS = 521,
-    F16TEXTURE2DMSARRAY = 522,
-    SUBPASSINPUT = 523,
-    SUBPASSINPUTMS = 524,
-    ISUBPASSINPUT = 525,
-    ISUBPASSINPUTMS = 526,
-    USUBPASSINPUT = 527,
-    USUBPASSINPUTMS = 528,
-    F16SUBPASSINPUT = 529,
-    F16SUBPASSINPUTMS = 530,
-    IMAGE1D = 531,
-    IIMAGE1D = 532,
-    UIMAGE1D = 533,
-    IMAGE2D = 534,
-    IIMAGE2D = 535,
-    UIMAGE2D = 536,
-    IMAGE3D = 537,
-    IIMAGE3D = 538,
-    UIMAGE3D = 539,
-    IMAGE2DRECT = 540,
-    IIMAGE2DRECT = 541,
-    UIMAGE2DRECT = 542,
-    IMAGECUBE = 543,
-    IIMAGECUBE = 544,
-    UIMAGECUBE = 545,
-    IMAGEBUFFER = 546,
-    IIMAGEBUFFER = 547,
-    UIMAGEBUFFER = 548,
-    IMAGE1DARRAY = 549,
-    IIMAGE1DARRAY = 550,
-    UIMAGE1DARRAY = 551,
-    IMAGE2DARRAY = 552,
-    IIMAGE2DARRAY = 553,
-    UIMAGE2DARRAY = 554,
-    IMAGECUBEARRAY = 555,
-    IIMAGECUBEARRAY = 556,
-    UIMAGECUBEARRAY = 557,
-    IMAGE2DMS = 558,
-    IIMAGE2DMS = 559,
-    UIMAGE2DMS = 560,
-    IMAGE2DMSARRAY = 561,
-    IIMAGE2DMSARRAY = 562,
-    UIMAGE2DMSARRAY = 563,
-    F16IMAGE1D = 564,
-    F16IMAGE2D = 565,
-    F16IMAGE3D = 566,
-    F16IMAGE2DRECT = 567,
-    F16IMAGECUBE = 568,
-    F16IMAGE1DARRAY = 569,
-    F16IMAGE2DARRAY = 570,
-    F16IMAGECUBEARRAY = 571,
-    F16IMAGEBUFFER = 572,
-    F16IMAGE2DMS = 573,
-    F16IMAGE2DMSARRAY = 574,
-    STRUCT = 575,
-    VOID = 576,
-    WHILE = 577,
-    IDENTIFIER = 578,
-    TYPE_NAME = 579,
-    FLOATCONSTANT = 580,
-    DOUBLECONSTANT = 581,
-    INT16CONSTANT = 582,
-    UINT16CONSTANT = 583,
-    INT32CONSTANT = 584,
-    UINT32CONSTANT = 585,
-    INTCONSTANT = 586,
-    UINTCONSTANT = 587,
-    INT64CONSTANT = 588,
-    UINT64CONSTANT = 589,
-    BOOLCONSTANT = 590,
-    FLOAT16CONSTANT = 591,
-    LEFT_OP = 592,
-    RIGHT_OP = 593,
-    INC_OP = 594,
-    DEC_OP = 595,
-    LE_OP = 596,
-    GE_OP = 597,
-    EQ_OP = 598,
-    NE_OP = 599,
-    AND_OP = 600,
-    OR_OP = 601,
-    XOR_OP = 602,
-    MUL_ASSIGN = 603,
-    DIV_ASSIGN = 604,
-    ADD_ASSIGN = 605,
-    MOD_ASSIGN = 606,
-    LEFT_ASSIGN = 607,
-    RIGHT_ASSIGN = 608,
-    AND_ASSIGN = 609,
-    XOR_ASSIGN = 610,
-    OR_ASSIGN = 611,
-    SUB_ASSIGN = 612,
-    LEFT_PAREN = 613,
-    RIGHT_PAREN = 614,
-    LEFT_BRACKET = 615,
-    RIGHT_BRACKET = 616,
-    LEFT_BRACE = 617,
-    RIGHT_BRACE = 618,
-    DOT = 619,
-    COMMA = 620,
-    COLON = 621,
-    EQUAL = 622,
-    SEMICOLON = 623,
-    BANG = 624,
-    DASH = 625,
-    TILDE = 626,
-    PLUS = 627,
-    STAR = 628,
-    SLASH = 629,
-    PERCENT = 630,
-    LEFT_ANGLE = 631,
-    RIGHT_ANGLE = 632,
-    VERTICAL_BAR = 633,
-    CARET = 634,
-    AMPERSAND = 635,
-    QUESTION = 636,
-    INVARIANT = 637,
-    PRECISE = 638,
-    HIGH_PRECISION = 639,
-    MEDIUM_PRECISION = 640,
-    LOW_PRECISION = 641,
-    PRECISION = 642,
-    PACKED = 643,
-    RESOURCE = 644,
-    SUPERP = 645
+    PAYLOADNV = 338,
+    PAYLOADINNV = 339,
+    HITATTRNV = 340,
+    COHERENT = 341,
+    VOLATILE = 342,
+    RESTRICT = 343,
+    READONLY = 344,
+    WRITEONLY = 345,
+    DEVICECOHERENT = 346,
+    QUEUEFAMILYCOHERENT = 347,
+    WORKGROUPCOHERENT = 348,
+    SUBGROUPCOHERENT = 349,
+    NONPRIVATE = 350,
+    DVEC2 = 351,
+    DVEC3 = 352,
+    DVEC4 = 353,
+    DMAT2 = 354,
+    DMAT3 = 355,
+    DMAT4 = 356,
+    F16VEC2 = 357,
+    F16VEC3 = 358,
+    F16VEC4 = 359,
+    F16MAT2 = 360,
+    F16MAT3 = 361,
+    F16MAT4 = 362,
+    F32VEC2 = 363,
+    F32VEC3 = 364,
+    F32VEC4 = 365,
+    F32MAT2 = 366,
+    F32MAT3 = 367,
+    F32MAT4 = 368,
+    F64VEC2 = 369,
+    F64VEC3 = 370,
+    F64VEC4 = 371,
+    F64MAT2 = 372,
+    F64MAT3 = 373,
+    F64MAT4 = 374,
+    NOPERSPECTIVE = 375,
+    FLAT = 376,
+    SMOOTH = 377,
+    LAYOUT = 378,
+    EXPLICITINTERPAMD = 379,
+    PERVERTEXNV = 380,
+    PERPRIMITIVENV = 381,
+    PERVIEWNV = 382,
+    PERTASKNV = 383,
+    MAT2X2 = 384,
+    MAT2X3 = 385,
+    MAT2X4 = 386,
+    MAT3X2 = 387,
+    MAT3X3 = 388,
+    MAT3X4 = 389,
+    MAT4X2 = 390,
+    MAT4X3 = 391,
+    MAT4X4 = 392,
+    DMAT2X2 = 393,
+    DMAT2X3 = 394,
+    DMAT2X4 = 395,
+    DMAT3X2 = 396,
+    DMAT3X3 = 397,
+    DMAT3X4 = 398,
+    DMAT4X2 = 399,
+    DMAT4X3 = 400,
+    DMAT4X4 = 401,
+    F16MAT2X2 = 402,
+    F16MAT2X3 = 403,
+    F16MAT2X4 = 404,
+    F16MAT3X2 = 405,
+    F16MAT3X3 = 406,
+    F16MAT3X4 = 407,
+    F16MAT4X2 = 408,
+    F16MAT4X3 = 409,
+    F16MAT4X4 = 410,
+    F32MAT2X2 = 411,
+    F32MAT2X3 = 412,
+    F32MAT2X4 = 413,
+    F32MAT3X2 = 414,
+    F32MAT3X3 = 415,
+    F32MAT3X4 = 416,
+    F32MAT4X2 = 417,
+    F32MAT4X3 = 418,
+    F32MAT4X4 = 419,
+    F64MAT2X2 = 420,
+    F64MAT2X3 = 421,
+    F64MAT2X4 = 422,
+    F64MAT3X2 = 423,
+    F64MAT3X3 = 424,
+    F64MAT3X4 = 425,
+    F64MAT4X2 = 426,
+    F64MAT4X3 = 427,
+    F64MAT4X4 = 428,
+    ATOMIC_UINT = 429,
+    ACCSTRUCTNV = 430,
+    SAMPLER1D = 431,
+    SAMPLER2D = 432,
+    SAMPLER3D = 433,
+    SAMPLERCUBE = 434,
+    SAMPLER1DSHADOW = 435,
+    SAMPLER2DSHADOW = 436,
+    SAMPLERCUBESHADOW = 437,
+    SAMPLER1DARRAY = 438,
+    SAMPLER2DARRAY = 439,
+    SAMPLER1DARRAYSHADOW = 440,
+    SAMPLER2DARRAYSHADOW = 441,
+    ISAMPLER1D = 442,
+    ISAMPLER2D = 443,
+    ISAMPLER3D = 444,
+    ISAMPLERCUBE = 445,
+    ISAMPLER1DARRAY = 446,
+    ISAMPLER2DARRAY = 447,
+    USAMPLER1D = 448,
+    USAMPLER2D = 449,
+    USAMPLER3D = 450,
+    USAMPLERCUBE = 451,
+    USAMPLER1DARRAY = 452,
+    USAMPLER2DARRAY = 453,
+    SAMPLER2DRECT = 454,
+    SAMPLER2DRECTSHADOW = 455,
+    ISAMPLER2DRECT = 456,
+    USAMPLER2DRECT = 457,
+    SAMPLERBUFFER = 458,
+    ISAMPLERBUFFER = 459,
+    USAMPLERBUFFER = 460,
+    SAMPLERCUBEARRAY = 461,
+    SAMPLERCUBEARRAYSHADOW = 462,
+    ISAMPLERCUBEARRAY = 463,
+    USAMPLERCUBEARRAY = 464,
+    SAMPLER2DMS = 465,
+    ISAMPLER2DMS = 466,
+    USAMPLER2DMS = 467,
+    SAMPLER2DMSARRAY = 468,
+    ISAMPLER2DMSARRAY = 469,
+    USAMPLER2DMSARRAY = 470,
+    SAMPLEREXTERNALOES = 471,
+    F16SAMPLER1D = 472,
+    F16SAMPLER2D = 473,
+    F16SAMPLER3D = 474,
+    F16SAMPLER2DRECT = 475,
+    F16SAMPLERCUBE = 476,
+    F16SAMPLER1DARRAY = 477,
+    F16SAMPLER2DARRAY = 478,
+    F16SAMPLERCUBEARRAY = 479,
+    F16SAMPLERBUFFER = 480,
+    F16SAMPLER2DMS = 481,
+    F16SAMPLER2DMSARRAY = 482,
+    F16SAMPLER1DSHADOW = 483,
+    F16SAMPLER2DSHADOW = 484,
+    F16SAMPLER1DARRAYSHADOW = 485,
+    F16SAMPLER2DARRAYSHADOW = 486,
+    F16SAMPLER2DRECTSHADOW = 487,
+    F16SAMPLERCUBESHADOW = 488,
+    F16SAMPLERCUBEARRAYSHADOW = 489,
+    SAMPLER = 490,
+    SAMPLERSHADOW = 491,
+    TEXTURE1D = 492,
+    TEXTURE2D = 493,
+    TEXTURE3D = 494,
+    TEXTURECUBE = 495,
+    TEXTURE1DARRAY = 496,
+    TEXTURE2DARRAY = 497,
+    ITEXTURE1D = 498,
+    ITEXTURE2D = 499,
+    ITEXTURE3D = 500,
+    ITEXTURECUBE = 501,
+    ITEXTURE1DARRAY = 502,
+    ITEXTURE2DARRAY = 503,
+    UTEXTURE1D = 504,
+    UTEXTURE2D = 505,
+    UTEXTURE3D = 506,
+    UTEXTURECUBE = 507,
+    UTEXTURE1DARRAY = 508,
+    UTEXTURE2DARRAY = 509,
+    TEXTURE2DRECT = 510,
+    ITEXTURE2DRECT = 511,
+    UTEXTURE2DRECT = 512,
+    TEXTUREBUFFER = 513,
+    ITEXTUREBUFFER = 514,
+    UTEXTUREBUFFER = 515,
+    TEXTURECUBEARRAY = 516,
+    ITEXTURECUBEARRAY = 517,
+    UTEXTURECUBEARRAY = 518,
+    TEXTURE2DMS = 519,
+    ITEXTURE2DMS = 520,
+    UTEXTURE2DMS = 521,
+    TEXTURE2DMSARRAY = 522,
+    ITEXTURE2DMSARRAY = 523,
+    UTEXTURE2DMSARRAY = 524,
+    F16TEXTURE1D = 525,
+    F16TEXTURE2D = 526,
+    F16TEXTURE3D = 527,
+    F16TEXTURE2DRECT = 528,
+    F16TEXTURECUBE = 529,
+    F16TEXTURE1DARRAY = 530,
+    F16TEXTURE2DARRAY = 531,
+    F16TEXTURECUBEARRAY = 532,
+    F16TEXTUREBUFFER = 533,
+    F16TEXTURE2DMS = 534,
+    F16TEXTURE2DMSARRAY = 535,
+    SUBPASSINPUT = 536,
+    SUBPASSINPUTMS = 537,
+    ISUBPASSINPUT = 538,
+    ISUBPASSINPUTMS = 539,
+    USUBPASSINPUT = 540,
+    USUBPASSINPUTMS = 541,
+    F16SUBPASSINPUT = 542,
+    F16SUBPASSINPUTMS = 543,
+    IMAGE1D = 544,
+    IIMAGE1D = 545,
+    UIMAGE1D = 546,
+    IMAGE2D = 547,
+    IIMAGE2D = 548,
+    UIMAGE2D = 549,
+    IMAGE3D = 550,
+    IIMAGE3D = 551,
+    UIMAGE3D = 552,
+    IMAGE2DRECT = 553,
+    IIMAGE2DRECT = 554,
+    UIMAGE2DRECT = 555,
+    IMAGECUBE = 556,
+    IIMAGECUBE = 557,
+    UIMAGECUBE = 558,
+    IMAGEBUFFER = 559,
+    IIMAGEBUFFER = 560,
+    UIMAGEBUFFER = 561,
+    IMAGE1DARRAY = 562,
+    IIMAGE1DARRAY = 563,
+    UIMAGE1DARRAY = 564,
+    IMAGE2DARRAY = 565,
+    IIMAGE2DARRAY = 566,
+    UIMAGE2DARRAY = 567,
+    IMAGECUBEARRAY = 568,
+    IIMAGECUBEARRAY = 569,
+    UIMAGECUBEARRAY = 570,
+    IMAGE2DMS = 571,
+    IIMAGE2DMS = 572,
+    UIMAGE2DMS = 573,
+    IMAGE2DMSARRAY = 574,
+    IIMAGE2DMSARRAY = 575,
+    UIMAGE2DMSARRAY = 576,
+    F16IMAGE1D = 577,
+    F16IMAGE2D = 578,
+    F16IMAGE3D = 579,
+    F16IMAGE2DRECT = 580,
+    F16IMAGECUBE = 581,
+    F16IMAGE1DARRAY = 582,
+    F16IMAGE2DARRAY = 583,
+    F16IMAGECUBEARRAY = 584,
+    F16IMAGEBUFFER = 585,
+    F16IMAGE2DMS = 586,
+    F16IMAGE2DMSARRAY = 587,
+    STRUCT = 588,
+    VOID = 589,
+    WHILE = 590,
+    IDENTIFIER = 591,
+    TYPE_NAME = 592,
+    FLOATCONSTANT = 593,
+    DOUBLECONSTANT = 594,
+    INT16CONSTANT = 595,
+    UINT16CONSTANT = 596,
+    INT32CONSTANT = 597,
+    UINT32CONSTANT = 598,
+    INTCONSTANT = 599,
+    UINTCONSTANT = 600,
+    INT64CONSTANT = 601,
+    UINT64CONSTANT = 602,
+    BOOLCONSTANT = 603,
+    FLOAT16CONSTANT = 604,
+    LEFT_OP = 605,
+    RIGHT_OP = 606,
+    INC_OP = 607,
+    DEC_OP = 608,
+    LE_OP = 609,
+    GE_OP = 610,
+    EQ_OP = 611,
+    NE_OP = 612,
+    AND_OP = 613,
+    OR_OP = 614,
+    XOR_OP = 615,
+    MUL_ASSIGN = 616,
+    DIV_ASSIGN = 617,
+    ADD_ASSIGN = 618,
+    MOD_ASSIGN = 619,
+    LEFT_ASSIGN = 620,
+    RIGHT_ASSIGN = 621,
+    AND_ASSIGN = 622,
+    XOR_ASSIGN = 623,
+    OR_ASSIGN = 624,
+    SUB_ASSIGN = 625,
+    LEFT_PAREN = 626,
+    RIGHT_PAREN = 627,
+    LEFT_BRACKET = 628,
+    RIGHT_BRACKET = 629,
+    LEFT_BRACE = 630,
+    RIGHT_BRACE = 631,
+    DOT = 632,
+    COMMA = 633,
+    COLON = 634,
+    EQUAL = 635,
+    SEMICOLON = 636,
+    BANG = 637,
+    DASH = 638,
+    TILDE = 639,
+    PLUS = 640,
+    STAR = 641,
+    SLASH = 642,
+    PERCENT = 643,
+    LEFT_ANGLE = 644,
+    RIGHT_ANGLE = 645,
+    VERTICAL_BAR = 646,
+    CARET = 647,
+    AMPERSAND = 648,
+    QUESTION = 649,
+    INVARIANT = 650,
+    PRECISE = 651,
+    HIGH_PRECISION = 652,
+    MEDIUM_PRECISION = 653,
+    LOW_PRECISION = 654,
+    PRECISION = 655,
+    PACKED = 656,
+    RESOURCE = 657,
+    SUPERP = 658
   };
 #endif
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
+
 union YYSTYPE
 {
 #line 70 "MachineIndependent/glslang.y" /* yacc.c:355  */
@@ -554,8 +567,10 @@
         };
     } interm;
 
-#line 558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
+#line 571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:355  */
 };
+
+typedef union YYSTYPE YYSTYPE;
 # define YYSTYPE_IS_TRIVIAL 1
 # define YYSTYPE_IS_DECLARED 1
 #endif
@@ -583,7 +598,7 @@
 extern int yylex(YYSTYPE*, TParseContext&);
 
 
-#line 587 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
+#line 602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:358  */
 
 #ifdef short
 # undef short
@@ -640,11 +655,30 @@
 # endif
 #endif
 
-#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 */
+#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__))
 # endif
 #endif
 
@@ -804,23 +838,23 @@
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  366
+#define YYFINAL  379
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   8949
+#define YYLAST   9248
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  391
+#define YYNTOKENS  404
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  107
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  556
+#define YYNRULES  569
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  697
+#define YYNSTATES  710
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   645
+#define YYMAXUTOK   658
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -893,69 +927,71 @@
      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
-     385,   386,   387,   388,   389,   390
+     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
+     395,   396,   397,   398,   399,   400,   401,   402,   403
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   293,   293,   299,   302,   306,   310,   313,   317,   321,
-     325,   329,   333,   336,   340,   344,   347,   355,   358,   361,
-     364,   367,   372,   380,   387,   394,   400,   404,   411,   414,
-     420,   427,   437,   445,   450,   477,   485,   491,   495,   499,
-     519,   520,   521,   522,   528,   529,   534,   539,   548,   549,
-     554,   562,   563,   569,   578,   579,   584,   589,   594,   602,
-     603,   611,   622,   623,   632,   633,   642,   643,   652,   653,
-     661,   662,   670,   671,   679,   680,   680,   698,   699,   715,
-     719,   723,   727,   732,   736,   740,   744,   748,   752,   756,
-     763,   766,   777,   784,   789,   794,   802,   806,   810,   814,
-     819,   824,   833,   833,   844,   848,   855,   862,   865,   872,
-     880,   900,   923,   938,   963,   974,   984,   994,  1004,  1013,
-    1016,  1020,  1024,  1029,  1037,  1042,  1047,  1052,  1057,  1066,
-    1077,  1104,  1113,  1120,  1127,  1138,  1150,  1156,  1159,  1166,
-    1170,  1174,  1182,  1191,  1194,  1205,  1208,  1211,  1215,  1219,
-    1223,  1227,  1233,  1237,  1249,  1263,  1268,  1274,  1280,  1287,
-    1293,  1298,  1303,  1308,  1316,  1320,  1324,  1328,  1332,  1336,
-    1342,  1351,  1358,  1361,  1369,  1373,  1382,  1387,  1395,  1399,
-    1409,  1413,  1417,  1422,  1427,  1432,  1437,  1441,  1446,  1451,
-    1456,  1461,  1466,  1471,  1476,  1481,  1486,  1490,  1495,  1500,
-    1505,  1511,  1517,  1523,  1529,  1535,  1541,  1547,  1553,  1559,
-    1565,  1571,  1577,  1582,  1587,  1592,  1597,  1602,  1607,  1613,
-    1619,  1625,  1631,  1637,  1643,  1649,  1655,  1661,  1667,  1673,
-    1679,  1685,  1691,  1697,  1703,  1709,  1715,  1721,  1727,  1733,
-    1739,  1745,  1751,  1757,  1763,  1769,  1774,  1779,  1784,  1789,
-    1794,  1799,  1804,  1809,  1814,  1819,  1824,  1829,  1835,  1841,
-    1847,  1853,  1859,  1865,  1871,  1877,  1883,  1889,  1895,  1901,
-    1907,  1913,  1919,  1925,  1931,  1937,  1943,  1949,  1955,  1961,
-    1967,  1973,  1979,  1985,  1991,  1997,  2003,  2009,  2015,  2021,
-    2027,  2033,  2039,  2045,  2051,  2057,  2063,  2069,  2075,  2081,
-    2087,  2093,  2099,  2105,  2111,  2117,  2122,  2127,  2132,  2137,
-    2142,  2147,  2152,  2157,  2162,  2167,  2172,  2177,  2182,  2187,
-    2195,  2203,  2211,  2219,  2227,  2235,  2243,  2251,  2259,  2267,
-    2275,  2283,  2291,  2296,  2301,  2306,  2311,  2316,  2321,  2326,
-    2331,  2336,  2341,  2346,  2351,  2356,  2361,  2366,  2371,  2379,
-    2387,  2392,  2397,  2402,  2410,  2415,  2420,  2425,  2433,  2438,
-    2443,  2448,  2456,  2461,  2466,  2471,  2476,  2481,  2489,  2494,
-    2502,  2507,  2515,  2520,  2528,  2533,  2541,  2546,  2554,  2559,
-    2567,  2572,  2577,  2582,  2587,  2592,  2597,  2602,  2607,  2612,
-    2617,  2622,  2627,  2632,  2637,  2642,  2650,  2655,  2660,  2665,
-    2673,  2678,  2683,  2688,  2696,  2701,  2706,  2711,  2719,  2724,
-    2729,  2734,  2742,  2747,  2752,  2757,  2765,  2770,  2775,  2780,
-    2788,  2793,  2798,  2803,  2811,  2816,  2821,  2826,  2834,  2839,
-    2844,  2849,  2857,  2862,  2867,  2872,  2880,  2885,  2890,  2895,
-    2903,  2908,  2913,  2918,  2926,  2931,  2936,  2941,  2949,  2954,
-    2959,  2964,  2972,  2977,  2982,  2988,  2994,  3000,  3009,  3018,
-    3024,  3030,  3036,  3042,  3047,  3063,  3068,  3073,  3081,  3081,
-    3092,  3092,  3102,  3105,  3118,  3140,  3167,  3171,  3177,  3182,
-    3193,  3196,  3202,  3211,  3214,  3220,  3224,  3225,  3231,  3232,
-    3233,  3234,  3235,  3236,  3237,  3241,  3242,  3246,  3242,  3258,
-    3259,  3263,  3263,  3270,  3270,  3284,  3287,  3295,  3303,  3314,
-    3315,  3319,  3322,  3328,  3335,  3339,  3347,  3351,  3364,  3367,
-    3373,  3373,  3393,  3396,  3402,  3414,  3426,  3429,  3435,  3435,
-    3450,  3450,  3466,  3466,  3487,  3490,  3496,  3499,  3505,  3509,
-    3516,  3521,  3526,  3533,  3536,  3545,  3549,  3558,  3561,  3564,
-    3572,  3572,  3594,  3600,  3603,  3608,  3611
+       0,   294,   294,   300,   303,   307,   311,   314,   318,   322,
+     326,   330,   334,   337,   341,   345,   348,   356,   359,   362,
+     365,   368,   373,   381,   388,   395,   401,   405,   412,   415,
+     421,   428,   438,   446,   451,   478,   486,   492,   496,   500,
+     520,   521,   522,   523,   529,   530,   535,   540,   549,   550,
+     555,   563,   564,   570,   579,   580,   585,   590,   595,   603,
+     604,   612,   623,   624,   633,   634,   643,   644,   653,   654,
+     662,   663,   671,   672,   680,   681,   681,   699,   700,   716,
+     720,   724,   728,   733,   737,   741,   745,   749,   753,   757,
+     764,   767,   778,   785,   790,   795,   803,   807,   811,   815,
+     820,   825,   834,   834,   845,   849,   856,   863,   866,   873,
+     881,   901,   924,   939,   964,   975,   985,   995,  1005,  1014,
+    1017,  1021,  1025,  1030,  1038,  1043,  1048,  1053,  1058,  1067,
+    1078,  1105,  1114,  1121,  1128,  1139,  1148,  1158,  1166,  1174,
+    1185,  1191,  1194,  1201,  1205,  1209,  1217,  1226,  1229,  1240,
+    1243,  1246,  1250,  1254,  1258,  1262,  1268,  1272,  1284,  1298,
+    1303,  1309,  1315,  1322,  1328,  1333,  1338,  1343,  1353,  1363,
+    1373,  1385,  1389,  1394,  1399,  1404,  1409,  1414,  1418,  1422,
+    1426,  1430,  1436,  1445,  1452,  1455,  1463,  1467,  1476,  1481,
+    1489,  1493,  1503,  1507,  1511,  1516,  1521,  1526,  1531,  1535,
+    1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,  1580,  1584,
+    1589,  1594,  1599,  1605,  1611,  1617,  1623,  1629,  1635,  1641,
+    1647,  1653,  1659,  1665,  1671,  1676,  1681,  1686,  1691,  1696,
+    1701,  1707,  1713,  1719,  1725,  1731,  1737,  1743,  1749,  1755,
+    1761,  1767,  1773,  1779,  1785,  1791,  1797,  1803,  1809,  1815,
+    1821,  1827,  1833,  1839,  1845,  1851,  1857,  1863,  1868,  1873,
+    1878,  1883,  1888,  1893,  1898,  1903,  1908,  1913,  1918,  1923,
+    1929,  1935,  1941,  1947,  1953,  1959,  1965,  1971,  1977,  1983,
+    1989,  1995,  2001,  2007,  2013,  2019,  2025,  2031,  2037,  2043,
+    2049,  2055,  2061,  2067,  2073,  2079,  2085,  2091,  2097,  2103,
+    2109,  2115,  2121,  2127,  2133,  2139,  2145,  2151,  2157,  2163,
+    2169,  2175,  2181,  2187,  2193,  2199,  2205,  2211,  2217,  2222,
+    2227,  2232,  2237,  2242,  2247,  2252,  2257,  2262,  2267,  2272,
+    2277,  2282,  2287,  2295,  2303,  2311,  2319,  2327,  2335,  2343,
+    2351,  2359,  2367,  2375,  2383,  2391,  2396,  2401,  2406,  2411,
+    2416,  2421,  2426,  2431,  2436,  2441,  2446,  2451,  2456,  2461,
+    2466,  2471,  2479,  2487,  2492,  2497,  2502,  2510,  2515,  2520,
+    2525,  2533,  2538,  2543,  2548,  2556,  2561,  2566,  2571,  2576,
+    2581,  2589,  2594,  2602,  2607,  2615,  2620,  2628,  2633,  2641,
+    2646,  2654,  2659,  2667,  2672,  2677,  2682,  2687,  2692,  2697,
+    2702,  2707,  2712,  2717,  2722,  2727,  2732,  2737,  2742,  2750,
+    2755,  2760,  2765,  2773,  2778,  2783,  2788,  2796,  2801,  2806,
+    2811,  2819,  2824,  2829,  2834,  2842,  2847,  2852,  2857,  2865,
+    2870,  2875,  2880,  2888,  2893,  2898,  2903,  2911,  2916,  2921,
+    2926,  2934,  2939,  2944,  2949,  2957,  2962,  2967,  2972,  2980,
+    2985,  2990,  2995,  3003,  3008,  3013,  3018,  3026,  3031,  3036,
+    3041,  3049,  3054,  3059,  3064,  3072,  3077,  3082,  3088,  3094,
+    3100,  3109,  3118,  3124,  3130,  3136,  3142,  3147,  3163,  3168,
+    3173,  3181,  3181,  3192,  3192,  3202,  3205,  3218,  3240,  3267,
+    3271,  3277,  3282,  3293,  3296,  3302,  3311,  3314,  3320,  3324,
+    3325,  3331,  3332,  3333,  3334,  3335,  3336,  3337,  3341,  3342,
+    3346,  3342,  3358,  3359,  3363,  3363,  3370,  3370,  3384,  3387,
+    3395,  3403,  3414,  3415,  3419,  3422,  3428,  3435,  3439,  3447,
+    3451,  3464,  3467,  3473,  3473,  3493,  3496,  3502,  3514,  3526,
+    3529,  3535,  3535,  3550,  3550,  3566,  3566,  3587,  3590,  3596,
+    3599,  3605,  3609,  3616,  3621,  3626,  3633,  3636,  3645,  3649,
+    3658,  3661,  3664,  3672,  3672,  3694,  3700,  3703,  3708,  3711
 };
 #endif
 
@@ -976,21 +1012,24 @@
   "U16VEC3", "U16VEC4", "I8VEC2", "I8VEC3", "I8VEC4", "U8VEC2", "U8VEC3",
   "U8VEC4", "VEC2", "VEC3", "VEC4", "MAT2", "MAT3", "MAT4", "CENTROID",
   "IN", "OUT", "INOUT", "UNIFORM", "PATCH", "SAMPLE", "BUFFER", "SHARED",
-  "NONUNIFORM", "COHERENT", "VOLATILE", "RESTRICT", "READONLY",
-  "WRITEONLY", "DVEC2", "DVEC3", "DVEC4", "DMAT2", "DMAT3", "DMAT4",
+  "NONUNIFORM", "PAYLOADNV", "PAYLOADINNV", "HITATTRNV", "COHERENT",
+  "VOLATILE", "RESTRICT", "READONLY", "WRITEONLY", "DEVICECOHERENT",
+  "QUEUEFAMILYCOHERENT", "WORKGROUPCOHERENT", "SUBGROUPCOHERENT",
+  "NONPRIVATE", "DVEC2", "DVEC3", "DVEC4", "DMAT2", "DMAT3", "DMAT4",
   "F16VEC2", "F16VEC3", "F16VEC4", "F16MAT2", "F16MAT3", "F16MAT4",
   "F32VEC2", "F32VEC3", "F32VEC4", "F32MAT2", "F32MAT3", "F32MAT4",
   "F64VEC2", "F64VEC3", "F64VEC4", "F64MAT2", "F64MAT3", "F64MAT4",
-  "NOPERSPECTIVE", "FLAT", "SMOOTH", "LAYOUT", "__EXPLICITINTERPAMD",
-  "MAT2X2", "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2",
-  "MAT4X3", "MAT4X4", "DMAT2X2", "DMAT2X3", "DMAT2X4", "DMAT3X2",
-  "DMAT3X3", "DMAT3X4", "DMAT4X2", "DMAT4X3", "DMAT4X4", "F16MAT2X2",
-  "F16MAT2X3", "F16MAT2X4", "F16MAT3X2", "F16MAT3X3", "F16MAT3X4",
-  "F16MAT4X2", "F16MAT4X3", "F16MAT4X4", "F32MAT2X2", "F32MAT2X3",
-  "F32MAT2X4", "F32MAT3X2", "F32MAT3X3", "F32MAT3X4", "F32MAT4X2",
-  "F32MAT4X3", "F32MAT4X4", "F64MAT2X2", "F64MAT2X3", "F64MAT2X4",
-  "F64MAT3X2", "F64MAT3X3", "F64MAT3X4", "F64MAT4X2", "F64MAT4X3",
-  "F64MAT4X4", "ATOMIC_UINT", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D",
+  "NOPERSPECTIVE", "FLAT", "SMOOTH", "LAYOUT", "EXPLICITINTERPAMD",
+  "PERVERTEXNV", "PERPRIMITIVENV", "PERVIEWNV", "PERTASKNV", "MAT2X2",
+  "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X3", "MAT3X4", "MAT4X2", "MAT4X3",
+  "MAT4X4", "DMAT2X2", "DMAT2X3", "DMAT2X4", "DMAT3X2", "DMAT3X3",
+  "DMAT3X4", "DMAT4X2", "DMAT4X3", "DMAT4X4", "F16MAT2X2", "F16MAT2X3",
+  "F16MAT2X4", "F16MAT3X2", "F16MAT3X3", "F16MAT3X4", "F16MAT4X2",
+  "F16MAT4X3", "F16MAT4X4", "F32MAT2X2", "F32MAT2X3", "F32MAT2X4",
+  "F32MAT3X2", "F32MAT3X3", "F32MAT3X4", "F32MAT4X2", "F32MAT4X3",
+  "F32MAT4X4", "F64MAT2X2", "F64MAT2X3", "F64MAT2X4", "F64MAT3X2",
+  "F64MAT3X3", "F64MAT3X4", "F64MAT4X2", "F64MAT4X3", "F64MAT4X4",
+  "ATOMIC_UINT", "ACCSTRUCTNV", "SAMPLER1D", "SAMPLER2D", "SAMPLER3D",
   "SAMPLERCUBE", "SAMPLER1DSHADOW", "SAMPLER2DSHADOW", "SAMPLERCUBESHADOW",
   "SAMPLER1DARRAY", "SAMPLER2DARRAY", "SAMPLER1DARRAYSHADOW",
   "SAMPLER2DARRAYSHADOW", "ISAMPLER1D", "ISAMPLER2D", "ISAMPLER3D",
@@ -1082,7 +1121,7 @@
   "for_init_statement", "conditionopt", "for_rest_statement",
   "jump_statement", "translation_unit", "external_declaration",
   "function_definition", "$@13", "attribute", "attribute_list",
-  "single_attribute", YY_NULL
+  "single_attribute", YY_NULLPTR
 };
 #endif
 
@@ -1130,16 +1169,17 @@
      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
-     645
+     645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
+     655,   656,   657,   658
 };
 # endif
 
-#define YYPACT_NINF -634
+#define YYPACT_NINF -645
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-634)))
+  (!!((Yystate) == (-645)))
 
-#define YYTABLE_NINF -502
+#define YYTABLE_NINF -515
 
 #define yytable_value_is_error(Yytable_value) \
   0
@@ -1148,76 +1188,77 @@
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    3391,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -311,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -295,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -301,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -241,  -634,  -302,  -342,
-    -290,  -254,  5696,  -300,  -634,  -210,  -634,  -634,  -634,  -634,
-    4160,  -634,  -634,  -634,  -634,  -219,  -634,  -634,   696,  -634,
-    -634,  -189,   -69,  -207,  -634,  8625,  -320,  -634,  -634,  -203,
-    -634,  5696,  -634,  -634,  -634,  5696,  -155,  -154,  -634,  -324,
-    -288,  -634,  -634,  -634,  6417,  -190,  -634,  -634,  -634,  -292,
-    -634,  -196,  -287,  -634,  -634,  5696,  -195,  -634,  -306,  1081,
-    -634,  -634,  -634,  -634,  -219,  -325,  -634,  6785,  -310,  -634,
-    -151,  -634,  -277,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  7889,  7889,  7889,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  -309,  -634,  -634,  -634,
-    -185,  -283,  8257,  -183,  -634,  7889,  -227,  -263,  -299,  -318,
-    -194,  -204,  -202,  -200,  -165,  -166,  -321,  -179,  -634,  -634,
-    7153,  -634,  -140,  7889,  -634,   -69,  5696,  5696,  -139,  4544,
-    -634,  -634,  -634,  -182,  -180,  -634,  -173,  -169,  -178,  7521,
-    -164,  7889,  -174,  -163,  -167,  -162,  -634,  -634,  -252,  -634,
-    -634,  -237,  -634,  -342,  -161,  -158,  -634,  -634,  -634,  -634,
-    1466,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-     -19,  -190,  6785,  -296,  6785,  -634,  -634,  6785,  5696,  -634,
-    -127,  -634,  -634,  -634,  -278,  -634,  -634,  7889,  -121,  -634,
-    -634,  7889,  -156,  -634,  -634,  -634,  7889,  7889,  7889,  7889,
-    7889,  7889,  7889,  7889,  7889,  7889,  7889,  7889,  7889,  7889,
-    7889,  7889,  7889,  7889,  7889,  -634,  -634,  -634,  -157,  -634,
-    -634,  -634,  -634,  4928,  -139,  -219,  -236,  -634,  -634,  -634,
-    -634,  -634,  1851,  -634,  7889,  -634,  -634,  -230,  7889,  -213,
-    -634,  -634,  -118,  -634,  1851,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  -634,  7889,  7889,  -634,  -634,
-    -634,  -634,  -634,  -634,  -634,  6785,  -634,  -270,  -634,  5312,
-    -634,  -634,  -153,  -150,  -634,  -634,  -634,  -634,  -634,  -227,
-    -227,  -263,  -263,  -299,  -299,  -299,  -299,  -318,  -318,  -194,
-    -204,  -202,  -200,  -165,  -166,  7889,  -634,  -634,  -226,  -190,
-    -139,  -634,  -113,  3006,  -275,  -634,  -253,  -634,  3776,  -148,
-    -282,  -634,  1851,  -634,  -634,  -634,  -634,  6049,  -634,  -634,
-    -208,  -634,  -634,  -147,  -634,  -634,  3776,  -146,  -634,  -150,
-    -111,  5696,  -145,  7889,  -144,  -118,  -143,  -634,  -634,  7889,
-    7889,  -634,  -149,  -141,   196,  -136,  2621,  -634,  -116,  -120,
-    2236,  -137,  -634,  -634,  -634,  -634,  -239,  7889,  2236,  -146,
-    -634,  -634,  1851,  6785,  -634,  -634,  -634,  -634,  -119,  -150,
-    -634,  -634,  1851,  -112,  -634,  -634,  -634
+    3495,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -317,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -266,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -314,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -273,
+    -645,  -315,  -355,  -335,  -299,  5878,  -286,  -645,  -239,  -645,
+    -645,  -645,  -645,  4290,  -645,  -645,  -645,  -645,  -233,  -645,
+    -645,   709,  -645,  -645,  -181,   -69,  -218,  -645,  8911,  -340,
+    -645,  -645,  -212,  -645,  5878,  -645,  -645,  -645,  5878,  -168,
+    -167,  -645,  -337,  -303,  -645,  -645,  -645,  6625,  -203,  -645,
+    -645,  -645,  -305,  -645,  -209,  -304,  -645,  -645,  5878,  -208,
+    -645,  -333,  1107,  -645,  -645,  -645,  -645,  -233,  -323,  -645,
+    7006,  -311,  -645,  -164,  -645,  -275,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  8149,
+    8149,  8149,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -322,
+    -645,  -645,  -645,  -198,  -296,  8530,  -196,  -645,  8149,  -251,
+    -292,  -222,  -331,  -225,  -217,  -215,  -213,  -178,  -179,  -334,
+    -192,  -645,  -645,  7387,  -645,  -153,  8149,  -645,   -69,  5878,
+    5878,  -152,  4687,  -645,  -645,  -645,  -195,  -194,  -645,  -186,
+    -183,  -191,  7768,  -182,  8149,  -187,  -177,  -180,  -176,  -645,
+    -645,  -216,  -645,  -645,  -274,  -645,  -355,  -175,  -174,  -645,
+    -645,  -645,  -645,  1505,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -645,   -19,  -203,  7006,  -310,  7006,  -645,  -645,
+    7006,  5878,  -645,  -135,  -645,  -645,  -645,  -295,  -645,  -645,
+    8149,  -134,  -645,  -645,  8149,  -169,  -645,  -645,  -645,  8149,
+    8149,  8149,  8149,  8149,  8149,  8149,  8149,  8149,  8149,  8149,
+    8149,  8149,  8149,  8149,  8149,  8149,  8149,  8149,  -645,  -645,
+    -645,  -170,  -645,  -645,  -645,  -645,  5084,  -152,  -233,  -268,
+    -645,  -645,  -645,  -645,  -645,  1903,  -645,  8149,  -645,  -645,
+    -263,  8149,  -240,  -645,  -645,  -131,  -645,  1903,  -645,  -645,
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  8149,
+    8149,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  7006,  -645,
+    -267,  -645,  5481,  -645,  -645,  -166,  -163,  -645,  -645,  -645,
+    -645,  -645,  -251,  -251,  -292,  -292,  -222,  -222,  -222,  -222,
+    -331,  -331,  -225,  -217,  -215,  -213,  -178,  -179,  8149,  -645,
+    -645,  -261,  -203,  -152,  -645,  -126,  3097,  -291,  -645,  -288,
+    -645,  3893,  -161,  -336,  -645,  1903,  -645,  -645,  -645,  -645,
+    6244,  -645,  -645,  -236,  -645,  -645,  -160,  -645,  -645,  3893,
+    -159,  -645,  -163,  -124,  5878,  -158,  8149,  -157,  -131,  -156,
+    -645,  -645,  8149,  8149,  -645,  -162,  -154,   196,  -149,  2699,
+    -645,  -148,  -151,  2301,  -150,  -645,  -645,  -645,  -645,  -284,
+    8149,  2301,  -159,  -645,  -645,  1903,  7006,  -645,  -645,  -645,
+    -645,  -130,  -163,  -645,  -645,  1903,  -146,  -645,  -645,  -645
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -1225,108 +1266,109 @@
      means the default is an error.  */
 static const yytype_uint16 yydefact[] =
 {
-       0,   153,   154,   183,   181,   184,   182,   185,   152,   196,
-     186,   187,   194,   195,   192,   193,   190,   191,   188,   189,
-     169,   212,   213,   214,   215,   216,   217,   230,   231,   232,
-     227,   228,   229,   242,   243,   244,   224,   225,   226,   239,
-     240,   241,   221,   222,   223,   236,   237,   238,   218,   219,
-     220,   233,   234,   235,   197,   198,   199,   245,   246,   247,
-     158,   156,   157,   155,   161,   159,   160,   162,   163,   171,
-     164,   165,   166,   167,   168,   200,   201,   202,   257,   258,
-     259,   203,   204,   205,   269,   270,   271,   206,   207,   208,
-     281,   282,   283,   209,   210,   211,   293,   294,   295,   134,
-     133,   132,     0,   135,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   260,   261,   262,   263,   264,   265,   266,
-     267,   268,   272,   273,   274,   275,   276,   277,   278,   279,
-     280,   284,   285,   286,   287,   288,   289,   290,   291,   292,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   332,   333,   334,   335,   336,   337,   339,   340,   341,
-     342,   343,   344,   346,   347,   350,   351,   352,   354,   355,
-     317,   318,   338,   345,   356,   358,   359,   360,   362,   363,
-     454,   319,   320,   321,   348,   322,   326,   327,   330,   353,
-     357,   361,   323,   324,   328,   329,   349,   325,   331,   364,
-     365,   366,   368,   370,   372,   374,   376,   380,   381,   382,
-     383,   384,   385,   387,   388,   389,   390,   391,   392,   394,
-     396,   397,   398,   400,   401,   378,   386,   393,   402,   404,
-     405,   406,   408,   409,   367,   369,   371,   395,   373,   375,
-     377,   379,   399,   403,   407,   455,   456,   459,   460,   461,
-     462,   457,   458,   410,   412,   413,   414,   416,   417,   418,
-     420,   421,   422,   424,   425,   426,   428,   429,   430,   432,
-     433,   434,   436,   437,   438,   440,   441,   442,   444,   445,
-     446,   448,   449,   450,   452,   453,   411,   415,   419,   423,
-     427,   435,   439,   443,   431,   447,   451,     0,   180,   464,
-     549,   131,   142,   465,   466,   467,     0,   548,     0,   550,
-       0,   108,   107,     0,   119,   124,   149,   148,   146,   150,
-       0,   143,   145,   151,   129,   174,   147,   463,     0,   545,
-     547,     0,     0,     0,   470,     0,     0,    96,    93,     0,
-     106,     0,   115,   109,   117,     0,   118,     0,    94,   125,
-       0,    99,   144,   130,     0,   175,     1,   546,   172,     0,
-     141,   139,     0,   137,   468,     0,     0,    97,     0,     0,
-     551,   110,   114,   116,   112,   120,   111,     0,   126,   102,
-       0,   100,     0,     2,    12,    13,    10,    11,     4,     5,
-       6,     7,     8,     9,    15,    14,     0,     0,     0,   176,
-      42,    41,    43,    40,     3,    17,    36,    19,    24,    25,
-       0,     0,    29,     0,    44,     0,    48,    51,    54,    59,
-      62,    64,    66,    68,    70,    72,    74,     0,    35,    33,
-       0,   170,     0,     0,   136,     0,     0,     0,     0,     0,
-     472,    95,    98,     0,     0,   530,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   496,   505,   509,    44,    77,
-      90,     0,   485,     0,   151,   129,   488,   507,   487,   486,
-       0,   489,   490,   511,   491,   518,   492,   493,   526,   494,
-       0,   113,     0,   121,     0,   480,   128,     0,     0,   104,
-       0,   101,    37,    38,     0,    21,    22,     0,     0,    27,
-      26,     0,   180,    30,    32,    39,     0,     0,     0,     0,
+       0,   157,   158,   195,   193,   196,   194,   197,   156,   208,
+     198,   199,   206,   207,   204,   205,   202,   203,   200,   201,
+     181,   224,   225,   226,   227,   228,   229,   242,   243,   244,
+     239,   240,   241,   254,   255,   256,   236,   237,   238,   251,
+     252,   253,   233,   234,   235,   248,   249,   250,   230,   231,
+     232,   245,   246,   247,   209,   210,   211,   257,   258,   259,
+     162,   160,   161,   159,   165,   163,   164,   166,   170,   183,
+     168,   169,   167,   171,   177,   178,   179,   180,   172,   173,
+     174,   175,   176,   212,   213,   214,   269,   270,   271,   215,
+     216,   217,   281,   282,   283,   218,   219,   220,   293,   294,
+     295,   221,   222,   223,   305,   306,   307,   134,   133,   132,
+       0,   135,   136,   137,   138,   139,   260,   261,   262,   263,
+     264,   265,   266,   267,   268,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   318,   317,   319,   320,   321,   322,   323,   324,   325,
+     326,   327,   328,   329,   345,   346,   347,   348,   349,   350,
+     352,   353,   354,   355,   356,   357,   359,   360,   363,   364,
+     365,   367,   368,   330,   331,   351,   358,   369,   371,   372,
+     373,   375,   376,   467,   332,   333,   334,   361,   335,   339,
+     340,   343,   366,   370,   374,   336,   337,   341,   342,   362,
+     338,   344,   377,   378,   379,   381,   383,   385,   387,   389,
+     393,   394,   395,   396,   397,   398,   400,   401,   402,   403,
+     404,   405,   407,   409,   410,   411,   413,   414,   391,   399,
+     406,   415,   417,   418,   419,   421,   422,   380,   382,   384,
+     408,   386,   388,   390,   392,   412,   416,   420,   468,   469,
+     472,   473,   474,   475,   470,   471,   423,   425,   426,   427,
+     429,   430,   431,   433,   434,   435,   437,   438,   439,   441,
+     442,   443,   445,   446,   447,   449,   450,   451,   453,   454,
+     455,   457,   458,   459,   461,   462,   463,   465,   466,   424,
+     428,   432,   436,   440,   448,   452,   456,   444,   460,   464,
+       0,   192,   477,   562,   131,   146,   478,   479,   480,     0,
+     561,     0,   563,     0,   108,   107,     0,   119,   124,   153,
+     152,   150,   154,     0,   147,   149,   155,   129,   186,   151,
+     476,     0,   558,   560,     0,     0,     0,   483,     0,     0,
+      96,    93,     0,   106,     0,   115,   109,   117,     0,   118,
+       0,    94,   125,     0,    99,   148,   130,     0,   187,     1,
+     559,   184,     0,   145,   143,     0,   141,   481,     0,     0,
+      97,     0,     0,   564,   110,   114,   116,   112,   120,   111,
+       0,   126,   102,     0,   100,     0,     2,    12,    13,    10,
+      11,     4,     5,     6,     7,     8,     9,    15,    14,     0,
+       0,     0,   188,    42,    41,    43,    40,     3,    17,    36,
+      19,    24,    25,     0,     0,    29,     0,    44,     0,    48,
+      51,    54,    59,    62,    64,    66,    68,    70,    72,    74,
+       0,    35,    33,     0,   182,     0,     0,   140,     0,     0,
+       0,     0,     0,   485,    95,    98,     0,     0,   543,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   509,   518,
+     522,    44,    77,    90,     0,   498,     0,   155,   129,   501,
+     520,   500,   499,     0,   502,   503,   524,   504,   531,   505,
+     506,   539,   507,     0,   113,     0,   121,     0,   493,   128,
+       0,     0,   104,     0,   101,    37,    38,     0,    21,    22,
+       0,     0,    27,    26,     0,   192,    30,    32,    39,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    75,   177,   178,     0,   173,
-      92,   140,   138,     0,     0,   478,     0,   476,   471,   473,
-     541,   540,     0,   532,     0,   544,   542,     0,     0,     0,
-     525,   528,     0,   495,     0,    80,    81,    83,    82,    85,
-      86,    87,    88,    89,    84,    79,     0,     0,   510,   506,
-     508,   512,   519,   527,   123,     0,   483,     0,   127,     0,
-     105,    16,     0,    23,    20,    31,    45,    46,    47,    50,
-      49,    52,    53,    57,    58,    55,    56,    60,    61,    63,
-      65,    67,    69,    71,    73,     0,   179,   469,     0,   479,
-       0,   474,     0,     0,     0,   543,     0,   524,     0,   555,
-       0,   553,   497,    78,    91,   122,   481,     0,   103,    18,
-       0,   475,   477,     0,   535,   534,   537,   503,   520,   516,
-       0,     0,     0,     0,     0,     0,     0,   482,   484,     0,
-       0,   536,     0,     0,   515,     0,     0,   513,     0,     0,
-       0,     0,   552,   554,   498,    76,     0,   538,     0,   503,
-     502,   504,   522,     0,   500,   529,   499,   556,     0,   539,
-     533,   514,   523,     0,   517,   531,   521
+       0,     0,     0,     0,     0,     0,     0,     0,    75,   189,
+     190,     0,   185,    92,   144,   142,     0,     0,   491,     0,
+     489,   484,   486,   554,   553,     0,   545,     0,   557,   555,
+       0,     0,     0,   538,   541,     0,   508,     0,    80,    81,
+      83,    82,    85,    86,    87,    88,    89,    84,    79,     0,
+       0,   523,   519,   521,   525,   532,   540,   123,     0,   496,
+       0,   127,     0,   105,    16,     0,    23,    20,    31,    45,
+      46,    47,    50,    49,    52,    53,    57,    58,    55,    56,
+      60,    61,    63,    65,    67,    69,    71,    73,     0,   191,
+     482,     0,   492,     0,   487,     0,     0,     0,   556,     0,
+     537,     0,   568,     0,   566,   510,    78,    91,   122,   494,
+       0,   103,    18,     0,   488,   490,     0,   548,   547,   550,
+     516,   533,   529,     0,     0,     0,     0,     0,     0,     0,
+     495,   497,     0,     0,   549,     0,     0,   528,     0,     0,
+     526,     0,     0,     0,     0,   565,   567,   511,    76,     0,
+     551,     0,   516,   515,   517,   535,     0,   513,   542,   512,
+     569,     0,   552,   546,   527,   536,     0,   530,   544,   534
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,  -634,  -289,  -634,  -358,  -355,  -401,  -364,  -279,  -307,
-    -276,  -280,  -273,  -281,  -634,  -354,  -634,  -378,  -634,  -367,
-    -397,     1,  -634,  -634,  -634,     2,  -634,  -634,  -634,   -98,
-     -93,   -92,  -634,  -634,  -600,  -634,  -634,  -634,  -634,  -181,
-    -634,  -319,  -326,  -634,     6,  -634,     0,  -332,  -634,   -54,
-    -634,  -634,  -634,  -428,  -433,  -272,  -353,  -477,  -634,  -357,
-    -467,  -633,  -400,  -634,  -634,  -410,  -408,  -634,  -634,   -80,
-    -545,  -350,  -634,  -216,  -634,  -371,  -634,  -214,  -634,  -634,
-    -634,  -634,  -212,  -634,  -634,  -634,  -634,  -634,  -634,  -634,
-    -634,   -61,  -634,  -634,  -634,  -634,  -375
+    -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,  -645,  -297,  -645,  -468,  -373,  -437,  -374,  -319,  -312,
+    -316,  -290,  -293,  -289,  -645,  -367,  -645,  -391,  -645,  -376,
+    -412,     1,  -645,  -645,  -645,     2,  -645,  -645,  -645,  -112,
+    -107,  -108,  -645,  -645,  -613,  -645,  -645,  -645,  -645,  -197,
+    -645,  -332,  -339,  -645,     6,  -645,     0,  -345,  -645,   -67,
+    -645,  -645,  -645,  -440,  -444,  -294,  -369,  -490,  -645,  -370,
+    -480,  -644,  -410,  -645,  -645,  -422,  -421,  -645,  -645,   -90,
+    -561,  -363,  -645,  -229,  -645,  -384,  -645,  -227,  -645,  -645,
+    -645,  -645,  -226,  -645,  -645,  -645,  -645,  -645,  -645,  -645,
+    -645,   -73,  -645,  -645,  -645,  -645,  -389
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,   414,   415,   416,   592,   417,   418,   419,   420,   421,
-     422,   423,   468,   425,   426,   427,   428,   429,   430,   431,
-     432,   433,   434,   435,   436,   469,   615,   470,   576,   471,
-     541,   472,   318,   498,   392,   473,   320,   321,   322,   352,
-     353,   354,   323,   324,   325,   326,   327,   328,   372,   373,
-     329,   330,   331,   332,   438,   369,   439,   365,   335,   336,
-     337,   446,   375,   449,   450,   546,   547,   496,   587,   476,
-     477,   478,   479,   564,   656,   685,   664,   665,   666,   686,
-     480,   481,   482,   483,   667,   652,   484,   485,   668,   693,
-     486,   487,   488,   628,   552,   623,   646,   662,   663,   489,
-     338,   339,   340,   349,   490,   630,   631
+      -1,   427,   428,   429,   605,   430,   431,   432,   433,   434,
+     435,   436,   481,   438,   439,   440,   441,   442,   443,   444,
+     445,   446,   447,   448,   449,   482,   628,   483,   589,   484,
+     554,   485,   331,   511,   405,   486,   333,   334,   335,   365,
+     366,   367,   336,   337,   338,   339,   340,   341,   385,   386,
+     342,   343,   344,   345,   451,   382,   452,   378,   348,   349,
+     350,   459,   388,   462,   463,   559,   560,   509,   600,   489,
+     490,   491,   492,   577,   669,   698,   677,   678,   679,   699,
+     493,   494,   495,   496,   680,   665,   497,   498,   681,   706,
+     499,   500,   501,   641,   565,   636,   659,   675,   676,   502,
+     351,   352,   353,   362,   503,   643,   644
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1334,118 +1376,240 @@
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     334,   317,   319,   355,   362,   455,   333,   456,   457,   495,
-     437,   460,   370,   580,   378,   584,   549,   586,   543,   632,
-     588,   346,   343,   523,   524,   534,   348,   388,   650,   362,
-     505,   506,   355,   681,   386,   364,   364,   684,   521,   522,
-     364,   504,   492,   387,   513,   684,   650,   341,   377,   -34,
-     440,   507,   491,   493,   440,   508,   447,   497,   525,   526,
-     535,   344,   452,   342,   440,   357,   347,   441,   358,   350,
-     589,   585,   444,   442,   389,   424,   510,   390,   445,   654,
-     391,   591,   511,   655,   647,   622,   538,   577,   500,   540,
-     577,   501,   557,   636,   559,   637,   565,   566,   567,   568,
-     569,   570,   571,   572,   573,   574,   648,   519,   635,   520,
-     549,   351,   577,   359,   495,   575,   495,   502,   503,   495,
-     688,   362,   603,   604,   605,   606,   577,   447,   577,   620,
-     447,   578,   621,   595,   368,   577,   515,   692,   625,   620,
-     593,   364,   641,   313,   314,   315,   516,   517,   518,   527,
-     528,   424,   577,   627,   424,   374,   549,   577,   659,   379,
-     658,   599,   600,   607,   608,   580,   601,   602,   384,   385,
-     440,   443,   499,   451,   509,   514,   529,   530,   531,   447,
-     532,   533,   536,   539,   545,   553,   550,   624,   551,   554,
-     555,   626,   560,   562,   558,   561,   590,   -35,   633,   634,
-     -33,   563,   594,   -28,   616,   629,   694,   495,   639,   643,
-     653,   660,   669,   619,   670,   577,  -501,   672,   678,   677,
-     674,   679,   687,   610,   447,   580,   465,   596,   597,   598,
-     424,   424,   424,   424,   424,   424,   424,   424,   424,   424,
-     424,   424,   424,   424,   424,   424,   682,   683,   640,   695,
-     609,   696,   612,   614,   371,   611,   671,   382,   381,   495,
-     613,   649,   345,   383,   542,   680,   644,   642,   690,   380,
-     447,   691,   618,   645,   581,   661,   582,   367,   583,   649,
-     673,   675,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   676,     0,     0,     0,     0,     0,   540,
-       0,     0,     0,   463,     0,   495,     0,     0,     0,   651,
-     689,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   356,     0,     0,   362,     0,   651,   333,     0,
-     363,     0,     0,     0,     0,     0,   333,     0,   334,   317,
-     319,     0,     0,     0,   333,   376,     0,     0,     0,     0,
-       0,   356,     0,     0,     0,   356,     0,   333,     0,     0,
-       0,   333,     0,     0,   424,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   448,     0,     0,     0,   475,
-       0,   333,     0,     0,     0,   474,     0,     0,     0,     0,
+     347,   330,   332,   368,   375,   468,   346,   469,   470,   508,
+     450,   473,   383,   593,   391,   597,   645,   599,   562,   556,
+     601,   359,   356,   536,   537,   547,   361,   401,   663,   375,
+     518,   519,   368,   377,   399,   694,   377,   363,   667,   697,
+     453,   390,   668,   400,   526,   517,   663,   697,   465,   -34,
+     377,   520,   504,   506,   354,   521,   460,   505,   538,   539,
+     548,   357,   453,   453,   612,   613,   360,   454,   457,   510,
+     598,   602,   402,   455,   458,   403,   523,   604,   404,   364,
+     437,   660,   524,   590,   661,   635,   551,   590,   701,   553,
+     590,   532,   370,   533,   590,   371,   570,   372,   572,   616,
+     617,   618,   619,   513,   590,   355,   514,   591,   648,   649,
+     633,   650,   562,   634,   508,   590,   508,   633,   638,   508,
+     654,   375,   515,   516,   326,   327,   328,   460,   534,   535,
+     460,   540,   541,   608,   705,   529,   530,   531,   590,   640,
+     377,   528,   590,   672,   606,   578,   579,   580,   581,   582,
+     583,   584,   585,   586,   587,   381,   437,   387,   562,   437,
+     671,   614,   615,   392,   588,   593,   620,   621,   397,   398,
+     453,   456,   512,   464,   522,   527,   542,   543,   544,   460,
+     545,   546,   549,   552,   558,   566,   563,   564,   567,   571,
+     568,   637,   573,   575,   574,   639,   -35,   -33,   646,   647,
+     576,   603,   607,   -28,   629,   642,   707,   508,   652,   656,
+     666,   673,   682,   632,   683,   590,  -514,   685,   691,   690,
+     687,   692,   700,   622,   460,   593,   478,   695,   624,   696,
+     709,   623,   609,   610,   611,   437,   437,   437,   437,   437,
+     437,   437,   437,   437,   437,   437,   437,   437,   437,   437,
+     437,   708,   653,   626,   684,   625,   395,   394,   627,   508,
+     396,   555,   358,   631,   655,   662,   657,   384,   693,   703,
+     460,   704,   393,   658,   594,   674,   595,   596,   380,   686,
+       0,   688,     0,   662,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   689,     0,   553,
+       0,     0,     0,     0,     0,   508,     0,     0,     0,   664,
+       0,     0,     0,     0,   702,     0,   476,     0,     0,     0,
+       0,     0,     0,     0,     0,   375,     0,   664,     0,     0,
+       0,     0,     0,     0,     0,   369,     0,     0,     0,     0,
+       0,   346,     0,   376,     0,     0,     0,     0,     0,   346,
+       0,   347,   330,   332,     0,     0,     0,   346,   389,     0,
+       0,     0,     0,     0,   369,     0,     0,     0,   369,   437,
+     346,     0,     0,     0,   346,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   461,     0,
+       0,     0,   488,     0,   346,     0,     0,     0,   487,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   448,   544,     0,   448,
-       0,     0,   333,   333,     0,   333,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   461,
+     557,     0,   461,     0,     0,   346,   346,     0,   346,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     475,     0,     0,     0,     0,     0,   474,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   448,     0,
-       0,     0,     0,     0,   333,     0,     0,     0,     0,     0,
+       0,     0,     0,   488,     0,     0,     0,     0,     0,   487,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   461,     0,     0,     0,     0,     0,   346,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   448,     0,     0,     0,     0,     0,   333,
-       0,     0,   475,     0,     0,     0,     0,     0,   474,     0,
-       0,     0,     0,     0,   475,     0,     0,     0,     0,     0,
-     474,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   448,
-       0,     0,     0,     0,     0,   333,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   461,     0,     0,     0,
+       0,     0,   346,     0,     0,   488,     0,     0,     0,     0,
+       0,   487,     0,     0,     0,     0,     0,   488,     0,     0,
+       0,     0,     0,   487,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   461,     0,     0,     0,     0,     0,   346,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   475,     0,     0,     0,     0,   475,   474,
-       0,     0,   475,     0,   474,     0,     0,     0,   474,     0,
-       0,     0,     0,     0,     0,     0,   475,     0,     0,     0,
-       0,   363,   474,     0,     0,     0,     0,   333,     0,     0,
-       0,     0,     0,     0,     0,     0,   475,     0,     0,     0,
-     475,     0,   474,     0,     0,     0,   474,     0,   475,     0,
-       0,     0,   475,     0,   474,     0,     0,     0,   474,     0,
-       0,     0,   475,     0,     0,     0,   366,     0,   474,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,     0,     0,
-     309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   488,     0,     0,     0,
+       0,   488,   487,     0,     0,   488,     0,   487,     0,     0,
+       0,   487,     0,     0,     0,     0,     0,     0,     0,   488,
+       0,     0,     0,     0,   376,   487,     0,     0,     0,     0,
+     346,     0,     0,     0,     0,     0,     0,     0,     0,   488,
+       0,     0,     0,   488,     0,   487,     0,     0,     0,   487,
+       0,   488,     0,     0,     0,   488,     0,   487,     0,     0,
+       0,   487,     0,     0,     0,   488,     0,     0,     0,   379,
+       0,   487,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,     0,     0,   322,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   310,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
-     313,   314,   315,   316,     1,     2,     3,     4,     5,     6,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     323,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   324,   325,   326,   327,   328,   329,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,   466,
+     467,   468,     0,   469,   470,   471,   472,   473,   474,   475,
+      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   476,   406,   322,   407,   408,   409,   410,   411,
+     412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
+     420,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   421,     0,
+     477,     0,   478,   479,     0,     0,     0,     0,   480,   423,
+     424,   425,   426,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   324,   325,   326,   327,   328,   329,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,   466,   467,   468,
+       0,   469,   470,   471,   472,   473,   474,   475,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+     476,   406,   322,   407,   408,   409,   410,   411,   412,   413,
+     414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   421,     0,   477,     0,
+     478,   592,     0,     0,     0,     0,   480,   423,   424,   425,
+     426,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     324,   325,   326,   327,   328,   329,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,   466,   467,   468,     0,   469,
+     470,   471,   472,   473,   474,   475,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
+      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
+     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
+     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
+     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
+     314,   315,   316,   317,   318,   319,   320,   321,   476,   406,
+     322,   407,   408,   409,   410,   411,   412,   413,   414,   415,
+     416,   417,   418,     0,     0,   419,   420,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   421,     0,   477,     0,   478,     0,
+       0,     0,     0,     0,   480,   423,   424,   425,   426,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   324,   325,
+     326,   327,   328,   329,     1,     2,     3,     4,     5,     6,
        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   453,   454,   455,     0,   456,   457,   458,
-     459,   460,   461,   462,    20,    21,    22,    23,    24,    25,
+      17,    18,    19,   466,   467,   468,     0,   469,   470,   471,
+     472,   473,   474,   475,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
@@ -1474,283 +1638,174 @@
      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   463,   393,   309,   394,   395,   396,   397,
-     398,   399,   400,   401,   402,   403,   404,   405,     0,     0,
-     406,   407,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   408,
-       0,   464,     0,   465,   466,     0,     0,     0,     0,   467,
-     410,   411,   412,   413,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   311,   312,   313,   314,   315,   316,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,   453,   454,
-     455,     0,   456,   457,   458,   459,   460,   461,   462,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   463,   393,
-     309,   394,   395,   396,   397,   398,   399,   400,   401,   402,
-     403,   404,   405,     0,     0,   406,   407,     0,     0,     0,
+     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,   476,   406,   322,   407,
+     408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
+     418,     0,     0,   419,   420,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   408,     0,   464,     0,   465,   579,
-       0,     0,     0,     0,   467,   410,   411,   412,   413,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
-     313,   314,   315,   316,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   453,   454,   455,     0,   456,   457,   458,
-     459,   460,   461,   462,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   463,   393,   309,   394,   395,   396,   397,
-     398,   399,   400,   401,   402,   403,   404,   405,     0,     0,
-     406,   407,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   408,
-       0,   464,     0,   465,     0,     0,     0,     0,     0,   467,
-     410,   411,   412,   413,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   311,   312,   313,   314,   315,   316,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,   453,   454,
-     455,     0,   456,   457,   458,   459,   460,   461,   462,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   463,   393,
-     309,   394,   395,   396,   397,   398,   399,   400,   401,   402,
-     403,   404,   405,     0,     0,   406,   407,     0,     0,     0,
+       0,     0,   421,     0,   477,     0,   392,     0,     0,     0,
+       0,     0,   480,   423,   424,   425,   426,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   324,   325,   326,   327,
+     328,   329,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,   466,   467,   468,     0,   469,   470,   471,   472,   473,
+     474,   475,    20,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,   476,   406,   322,   407,   408,   409,
+     410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
+       0,   419,   420,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   408,     0,   464,     0,   379,     0,
-       0,     0,     0,     0,   467,   410,   411,   412,   413,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
-     313,   314,   315,   316,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,   453,   454,   455,     0,   456,   457,   458,
-     459,   460,   461,   462,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,   463,   393,   309,   394,   395,   396,   397,
-     398,   399,   400,   401,   402,   403,   404,   405,     0,     0,
-     406,   407,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   408,
-       0,   464,     0,     0,     0,     0,     0,     0,     0,   467,
-     410,   411,   412,   413,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   311,   312,   313,   314,   315,   316,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,     0,   393,
-     309,   394,   395,   396,   397,   398,   399,   400,   401,   402,
-     403,   404,   405,     0,     0,   406,   407,     0,     0,     0,
+     421,     0,   477,     0,     0,     0,     0,     0,     0,     0,
+     480,   423,   424,   425,   426,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   324,   325,   326,   327,   328,   329,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   408,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   467,   410,   411,   412,   413,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
-     313,   314,   315,   316,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,     0,     0,   309,     0,     0,     0,     0,
+      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,     0,   406,   322,   407,   408,   409,   410,   411,
+     412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
+     420,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   421,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   480,   423,
+     424,   425,   426,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   324,   325,   326,   327,   328,   329,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    20,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+       0,     0,   322,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   310,
+       0,     0,     0,     0,     0,     0,   323,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   311,   312,   313,   314,   315,   316,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
-      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,     0,   393,
-     309,   394,   395,   396,   397,   398,   399,   400,   401,   402,
-     403,   404,   405,     0,     0,   406,   407,     0,     0,     0,
+     324,   325,   326,   327,   328,   329,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
+      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
+      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
+      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
+     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
+     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
+     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
+     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
+     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
+     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
+     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
+     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
+     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
+     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
+     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
+     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
+     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
+     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
+     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
+     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
+     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
+     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
+     314,   315,   316,   317,   318,   319,   320,   321,     0,   406,
+     322,   407,   408,   409,   410,   411,   412,   413,   414,   415,
+     416,   417,   418,     0,     0,   419,   420,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   408,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   410,   411,   412,   413,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   311,   312,
-     313,   314,   315,     1,     2,     3,     4,     5,     6,     7,
+       0,     0,     0,     0,   421,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   423,   424,   425,   426,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   324,   325,
+     326,   327,   328,     1,     2,     3,     4,     5,     6,     7,
        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
       18,    19,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    20,    21,    22,    23,    24,    25,    26,
@@ -1782,13 +1837,54 @@
      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,     0,   360,   309,     0,     0,     0,     0,     0,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,     0,   373,   322,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   361,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   311,   312,   313,   314,   315,     1,     2,     3,
+       0,   374,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   324,   325,   326,   327,   328,
+       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,     0,     0,   322,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   561,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   324,   325,   326,   327,   328,     1,     2,     3,
        4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
       14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    20,    21,    22,
@@ -1820,14 +1916,55 @@
      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,     0,     0,   309,     0,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,     0,
+       0,   322,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   548,     0,     0,
+     630,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   324,
+     325,   326,   327,   328,     1,     2,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    20,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
+     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,     0,     0,   322,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   311,   312,   313,   314,
-     315,     1,     2,     3,     4,     5,     6,     7,     8,     9,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   651,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   324,   325,   326,   327,
+     328,     1,     2,     3,     4,     5,     6,     7,     8,     9,
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    20,    21,    22,    23,    24,    25,    26,    27,    28,
@@ -1859,17 +1996,469 @@
      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-       0,     0,   309,     0,     0,     0,     0,     0,     0,     0,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,     0,     0,   322,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     3,
+       4,     5,     6,     7,     0,     9,    10,    11,    12,    13,
+      14,    15,    16,    17,    18,    19,     0,     0,     0,     0,
+       0,     0,     0,   324,   325,   326,   327,   328,    21,    22,
+      23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    69,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   617,     0,     0,     0,     0,     0,     0,     0,     0,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,     0,
+     406,   322,   407,   408,   409,   410,   411,   412,   413,   414,
+     415,   416,   417,   418,     0,     0,   419,   420,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     311,   312,   313,   314,   315,     1,     2,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
-      16,    17,    18,    19,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+       0,     0,     0,     0,     0,   421,     0,     0,     0,   507,
+     670,     0,     0,     0,     0,     0,   423,   424,   425,   426,
+       3,     4,     5,     6,     7,     0,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    21,
+      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    69,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    83,    84,    85,    86,    87,    88,    89,    90,    91,
+      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   116,   117,   118,   119,   120,   121,
+     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+       0,   406,   322,   407,   408,   409,   410,   411,   412,   413,
+     414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   421,     0,     0,   422,
+       0,     0,     0,     0,     0,     0,     0,   423,   424,   425,
+     426,     3,     4,     5,     6,     7,     0,     9,    10,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    69,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
+     321,     0,   406,   322,   407,   408,   409,   410,   411,   412,
+     413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   421,     0,     0,
+       0,   507,     0,     0,     0,     0,     0,     0,   423,   424,
+     425,   426,     3,     4,     5,     6,     7,     0,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    83,    84,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   116,   117,   118,   119,
+     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,     0,   406,   322,   407,   408,   409,   410,   411,
+     412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
+     420,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   421,     0,
+       0,   550,     0,     0,     0,     0,     0,     0,     0,   423,
+     424,   425,   426,     3,     4,     5,     6,     7,     0,     9,
+      10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    21,    22,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      69,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,     0,   406,   322,   407,   408,   409,   410,
+     411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
+     419,   420,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   421,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   569,
+     423,   424,   425,   426,     3,     4,     5,     6,     7,     0,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
+      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    69,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    83,    84,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   116,   117,
+     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
+     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
+     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
+     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
+     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
+     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
+     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
+     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
+     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
+     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
+     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
+     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
+     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
+     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
+     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
+     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
+     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
+     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
+     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
+     318,   319,   320,   321,     0,   406,   322,   407,   408,   409,
+     410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
+       0,   419,   420,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     421,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   423,   424,   425,   426,     3,     4,     5,     6,     7,
+       0,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    21,    22,    23,    24,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    69,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   525,     0,   406,   322,   407,   408,
+     409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
+       0,     0,   419,   420,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   421,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   423,   424,   425,   426,     3,     4,     5,     6,
+       7,     0,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    83,    84,    85,
+      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
+     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
+     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,     0,     0,   322
+};
+
+static const yytype_int16 yycheck[] =
+{
+       0,     0,     0,   335,   343,    24,     0,    26,    27,   400,
+     377,    30,    81,   493,   359,   505,   577,   507,   462,   459,
+     510,   336,   336,   354,   355,   359,   381,   372,   641,   368,
+     352,   353,   364,   373,   371,   679,   373,   372,   374,   683,
+     373,   381,   378,   380,   435,   421,   659,   691,   381,   371,
+     373,   373,   397,   398,   371,   377,   388,   380,   389,   390,
+     394,   375,   373,   373,   532,   533,   381,   372,   372,   380,
+     380,   511,   375,   378,   378,   378,   372,   372,   381,   378,
+     377,   372,   378,   378,   372,   565,   453,   378,   372,   456,
+     378,   383,   378,   385,   378,   381,   472,   336,   474,   536,
+     537,   538,   539,   378,   378,   371,   381,   381,   598,   376,
+     378,   378,   556,   381,   505,   378,   507,   378,   381,   510,
+     381,   460,   419,   420,   397,   398,   399,   459,   350,   351,
+     462,   356,   357,   524,   695,   386,   387,   388,   378,   379,
+     373,   438,   378,   379,   520,   361,   362,   363,   364,   365,
+     366,   367,   368,   369,   370,   336,   453,   375,   602,   456,
+     650,   534,   535,   375,   380,   645,   540,   541,   336,   336,
+     373,   380,   336,   381,   372,   371,   393,   392,   391,   511,
+     358,   360,   374,   336,   336,   371,   381,   381,   371,   371,
+     381,   567,   379,   373,   371,   571,   371,   371,   589,   590,
+     376,   336,   336,   372,   374,   336,   696,   598,   374,   335,
+     371,   371,   336,   558,   372,   378,   375,   374,   372,   381,
+     376,    25,   372,   542,   556,   705,   375,   375,   544,   380,
+     376,   543,   529,   530,   531,   532,   533,   534,   535,   536,
+     537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
+     547,   381,   628,   546,   666,   545,   368,   364,   547,   650,
+     368,   458,   329,   557,   633,   641,   636,   336,   678,   691,
+     602,   692,   362,   636,   503,   659,   503,   503,   351,   668,
+      -1,   672,    -1,   659,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   673,    -1,   666,
+      -1,    -1,    -1,    -1,    -1,   696,    -1,    -1,    -1,   641,
+      -1,    -1,    -1,    -1,   690,    -1,   335,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   664,    -1,   659,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   335,    -1,    -1,    -1,    -1,
+      -1,   335,    -1,   343,    -1,    -1,    -1,    -1,    -1,   343,
+      -1,   351,   351,   351,    -1,    -1,    -1,   351,   358,    -1,
+      -1,    -1,    -1,    -1,   364,    -1,    -1,    -1,   368,   666,
+     364,    -1,    -1,    -1,   368,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   388,    -1,
+      -1,    -1,   392,    -1,   388,    -1,    -1,    -1,   392,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   459,
+     460,    -1,   462,    -1,    -1,   459,   460,    -1,   462,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,    -1,   493,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   511,    -1,    -1,    -1,    -1,    -1,   511,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   556,    -1,    -1,    -1,
+      -1,    -1,   556,    -1,    -1,   565,    -1,    -1,    -1,    -1,
+      -1,   565,    -1,    -1,    -1,    -1,    -1,   577,    -1,    -1,
+      -1,    -1,    -1,   577,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   602,    -1,    -1,    -1,    -1,    -1,   602,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   636,    -1,    -1,    -1,
+      -1,   641,   636,    -1,    -1,   645,    -1,   641,    -1,    -1,
+      -1,   645,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   659,
+      -1,    -1,    -1,    -1,   664,   659,    -1,    -1,    -1,    -1,
+     664,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   679,
+      -1,    -1,    -1,   683,    -1,   679,    -1,    -1,    -1,   683,
+      -1,   691,    -1,    -1,    -1,   695,    -1,   691,    -1,    -1,
+      -1,   695,    -1,    -1,    -1,   705,    -1,    -1,    -1,     0,
+      -1,   705,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
+     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
+     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
+     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
+     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
+     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
+     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
+     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
+     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
+     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
+     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
+     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
+     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
+     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
+     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
+     331,   332,   333,   334,    -1,    -1,   337,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   395,   396,   397,   398,   399,   400,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    24,    -1,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,    -1,    -1,   352,
+     353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,
+     373,    -1,   375,   376,    -1,    -1,    -1,    -1,   381,   382,
+     383,   384,   385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   395,   396,   397,   398,   399,   400,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      -1,    26,    27,    28,    29,    30,    31,    32,    33,    34,
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
@@ -1897,17 +2486,98 @@
      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,     0,     0,   309,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   638,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   311,   312,   313,   314,   315,     1,
-       2,     3,     4,     5,     6,     7,     8,     9,    10,    11,
-      12,    13,    14,    15,    16,    17,    18,    19,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
-      21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   349,    -1,    -1,   352,   353,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,   373,    -1,
+     375,   376,    -1,    -1,    -1,    -1,   381,   382,   383,   384,
+     385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     395,   396,   397,   398,   399,   400,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    -1,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
+     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
+     347,   348,   349,    -1,    -1,   352,   353,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   371,    -1,   373,    -1,   375,    -1,
+      -1,    -1,    -1,    -1,   381,   382,   383,   384,   385,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   395,   396,
+     397,   398,   399,   400,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
+     339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
+     349,    -1,    -1,   352,   353,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   371,    -1,   373,    -1,   375,    -1,    -1,    -1,
+      -1,    -1,   381,   382,   383,   384,   385,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   395,   396,   397,   398,
+     399,   400,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,    24,    -1,    26,    27,    28,    29,    30,
       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
@@ -1935,721 +2605,136 @@
      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,     0,     0,
-     309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     3,     4,     5,     6,     7,     0,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,     0,     0,     0,     0,     0,     0,     0,   311,   312,
-     313,   314,   315,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    69,     0,     0,     0,     0,     0,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,     0,     0,     0,     0,     0,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
-     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
-     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
-     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
-     308,     0,   393,   309,   394,   395,   396,   397,   398,   399,
-     400,   401,   402,   403,   404,   405,     0,     0,   406,   407,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   408,     0,     0,
-       0,   494,   657,     0,     0,     0,     0,     0,   410,   411,
-     412,   413,     3,     4,     5,     6,     7,     0,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
-       0,     0,     0,     0,     0,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,     0,
-       0,     0,     0,     0,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
-     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
-     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
-     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
-     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
-     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
-     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-     300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
-     393,   309,   394,   395,   396,   397,   398,   399,   400,   401,
-     402,   403,   404,   405,     0,     0,   406,   407,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   408,     0,     0,   409,     0,
-       0,     0,     0,     0,     0,     0,   410,   411,   412,   413,
-       3,     4,     5,     6,     7,     0,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    69,     0,     0,
-       0,     0,     0,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,     0,     0,     0,
-       0,     0,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
-     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
-     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
-     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
-     302,   303,   304,   305,   306,   307,   308,     0,   393,   309,
-     394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
-     404,   405,     0,     0,   406,   407,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   408,     0,     0,     0,   494,     0,     0,
-       0,     0,     0,     0,   410,   411,   412,   413,     3,     4,
-       5,     6,     7,     0,     9,    10,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    21,    22,    23,
-      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    69,     0,     0,     0,     0,
-       0,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,     0,     0,     0,     0,     0,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,     0,   393,   309,   394,   395,
-     396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
-       0,     0,   406,   407,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   408,     0,     0,   537,     0,     0,     0,     0,     0,
-       0,     0,   410,   411,   412,   413,     3,     4,     5,     6,
-       7,     0,     9,    10,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    21,    22,    23,    24,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
-      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
-      56,    57,    58,    59,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    69,     0,     0,     0,     0,     0,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,     0,     0,     0,     0,     0,   104,   105,
-     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
-     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
-     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
-     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
-     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
-     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
-     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
-     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
-     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
-     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
-     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
-     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
-     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
-     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
-     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
-     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
-     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
-     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
-     306,   307,   308,     0,   393,   309,   394,   395,   396,   397,
-     398,   399,   400,   401,   402,   403,   404,   405,     0,     0,
-     406,   407,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   408,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   556,
-     410,   411,   412,   413,     3,     4,     5,     6,     7,     0,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    21,    22,    23,    24,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    69,     0,     0,     0,     0,     0,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,     0,     0,     0,     0,     0,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
-     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
-     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
-     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
-     308,     0,   393,   309,   394,   395,   396,   397,   398,   399,
-     400,   401,   402,   403,   404,   405,     0,     0,   406,   407,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   408,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   410,   411,
-     412,   413,     3,     4,     5,     6,     7,     0,     9,    10,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    69,
-       0,     0,     0,     0,     0,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,     0,
-       0,     0,     0,     0,   104,   105,   106,   107,   108,   109,
-     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
-     120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
-     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
-     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
-     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
-     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
-     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
-     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
-     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
-     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
-     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
-     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
-     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
-     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
-     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
-     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
-     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
-     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
-     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
-     300,   301,   302,   303,   304,   305,   306,   307,   512,     0,
-     393,   309,   394,   395,   396,   397,   398,   399,   400,   401,
-     402,   403,   404,   405,     0,     0,   406,   407,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   408,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   410,   411,   412,   413,
-       3,     4,     5,     6,     7,     0,     9,    10,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    21,
-      22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,     0,     0,     0,
-       0,     0,   104,   105,   106,   107,   108,   109,   110,   111,
-     112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
-     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
-     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
-     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
-     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
-     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
-     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
-     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
-     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
-     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
-     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
-     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
-     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
-     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
-     302,   303,   304,   305,   306,   307,   308,     0,     0,   309
-};
-
-static const yytype_int16 yycheck[] =
-{
-       0,     0,     0,   322,   330,    24,     0,    26,    27,   387,
-     364,    30,    81,   480,   346,   492,   449,   494,   446,   564,
-     497,   323,   323,   341,   342,   346,   368,   359,   628,   355,
-     339,   340,   351,   666,   358,   360,   360,   670,   337,   338,
-     360,   408,   367,   367,   422,   678,   646,   358,   368,   358,
-     360,   360,   384,   385,   360,   364,   375,   367,   376,   377,
-     381,   362,   368,   358,   360,   365,   368,   359,   368,   359,
-     498,   367,   359,   365,   362,   364,   359,   365,   365,   361,
-     368,   359,   365,   365,   359,   552,   440,   365,   365,   443,
-     365,   368,   459,   363,   461,   365,   348,   349,   350,   351,
-     352,   353,   354,   355,   356,   357,   359,   370,   585,   372,
-     543,   365,   365,   323,   492,   367,   494,   406,   407,   497,
-     359,   447,   523,   524,   525,   526,   365,   446,   365,   365,
-     449,   368,   368,   511,   323,   365,   425,   682,   368,   365,
-     507,   360,   368,   384,   385,   386,   373,   374,   375,   343,
-     344,   440,   365,   366,   443,   362,   589,   365,   366,   362,
-     637,   519,   520,   527,   528,   632,   521,   522,   323,   323,
-     360,   367,   323,   368,   359,   358,   380,   379,   378,   498,
-     345,   347,   361,   323,   323,   358,   368,   554,   368,   358,
-     368,   558,   366,   360,   358,   358,   323,   358,   576,   577,
-     358,   363,   323,   359,   361,   323,   683,   585,   361,   322,
-     358,   358,   323,   545,   359,   365,   362,   361,   359,   368,
-     363,    25,   359,   530,   543,   692,   362,   516,   517,   518,
-     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
-     529,   530,   531,   532,   533,   534,   362,   367,   615,   368,
-     529,   363,   532,   534,   323,   531,   653,   355,   351,   637,
-     533,   628,   316,   355,   445,   665,   623,   620,   678,   349,
-     589,   679,   544,   623,   490,   646,   490,   338,   490,   646,
-     655,   659,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   660,    -1,    -1,    -1,    -1,    -1,   653,
-      -1,    -1,    -1,   322,    -1,   683,    -1,    -1,    -1,   628,
-     677,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   322,    -1,    -1,   651,    -1,   646,   322,    -1,
-     330,    -1,    -1,    -1,    -1,    -1,   330,    -1,   338,   338,
-     338,    -1,    -1,    -1,   338,   345,    -1,    -1,    -1,    -1,
-      -1,   351,    -1,    -1,    -1,   355,    -1,   351,    -1,    -1,
-      -1,   355,    -1,    -1,   653,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   375,    -1,    -1,    -1,   379,
-      -1,   375,    -1,    -1,    -1,   379,    -1,    -1,    -1,    -1,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
+     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
+     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
+     341,   342,   343,   344,   345,   346,   347,   348,   349,    -1,
+      -1,   352,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     371,    -1,   373,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     381,   382,   383,   384,   385,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   395,   396,   397,   398,   399,   400,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,    -1,    -1,   352,
+     353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   381,   382,
+     383,   384,   385,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   395,   396,   397,   398,   399,   400,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
+     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+      -1,    -1,   337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   381,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     395,   396,   397,   398,   399,   400,     3,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
+      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    35,    36,
+      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
+      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
+     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
+     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
+     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
+     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
+     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
+     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
+     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
+     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
+     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
+     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
+     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
+     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
+     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
+     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
+     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
+     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
+     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
+     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
+     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
+     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
+     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
+     327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
+     337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
+     347,   348,   349,    -1,    -1,   352,   353,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   446,   447,    -1,   449,
-      -1,    -1,   446,   447,    -1,   449,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     480,    -1,    -1,    -1,    -1,    -1,   480,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   498,    -1,
-      -1,    -1,    -1,    -1,   498,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   543,    -1,    -1,    -1,    -1,    -1,   543,
-      -1,    -1,   552,    -1,    -1,    -1,    -1,    -1,   552,    -1,
-      -1,    -1,    -1,    -1,   564,    -1,    -1,    -1,    -1,    -1,
-     564,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   589,
-      -1,    -1,    -1,    -1,    -1,   589,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   623,    -1,    -1,    -1,    -1,   628,   623,
-      -1,    -1,   632,    -1,   628,    -1,    -1,    -1,   632,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   646,    -1,    -1,    -1,
-      -1,   651,   646,    -1,    -1,    -1,    -1,   651,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   666,    -1,    -1,    -1,
-     670,    -1,   666,    -1,    -1,    -1,   670,    -1,   678,    -1,
-      -1,    -1,   682,    -1,   678,    -1,    -1,    -1,   682,    -1,
-      -1,    -1,   692,    -1,    -1,    -1,     0,    -1,   692,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,    -1,    -1,
-     324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   368,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
-     384,   385,   386,   387,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,    -1,
-     339,   340,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
-      -1,   360,    -1,   362,   363,    -1,    -1,    -1,    -1,   368,
-     369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   382,   383,   384,   385,   386,   387,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    -1,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,   335,   336,    -1,    -1,   339,   340,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   358,    -1,   360,    -1,   362,   363,
-      -1,    -1,    -1,    -1,   368,   369,   370,   371,   372,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
-     384,   385,   386,   387,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,    -1,
-     339,   340,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
-      -1,   360,    -1,   362,    -1,    -1,    -1,    -1,    -1,   368,
-     369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   382,   383,   384,   385,   386,   387,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    -1,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,   335,   336,    -1,    -1,   339,   340,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   358,    -1,   360,    -1,   362,    -1,
-      -1,    -1,    -1,    -1,   368,   369,   370,   371,   372,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
-     384,   385,   386,   387,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    -1,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,    -1,
-     339,   340,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
-      -1,   360,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
-     369,   370,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   382,   383,   384,   385,   386,   387,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,    -1,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,   335,   336,    -1,    -1,   339,   340,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   368,   369,   370,   371,   372,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
-     384,   385,   386,   387,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
-     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
-     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
-     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
-     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
-     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
-     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
-     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
-     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
-     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
-     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
-     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
-     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
-     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
-     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
-     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
-     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
-     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,    -1,    -1,   324,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   382,   383,   384,   385,   386,   387,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
-     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
-     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
-     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
-     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
-     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
-     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
-     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
-     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
-     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
-     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
-     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
-     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
-     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
-     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
-     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
-     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
-     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
-     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,    -1,   323,
-     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
-     334,   335,   336,    -1,    -1,   339,   340,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
-     384,   385,   386,     3,     4,     5,     6,     7,     8,     9,
+      -1,    -1,    -1,    -1,   371,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   382,   383,   384,   385,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   395,   396,
+     397,   398,   399,     3,     4,     5,     6,     7,     8,     9,
       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
       20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    33,    34,    35,    36,    37,    38,    39,
@@ -2681,13 +2766,54 @@
      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
-     320,   321,    -1,   323,   324,    -1,    -1,    -1,    -1,    -1,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,    -1,   336,   337,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   382,   383,   384,   385,   386,     3,     4,     5,
+      -1,   381,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   395,   396,   397,   398,   399,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
+     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,    -1,    -1,   337,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   376,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   395,   396,   397,   398,   399,     3,     4,     5,
        6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
       16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,    34,    35,
@@ -2719,14 +2845,55 @@
      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
-     316,   317,   318,   319,   320,   321,    -1,    -1,   324,    -1,
+     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
+     326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
+      -1,   337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,
+     376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   395,
+     396,   397,   398,   399,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
+      19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
+     139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
+     149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
+     159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
+     169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
+     179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
+     189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
+     199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
+     209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
+     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
+     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
+     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
+     249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
+     259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
+     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
+     279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
+     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
+     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
+     309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,    -1,    -1,   337,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   382,   383,   384,   385,
-     386,     3,     4,     5,     6,     7,     8,     9,    10,    11,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   376,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   395,   396,   397,   398,
+     399,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    33,    34,    35,    36,    37,    38,    39,    40,    41,
@@ -2758,64 +2925,100 @@
      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
-      -1,    -1,   324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
+     332,   333,   334,    -1,    -1,   337,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     5,
+       6,     7,     8,     9,    -1,    11,    12,    13,    14,    15,
+      16,    17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   395,   396,   397,   398,   399,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
+      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
+     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
+     116,   117,   118,   119,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   129,   130,   131,   132,   133,   134,   135,
+     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
+     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
+     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
+     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
+     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
+     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
+     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
+     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
+     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
+     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
+     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
+     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
+     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
+     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
+     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
+     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
+     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
+     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
+     326,   327,   328,   329,   330,   331,   332,   333,   334,    -1,
+     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
+     346,   347,   348,   349,    -1,    -1,   352,   353,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-     382,   383,   384,   385,   386,     3,     4,     5,     6,     7,
-       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
-      48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
-     118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
-     128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
-     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
-     148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
-     158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
-     168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
-     178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
-     188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
-     198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
-     208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
-     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
-     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
-     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
-     248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
-     258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
-     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
-     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
-     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
-     298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
-     308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
-     318,   319,   320,   321,    -1,    -1,   324,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,    -1,   375,
+     376,    -1,    -1,    -1,    -1,    -1,   382,   383,   384,   385,
+       5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
+     115,   116,   117,   118,   119,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,   129,   130,   131,   132,   133,   134,
+     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
+     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
+     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
+     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
+     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
+     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
+     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
+     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
+     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
+     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
+     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
+     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
+     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
+      -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
+     345,   346,   347,   348,   349,    -1,    -1,   352,   353,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   363,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   382,   383,   384,   385,   386,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
+      -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,   374,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,   384,
+     385,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
       14,    15,    16,    17,    18,    19,    20,    21,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    33,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
+      64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    96,    97,    98,    99,   100,   101,   102,   103,
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
-     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
-     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
+     114,   115,   116,   117,   118,   119,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   129,   130,   131,   132,   133,
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
@@ -2834,23 +3037,102 @@
      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
-     314,   315,   316,   317,   318,   319,   320,   321,    -1,    -1,
-     324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
+     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
+     334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
+     344,   345,   346,   347,   348,   349,    -1,    -1,   352,   353,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,    -1,
+      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
+     384,   385,     5,     6,     7,     8,     9,    -1,    11,    12,
+      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     5,     6,     7,     8,     9,    -1,
+      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    96,    97,    98,    99,   100,   101,   102,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
+     113,   114,   115,   116,   117,   118,   119,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   129,   130,   131,   132,
+     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
+     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
+     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
+     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
+     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
+     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
+     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
+     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
+     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
+     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
+     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
+     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
+     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
+     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
+     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
+     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
+     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
+     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
+     343,   344,   345,   346,   347,   348,   349,    -1,    -1,   352,
+     353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,    -1,
+      -1,   374,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,
+     383,   384,   385,     5,     6,     7,     8,     9,    -1,    11,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
+      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
+      62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
+      72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    96,    97,    98,    99,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   113,   114,   115,   116,   117,   118,   119,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,   131,
+     132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
+     142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
+     152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
+     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
+     192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
+     212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
+     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
+     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
+     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
+     252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
+     262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
+     272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
+     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
+     292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
+     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
+     322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
+     332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
+     342,   343,   344,   345,   346,   347,   348,   349,    -1,    -1,
+     352,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   371,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   381,
+     382,   383,   384,   385,     5,     6,     7,     8,     9,    -1,
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   382,   383,
-     384,   385,   386,    34,    35,    36,    37,    38,    39,    40,
+      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
       71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    82,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+      -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,   100,
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
+     111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,   130,
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
@@ -2870,122 +3152,51 @@
      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
-     331,   332,   333,   334,   335,   336,    -1,    -1,   339,   340,
+     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
+     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
+     341,   342,   343,   344,   345,   346,   347,   348,   349,    -1,
+      -1,   352,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,
-      -1,   362,   363,    -1,    -1,    -1,    -1,    -1,   369,   370,
-     371,   372,     5,     6,     7,     8,     9,    -1,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
+     371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   382,   383,   384,   385,     5,     6,     7,     8,     9,
+      -1,    11,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
+      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
+      70,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   129,
+     130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
+     140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
+     150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
+     160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
+     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
+     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
+     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
+     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
+     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
+     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
+     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
+     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
+     250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
+     270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
+     280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
+     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
+     300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
+     310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
+     320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
+     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
+     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
+      -1,    -1,   352,   353,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
-      -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
-      -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
-     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
-     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
-     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
-     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
-     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
-     313,   314,   315,   316,   317,   318,   319,   320,   321,    -1,
-     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,   335,   336,    -1,    -1,   339,   340,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,   361,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,
-       5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
-      -1,    -1,    -1,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
-      -1,    -1,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
-     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
-     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-     315,   316,   317,   318,   319,   320,   321,    -1,   323,   324,
-     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
-     335,   336,    -1,    -1,   339,   340,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   358,    -1,    -1,    -1,   362,    -1,    -1,
-      -1,    -1,    -1,    -1,   369,   370,   371,   372,     5,     6,
-       7,     8,     9,    -1,    11,    12,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
-      -1,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111,    -1,    -1,    -1,    -1,    -1,
-     117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
-     127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
-     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
-     147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
-     157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
-     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
-     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
-     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
-     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
-     207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
-     217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
-     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
-     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
-     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
-     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
-     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
-     277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
-     287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
-     297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
-     307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
-     317,   318,   319,   320,   321,    -1,   323,   324,   325,   326,
-     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
-      -1,    -1,   339,   340,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   358,    -1,    -1,   361,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   369,   370,   371,   372,     5,     6,     7,     8,
+      -1,   371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   382,   383,   384,   385,     5,     6,     7,     8,
        9,    -1,    11,    12,    13,    14,    15,    16,    17,    18,
       19,    20,    21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    34,    35,    36,    37,    38,
@@ -2993,11 +3204,11 @@
       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
       69,    70,    71,    72,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    98,
       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
-     109,   110,   111,    -1,    -1,    -1,    -1,    -1,   117,   118,
-     119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
+     109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
+     119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
@@ -3017,117 +3228,8 @@
      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
-     319,   320,   321,    -1,   323,   324,   325,   326,   327,   328,
-     329,   330,   331,   332,   333,   334,   335,   336,    -1,    -1,
-     339,   340,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   368,
-     369,   370,   371,   372,     5,     6,     7,     8,     9,    -1,
-      11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    34,    35,    36,    37,    38,    39,    40,
-      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
-      71,    72,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    82,    -1,    -1,    -1,    -1,    -1,    88,    89,    90,
-      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
-     101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,    -1,    -1,    -1,    -1,    -1,   117,   118,   119,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
-     131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
-     141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
-     151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
-     161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
-     171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
-     181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
-     191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
-     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
-     211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
-     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
-     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
-     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
-     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
-     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
-     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
-     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
-     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
-     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
-     321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
-     331,   332,   333,   334,   335,   336,    -1,    -1,   339,   340,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   369,   370,
-     371,   372,     5,     6,     7,     8,     9,    -1,    11,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
-      -1,    -1,    -1,    -1,    -1,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
-      -1,    -1,    -1,    -1,   117,   118,   119,   120,   121,   122,
-     123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
-     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
-     143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
-     153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
-     163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
-     183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
-     193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
-     203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
-     213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
-     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
-     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
-     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
-     253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
-     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
-     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
-     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
-     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
-     313,   314,   315,   316,   317,   318,   319,   320,   321,    -1,
-     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
-     333,   334,   335,   336,    -1,    -1,   339,   340,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   369,   370,   371,   372,
-       5,     6,     7,     8,     9,    -1,    11,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,    -1,    -1,    -1,
-      -1,    -1,   117,   118,   119,   120,   121,   122,   123,   124,
-     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
-     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
-     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
-     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
-     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
-     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
-     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
-     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
-     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
-     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
-     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
-     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
-     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
-     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
-     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
-     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
-     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
-     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
-     315,   316,   317,   318,   319,   320,   321,    -1,    -1,   324
+     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
+     329,   330,   331,   332,   333,   334,    -1,    -1,   337
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -3164,107 +3266,109 @@
      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
-     313,   314,   315,   316,   317,   318,   319,   320,   321,   324,
-     368,   382,   383,   384,   385,   386,   387,   422,   423,   426,
-     427,   428,   429,   433,   434,   435,   436,   437,   438,   441,
-     442,   443,   444,   445,   447,   449,   450,   451,   491,   492,
-     493,   358,   358,   323,   362,   450,   323,   368,   368,   494,
-     359,   365,   430,   431,   432,   442,   447,   365,   368,   323,
-     323,   368,   443,   447,   360,   448,     0,   492,   323,   446,
-      81,   323,   439,   440,   362,   453,   447,   368,   448,   362,
-     470,   431,   430,   432,   323,   323,   358,   367,   448,   362,
-     365,   368,   425,   323,   325,   326,   327,   328,   329,   330,
-     331,   332,   333,   334,   335,   336,   339,   340,   358,   361,
-     369,   370,   371,   372,   392,   393,   394,   396,   397,   398,
-     399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
-     409,   410,   411,   412,   413,   414,   415,   416,   445,   447,
-     360,   359,   365,   367,   359,   365,   452,   442,   447,   454,
-     455,   368,   368,    22,    23,    24,    26,    27,    28,    29,
-      30,    31,    32,   322,   360,   362,   363,   368,   403,   416,
-     418,   420,   422,   426,   445,   447,   460,   461,   462,   463,
-     471,   472,   473,   474,   477,   478,   481,   482,   483,   490,
-     495,   448,   367,   448,   362,   418,   458,   367,   424,   323,
-     365,   368,   403,   403,   420,   339,   340,   360,   364,   359,
-     359,   365,   321,   418,   358,   403,   373,   374,   375,   370,
-     372,   337,   338,   341,   342,   376,   377,   343,   344,   380,
-     379,   378,   345,   347,   346,   381,   361,   361,   416,   323,
-     416,   421,   440,   454,   447,   323,   456,   457,   363,   455,
-     368,   368,   485,   358,   358,   368,   368,   420,   358,   420,
-     366,   358,   360,   363,   464,   348,   349,   350,   351,   352,
-     353,   354,   355,   356,   357,   367,   419,   365,   368,   363,
-     461,   474,   478,   483,   458,   367,   458,   459,   458,   454,
-     323,   359,   395,   420,   323,   418,   403,   403,   403,   405,
-     405,   406,   406,   407,   407,   407,   407,   408,   408,   409,
-     410,   411,   412,   413,   414,   417,   361,   363,   456,   448,
-     365,   368,   461,   486,   420,   368,   420,   366,   484,   323,
-     496,   497,   471,   418,   418,   458,   363,   365,   363,   361,
-     420,   368,   457,   322,   460,   472,   487,   359,   359,   420,
-     435,   442,   476,   358,   361,   365,   465,   363,   458,   366,
-     358,   476,   488,   489,   467,   468,   469,   475,   479,   323,
-     359,   421,   361,   497,   363,   418,   420,   368,   359,    25,
-     463,   462,   362,   367,   462,   466,   470,   359,   359,   420,
-     466,   467,   471,   480,   458,   368,   363
+     313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
+     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
+     333,   334,   337,   381,   395,   396,   397,   398,   399,   400,
+     435,   436,   439,   440,   441,   442,   446,   447,   448,   449,
+     450,   451,   454,   455,   456,   457,   458,   460,   462,   463,
+     464,   504,   505,   506,   371,   371,   336,   375,   463,   336,
+     381,   381,   507,   372,   378,   443,   444,   445,   455,   460,
+     378,   381,   336,   336,   381,   456,   460,   373,   461,     0,
+     505,   336,   459,    81,   336,   452,   453,   375,   466,   460,
+     381,   461,   375,   483,   444,   443,   445,   336,   336,   371,
+     380,   461,   375,   378,   381,   438,   336,   338,   339,   340,
+     341,   342,   343,   344,   345,   346,   347,   348,   349,   352,
+     353,   371,   374,   382,   383,   384,   385,   405,   406,   407,
+     409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
+     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
+     429,   458,   460,   373,   372,   378,   380,   372,   378,   465,
+     455,   460,   467,   468,   381,   381,    22,    23,    24,    26,
+      27,    28,    29,    30,    31,    32,   335,   373,   375,   376,
+     381,   416,   429,   431,   433,   435,   439,   458,   460,   473,
+     474,   475,   476,   484,   485,   486,   487,   490,   491,   494,
+     495,   496,   503,   508,   461,   380,   461,   375,   431,   471,
+     380,   437,   336,   378,   381,   416,   416,   433,   352,   353,
+     373,   377,   372,   372,   378,   334,   431,   371,   416,   386,
+     387,   388,   383,   385,   350,   351,   354,   355,   389,   390,
+     356,   357,   393,   392,   391,   358,   360,   359,   394,   374,
+     374,   429,   336,   429,   434,   453,   467,   460,   336,   469,
+     470,   376,   468,   381,   381,   498,   371,   371,   381,   381,
+     433,   371,   433,   379,   371,   373,   376,   477,   361,   362,
+     363,   364,   365,   366,   367,   368,   369,   370,   380,   432,
+     378,   381,   376,   474,   487,   491,   496,   471,   380,   471,
+     472,   471,   467,   336,   372,   408,   433,   336,   431,   416,
+     416,   416,   418,   418,   419,   419,   420,   420,   420,   420,
+     421,   421,   422,   423,   424,   425,   426,   427,   430,   374,
+     376,   469,   461,   378,   381,   474,   499,   433,   381,   433,
+     379,   497,   336,   509,   510,   484,   431,   431,   471,   376,
+     378,   376,   374,   433,   381,   470,   335,   473,   485,   500,
+     372,   372,   433,   448,   455,   489,   371,   374,   378,   478,
+     376,   471,   379,   371,   489,   501,   502,   480,   481,   482,
+     488,   492,   336,   372,   434,   374,   510,   376,   431,   433,
+     381,   372,    25,   476,   475,   375,   380,   475,   479,   483,
+     372,   372,   433,   479,   480,   484,   493,   471,   381,   376
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint16 yyr1[] =
 {
-       0,   391,   392,   393,   393,   393,   393,   393,   393,   393,
-     393,   393,   393,   393,   393,   393,   393,   394,   394,   394,
-     394,   394,   394,   395,   396,   397,   398,   398,   399,   399,
-     400,   400,   401,   402,   402,   402,   403,   403,   403,   403,
-     404,   404,   404,   404,   405,   405,   405,   405,   406,   406,
-     406,   407,   407,   407,   408,   408,   408,   408,   408,   409,
-     409,   409,   410,   410,   411,   411,   412,   412,   413,   413,
-     414,   414,   415,   415,   416,   417,   416,   418,   418,   419,
-     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
-     420,   420,   421,   422,   422,   422,   422,   422,   422,   422,
-     422,   422,   424,   423,   425,   425,   426,   427,   427,   428,
-     428,   429,   430,   430,   431,   431,   431,   431,   432,   433,
-     433,   433,   433,   433,   434,   434,   434,   434,   434,   435,
-     435,   436,   437,   437,   437,   437,   438,   439,   439,   440,
-     440,   440,   441,   442,   442,   443,   443,   443,   443,   443,
-     443,   443,   444,   444,   444,   444,   444,   444,   444,   444,
-     444,   444,   444,   444,   444,   444,   444,   444,   444,   444,
-     444,   445,   446,   446,   447,   447,   448,   448,   448,   448,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   449,   449,   449,   449,   449,
-     449,   449,   449,   449,   449,   450,   450,   450,   452,   451,
-     453,   451,   454,   454,   455,   455,   456,   456,   457,   457,
-     458,   458,   458,   459,   459,   460,   461,   461,   462,   462,
-     462,   462,   462,   462,   462,   463,   464,   465,   463,   466,
-     466,   468,   467,   469,   467,   470,   470,   471,   471,   472,
-     472,   473,   473,   474,   475,   475,   476,   476,   477,   477,
-     479,   478,   480,   480,   481,   481,   482,   482,   484,   483,
-     485,   483,   486,   483,   487,   487,   488,   488,   489,   489,
-     490,   490,   490,   490,   490,   491,   491,   492,   492,   492,
-     494,   493,   495,   496,   496,   497,   497
+       0,   404,   405,   406,   406,   406,   406,   406,   406,   406,
+     406,   406,   406,   406,   406,   406,   406,   407,   407,   407,
+     407,   407,   407,   408,   409,   410,   411,   411,   412,   412,
+     413,   413,   414,   415,   415,   415,   416,   416,   416,   416,
+     417,   417,   417,   417,   418,   418,   418,   418,   419,   419,
+     419,   420,   420,   420,   421,   421,   421,   421,   421,   422,
+     422,   422,   423,   423,   424,   424,   425,   425,   426,   426,
+     427,   427,   428,   428,   429,   430,   429,   431,   431,   432,
+     432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
+     433,   433,   434,   435,   435,   435,   435,   435,   435,   435,
+     435,   435,   437,   436,   438,   438,   439,   440,   440,   441,
+     441,   442,   443,   443,   444,   444,   444,   444,   445,   446,
+     446,   446,   446,   446,   447,   447,   447,   447,   447,   448,
+     448,   449,   450,   450,   450,   450,   450,   450,   450,   450,
+     451,   452,   452,   453,   453,   453,   454,   455,   455,   456,
+     456,   456,   456,   456,   456,   456,   457,   457,   457,   457,
+     457,   457,   457,   457,   457,   457,   457,   457,   457,   457,
+     457,   457,   457,   457,   457,   457,   457,   457,   457,   457,
+     457,   457,   457,   458,   459,   459,   460,   460,   461,   461,
+     461,   461,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
+     462,   462,   462,   462,   462,   462,   462,   462,   463,   463,
+     463,   465,   464,   466,   464,   467,   467,   468,   468,   469,
+     469,   470,   470,   471,   471,   471,   472,   472,   473,   474,
+     474,   475,   475,   475,   475,   475,   475,   475,   476,   477,
+     478,   476,   479,   479,   481,   480,   482,   480,   483,   483,
+     484,   484,   485,   485,   486,   486,   487,   488,   488,   489,
+     489,   490,   490,   492,   491,   493,   493,   494,   494,   495,
+     495,   497,   496,   498,   496,   499,   496,   500,   500,   501,
+     501,   502,   502,   503,   503,   503,   503,   503,   504,   504,
+     505,   505,   505,   507,   506,   508,   509,   509,   510,   510
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -3283,11 +3387,13 @@
        3,     4,     0,     6,     2,     3,     2,     1,     1,     2,
        3,     3,     2,     3,     2,     1,     2,     1,     1,     1,
        3,     4,     6,     5,     1,     2,     3,     5,     4,     1,
-       2,     1,     1,     1,     1,     1,     4,     1,     3,     1,
-       3,     1,     1,     1,     2,     1,     1,     1,     1,     1,
+       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       4,     1,     3,     1,     3,     1,     1,     1,     2,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       4,     1,     1,     3,     1,     2,     2,     3,     3,     4,
+       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
+       1,     1,     4,     1,     1,     3,     1,     2,     2,     3,
+       3,     4,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
@@ -3316,16 +3422,15 @@
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
-       0,     5,     1,     2,     3,     4,     1,     3,     1,     2,
-       1,     3,     4,     1,     3,     1,     1,     1,     1,     1,
-       1,     1,     1,     1,     1,     2,     0,     0,     5,     1,
-       1,     0,     2,     0,     2,     2,     3,     1,     2,     1,
-       2,     1,     2,     5,     3,     1,     1,     4,     1,     2,
-       0,     8,     0,     1,     3,     2,     1,     2,     0,     6,
-       0,     8,     0,     7,     1,     1,     1,     0,     2,     3,
-       2,     2,     2,     3,     2,     1,     2,     1,     1,     1,
-       0,     3,     5,     1,     3,     1,     4
+       1,     0,     6,     0,     5,     1,     2,     3,     4,     1,
+       3,     1,     2,     1,     3,     4,     1,     3,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     2,     0,
+       0,     5,     1,     1,     0,     2,     0,     2,     2,     3,
+       1,     2,     1,     2,     1,     2,     5,     3,     1,     1,
+       4,     1,     2,     0,     8,     0,     1,     3,     2,     1,
+       2,     0,     6,     0,     8,     0,     7,     1,     1,     1,
+       0,     2,     3,     2,     2,     2,     3,     2,     1,     2,
+       1,     1,     1,     0,     3,     5,     1,     3,     1,     4
 };
 
 
@@ -3610,11 +3715,11 @@
 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
                 yytype_int16 *yyssp, int yytoken)
 {
-  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
+  YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
   YYSIZE_T yysize = yysize0;
   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
   /* Internationalized format string. */
-  const char *yyformat = YY_NULL;
+  const char *yyformat = YY_NULLPTR;
   /* Arguments of yyformat. */
   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
   /* Number of reported tokens (one for the "unexpected", one per
@@ -3671,7 +3776,7 @@
                   }
                 yyarg[yycount++] = yytname[yyx];
                 {
-                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
+                  YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
                   if (! (yysize <= yysize1
                          && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
                     return 2;
@@ -4008,250 +4113,250 @@
   switch (yyn)
     {
         case 2:
-#line 293 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 294 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleVariable((yyvsp[0].lex).loc, (yyvsp[0].lex).symbol, (yyvsp[0].lex).string);
     }
-#line 4016 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 3:
-#line 299 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
-    }
-#line 4024 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 4:
-#line 302 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
-    }
-#line 4033 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 5:
-#line 306 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
-    }
-#line 4042 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 6:
-#line 310 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
-    }
-#line 4050 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 7:
-#line 313 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
-    }
-#line 4059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 8:
-#line 317 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        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 4068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 9:
-#line 321 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        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 4077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 10:
-#line 325 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
-    }
-#line 4086 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 11:
-#line 329 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
-    }
-#line 4095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 12:
-#line 333 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
-    }
-#line 4103 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 13:
-#line 336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        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 4112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 14:
-#line 340 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
-    }
 #line 4121 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 15:
-#line 344 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 3:
+#line 300 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
+        (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
 #line 4129 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
+  case 4:
+#line 303 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
+    }
+#line 4138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 5:
+#line 307 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+    }
+#line 4147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 6:
+#line 311 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
+    }
+#line 4155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 7:
+#line 314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "unsigned literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+    }
+#line 4164 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 8:
+#line 318 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        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 4173 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 9:
+#line 322 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        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 4182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 10:
+#line 326 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((short)(yyvsp[0].lex).i, (yyvsp[0].lex).loc, true);
+    }
+#line 4191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 11:
+#line 330 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt16Check((yyvsp[0].lex).loc, "16-bit unsigned integer literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((unsigned short)(yyvsp[0].lex).u, (yyvsp[0].lex).loc, true);
+    }
+#line 4200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 12:
+#line 334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat, (yyvsp[0].lex).loc, true);
+    }
+#line 4208 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 13:
+#line 337 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        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 4217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 14:
+#line 341 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float literal");
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).d, EbtFloat16, (yyvsp[0].lex).loc, true);
+    }
+#line 4226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 15:
+#line 345 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion((yyvsp[0].lex).b, (yyvsp[0].lex).loc, true);
+    }
+#line 4234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
   case 16:
-#line 347 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 348 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[-1].interm.intermTypedNode);
         if ((yyval.interm.intermTypedNode)->getAsConstantUnion())
             (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
     }
-#line 4139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 17:
-#line 355 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 356 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 18:
-#line 358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBracketDereference((yyvsp[-2].lex).loc, (yyvsp[-3].interm.intermTypedNode), (yyvsp[-1].interm.intermTypedNode));
     }
-#line 4155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 19:
-#line 361 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 362 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 20:
-#line 364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 365 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleDotDereference((yyvsp[0].lex).loc, (yyvsp[-2].interm.intermTypedNode), *(yyvsp[0].lex).string);
     }
-#line 4171 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 21:
-#line 367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 368 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
         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 4181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 22:
-#line 372 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 373 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[-1].interm.intermTypedNode));
         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 4191 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 23:
-#line 380 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 381 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.integerCheck((yyvsp[0].interm.intermTypedNode), "[]");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4200 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4305 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 24:
-#line 387 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 388 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleFunctionCall((yyvsp[0].interm).loc, (yyvsp[0].interm).function, (yyvsp[0].interm).intermNode);
         delete (yyvsp[0].interm).function;
     }
-#line 4209 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4314 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 25:
-#line 394 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 4217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4322 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 26:
-#line 400 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 401 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 4226 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 27:
-#line 404 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 405 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 4235 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4340 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 28:
-#line 411 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 412 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 4243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 29:
-#line 414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 415 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 4251 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 30:
-#line 420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 421 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType };
         param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -4259,11 +4364,11 @@
         (yyval.interm).function = (yyvsp[-1].interm).function;
         (yyval.interm).intermNode = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4368 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 31:
-#line 427 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 428 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TParameter param = { 0, new TType };
         param.type->shallowCopy((yyvsp[0].interm.intermTypedNode)->getType());
@@ -4271,29 +4376,29 @@
         (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 4275 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4380 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 32:
-#line 437 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 438 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-1].interm);
     }
-#line 4283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4388 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 33:
-#line 445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 446 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Constructor
         (yyval.interm).intermNode = 0;
         (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
     }
-#line 4293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4398 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 34:
-#line 450 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // Should be a method or subroutine call, but we haven't recognized the arguments yet.
@@ -4321,50 +4426,50 @@
             (yyval.interm).function = new TFunction(&empty, TType(EbtVoid), EOpNull);
         }
     }
-#line 4325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 35:
-#line 477 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 478 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Constructor
         (yyval.interm).intermNode = 0;
         (yyval.interm).function = parseContext.handleConstructorCall((yyvsp[0].interm.type).loc, (yyvsp[0].interm.type));
     }
-#line 4335 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4440 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 36:
-#line 485 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 486 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.variableCheck((yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         if (TIntermMethod* method = (yyvsp[0].interm.intermTypedNode)->getAsMethodNode())
             parseContext.error((yyvsp[0].interm.intermTypedNode)->getLoc(), "incomplete method syntax", method->getMethodName().c_str(), "");
     }
-#line 4346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 37:
-#line 491 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 492 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         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 4355 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4460 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 38:
-#line 495 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         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 4364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 39:
-#line 499 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 500 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-1].interm).op != EOpNull) {
             char errorOp[2] = {0, 0};
@@ -4381,179 +4486,179 @@
                 (yyval.interm.intermTypedNode)->getAsConstantUnion()->setExpression();
         }
     }
-#line 4385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 40:
-#line 519 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNull; }
-#line 4391 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 41:
-#line 520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 521 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpNegative; }
-#line 4397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 42:
-#line 521 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 522 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLogicalNot; }
-#line 4403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4508 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 43:
-#line 522 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 523 "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 4410 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 44:
-#line 528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 45:
-#line 529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 530 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "*", EOpMul, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 46:
-#line 534 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "/", EOpDiv, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 47:
-#line 539 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "%");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "%", EOpMod, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 48:
-#line 548 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4453 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 49:
-#line 549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "+", EOpAdd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4463 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 50:
-#line 554 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "-", EOpSub, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 51:
-#line 562 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 563 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 52:
-#line 563 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 564 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift left");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<<", EOpLeftShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4490 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 53:
-#line 569 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 570 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bit shift right");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">>", EOpRightShift, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 54:
-#line 578 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 579 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4612 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 55:
-#line 579 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<", EOpLessThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4622 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 56:
-#line 584 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 585 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">", EOpGreaterThan, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4527 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4632 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 57:
-#line 589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "<=", EOpLessThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4537 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4642 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 58:
-#line 594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 595 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, ">=", EOpGreaterThanEqual, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 59:
-#line 602 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4553 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 60:
-#line 603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 604 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
         parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "==");
@@ -4562,11 +4667,11 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4566 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 61:
-#line 611 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array comparison");
         parseContext.opaqueCheck((yyvsp[-1].lex).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "!=");
@@ -4575,124 +4680,124 @@
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4579 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4684 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 62:
-#line 622 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4585 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 63:
-#line 623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 624 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise and");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&", EOpAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4596 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4701 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 64:
-#line 632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4602 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 65:
-#line 633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 634 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise exclusive or");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^", EOpExclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4718 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 66:
-#line 642 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 643 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 67:
-#line 643 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 644 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[-1].lex).loc, "bitwise inclusive or");
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "|", EOpInclusiveOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
     }
-#line 4630 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4735 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 68:
-#line 652 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4741 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 69:
-#line 653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 654 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "&&", EOpLogicalAnd, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 70:
-#line 661 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 662 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4652 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 71:
-#line 662 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 663 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "^^", EOpLogicalXor, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4767 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 72:
-#line 670 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4773 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 73:
-#line 671 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 672 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = parseContext.handleBinaryMath((yyvsp[-1].lex).loc, "||", EOpLogicalOr, (yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
         if ((yyval.interm.intermTypedNode) == 0)
             (yyval.interm.intermTypedNode) = parseContext.intermediate.addConstantUnion(false, (yyvsp[-1].lex).loc);
     }
-#line 4678 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 74:
-#line 679 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 680 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4684 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4789 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 75:
-#line 680 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 681 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 4692 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 76:
-#line 683 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 684 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         parseContext.boolCheck((yyvsp[-4].lex).loc, (yyvsp[-5].interm.intermTypedNode));
@@ -4705,17 +4810,17 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4709 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4814 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 77:
-#line 698 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-#line 4715 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 78:
-#line 699 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 700 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayObjectCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "array assignment");
         parseContext.opaqueCheck((yyvsp[-1].interm).loc, (yyvsp[-2].interm.intermTypedNode)->getType(), "=");
@@ -4729,119 +4834,119 @@
             (yyval.interm.intermTypedNode) = (yyvsp[-2].interm.intermTypedNode);
         }
     }
-#line 4733 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4838 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 79:
-#line 715 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 716 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAssign;
     }
-#line 4742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4847 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 80:
-#line 719 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 720 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpMulAssign;
     }
-#line 4751 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4856 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 81:
-#line 723 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 724 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpDivAssign;
     }
-#line 4760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 82:
-#line 727 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 728 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "%=");
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpModAssign;
     }
-#line 4770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 83:
-#line 732 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 733 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpAddAssign;
     }
-#line 4779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4884 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 84:
-#line 736 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 737 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).op = EOpSubAssign;
     }
-#line 4788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4893 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 85:
-#line 740 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 741 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift left assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpLeftShiftAssign;
     }
-#line 4797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 86:
-#line 744 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 745 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bit-shift right assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpRightShiftAssign;
     }
-#line 4806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4911 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 87:
-#line 748 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 749 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-and assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpAndAssign;
     }
-#line 4815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4920 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 88:
-#line 752 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 753 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-xor assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpExclusiveOrAssign;
     }
-#line 4824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4929 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 89:
-#line 756 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 757 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.fullIntegerCheck((yyvsp[0].lex).loc, "bitwise-or assign");
         (yyval.interm).loc = (yyvsp[0].lex).loc; (yyval.interm).op = EOpInclusiveOrAssign;
     }
-#line 4833 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 90:
-#line 763 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 764 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4841 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 91:
-#line 766 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 767 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.samplerConstructorLocationCheck((yyvsp[-1].lex).loc, ",", (yyvsp[0].interm.intermTypedNode));
         (yyval.interm.intermTypedNode) = parseContext.intermediate.addComma((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode), (yyvsp[-1].lex).loc);
@@ -4850,40 +4955,40 @@
             (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
         }
     }
-#line 4854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4959 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 92:
-#line 777 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 778 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.constantValueCheck((yyvsp[0].interm.intermTypedNode), "");
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 4863 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 93:
-#line 784 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 785 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleFunctionDeclarator((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).function, true /* prototype */);
         (yyval.interm.intermNode) = 0;
         // TODO: 4.0 functionality: subroutines: make the identifier a user type for this signature
     }
-#line 4873 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4978 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 94:
-#line 789 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 790 "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 4883 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 4988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 95:
-#line 794 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 795 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.profileRequires((yyvsp[-3].lex).loc, ENoProfile, 130, 0, "precision statement");
 
@@ -4892,75 +4997,75 @@
         parseContext.setDefaultPrecision((yyvsp[-3].lex).loc, (yyvsp[-1].interm.type), (yyvsp[-2].interm.type).qualifier.precision);
         (yyval.interm.intermNode) = 0;
     }
-#line 4896 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 96:
-#line 802 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-1].interm).loc, *(yyvsp[-1].interm).typeList);
         (yyval.interm.intermNode) = 0;
     }
-#line 4905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5010 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 97:
-#line 806 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 807 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-2].interm).loc, *(yyvsp[-2].interm).typeList, (yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 4914 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 98:
-#line 810 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.declareBlock((yyvsp[-3].interm).loc, *(yyvsp[-3].interm).typeList, (yyvsp[-2].lex).string, (yyvsp[-1].interm).arraySizes);
         (yyval.interm.intermNode) = 0;
     }
-#line 4923 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 99:
-#line 814 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 815 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalQualifierFixCheck((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier);
         parseContext.updateStandaloneQualifierDefaults((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type));
         (yyval.interm.intermNode) = 0;
     }
-#line 4933 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5038 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 100:
-#line 819 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 820 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkNoShaderLayouts((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).shaderQualifiers);
         parseContext.addQualifierToExisting((yyvsp[-2].interm.type).loc, (yyvsp[-2].interm.type).qualifier, *(yyvsp[-1].lex).string);
         (yyval.interm.intermNode) = 0;
     }
-#line 4943 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 101:
-#line 824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 825 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkNoShaderLayouts((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).shaderQualifiers);
         (yyvsp[-1].interm.identifierList)->push_back((yyvsp[-2].lex).string);
         parseContext.addQualifierToExisting((yyvsp[-3].interm.type).loc, (yyvsp[-3].interm.type).qualifier, *(yyvsp[-1].interm.identifierList));
         (yyval.interm.intermNode) = 0;
     }
-#line 4954 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5059 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 102:
-#line 833 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedBlockCheck((yyvsp[-2].interm.type).loc); }
-#line 4960 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 103:
-#line 833 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.structNestingLevel;
         parseContext.blockName = (yyvsp[-4].lex).string;
@@ -4970,54 +5075,54 @@
         (yyval.interm).loc = (yyvsp[-5].interm.type).loc;
         (yyval.interm).typeList = (yyvsp[-1].interm.typeList);
     }
-#line 4974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 104:
-#line 844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 845 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.identifierList) = new TIdentifierList;
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 4983 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5088 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 105:
-#line 848 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.identifierList) = (yyvsp[-2].interm.identifierList);
         (yyval.interm.identifierList)->push_back((yyvsp[0].lex).string);
     }
-#line 4992 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 106:
-#line 855 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 856 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).function = (yyvsp[-1].interm.function);
         (yyval.interm).loc = (yyvsp[0].lex).loc;
     }
-#line 5001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 107:
-#line 862 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 863 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.function) = (yyvsp[0].interm.function);
     }
-#line 5009 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5114 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 108:
-#line 865 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 866 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.function) = (yyvsp[0].interm.function);
     }
-#line 5017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 109:
-#line 872 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 873 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // Add the parameter
         (yyval.interm.function) = (yyvsp[-1].interm.function);
@@ -5026,11 +5131,11 @@
         else
             delete (yyvsp[0].interm).param.type;
     }
-#line 5030 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 110:
-#line 880 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 881 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // Only first parameter of one-parameter functions can be void
@@ -5048,11 +5153,11 @@
             (yyvsp[-2].interm.function)->addParameter((yyvsp[0].interm).param);
         }
     }
-#line 5052 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5157 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 111:
-#line 900 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 901 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if ((yyvsp[-2].interm.type).qualifier.storage != EvqGlobal && (yyvsp[-2].interm.type).qualifier.storage != EvqTemporary) {
             parseContext.error((yyvsp[-1].lex).loc, "no qualifiers allowed for function return",
@@ -5072,11 +5177,11 @@
         function = new TFunction((yyvsp[-1].lex).string, type);
         (yyval.interm.function) = function;
     }
-#line 5076 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5181 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 112:
-#line 923 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 924 "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");
@@ -5092,11 +5197,11 @@
         (yyval.interm).loc = (yyvsp[0].lex).loc;
         (yyval.interm).param = param;
     }
-#line 5096 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5201 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 113:
-#line 938 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 939 "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");
@@ -5116,11 +5221,11 @@
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).param = param;
     }
-#line 5120 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 114:
-#line 963 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -5132,11 +5237,11 @@
         parseContext.paramCheckFix((yyvsp[-1].interm.type).loc, (yyvsp[-1].interm.type).qualifier, *(yyval.interm).param.type);
 
     }
-#line 5136 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5241 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 115:
-#line 974 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 975 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -5144,11 +5249,11 @@
         parseContext.paramCheckFixStorage((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 5148 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 116:
-#line 984 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
         if ((yyvsp[-1].interm.type).qualifier.precision != EpqNone)
@@ -5159,11 +5264,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 5163 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5268 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 117:
-#line 994 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 995 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
 
@@ -5171,118 +5276,118 @@
         parseContext.paramCheckFixStorage((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 5175 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5280 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 118:
-#line 1004 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1005 "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 5186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5291 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 119:
-#line 1013 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1014 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[0].interm);
     }
-#line 5194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 120:
-#line 1016 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1017 "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 5203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5308 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 121:
-#line 1020 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1021 "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 5212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5317 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 122:
-#line 1024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1025 "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 5222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 123:
-#line 1029 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1030 "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 5232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 124:
-#line 1037 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1038 "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 5242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5347 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 125:
-#line 1042 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1043 "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 5252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5357 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 126:
-#line 1047 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1048 "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 5262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 127:
-#line 1052 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1053 "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 5272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 128:
-#line 1057 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1058 "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 5282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5387 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 129:
-#line 1066 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1067 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
 
@@ -5294,11 +5399,11 @@
 
         parseContext.precisionQualifierCheck((yyval.interm.type).loc, (yyval.interm.type).basicType, (yyval.interm.type).qualifier);
     }
-#line 5298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 130:
-#line 1077 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1078 "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));
@@ -5323,22 +5428,22 @@
              (parseContext.language == EShLangFragment && (yyval.interm.type).qualifier.storage == EvqVaryingIn)))
             (yyval.interm.type).qualifier.smooth = true;
     }
-#line 5327 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5432 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 131:
-#line 1104 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1105 "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 5338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 132:
-#line 1113 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1114 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "smooth");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "smooth");
@@ -5346,11 +5451,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.smooth = true;
     }
-#line 5350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 133:
-#line 1120 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1121 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "flat");
         parseContext.profileRequires((yyvsp[0].lex).loc, ENoProfile, 130, 0, "flat");
@@ -5358,11 +5463,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.flat = true;
     }
-#line 5362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 134:
-#line 1127 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1128 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.globalCheck((yyvsp[0].lex).loc, "noperspective");
 #ifdef NV_EXTENSIONS
@@ -5374,11 +5479,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.nopersp = true;
     }
-#line 5378 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5483 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 135:
-#line 1138 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1139 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.globalCheck((yyvsp[0].lex).loc, "__explicitInterpAMD");
@@ -5388,84 +5493,138 @@
         (yyval.interm.type).qualifier.explicitInterp = true;
 #endif
     }
-#line 5392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5497 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 136:
-#line 1150 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1148 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type) = (yyvsp[-1].interm.type);
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "pervertexNV");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECompatibilityProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
+        parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 0, E_GL_NV_fragment_shader_barycentric, "fragment shader barycentric");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.pervertexNV = true;
+#endif
     }
-#line 5400 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 137:
-#line 1156 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1158 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        (yyval.interm.type) = (yyvsp[0].interm.type);
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "perprimitiveNV");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NV_mesh_shader, "perprimitiveNV");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.perPrimitiveNV = true;
+#endif
     }
-#line 5408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 138:
-#line 1159 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1166 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "perviewNV");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NV_mesh_shader, "perviewNV");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.perViewNV = true;
+#endif
+    }
+#line 5538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 139:
+#line 1174 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "taskNV");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NV_mesh_shader, "taskNV");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.perTaskNV = true;
+#endif
+    }
+#line 5551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 140:
+#line 1185 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[-1].interm.type);
+    }
+#line 5559 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 141:
+#line 1191 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 142:
+#line 1194 "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 5418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 139:
-#line 1166 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 143:
+#line 1201 "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 5427 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5586 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 140:
-#line 1170 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 144:
+#line 1205 "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 5436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 141:
-#line 1174 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 145:
+#line 1209 "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 5446 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 142:
-#line 1182 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 146:
+#line 1217 "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 5457 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5616 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 143:
-#line 1191 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 147:
+#line 1226 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5465 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5624 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 144:
-#line 1194 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 148:
+#line 1229 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[-1].interm.type);
         if ((yyval.interm.type).basicType == EbtVoid)
@@ -5474,80 +5633,80 @@
         (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 5478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 145:
-#line 1205 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 149:
+#line 1240 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5486 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 146:
-#line 1208 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 150:
+#line 1243 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
     }
-#line 5494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 147:
-#line 1211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 151:
+#line 1246 "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 5503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 148:
-#line 1215 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        // allow inheritance of storage qualifier from block declaration
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 5512 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 149:
-#line 1219 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        // allow inheritance of storage qualifier from block declaration
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 5521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 150:
-#line 1223 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        // allow inheritance of storage qualifier from block declaration
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 5530 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 151:
-#line 1227 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type) = (yyvsp[0].interm.type);
-    }
-#line 5538 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5662 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 152:
-#line 1233 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1250 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        // allow inheritance of storage qualifier from block declaration
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5671 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 153:
+#line 1254 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        // allow inheritance of storage qualifier from block declaration
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5680 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 154:
+#line 1258 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        // allow inheritance of storage qualifier from block declaration
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5689 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 155:
+#line 1262 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type) = (yyvsp[0].interm.type);
+    }
+#line 5697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 156:
+#line 1268 "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 5547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 153:
-#line 1237 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 157:
+#line 1272 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangVertex, "attribute");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "attribute");
@@ -5560,11 +5719,11 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 5564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5723 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 154:
-#line 1249 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 158:
+#line 1284 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ENoProfile, 130, "varying");
         parseContext.checkDeprecated((yyvsp[0].lex).loc, ECoreProfile, 130, "varying");
@@ -5579,43 +5738,43 @@
         else
             (yyval.interm.type).qualifier.storage = EvqVaryingIn;
     }
-#line 5583 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5742 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 155:
-#line 1263 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 159:
+#line 1298 "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 5593 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5752 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 156:
-#line 1268 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 160:
+#line 1303 "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 5604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 157:
-#line 1274 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 161:
+#line 1309 "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 5615 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5774 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 158:
-#line 1280 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 162:
+#line 1315 "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");
@@ -5623,189 +5782,288 @@
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.centroid = true;
     }
-#line 5627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 159:
-#line 1287 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 163:
+#line 1322 "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 5638 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5797 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 160:
-#line 1293 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 164:
+#line 1328 "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 5648 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5807 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 161:
-#line 1298 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 165:
+#line 1333 "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 5658 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5817 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 162:
-#line 1303 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 166:
+#line 1338 "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 5668 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5827 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 163:
-#line 1308 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 167:
+#line 1343 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "hitAttributeNVX");
+        parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangIntersectNVMask | EShLangClosestHitNVMask
+            | EShLangAnyHitNVMask), "hitAttributeNVX");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "hitAttributeNVX");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.storage = EvqHitAttrNV;
+#endif
+    }
+#line 5842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 168:
+#line 1353 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadNVX");
+        parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangRayGenNVMask | EShLangClosestHitNVMask |
+            EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadNVX");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadNVX");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.storage = EvqPayloadNV;
+#endif
+    }
+#line 5857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 169:
+#line 1363 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+#ifdef NV_EXTENSIONS
+        parseContext.globalCheck((yyvsp[0].lex).loc, "rayPayloadInNVX");
+        parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangClosestHitNVMask |
+            EShLangAnyHitNVMask | EShLangMissNVMask), "rayPayloadInNVX");
+        parseContext.profileRequires((yyvsp[0].lex).loc, ECoreProfile, 450, E_GL_NVX_raytracing, "rayPayloadInNVX");
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        (yyval.interm.type).qualifier.storage = EvqPayloadInNV;
+#endif
+    }
+#line 5872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 170:
+#line 1373 "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");
         parseContext.profileRequires((yyvsp[0].lex).loc, EEsProfile, 310, 0, "shared");
+#ifdef NV_EXTENSIONS
+        parseContext.requireStage((yyvsp[0].lex).loc, (EShLanguageMask)(EShLangComputeMask | EShLangMeshNVMask | EShLangTaskNVMask), "shared");
+#else
         parseContext.requireStage((yyvsp[0].lex).loc, EShLangCompute, "shared");
+#endif
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.storage = EvqShared;
     }
-#line 5681 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 164:
-#line 1316 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 171:
+#line 1385 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.coherent = true;
     }
-#line 5690 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 165:
-#line 1320 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 172:
+#line 1389 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "devicecoherent");
+        (yyval.interm.type).qualifier.devicecoherent = true;
+    }
+#line 5908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 173:
+#line 1394 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "queuefamilycoherent");
+        (yyval.interm.type).qualifier.queuefamilycoherent = true;
+    }
+#line 5918 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 174:
+#line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "workgroupcoherent");
+        (yyval.interm.type).qualifier.workgroupcoherent = true;
+    }
+#line 5928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 175:
+#line 1404 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "subgroupcoherent");
+        (yyval.interm.type).qualifier.subgroupcoherent = true;
+    }
+#line 5938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 176:
+#line 1409 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.type).init((yyvsp[0].lex).loc);
+        parseContext.requireExtensions((yyvsp[0].lex).loc, 1, &E_GL_KHR_memory_scope_semantics, "nonprivate");
+        (yyval.interm.type).qualifier.nonprivate = true;
+    }
+#line 5948 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 177:
+#line 1414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.volatil = true;
     }
-#line 5699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 166:
-#line 1324 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 178:
+#line 1418 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.restrict = true;
     }
-#line 5708 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 167:
-#line 1328 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 179:
+#line 1422 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.readonly = true;
     }
-#line 5717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 168:
-#line 1332 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 180:
+#line 1426 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.writeonly = true;
     }
-#line 5726 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 169:
-#line 1336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 181:
+#line 1430 "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 5737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 5995 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 170:
-#line 1342 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 182:
+#line 1436 "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 5748 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6006 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 171:
-#line 1351 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 183:
+#line 1445 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc);
         (yyval.interm.type).qualifier.nonUniform = true;
     }
-#line 5757 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 172:
-#line 1358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 184:
+#line 1452 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // TODO
     }
-#line 5765 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 173:
-#line 1361 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 185:
+#line 1455 "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 5775 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6033 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 174:
-#line 1369 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 186:
+#line 1463 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type) = (yyvsp[0].interm.type);
         (yyval.interm.type).qualifier.precision = parseContext.getDefaultPrecision((yyval.interm.type));
     }
-#line 5784 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6042 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 175:
-#line 1373 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 187:
+#line 1467 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayOfArrayVersionCheck((yyvsp[0].interm).loc, (yyvsp[0].interm).arraySizes);
         (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 5795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6053 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 176:
-#line 1382 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 188:
+#line 1476 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-1].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 5805 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6063 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 177:
-#line 1387 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 189:
+#line 1481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm).loc = (yyvsp[-2].lex).loc;
         (yyval.interm).arraySizes = new TArraySizes;
@@ -5814,20 +6072,20 @@
         parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 5818 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6076 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 178:
-#line 1395 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 190:
+#line 1489 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-2].interm);
         (yyval.interm).arraySizes->addInnerSize();
     }
-#line 5827 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 179:
-#line 1399 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 191:
+#line 1493 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm) = (yyvsp[-3].interm);
 
@@ -5835,1484 +6093,1495 @@
         parseContext.arraySizeCheck((yyvsp[-1].interm.intermTypedNode)->getLoc(), (yyvsp[-1].interm.intermTypedNode), size);
         (yyval.interm).arraySizes->addInnerSize(size);
     }
-#line 5839 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 180:
-#line 1409 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 192:
+#line 1503 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtVoid;
     }
-#line 5848 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 181:
-#line 1413 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 193:
+#line 1507 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
     }
-#line 5857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6115 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 182:
-#line 1417 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 194:
+#line 1511 "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 5867 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6125 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 183:
-#line 1422 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 195:
+#line 1516 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "float16_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
     }
-#line 5877 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6135 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 184:
-#line 1427 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 196:
+#line 1521 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
     }
-#line 5887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6145 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 185:
-#line 1432 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 197:
+#line 1526 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
     }
-#line 5897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 186:
-#line 1437 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 198:
+#line 1531 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
     }
-#line 5906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6164 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 187:
-#line 1441 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 199:
+#line 1535 "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 5916 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 188:
-#line 1446 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 200:
+#line 1540 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt8;
     }
-#line 5926 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 189:
-#line 1451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 201:
+#line 1545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint8;
     }
-#line 5936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 190:
-#line 1456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 202:
+#line 1550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt16;
     }
-#line 5946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 191:
-#line 1461 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 203:
+#line 1555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint16;
     }
-#line 5956 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 192:
-#line 1466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 204:
+#line 1560 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
     }
-#line 5966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6224 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 193:
-#line 1471 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 205:
+#line 1565 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtUint;
     }
-#line 5976 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 194:
-#line 1476 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 206:
+#line 1570 "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 5986 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 195:
-#line 1481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 207:
+#line 1575 "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 5996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 196:
-#line 1486 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtBool;
-    }
-#line 6005 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 197:
-#line 1490 "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 6015 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 198:
-#line 1495 "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 6025 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 199:
-#line 1500 "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 6035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 200:
-#line 1505 "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 6046 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 201:
-#line 1511 "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 6057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 202:
-#line 1517 "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 6068 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 203:
-#line 1523 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6079 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 204:
-#line 1529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6090 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 205:
-#line 1535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6101 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 206:
-#line 1541 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 207:
-#line 1547 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 208:
-#line 1553 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1580 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setVector(4);
+        (yyval.interm.type).basicType = EbtBool;
     }
-#line 6134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6263 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 209:
-#line 1559 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1584 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setVector(2);
     }
-#line 6145 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6273 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 210:
-#line 1565 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1589 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setVector(3);
     }
-#line 6156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 211:
-#line 1571 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtDouble;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6167 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 212:
-#line 1577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1594 "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 6177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 213:
-#line 1582 "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 6187 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 214:
-#line 1587 "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 6197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 215:
-#line 1592 "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 6207 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 216:
-#line 1597 "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 6217 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 217:
-#line 1602 "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 6227 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 218:
-#line 1607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt8;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6238 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 219:
-#line 1613 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt8;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6249 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 220:
-#line 1619 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt8;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6260 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 221:
-#line 1625 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6271 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 222:
-#line 1631 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 223:
-#line 1637 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setVector(4);
     }
 #line 6293 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 224:
-#line 1643 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 212:
+#line 1599 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setVector(2);
     }
 #line 6304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 225:
-#line 1649 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 213:
+#line 1605 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double vector");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setVector(3);
     }
 #line 6315 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
+  case 214:
+#line 1611 "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 6326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 215:
+#line 1617 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 216:
+#line 1623 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 217:
+#line 1629 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16ScalarVectorCheck((yyvsp[0].lex).loc, "half float vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 218:
+#line 1635 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 219:
+#line 1641 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 220:
+#line 1647 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 221:
+#line 1653 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 222:
+#line 1659 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 223:
+#line 1665 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtDouble;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 224:
+#line 1671 "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 6435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 225:
+#line 1676 "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 6445 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
   case 226:
-#line 1655 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1681 "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 6455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 227:
+#line 1686 "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 6465 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 228:
+#line 1691 "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 6475 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 229:
+#line 1696 "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 6485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 230:
+#line 1701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt8;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6496 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 231:
+#line 1707 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt8;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6507 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 232:
+#line 1713 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt8;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6518 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 233:
+#line 1719 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6529 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 234:
+#line 1725 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6540 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 235:
+#line 1731 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt16;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 236:
+#line 1737 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6562 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 237:
+#line 1743 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtInt;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6573 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 238:
+#line 1749 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit signed integer vector", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtInt;
         (yyval.interm.type).setVector(4);
     }
-#line 6326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 227:
-#line 1661 "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 6337 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 228:
-#line 1667 "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 6348 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 229:
-#line 1673 "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 6359 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 230:
-#line 1679 "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 6370 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 231:
-#line 1685 "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 6381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 232:
-#line 1691 "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 6392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 233:
-#line 1697 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint8;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 234:
-#line 1703 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint8;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6414 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 235:
-#line 1709 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint8;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 236:
-#line 1715 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6436 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 237:
-#line 1721 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6447 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 238:
-#line 1727 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint16;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6458 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 239:
-#line 1733 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(2);
-    }
-#line 6469 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 240:
-#line 1739 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(3);
-    }
-#line 6480 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 241:
-#line 1745 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtUint;
-        (yyval.interm.type).setVector(4);
-    }
-#line 6491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 242:
-#line 1751 "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 6502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 243:
-#line 1757 "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 6513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 244:
-#line 1763 "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 6524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 245:
-#line 1769 "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 6534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 246:
-#line 1774 "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);
-    }
-#line 6544 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 247:
-#line 1779 "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 6554 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 248:
-#line 1784 "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 6564 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 249:
-#line 1789 "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);
-    }
-#line 6574 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 250:
-#line 1794 "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);
-    }
 #line 6584 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 251:
-#line 1799 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 239:
+#line 1755 "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 = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 2);
+        (yyval.interm.type).basicType = EbtInt64;
+        (yyval.interm.type).setVector(2);
     }
-#line 6594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6595 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 240:
+#line 1761 "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 6606 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 241:
+#line 1767 "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 6617 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 242:
+#line 1773 "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 6628 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 243:
+#line 1779 "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 6639 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 244:
+#line 1785 "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 6650 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 245:
+#line 1791 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6661 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 246:
+#line 1797 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 247:
+#line 1803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int8ScalarVectorCheck((yyvsp[0].lex).loc, "8-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint8;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6683 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 248:
+#line 1809 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6694 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 249:
+#line 1815 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(3);
+    }
+#line 6705 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 250:
+#line 1821 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.int16ScalarVectorCheck((yyvsp[0].lex).loc, "16-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint16;
+        (yyval.interm.type).setVector(4);
+    }
+#line 6716 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 251:
+#line 1827 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtUint;
+        (yyval.interm.type).setVector(2);
+    }
+#line 6727 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 252:
-#line 1804 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1833 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (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).basicType = EbtUint;
+        (yyval.interm.type).setVector(3);
     }
-#line 6604 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6738 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 253:
-#line 1809 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
+        parseContext.explicitInt32Check((yyvsp[0].lex).loc, "32-bit unsigned integer vector", parseContext.symbolTable.atBuiltInLevel());
         (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).basicType = EbtUint;
+        (yyval.interm.type).setVector(4);
     }
-#line 6614 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 254:
-#line 1814 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1845 "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 = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 2);
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(2);
     }
-#line 6624 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 255:
-#line 1819 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1851 "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 = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 3);
+        (yyval.interm.type).basicType = EbtUint64;
+        (yyval.interm.type).setVector(3);
     }
-#line 6634 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6771 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 256:
-#line 1824 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1857 "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 6782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 257:
+#line 1863 "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 6792 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 258:
+#line 1868 "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);
+    }
+#line 6802 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 259:
+#line 1873 "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 6644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 257:
-#line 1829 "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 6655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 258:
-#line 1835 "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 6666 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 259:
-#line 1841 "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 6677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 260:
-#line 1847 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1878 "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).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 6688 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6822 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 261:
-#line 1853 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1883 "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).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(2, 3);
     }
-#line 6699 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6832 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 262:
-#line 1859 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1888 "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 6710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 263:
-#line 1865 "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 6721 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 264:
-#line 1871 "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 6732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 265:
-#line 1877 "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 6743 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 266:
-#line 1883 "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 6754 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 267:
-#line 1889 "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 6765 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 268:
-#line 1895 "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 6776 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 269:
-#line 1901 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 6787 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 270:
-#line 1907 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 6798 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 271:
-#line 1913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 6809 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 272:
-#line 1919 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 6820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 273:
-#line 1925 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
-        (yyval.interm.type).setMatrix(2, 3);
-    }
-#line 6831 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 274:
-#line 1931 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(2, 4);
     }
 #line 6842 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 275:
-#line 1937 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 263:
+#line 1893 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 2);
     }
-#line 6853 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6852 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 264:
+#line 1898 "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);
+    }
+#line 6862 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 265:
+#line 1903 "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);
+    }
+#line 6872 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 266:
+#line 1908 "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 6882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 267:
+#line 1913 "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 6892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 268:
+#line 1918 "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 6902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 269:
+#line 1923 "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 6913 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 270:
+#line 1929 "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 6924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 271:
+#line 1935 "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 6935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 272:
+#line 1941 "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 6946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 273:
+#line 1947 "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 6957 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 274:
+#line 1953 "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 6968 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 275:
+#line 1959 "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 6979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 276:
-#line 1943 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1965 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 6864 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 6990 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 277:
-#line 1949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1971 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 4);
     }
-#line 6875 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 278:
-#line 1955 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1977 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 2);
     }
-#line 6886 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7012 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 279:
-#line 1961 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1983 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.doubleCheck((yyvsp[0].lex).loc, "double matrix");
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 6897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7023 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 280:
-#line 1967 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 1989 "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 7034 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 281:
+#line 1995 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 7045 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 282:
+#line 2001 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 7056 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 283:
+#line 2007 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat16;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 6908 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 281:
-#line 1973 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(2, 2);
-    }
-#line 6919 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 282:
-#line 1979 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(3, 3);
-    }
-#line 6930 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 283:
-#line 1985 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
-        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
-        (yyval.interm.type).setMatrix(4, 4);
-    }
-#line 6941 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 284:
-#line 1991 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2013 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).basicType = EbtFloat16;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 6952 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7078 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 285:
-#line 1997 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2019 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
-        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
-        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).basicType = EbtFloat16;
         (yyval.interm.type).setMatrix(2, 3);
     }
-#line 6963 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 286:
-#line 2003 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 2025 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(2, 4);
+    }
+#line 7100 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 287:
+#line 2031 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 2);
+    }
+#line 7111 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 288:
+#line 2037 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 7122 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 289:
+#line 2043 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(3, 4);
+    }
+#line 7133 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 290:
+#line 2049 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 2);
+    }
+#line 7144 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 291:
+#line 2055 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 3);
+    }
+#line 7155 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 292:
+#line 2061 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.float16Check((yyvsp[0].lex).loc, "half float matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat16;
+        (yyval.interm.type).setMatrix(4, 4);
+    }
+#line 7166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 293:
+#line 2067 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 7177 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 294:
+#line 2073 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(3, 3);
+    }
+#line 7188 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 295:
+#line 2079 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(4, 4);
+    }
+#line 7199 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 296:
+#line 2085 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 2);
+    }
+#line 7210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 297:
+#line 2091 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
+        (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+        (yyval.interm.type).basicType = EbtFloat;
+        (yyval.interm.type).setMatrix(2, 3);
+    }
+#line 7221 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 298:
+#line 2097 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(2, 4);
     }
-#line 6974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 287:
-#line 2009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 299:
+#line 2103 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 2);
     }
-#line 6985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 288:
-#line 2015 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 300:
+#line 2109 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 6996 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 289:
-#line 2021 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 301:
+#line 2115 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(3, 4);
     }
-#line 7007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7265 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 290:
-#line 2027 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 302:
+#line 2121 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 2);
     }
-#line 7018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 291:
-#line 2033 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 303:
+#line 2127 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 7029 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7287 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 292:
-#line 2039 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 304:
+#line 2133 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat32Check((yyvsp[0].lex).loc, "float32_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtFloat;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7040 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7298 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 293:
-#line 2045 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 305:
+#line 2139 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 294:
-#line 2051 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 306:
+#line 2145 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7320 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 295:
-#line 2057 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 307:
+#line 2151 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7331 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 296:
-#line 2063 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 308:
+#line 2157 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 2);
     }
-#line 7084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 297:
-#line 2069 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 309:
+#line 2163 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 3);
     }
-#line 7095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7353 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 298:
-#line 2075 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 310:
+#line 2169 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(2, 4);
     }
-#line 7106 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 299:
-#line 2081 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 311:
+#line 2175 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 2);
     }
-#line 7117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 300:
-#line 2087 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 312:
+#line 2181 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 3);
     }
-#line 7128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 301:
-#line 2093 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 313:
+#line 2187 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(3, 4);
     }
-#line 7139 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7397 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 302:
-#line 2099 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 314:
+#line 2193 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 2);
     }
-#line 7150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7408 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 303:
-#line 2105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 315:
+#line 2199 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 3);
     }
-#line 7161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 304:
-#line 2111 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 316:
+#line 2205 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.explicitFloat64Check((yyvsp[0].lex).loc, "float64_t matrix", parseContext.symbolTable.atBuiltInLevel());
         (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
         (yyval.interm.type).basicType = EbtDouble;
         (yyval.interm.type).setMatrix(4, 4);
     }
-#line 7172 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7430 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 305:
-#line 2117 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 317:
+#line 2211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+#ifdef NV_EXTENSIONS
+       (yyval.interm.type).init((yyvsp[0].lex).loc, parseContext.symbolTable.atGlobalLevel());
+       (yyval.interm.type).basicType = EbtAccStructNV;
+#endif
+    }
+#line 7441 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 318:
+#line 2217 "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 7182 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7451 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 306:
-#line 2122 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 319:
+#line 2222 "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 7192 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 307:
-#line 2127 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 320:
+#line 2227 "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 7202 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 308:
-#line 2132 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 321:
+#line 2232 "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 7212 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 309:
-#line 2137 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 322:
+#line 2237 "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 7222 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 310:
-#line 2142 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 323:
+#line 2242 "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 7232 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 311:
-#line 2147 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 324:
+#line 2247 "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 7242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 312:
-#line 2152 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 325:
+#line 2252 "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 7252 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 313:
-#line 2157 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 326:
+#line 2257 "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 7262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 314:
-#line 2162 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 327:
+#line 2262 "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 7272 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 315:
-#line 2167 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 328:
+#line 2267 "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 7282 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 316:
-#line 2172 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 329:
+#line 2272 "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 7292 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 317:
-#line 2177 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 330:
+#line 2277 "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 7302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 318:
-#line 2182 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 331:
+#line 2282 "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 7312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 319:
-#line 2187 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 332:
+#line 2287 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7321,11 +7590,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D);
 #endif
     }
-#line 7325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 320:
-#line 2195 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 333:
+#line 2295 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7334,11 +7603,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D);
 #endif
     }
-#line 7338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 321:
-#line 2203 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 334:
+#line 2303 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7347,11 +7616,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd3D);
 #endif
     }
-#line 7351 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 322:
-#line 2211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 335:
+#line 2311 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7360,11 +7629,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube);
 #endif
     }
-#line 7364 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 323:
-#line 2219 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 336:
+#line 2319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7373,11 +7642,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, false, true);
 #endif
     }
-#line 7377 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 324:
-#line 2227 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 337:
+#line 2327 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7386,11 +7655,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, true);
 #endif
     }
-#line 7390 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7659 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 325:
-#line 2235 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 338:
+#line 2335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7399,11 +7668,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, false, true);
 #endif
     }
-#line 7403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 326:
-#line 2243 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 339:
+#line 2343 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7412,11 +7681,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true);
 #endif
     }
-#line 7416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7685 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 327:
-#line 2251 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 340:
+#line 2351 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7425,11 +7694,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true);
 #endif
     }
-#line 7429 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7698 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 328:
-#line 2259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 341:
+#line 2359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7438,11 +7707,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd1D, true, true);
 #endif
     }
-#line 7442 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7711 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 329:
-#line 2267 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 342:
+#line 2367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7451,11 +7720,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, true);
 #endif
     }
-#line 7455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 330:
-#line 2275 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 343:
+#line 2375 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7464,11 +7733,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true);
 #endif
     }
-#line 7468 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7737 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 331:
-#line 2283 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 344:
+#line 2383 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7477,171 +7746,171 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdCube, true, true);
 #endif
     }
-#line 7481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 332:
-#line 2291 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 345:
+#line 2391 "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 7491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 333:
-#line 2296 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 346:
+#line 2396 "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 7501 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7770 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 334:
-#line 2301 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 347:
+#line 2401 "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 7511 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7780 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 335:
-#line 2306 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 348:
+#line 2406 "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 7521 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7790 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 336:
-#line 2311 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 349:
+#line 2411 "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 7531 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7800 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 337:
-#line 2316 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 350:
+#line 2416 "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 7541 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7810 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 338:
-#line 2321 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 351:
+#line 2421 "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 7551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 339:
-#line 2326 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 352:
+#line 2426 "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 7561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 340:
-#line 2331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 353:
+#line 2431 "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 7571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7840 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 341:
-#line 2336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 354:
+#line 2436 "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 7581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7850 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 342:
-#line 2341 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 355:
+#line 2441 "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 7591 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7860 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 343:
-#line 2346 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 356:
+#line 2446 "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 7601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7870 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 344:
-#line 2351 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 357:
+#line 2451 "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 7611 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7880 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 345:
-#line 2356 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 358:
+#line 2456 "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 7621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7890 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 346:
-#line 2361 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 359:
+#line 2461 "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 7631 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7900 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 347:
-#line 2366 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 360:
+#line 2466 "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 7641 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7910 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 348:
-#line 2371 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 361:
+#line 2471 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7650,11 +7919,11 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdRect);
 #endif
     }
-#line 7654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7923 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 349:
-#line 2379 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 362:
+#line 2479 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7663,41 +7932,41 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdRect, false, true);
 #endif
     }
-#line 7667 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7936 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 350:
-#line 2387 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 363:
+#line 2487 "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 7677 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7946 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 351:
-#line 2392 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 364:
+#line 2492 "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 7687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7956 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 352:
-#line 2397 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 365:
+#line 2497 "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 7697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7966 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 353:
-#line 2402 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 366:
+#line 2502 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7706,41 +7975,41 @@
         (yyval.interm.type).sampler.set(EbtFloat16, EsdBuffer);
 #endif
     }
-#line 7710 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7979 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 354:
-#line 2410 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 367:
+#line 2510 "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 7720 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7989 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 355:
-#line 2415 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 368:
+#line 2515 "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 7730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 7999 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 356:
-#line 2420 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 369:
+#line 2520 "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 7740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8009 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 357:
-#line 2425 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 370:
+#line 2525 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7749,41 +8018,41 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, false, false, true);
 #endif
     }
-#line 7753 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8022 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 358:
-#line 2433 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 371:
+#line 2533 "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 7763 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8032 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 359:
-#line 2438 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 372:
+#line 2538 "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 7773 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8042 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 360:
-#line 2443 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 373:
+#line 2543 "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 7783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8052 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 361:
-#line 2448 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 374:
+#line 2548 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float sampler", parseContext.symbolTable.atBuiltInLevel());
@@ -7792,61 +8061,61 @@
         (yyval.interm.type).sampler.set(EbtFloat16, Esd2D, true, false, true);
 #endif
     }
-#line 7796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 362:
-#line 2456 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 375:
+#line 2556 "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 7806 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8075 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 363:
-#line 2461 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 376:
+#line 2561 "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 7816 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8085 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 364:
-#line 2466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 377:
+#line 2566 "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 7826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8095 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 365:
-#line 2471 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 378:
+#line 2571 "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 7836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8105 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 366:
-#line 2476 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 379:
+#line 2576 "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 7846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8115 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 367:
-#line 2481 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 380:
+#line 2581 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7855,21 +8124,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D);
 #endif
     }
-#line 7859 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8128 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 368:
-#line 2489 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 381:
+#line 2589 "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 7869 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8138 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 369:
-#line 2494 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 382:
+#line 2594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7878,21 +8147,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D);
 #endif
     }
-#line 7882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8151 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 370:
-#line 2502 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 383:
+#line 2602 "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 7892 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8161 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 371:
-#line 2507 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 384:
+#line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7901,21 +8170,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd3D);
 #endif
     }
-#line 7905 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 372:
-#line 2515 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 385:
+#line 2615 "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 7915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 373:
-#line 2520 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 386:
+#line 2620 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7924,21 +8193,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube);
 #endif
     }
-#line 7928 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8197 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 374:
-#line 2528 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 387:
+#line 2628 "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 7938 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8207 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 375:
-#line 2533 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 388:
+#line 2633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7947,21 +8216,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd1D, true);
 #endif
     }
-#line 7951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 376:
-#line 2541 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 389:
+#line 2641 "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 7961 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8230 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 377:
-#line 2546 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 390:
+#line 2646 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7970,21 +8239,21 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true);
 #endif
     }
-#line 7974 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8243 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 378:
-#line 2554 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 391:
+#line 2654 "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 7984 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8253 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 379:
-#line 2559 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 392:
+#line 2659 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -7993,161 +8262,161 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdCube, true);
 #endif
     }
-#line 7997 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 380:
-#line 2567 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 393:
+#line 2667 "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 8007 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 381:
-#line 2572 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 394:
+#line 2672 "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 8017 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8286 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 382:
-#line 2577 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 395:
+#line 2677 "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 8027 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8296 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 383:
-#line 2582 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 396:
+#line 2682 "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 8037 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8306 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 384:
-#line 2587 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 397:
+#line 2687 "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 8047 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8316 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 385:
-#line 2592 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 398:
+#line 2692 "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 8057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8326 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 386:
-#line 2597 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 399:
+#line 2697 "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 8067 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8336 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 387:
-#line 2602 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 400:
+#line 2702 "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 8077 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8346 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 388:
-#line 2607 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 401:
+#line 2707 "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 8087 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8356 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 389:
-#line 2612 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 402:
+#line 2712 "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 8097 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8366 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 390:
-#line 2617 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 403:
+#line 2717 "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 8107 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 391:
-#line 2622 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 404:
+#line 2722 "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 8117 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8386 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 392:
-#line 2627 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 405:
+#line 2727 "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 8127 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8396 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 393:
-#line 2632 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 406:
+#line 2732 "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 8137 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8406 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 394:
-#line 2637 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 407:
+#line 2737 "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 8147 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8416 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 395:
-#line 2642 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 408:
+#line 2742 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8156,41 +8425,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdRect);
 #endif
     }
-#line 8160 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8429 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 396:
-#line 2650 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 409:
+#line 2750 "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 8170 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8439 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 397:
-#line 2655 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 410:
+#line 2755 "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 8180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 398:
-#line 2660 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 411:
+#line 2760 "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 8190 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8459 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 399:
-#line 2665 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 412:
+#line 2765 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8199,41 +8468,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, EsdBuffer);
 #endif
     }
-#line 8203 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8472 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 400:
-#line 2673 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 413:
+#line 2773 "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 8213 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8482 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 401:
-#line 2678 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 414:
+#line 2778 "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 8223 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8492 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 402:
-#line 2683 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 415:
+#line 2783 "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 8233 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8502 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 403:
-#line 2688 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 416:
+#line 2788 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8242,41 +8511,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, false, false, true);
 #endif
     }
-#line 8246 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8515 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 404:
-#line 2696 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 417:
+#line 2796 "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 8256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 405:
-#line 2701 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 418:
+#line 2801 "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 8266 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8535 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 406:
-#line 2706 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 419:
+#line 2806 "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 8276 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8545 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 407:
-#line 2711 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 420:
+#line 2811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float texture", parseContext.symbolTable.atBuiltInLevel());
@@ -8285,41 +8554,41 @@
         (yyval.interm.type).sampler.setTexture(EbtFloat16, Esd2D, true, false, true);
 #endif
     }
-#line 8289 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8558 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 408:
-#line 2719 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 421:
+#line 2819 "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 8299 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8568 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 409:
-#line 2724 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 422:
+#line 2824 "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 8309 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8578 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 410:
-#line 2729 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 423:
+#line 2829 "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 8319 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 411:
-#line 2734 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 424:
+#line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8328,41 +8597,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D);
 #endif
     }
-#line 8332 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8601 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 412:
-#line 2742 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 425:
+#line 2842 "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 8342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8611 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 413:
-#line 2747 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 426:
+#line 2847 "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 8352 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 414:
-#line 2752 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 427:
+#line 2852 "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 8362 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8631 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 415:
-#line 2757 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 428:
+#line 2857 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8371,41 +8640,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D);
 #endif
     }
-#line 8375 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8644 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 416:
-#line 2765 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 429:
+#line 2865 "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 8385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 417:
-#line 2770 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 430:
+#line 2870 "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 8395 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8664 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 418:
-#line 2775 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 431:
+#line 2875 "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 8405 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8674 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 419:
-#line 2780 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 432:
+#line 2880 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8414,41 +8683,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd3D);
 #endif
     }
-#line 8418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 420:
-#line 2788 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 433:
+#line 2888 "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 8428 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8697 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 421:
-#line 2793 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 434:
+#line 2893 "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 8438 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8707 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 422:
-#line 2798 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 435:
+#line 2898 "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 8448 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 423:
-#line 2803 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 436:
+#line 2903 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8457,41 +8726,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdRect);
 #endif
     }
-#line 8461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8730 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 424:
-#line 2811 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 437:
+#line 2911 "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 8471 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 425:
-#line 2816 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 438:
+#line 2916 "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 8481 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 426:
-#line 2821 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 439:
+#line 2921 "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 8491 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8760 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 427:
-#line 2826 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 440:
+#line 2926 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8500,41 +8769,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube);
 #endif
     }
-#line 8504 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8773 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 428:
-#line 2834 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 441:
+#line 2934 "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 8514 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8783 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 429:
-#line 2839 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 442:
+#line 2939 "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 8524 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 430:
-#line 2844 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 443:
+#line 2944 "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 8534 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8803 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 431:
-#line 2849 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 444:
+#line 2949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8543,41 +8812,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdBuffer);
 #endif
     }
-#line 8547 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8816 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 432:
-#line 2857 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 445:
+#line 2957 "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 8557 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8826 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 433:
-#line 2862 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 446:
+#line 2962 "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 8567 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8836 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 434:
-#line 2867 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 447:
+#line 2967 "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 8577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 435:
-#line 2872 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 448:
+#line 2972 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8586,41 +8855,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd1D, true);
 #endif
     }
-#line 8590 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8859 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 436:
-#line 2880 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 449:
+#line 2980 "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 8600 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8869 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 437:
-#line 2885 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 450:
+#line 2985 "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 8610 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8879 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 438:
-#line 2890 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 451:
+#line 2990 "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 8620 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8889 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 439:
-#line 2895 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 452:
+#line 2995 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8629,41 +8898,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true);
 #endif
     }
-#line 8633 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8902 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 440:
-#line 2903 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 453:
+#line 3003 "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 8643 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8912 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 441:
-#line 2908 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 454:
+#line 3008 "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 8653 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8922 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 442:
-#line 2913 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 455:
+#line 3013 "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 8663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8932 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 443:
-#line 2918 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 456:
+#line 3018 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8672,41 +8941,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, EsdCube, true);
 #endif
     }
-#line 8676 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 444:
-#line 2926 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 457:
+#line 3026 "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 8686 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8955 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 445:
-#line 2931 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 458:
+#line 3031 "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 8696 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8965 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 446:
-#line 2936 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 459:
+#line 3036 "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 8706 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8975 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 447:
-#line 2941 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 460:
+#line 3041 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8715,41 +8984,41 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, false, false, true);
 #endif
     }
-#line 8719 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8988 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 448:
-#line 2949 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 461:
+#line 3049 "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 8729 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 8998 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 449:
-#line 2954 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 462:
+#line 3054 "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 8739 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 450:
-#line 2959 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 463:
+#line 3059 "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 8749 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9018 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 451:
-#line 2964 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 464:
+#line 3064 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float image", parseContext.symbolTable.atBuiltInLevel());
@@ -8758,64 +9027,64 @@
         (yyval.interm.type).sampler.setImage(EbtFloat16, Esd2D, true, false, true);
 #endif
     }
-#line 8762 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9031 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 452:
-#line 2972 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 465:
+#line 3072 "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 8772 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9041 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 453:
-#line 2977 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 466:
+#line 3077 "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 8782 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9051 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 454:
-#line 2982 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 467:
+#line 3082 "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 8793 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9062 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 455:
-#line 2988 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 468:
+#line 3088 "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 8804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 456:
-#line 2994 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 469:
+#line 3094 "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 8815 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9084 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 457:
-#line 3000 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 470:
+#line 3100 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
@@ -8825,11 +9094,11 @@
         (yyval.interm.type).sampler.setSubpass(EbtFloat16);
 #endif
     }
-#line 8829 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9098 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 458:
-#line 3009 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 471:
+#line 3109 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
 #ifdef AMD_EXTENSIONS
         parseContext.float16OpaqueCheck((yyvsp[0].lex).loc, "half float subpass input", parseContext.symbolTable.atBuiltInLevel());
@@ -8839,65 +9108,65 @@
         (yyval.interm.type).sampler.setSubpass(EbtFloat16, true);
 #endif
     }
-#line 8843 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 459:
-#line 3018 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 472:
+#line 3118 "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 8854 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 460:
-#line 3024 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 473:
+#line 3124 "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 8865 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 461:
-#line 3030 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 474:
+#line 3130 "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 8876 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9145 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 462:
-#line 3036 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 475:
+#line 3136 "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 8887 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 463:
-#line 3042 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 476:
+#line 3142 "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 8897 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9166 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 464:
-#line 3047 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 477:
+#line 3147 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //
         // This is for user defined type names.  The lexical phase looked up the
@@ -8911,47 +9180,47 @@
         } else
             parseContext.error((yyvsp[0].lex).loc, "expected type name", (yyvsp[0].lex).string->c_str(), "");
     }
-#line 8915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9184 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 465:
-#line 3063 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 478:
+#line 3163 "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 8925 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9194 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 466:
-#line 3068 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 479:
+#line 3168 "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 8935 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 467:
-#line 3073 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 480:
+#line 3173 "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 8945 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9214 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 468:
-#line 3081 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 481:
+#line 3181 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-2].lex).loc); }
-#line 8951 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9220 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 469:
-#line 3081 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 482:
+#line 3181 "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);
@@ -8963,17 +9232,17 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 8967 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9236 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 470:
-#line 3092 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 483:
+#line 3192 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { parseContext.nestedStructCheck((yyvsp[-1].lex).loc); }
-#line 8973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9242 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 471:
-#line 3092 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 484:
+#line 3192 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         TType* structure = new TType((yyvsp[-1].interm.typeList), TString(""));
         (yyval.interm.type).init((yyvsp[-4].lex).loc);
@@ -8981,19 +9250,19 @@
         (yyval.interm.type).userDef = structure;
         --parseContext.structNestingLevel;
     }
-#line 8985 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9254 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 472:
-#line 3102 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 485:
+#line 3202 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = (yyvsp[0].interm.typeList);
     }
-#line 8993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9262 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 473:
-#line 3105 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 486:
+#line 3205 "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) {
@@ -9004,11 +9273,11 @@
             (yyval.interm.typeList)->push_back((*(yyvsp[0].interm.typeList))[i]);
         }
     }
-#line 9008 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9277 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 474:
-#line 3118 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 487:
+#line 3218 "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");
@@ -9031,11 +9300,11 @@
             (*(yyval.interm.typeList))[i].type->shallowCopy(type);
         }
     }
-#line 9035 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9304 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 475:
-#line 3140 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 488:
+#line 3240 "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");
@@ -9060,38 +9329,38 @@
             (*(yyval.interm.typeList))[i].type->shallowCopy(type);
         }
     }
-#line 9064 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9333 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 476:
-#line 3167 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 489:
+#line 3267 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList) = new TTypeList;
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 9073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9342 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 477:
-#line 3171 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 490:
+#line 3271 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.typeList)->push_back((yyvsp[0].interm.typeLine));
     }
-#line 9081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 478:
-#line 3177 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 491:
+#line 3277 "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 9091 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9360 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 479:
-#line 3182 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 492:
+#line 3282 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.arrayOfArrayVersionCheck((yyvsp[-1].lex).loc, (yyvsp[0].interm).arraySizes);
 
@@ -9100,219 +9369,219 @@
         (yyval.interm.typeLine).type->setFieldName(*(yyvsp[-1].lex).string);
         (yyval.interm.typeLine).type->transferArraySizes((yyvsp[0].interm).arraySizes);
     }
-#line 9104 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9373 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 480:
-#line 3193 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 493:
+#line 3293 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 9112 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9381 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 481:
-#line 3196 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 494:
+#line 3296 "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 9123 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9392 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 482:
-#line 3202 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 495:
+#line 3302 "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 9134 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 483:
-#line 3211 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
-    }
-#line 9142 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 484:
-#line 3214 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    {
-        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
-    }
-#line 9150 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 485:
-#line 3220 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9156 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 486:
-#line 3224 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9162 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 487:
-#line 3225 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9168 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 488:
-#line 3231 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9174 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 489:
-#line 3232 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9180 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 490:
-#line 3233 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9186 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 491:
-#line 3234 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9192 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 492:
-#line 3235 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9198 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 493:
-#line 3236 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9204 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 494:
-#line 3237 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9210 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
-    break;
-
-  case 495:
-#line 3241 "MachineIndependent/glslang.y" /* yacc.c:1646  */
-    { (yyval.interm.intermNode) = 0; }
-#line 9216 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
   case 496:
-#line 3242 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+#line 3311 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate(0, (yyvsp[0].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode)->getLoc());
+    }
+#line 9411 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 497:
+#line 3314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    {
+        (yyval.interm.intermTypedNode) = parseContext.intermediate.growAggregate((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.intermTypedNode));
+    }
+#line 9419 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 498:
+#line 3320 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9425 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 499:
+#line 3324 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9431 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 500:
+#line 3325 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9437 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 501:
+#line 3331 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9443 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 502:
+#line 3332 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9449 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 503:
+#line 3333 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9455 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 504:
+#line 3334 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9461 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 505:
+#line 3335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9467 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 506:
+#line 3336 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9473 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 507:
+#line 3337 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+#line 9479 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 508:
+#line 3341 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+    { (yyval.interm.intermNode) = 0; }
+#line 9485 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+    break;
+
+  case 509:
+#line 3342 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
     }
-#line 9225 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9494 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 497:
-#line 3246 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 510:
+#line 3346 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
     }
-#line 9234 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9503 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 498:
-#line 3250 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 511:
+#line 3350 "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 9244 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9513 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 499:
-#line 3258 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 512:
+#line 3358 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9250 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9519 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 500:
-#line 3259 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 513:
+#line 3359 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-#line 9256 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9525 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 501:
-#line 3263 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 514:
+#line 3363 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9264 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9533 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 502:
-#line 3266 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 515:
+#line 3366 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9273 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9542 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 503:
-#line 3270 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 516:
+#line 3370 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9283 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9552 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 504:
-#line 3275 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 517:
+#line 3375 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.pop(&parseContext.defaultPrecision[0]);
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9294 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9563 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 505:
-#line 3284 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 518:
+#line 3384 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 9302 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9571 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 506:
-#line 3287 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 519:
+#line 3387 "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 9312 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9581 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 507:
-#line 3295 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 520:
+#line 3395 "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 ||
@@ -9321,11 +9590,11 @@
             (yyval.interm.intermNode) = 0;  // start a fresh subsequence for what's after this case
         }
     }
-#line 9325 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9594 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 508:
-#line 3303 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 521:
+#line 3403 "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)) {
@@ -9334,76 +9603,76 @@
         } else
             (yyval.interm.intermNode) = parseContext.intermediate.growAggregate((yyvsp[-1].interm.intermNode), (yyvsp[0].interm.intermNode));
     }
-#line 9338 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9607 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 509:
-#line 3314 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 522:
+#line 3414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = 0; }
-#line 9344 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 510:
-#line 3315 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 523:
+#line 3415 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     { (yyval.interm.intermNode) = static_cast<TIntermNode*>((yyvsp[-1].interm.intermTypedNode)); }
-#line 9350 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9619 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 511:
-#line 3319 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 524:
+#line 3419 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9358 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9627 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 512:
-#line 3322 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 525:
+#line 3422 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleSelectionAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9367 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9636 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 513:
-#line 3328 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 526:
+#line 3428 "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 9376 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9645 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 514:
-#line 3335 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 527:
+#line 3435 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermNode);
     }
-#line 9385 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9654 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 515:
-#line 3339 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 528:
+#line 3439 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 9394 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9663 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 516:
-#line 3347 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 529:
+#line 3447 "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 9403 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9672 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 517:
-#line 3351 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 530:
+#line 3451 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.boolCheck((yyvsp[-2].lex).loc, (yyvsp[-3].interm.type));
 
@@ -9414,28 +9683,28 @@
         else
             (yyval.interm.intermTypedNode) = 0;
     }
-#line 9418 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 518:
-#line 3364 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 531:
+#line 3464 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9426 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 519:
-#line 3367 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 532:
+#line 3467 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleSwitchAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9435 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 520:
-#line 3373 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 533:
+#line 3473 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         // start new switch sequence on the switch stack
         ++parseContext.controlFlowNestingLevel;
@@ -9444,11 +9713,11 @@
         parseContext.switchLevel.push_back(parseContext.statementNestingLevel);
         parseContext.symbolTable.push();
     }
-#line 9448 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9717 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 521:
-#line 3381 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 534:
+#line 3481 "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();
@@ -9458,27 +9727,27 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9462 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9731 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 522:
-#line 3393 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 535:
+#line 3493 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
     }
-#line 9470 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9739 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 523:
-#line 3396 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 536:
+#line 3496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9478 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9747 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 524:
-#line 3402 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 537:
+#line 3502 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -9491,11 +9760,11 @@
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpCase, (yyvsp[-1].interm.intermTypedNode), (yyvsp[-2].lex).loc);
         }
     }
-#line 9495 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9764 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 525:
-#line 3414 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 538:
+#line 3514 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = 0;
         if (parseContext.switchLevel.size() == 0)
@@ -9505,28 +9774,28 @@
         else
             (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpDefault, (yyvsp[-1].lex).loc);
     }
-#line 9509 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9778 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 526:
-#line 3426 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 539:
+#line 3526 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9517 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9786 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 527:
-#line 3429 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 540:
+#line 3529 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.handleLoopAttributes(*(yyvsp[-1].interm.attributes), (yyvsp[0].interm.intermNode));
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9526 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9795 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 528:
-#line 3435 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 541:
+#line 3535 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-1].lex).loc, "while loops not available", "limitation", "");
@@ -9535,11 +9804,11 @@
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9539 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9808 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 529:
-#line 3443 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 542:
+#line 3543 "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);
@@ -9547,21 +9816,21 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9551 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 530:
-#line 3450 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 543:
+#line 3550 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9561 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9830 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 531:
-#line 3455 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 544:
+#line 3555 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         if (! parseContext.limits.whileLoops)
             parseContext.error((yyvsp[-7].lex).loc, "do-while loops not available", "limitation", "");
@@ -9573,22 +9842,22 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9577 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9846 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 532:
-#line 3466 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 545:
+#line 3566 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         parseContext.symbolTable.push();
         ++parseContext.loopNestingLevel;
         ++parseContext.statementNestingLevel;
         ++parseContext.controlFlowNestingLevel;
     }
-#line 9588 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9857 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 533:
-#line 3472 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 546:
+#line 3572 "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);
@@ -9601,81 +9870,81 @@
         --parseContext.statementNestingLevel;
         --parseContext.controlFlowNestingLevel;
     }
-#line 9605 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9874 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 534:
-#line 3487 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 547:
+#line 3587 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9613 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9882 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 535:
-#line 3490 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 548:
+#line 3590 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9621 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9890 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 536:
-#line 3496 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 549:
+#line 3596 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode);
     }
-#line 9629 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9898 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 537:
-#line 3499 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 550:
+#line 3599 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermTypedNode) = 0;
     }
-#line 9637 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9906 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 538:
-#line 3505 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 551:
+#line 3605 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = 0;
     }
-#line 9646 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9915 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 539:
-#line 3509 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 552:
+#line 3609 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermTypedNode);
         (yyval.interm.nodePair).node2 = (yyvsp[0].interm.intermTypedNode);
     }
-#line 9655 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9924 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 540:
-#line 3516 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 553:
+#line 3616 "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 9665 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9934 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 541:
-#line 3521 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 554:
+#line 3621 "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 9675 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9944 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 542:
-#line 3526 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 555:
+#line 3626 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.intermediate.addBranch(EOpReturn, (yyvsp[-1].lex).loc);
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid)
@@ -9683,83 +9952,83 @@
         if (parseContext.inMain)
             parseContext.postEntryPointReturn = true;
     }
-#line 9687 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9956 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 543:
-#line 3533 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 556:
+#line 3633 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = parseContext.handleReturnValue((yyvsp[-2].lex).loc, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 9695 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9964 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 544:
-#line 3536 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 557:
+#line 3636 "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 9704 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9973 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 545:
-#line 3545 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 558:
+#line 3645 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
         parseContext.intermediate.setTreeRoot((yyval.interm.intermNode));
     }
-#line 9713 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9982 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 546:
-#line 3549 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 559:
+#line 3649 "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 9724 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 9993 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 547:
-#line 3558 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 560:
+#line 3658 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9732 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10001 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 548:
-#line 3561 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 561:
+#line 3661 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
     }
-#line 9740 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10009 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 549:
-#line 3564 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 562:
+#line 3664 "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 9750 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10019 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 550:
-#line 3572 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 563:
+#line 3672 "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 9759 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10028 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 551:
-#line 3576 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 564:
+#line 3676 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         //   May be best done as post process phase on intermediate code
         if (parseContext.currentFunctionType->getBasicType() != EbtVoid && ! parseContext.functionReturnsValue)
@@ -9775,52 +10044,52 @@
         (yyval.interm.intermNode)->getAsAggregate()->setDebug(parseContext.contextPragma.debug);
         (yyval.interm.intermNode)->getAsAggregate()->setPragmaTable(parseContext.contextPragma.pragmaTable);
     }
-#line 9779 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10048 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 552:
-#line 3594 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 565:
+#line 3694 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = (yyvsp[-2].interm.attributes);
         parseContext.requireExtensions((yyvsp[-4].lex).loc, 1, &E_GL_EXT_control_flow_attributes, "attribute");
     }
-#line 9788 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10057 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 553:
-#line 3600 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 566:
+#line 3700 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = (yyvsp[0].interm.attributes);
     }
-#line 9796 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10065 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 554:
-#line 3603 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 567:
+#line 3703 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = parseContext.mergeAttributes((yyvsp[-2].interm.attributes), (yyvsp[0].interm.attributes));
     }
-#line 9804 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10073 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 555:
-#line 3608 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 568:
+#line 3708 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[0].lex).string);
     }
-#line 9812 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10081 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
-  case 556:
-#line 3611 "MachineIndependent/glslang.y" /* yacc.c:1646  */
+  case 569:
+#line 3711 "MachineIndependent/glslang.y" /* yacc.c:1646  */
     {
         (yyval.interm.attributes) = parseContext.makeAttributes(*(yyvsp[-3].lex).string, (yyvsp[-1].interm.intermTypedNode));
     }
-#line 9820 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10089 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
     break;
 
 
-#line 9824 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
+#line 10093 "MachineIndependent/glslang_tab.cpp" /* yacc.c:1646  */
       default: break;
     }
   /* User semantic actions sometimes alter yychar, and that requires
@@ -10048,5 +10317,5 @@
 #endif
   return yyresult;
 }
-#line 3615 "MachineIndependent/glslang.y" /* yacc.c:1906  */
+#line 3715 "MachineIndependent/glslang.y" /* yacc.c:1906  */
 
diff --git a/glslang/MachineIndependent/glslang_tab.cpp.h b/glslang/MachineIndependent/glslang_tab.cpp.h
index 7cfb797..d1f2e71 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.  */
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
 /* Bison interface for Yacc-like parsers in C
 
-   Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989-1990, 2000-2015 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
@@ -125,320 +125,333 @@
     BUFFER = 335,
     SHARED = 336,
     NONUNIFORM = 337,
-    COHERENT = 338,
-    VOLATILE = 339,
-    RESTRICT = 340,
-    READONLY = 341,
-    WRITEONLY = 342,
-    DVEC2 = 343,
-    DVEC3 = 344,
-    DVEC4 = 345,
-    DMAT2 = 346,
-    DMAT3 = 347,
-    DMAT4 = 348,
-    F16VEC2 = 349,
-    F16VEC3 = 350,
-    F16VEC4 = 351,
-    F16MAT2 = 352,
-    F16MAT3 = 353,
-    F16MAT4 = 354,
-    F32VEC2 = 355,
-    F32VEC3 = 356,
-    F32VEC4 = 357,
-    F32MAT2 = 358,
-    F32MAT3 = 359,
-    F32MAT4 = 360,
-    F64VEC2 = 361,
-    F64VEC3 = 362,
-    F64VEC4 = 363,
-    F64MAT2 = 364,
-    F64MAT3 = 365,
-    F64MAT4 = 366,
-    NOPERSPECTIVE = 367,
-    FLAT = 368,
-    SMOOTH = 369,
-    LAYOUT = 370,
-    __EXPLICITINTERPAMD = 371,
-    MAT2X2 = 372,
-    MAT2X3 = 373,
-    MAT2X4 = 374,
-    MAT3X2 = 375,
-    MAT3X3 = 376,
-    MAT3X4 = 377,
-    MAT4X2 = 378,
-    MAT4X3 = 379,
-    MAT4X4 = 380,
-    DMAT2X2 = 381,
-    DMAT2X3 = 382,
-    DMAT2X4 = 383,
-    DMAT3X2 = 384,
-    DMAT3X3 = 385,
-    DMAT3X4 = 386,
-    DMAT4X2 = 387,
-    DMAT4X3 = 388,
-    DMAT4X4 = 389,
-    F16MAT2X2 = 390,
-    F16MAT2X3 = 391,
-    F16MAT2X4 = 392,
-    F16MAT3X2 = 393,
-    F16MAT3X3 = 394,
-    F16MAT3X4 = 395,
-    F16MAT4X2 = 396,
-    F16MAT4X3 = 397,
-    F16MAT4X4 = 398,
-    F32MAT2X2 = 399,
-    F32MAT2X3 = 400,
-    F32MAT2X4 = 401,
-    F32MAT3X2 = 402,
-    F32MAT3X3 = 403,
-    F32MAT3X4 = 404,
-    F32MAT4X2 = 405,
-    F32MAT4X3 = 406,
-    F32MAT4X4 = 407,
-    F64MAT2X2 = 408,
-    F64MAT2X3 = 409,
-    F64MAT2X4 = 410,
-    F64MAT3X2 = 411,
-    F64MAT3X3 = 412,
-    F64MAT3X4 = 413,
-    F64MAT4X2 = 414,
-    F64MAT4X3 = 415,
-    F64MAT4X4 = 416,
-    ATOMIC_UINT = 417,
-    SAMPLER1D = 418,
-    SAMPLER2D = 419,
-    SAMPLER3D = 420,
-    SAMPLERCUBE = 421,
-    SAMPLER1DSHADOW = 422,
-    SAMPLER2DSHADOW = 423,
-    SAMPLERCUBESHADOW = 424,
-    SAMPLER1DARRAY = 425,
-    SAMPLER2DARRAY = 426,
-    SAMPLER1DARRAYSHADOW = 427,
-    SAMPLER2DARRAYSHADOW = 428,
-    ISAMPLER1D = 429,
-    ISAMPLER2D = 430,
-    ISAMPLER3D = 431,
-    ISAMPLERCUBE = 432,
-    ISAMPLER1DARRAY = 433,
-    ISAMPLER2DARRAY = 434,
-    USAMPLER1D = 435,
-    USAMPLER2D = 436,
-    USAMPLER3D = 437,
-    USAMPLERCUBE = 438,
-    USAMPLER1DARRAY = 439,
-    USAMPLER2DARRAY = 440,
-    SAMPLER2DRECT = 441,
-    SAMPLER2DRECTSHADOW = 442,
-    ISAMPLER2DRECT = 443,
-    USAMPLER2DRECT = 444,
-    SAMPLERBUFFER = 445,
-    ISAMPLERBUFFER = 446,
-    USAMPLERBUFFER = 447,
-    SAMPLERCUBEARRAY = 448,
-    SAMPLERCUBEARRAYSHADOW = 449,
-    ISAMPLERCUBEARRAY = 450,
-    USAMPLERCUBEARRAY = 451,
-    SAMPLER2DMS = 452,
-    ISAMPLER2DMS = 453,
-    USAMPLER2DMS = 454,
-    SAMPLER2DMSARRAY = 455,
-    ISAMPLER2DMSARRAY = 456,
-    USAMPLER2DMSARRAY = 457,
-    SAMPLEREXTERNALOES = 458,
-    F16SAMPLER1D = 459,
-    F16SAMPLER2D = 460,
-    F16SAMPLER3D = 461,
-    F16SAMPLER2DRECT = 462,
-    F16SAMPLERCUBE = 463,
-    F16SAMPLER1DARRAY = 464,
-    F16SAMPLER2DARRAY = 465,
-    F16SAMPLERCUBEARRAY = 466,
-    F16SAMPLERBUFFER = 467,
-    F16SAMPLER2DMS = 468,
-    F16SAMPLER2DMSARRAY = 469,
-    F16SAMPLER1DSHADOW = 470,
-    F16SAMPLER2DSHADOW = 471,
-    F16SAMPLER1DARRAYSHADOW = 472,
-    F16SAMPLER2DARRAYSHADOW = 473,
-    F16SAMPLER2DRECTSHADOW = 474,
-    F16SAMPLERCUBESHADOW = 475,
-    F16SAMPLERCUBEARRAYSHADOW = 476,
-    SAMPLER = 477,
-    SAMPLERSHADOW = 478,
-    TEXTURE1D = 479,
-    TEXTURE2D = 480,
-    TEXTURE3D = 481,
-    TEXTURECUBE = 482,
-    TEXTURE1DARRAY = 483,
-    TEXTURE2DARRAY = 484,
-    ITEXTURE1D = 485,
-    ITEXTURE2D = 486,
-    ITEXTURE3D = 487,
-    ITEXTURECUBE = 488,
-    ITEXTURE1DARRAY = 489,
-    ITEXTURE2DARRAY = 490,
-    UTEXTURE1D = 491,
-    UTEXTURE2D = 492,
-    UTEXTURE3D = 493,
-    UTEXTURECUBE = 494,
-    UTEXTURE1DARRAY = 495,
-    UTEXTURE2DARRAY = 496,
-    TEXTURE2DRECT = 497,
-    ITEXTURE2DRECT = 498,
-    UTEXTURE2DRECT = 499,
-    TEXTUREBUFFER = 500,
-    ITEXTUREBUFFER = 501,
-    UTEXTUREBUFFER = 502,
-    TEXTURECUBEARRAY = 503,
-    ITEXTURECUBEARRAY = 504,
-    UTEXTURECUBEARRAY = 505,
-    TEXTURE2DMS = 506,
-    ITEXTURE2DMS = 507,
-    UTEXTURE2DMS = 508,
-    TEXTURE2DMSARRAY = 509,
-    ITEXTURE2DMSARRAY = 510,
-    UTEXTURE2DMSARRAY = 511,
-    F16TEXTURE1D = 512,
-    F16TEXTURE2D = 513,
-    F16TEXTURE3D = 514,
-    F16TEXTURE2DRECT = 515,
-    F16TEXTURECUBE = 516,
-    F16TEXTURE1DARRAY = 517,
-    F16TEXTURE2DARRAY = 518,
-    F16TEXTURECUBEARRAY = 519,
-    F16TEXTUREBUFFER = 520,
-    F16TEXTURE2DMS = 521,
-    F16TEXTURE2DMSARRAY = 522,
-    SUBPASSINPUT = 523,
-    SUBPASSINPUTMS = 524,
-    ISUBPASSINPUT = 525,
-    ISUBPASSINPUTMS = 526,
-    USUBPASSINPUT = 527,
-    USUBPASSINPUTMS = 528,
-    F16SUBPASSINPUT = 529,
-    F16SUBPASSINPUTMS = 530,
-    IMAGE1D = 531,
-    IIMAGE1D = 532,
-    UIMAGE1D = 533,
-    IMAGE2D = 534,
-    IIMAGE2D = 535,
-    UIMAGE2D = 536,
-    IMAGE3D = 537,
-    IIMAGE3D = 538,
-    UIMAGE3D = 539,
-    IMAGE2DRECT = 540,
-    IIMAGE2DRECT = 541,
-    UIMAGE2DRECT = 542,
-    IMAGECUBE = 543,
-    IIMAGECUBE = 544,
-    UIMAGECUBE = 545,
-    IMAGEBUFFER = 546,
-    IIMAGEBUFFER = 547,
-    UIMAGEBUFFER = 548,
-    IMAGE1DARRAY = 549,
-    IIMAGE1DARRAY = 550,
-    UIMAGE1DARRAY = 551,
-    IMAGE2DARRAY = 552,
-    IIMAGE2DARRAY = 553,
-    UIMAGE2DARRAY = 554,
-    IMAGECUBEARRAY = 555,
-    IIMAGECUBEARRAY = 556,
-    UIMAGECUBEARRAY = 557,
-    IMAGE2DMS = 558,
-    IIMAGE2DMS = 559,
-    UIMAGE2DMS = 560,
-    IMAGE2DMSARRAY = 561,
-    IIMAGE2DMSARRAY = 562,
-    UIMAGE2DMSARRAY = 563,
-    F16IMAGE1D = 564,
-    F16IMAGE2D = 565,
-    F16IMAGE3D = 566,
-    F16IMAGE2DRECT = 567,
-    F16IMAGECUBE = 568,
-    F16IMAGE1DARRAY = 569,
-    F16IMAGE2DARRAY = 570,
-    F16IMAGECUBEARRAY = 571,
-    F16IMAGEBUFFER = 572,
-    F16IMAGE2DMS = 573,
-    F16IMAGE2DMSARRAY = 574,
-    STRUCT = 575,
-    VOID = 576,
-    WHILE = 577,
-    IDENTIFIER = 578,
-    TYPE_NAME = 579,
-    FLOATCONSTANT = 580,
-    DOUBLECONSTANT = 581,
-    INT16CONSTANT = 582,
-    UINT16CONSTANT = 583,
-    INT32CONSTANT = 584,
-    UINT32CONSTANT = 585,
-    INTCONSTANT = 586,
-    UINTCONSTANT = 587,
-    INT64CONSTANT = 588,
-    UINT64CONSTANT = 589,
-    BOOLCONSTANT = 590,
-    FLOAT16CONSTANT = 591,
-    LEFT_OP = 592,
-    RIGHT_OP = 593,
-    INC_OP = 594,
-    DEC_OP = 595,
-    LE_OP = 596,
-    GE_OP = 597,
-    EQ_OP = 598,
-    NE_OP = 599,
-    AND_OP = 600,
-    OR_OP = 601,
-    XOR_OP = 602,
-    MUL_ASSIGN = 603,
-    DIV_ASSIGN = 604,
-    ADD_ASSIGN = 605,
-    MOD_ASSIGN = 606,
-    LEFT_ASSIGN = 607,
-    RIGHT_ASSIGN = 608,
-    AND_ASSIGN = 609,
-    XOR_ASSIGN = 610,
-    OR_ASSIGN = 611,
-    SUB_ASSIGN = 612,
-    LEFT_PAREN = 613,
-    RIGHT_PAREN = 614,
-    LEFT_BRACKET = 615,
-    RIGHT_BRACKET = 616,
-    LEFT_BRACE = 617,
-    RIGHT_BRACE = 618,
-    DOT = 619,
-    COMMA = 620,
-    COLON = 621,
-    EQUAL = 622,
-    SEMICOLON = 623,
-    BANG = 624,
-    DASH = 625,
-    TILDE = 626,
-    PLUS = 627,
-    STAR = 628,
-    SLASH = 629,
-    PERCENT = 630,
-    LEFT_ANGLE = 631,
-    RIGHT_ANGLE = 632,
-    VERTICAL_BAR = 633,
-    CARET = 634,
-    AMPERSAND = 635,
-    QUESTION = 636,
-    INVARIANT = 637,
-    PRECISE = 638,
-    HIGH_PRECISION = 639,
-    MEDIUM_PRECISION = 640,
-    LOW_PRECISION = 641,
-    PRECISION = 642,
-    PACKED = 643,
-    RESOURCE = 644,
-    SUPERP = 645
+    PAYLOADNV = 338,
+    PAYLOADINNV = 339,
+    HITATTRNV = 340,
+    COHERENT = 341,
+    VOLATILE = 342,
+    RESTRICT = 343,
+    READONLY = 344,
+    WRITEONLY = 345,
+    DEVICECOHERENT = 346,
+    QUEUEFAMILYCOHERENT = 347,
+    WORKGROUPCOHERENT = 348,
+    SUBGROUPCOHERENT = 349,
+    NONPRIVATE = 350,
+    DVEC2 = 351,
+    DVEC3 = 352,
+    DVEC4 = 353,
+    DMAT2 = 354,
+    DMAT3 = 355,
+    DMAT4 = 356,
+    F16VEC2 = 357,
+    F16VEC3 = 358,
+    F16VEC4 = 359,
+    F16MAT2 = 360,
+    F16MAT3 = 361,
+    F16MAT4 = 362,
+    F32VEC2 = 363,
+    F32VEC3 = 364,
+    F32VEC4 = 365,
+    F32MAT2 = 366,
+    F32MAT3 = 367,
+    F32MAT4 = 368,
+    F64VEC2 = 369,
+    F64VEC3 = 370,
+    F64VEC4 = 371,
+    F64MAT2 = 372,
+    F64MAT3 = 373,
+    F64MAT4 = 374,
+    NOPERSPECTIVE = 375,
+    FLAT = 376,
+    SMOOTH = 377,
+    LAYOUT = 378,
+    EXPLICITINTERPAMD = 379,
+    PERVERTEXNV = 380,
+    PERPRIMITIVENV = 381,
+    PERVIEWNV = 382,
+    PERTASKNV = 383,
+    MAT2X2 = 384,
+    MAT2X3 = 385,
+    MAT2X4 = 386,
+    MAT3X2 = 387,
+    MAT3X3 = 388,
+    MAT3X4 = 389,
+    MAT4X2 = 390,
+    MAT4X3 = 391,
+    MAT4X4 = 392,
+    DMAT2X2 = 393,
+    DMAT2X3 = 394,
+    DMAT2X4 = 395,
+    DMAT3X2 = 396,
+    DMAT3X3 = 397,
+    DMAT3X4 = 398,
+    DMAT4X2 = 399,
+    DMAT4X3 = 400,
+    DMAT4X4 = 401,
+    F16MAT2X2 = 402,
+    F16MAT2X3 = 403,
+    F16MAT2X4 = 404,
+    F16MAT3X2 = 405,
+    F16MAT3X3 = 406,
+    F16MAT3X4 = 407,
+    F16MAT4X2 = 408,
+    F16MAT4X3 = 409,
+    F16MAT4X4 = 410,
+    F32MAT2X2 = 411,
+    F32MAT2X3 = 412,
+    F32MAT2X4 = 413,
+    F32MAT3X2 = 414,
+    F32MAT3X3 = 415,
+    F32MAT3X4 = 416,
+    F32MAT4X2 = 417,
+    F32MAT4X3 = 418,
+    F32MAT4X4 = 419,
+    F64MAT2X2 = 420,
+    F64MAT2X3 = 421,
+    F64MAT2X4 = 422,
+    F64MAT3X2 = 423,
+    F64MAT3X3 = 424,
+    F64MAT3X4 = 425,
+    F64MAT4X2 = 426,
+    F64MAT4X3 = 427,
+    F64MAT4X4 = 428,
+    ATOMIC_UINT = 429,
+    ACCSTRUCTNV = 430,
+    SAMPLER1D = 431,
+    SAMPLER2D = 432,
+    SAMPLER3D = 433,
+    SAMPLERCUBE = 434,
+    SAMPLER1DSHADOW = 435,
+    SAMPLER2DSHADOW = 436,
+    SAMPLERCUBESHADOW = 437,
+    SAMPLER1DARRAY = 438,
+    SAMPLER2DARRAY = 439,
+    SAMPLER1DARRAYSHADOW = 440,
+    SAMPLER2DARRAYSHADOW = 441,
+    ISAMPLER1D = 442,
+    ISAMPLER2D = 443,
+    ISAMPLER3D = 444,
+    ISAMPLERCUBE = 445,
+    ISAMPLER1DARRAY = 446,
+    ISAMPLER2DARRAY = 447,
+    USAMPLER1D = 448,
+    USAMPLER2D = 449,
+    USAMPLER3D = 450,
+    USAMPLERCUBE = 451,
+    USAMPLER1DARRAY = 452,
+    USAMPLER2DARRAY = 453,
+    SAMPLER2DRECT = 454,
+    SAMPLER2DRECTSHADOW = 455,
+    ISAMPLER2DRECT = 456,
+    USAMPLER2DRECT = 457,
+    SAMPLERBUFFER = 458,
+    ISAMPLERBUFFER = 459,
+    USAMPLERBUFFER = 460,
+    SAMPLERCUBEARRAY = 461,
+    SAMPLERCUBEARRAYSHADOW = 462,
+    ISAMPLERCUBEARRAY = 463,
+    USAMPLERCUBEARRAY = 464,
+    SAMPLER2DMS = 465,
+    ISAMPLER2DMS = 466,
+    USAMPLER2DMS = 467,
+    SAMPLER2DMSARRAY = 468,
+    ISAMPLER2DMSARRAY = 469,
+    USAMPLER2DMSARRAY = 470,
+    SAMPLEREXTERNALOES = 471,
+    F16SAMPLER1D = 472,
+    F16SAMPLER2D = 473,
+    F16SAMPLER3D = 474,
+    F16SAMPLER2DRECT = 475,
+    F16SAMPLERCUBE = 476,
+    F16SAMPLER1DARRAY = 477,
+    F16SAMPLER2DARRAY = 478,
+    F16SAMPLERCUBEARRAY = 479,
+    F16SAMPLERBUFFER = 480,
+    F16SAMPLER2DMS = 481,
+    F16SAMPLER2DMSARRAY = 482,
+    F16SAMPLER1DSHADOW = 483,
+    F16SAMPLER2DSHADOW = 484,
+    F16SAMPLER1DARRAYSHADOW = 485,
+    F16SAMPLER2DARRAYSHADOW = 486,
+    F16SAMPLER2DRECTSHADOW = 487,
+    F16SAMPLERCUBESHADOW = 488,
+    F16SAMPLERCUBEARRAYSHADOW = 489,
+    SAMPLER = 490,
+    SAMPLERSHADOW = 491,
+    TEXTURE1D = 492,
+    TEXTURE2D = 493,
+    TEXTURE3D = 494,
+    TEXTURECUBE = 495,
+    TEXTURE1DARRAY = 496,
+    TEXTURE2DARRAY = 497,
+    ITEXTURE1D = 498,
+    ITEXTURE2D = 499,
+    ITEXTURE3D = 500,
+    ITEXTURECUBE = 501,
+    ITEXTURE1DARRAY = 502,
+    ITEXTURE2DARRAY = 503,
+    UTEXTURE1D = 504,
+    UTEXTURE2D = 505,
+    UTEXTURE3D = 506,
+    UTEXTURECUBE = 507,
+    UTEXTURE1DARRAY = 508,
+    UTEXTURE2DARRAY = 509,
+    TEXTURE2DRECT = 510,
+    ITEXTURE2DRECT = 511,
+    UTEXTURE2DRECT = 512,
+    TEXTUREBUFFER = 513,
+    ITEXTUREBUFFER = 514,
+    UTEXTUREBUFFER = 515,
+    TEXTURECUBEARRAY = 516,
+    ITEXTURECUBEARRAY = 517,
+    UTEXTURECUBEARRAY = 518,
+    TEXTURE2DMS = 519,
+    ITEXTURE2DMS = 520,
+    UTEXTURE2DMS = 521,
+    TEXTURE2DMSARRAY = 522,
+    ITEXTURE2DMSARRAY = 523,
+    UTEXTURE2DMSARRAY = 524,
+    F16TEXTURE1D = 525,
+    F16TEXTURE2D = 526,
+    F16TEXTURE3D = 527,
+    F16TEXTURE2DRECT = 528,
+    F16TEXTURECUBE = 529,
+    F16TEXTURE1DARRAY = 530,
+    F16TEXTURE2DARRAY = 531,
+    F16TEXTURECUBEARRAY = 532,
+    F16TEXTUREBUFFER = 533,
+    F16TEXTURE2DMS = 534,
+    F16TEXTURE2DMSARRAY = 535,
+    SUBPASSINPUT = 536,
+    SUBPASSINPUTMS = 537,
+    ISUBPASSINPUT = 538,
+    ISUBPASSINPUTMS = 539,
+    USUBPASSINPUT = 540,
+    USUBPASSINPUTMS = 541,
+    F16SUBPASSINPUT = 542,
+    F16SUBPASSINPUTMS = 543,
+    IMAGE1D = 544,
+    IIMAGE1D = 545,
+    UIMAGE1D = 546,
+    IMAGE2D = 547,
+    IIMAGE2D = 548,
+    UIMAGE2D = 549,
+    IMAGE3D = 550,
+    IIMAGE3D = 551,
+    UIMAGE3D = 552,
+    IMAGE2DRECT = 553,
+    IIMAGE2DRECT = 554,
+    UIMAGE2DRECT = 555,
+    IMAGECUBE = 556,
+    IIMAGECUBE = 557,
+    UIMAGECUBE = 558,
+    IMAGEBUFFER = 559,
+    IIMAGEBUFFER = 560,
+    UIMAGEBUFFER = 561,
+    IMAGE1DARRAY = 562,
+    IIMAGE1DARRAY = 563,
+    UIMAGE1DARRAY = 564,
+    IMAGE2DARRAY = 565,
+    IIMAGE2DARRAY = 566,
+    UIMAGE2DARRAY = 567,
+    IMAGECUBEARRAY = 568,
+    IIMAGECUBEARRAY = 569,
+    UIMAGECUBEARRAY = 570,
+    IMAGE2DMS = 571,
+    IIMAGE2DMS = 572,
+    UIMAGE2DMS = 573,
+    IMAGE2DMSARRAY = 574,
+    IIMAGE2DMSARRAY = 575,
+    UIMAGE2DMSARRAY = 576,
+    F16IMAGE1D = 577,
+    F16IMAGE2D = 578,
+    F16IMAGE3D = 579,
+    F16IMAGE2DRECT = 580,
+    F16IMAGECUBE = 581,
+    F16IMAGE1DARRAY = 582,
+    F16IMAGE2DARRAY = 583,
+    F16IMAGECUBEARRAY = 584,
+    F16IMAGEBUFFER = 585,
+    F16IMAGE2DMS = 586,
+    F16IMAGE2DMSARRAY = 587,
+    STRUCT = 588,
+    VOID = 589,
+    WHILE = 590,
+    IDENTIFIER = 591,
+    TYPE_NAME = 592,
+    FLOATCONSTANT = 593,
+    DOUBLECONSTANT = 594,
+    INT16CONSTANT = 595,
+    UINT16CONSTANT = 596,
+    INT32CONSTANT = 597,
+    UINT32CONSTANT = 598,
+    INTCONSTANT = 599,
+    UINTCONSTANT = 600,
+    INT64CONSTANT = 601,
+    UINT64CONSTANT = 602,
+    BOOLCONSTANT = 603,
+    FLOAT16CONSTANT = 604,
+    LEFT_OP = 605,
+    RIGHT_OP = 606,
+    INC_OP = 607,
+    DEC_OP = 608,
+    LE_OP = 609,
+    GE_OP = 610,
+    EQ_OP = 611,
+    NE_OP = 612,
+    AND_OP = 613,
+    OR_OP = 614,
+    XOR_OP = 615,
+    MUL_ASSIGN = 616,
+    DIV_ASSIGN = 617,
+    ADD_ASSIGN = 618,
+    MOD_ASSIGN = 619,
+    LEFT_ASSIGN = 620,
+    RIGHT_ASSIGN = 621,
+    AND_ASSIGN = 622,
+    XOR_ASSIGN = 623,
+    OR_ASSIGN = 624,
+    SUB_ASSIGN = 625,
+    LEFT_PAREN = 626,
+    RIGHT_PAREN = 627,
+    LEFT_BRACKET = 628,
+    RIGHT_BRACKET = 629,
+    LEFT_BRACE = 630,
+    RIGHT_BRACE = 631,
+    DOT = 632,
+    COMMA = 633,
+    COLON = 634,
+    EQUAL = 635,
+    SEMICOLON = 636,
+    BANG = 637,
+    DASH = 638,
+    TILDE = 639,
+    PLUS = 640,
+    STAR = 641,
+    SLASH = 642,
+    PERCENT = 643,
+    LEFT_ANGLE = 644,
+    RIGHT_ANGLE = 645,
+    VERTICAL_BAR = 646,
+    CARET = 647,
+    AMPERSAND = 648,
+    QUESTION = 649,
+    INVARIANT = 650,
+    PRECISE = 651,
+    HIGH_PRECISION = 652,
+    MEDIUM_PRECISION = 653,
+    LOW_PRECISION = 654,
+    PRECISION = 655,
+    PACKED = 656,
+    RESOURCE = 657,
+    SUPERP = 658
   };
 #endif
 
 /* Value type.  */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE YYSTYPE;
+
 union YYSTYPE
 {
 #line 70 "MachineIndependent/glslang.y" /* yacc.c:1909  */
@@ -476,8 +489,10 @@
         };
     } interm;
 
-#line 480 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
+#line 493 "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
old mode 100755
new mode 100644
index fc75964..5aa5776
--- a/glslang/MachineIndependent/intermOut.cpp
+++ b/glslang/MachineIndependent/intermOut.cpp
@@ -871,6 +871,8 @@
     case EOpAtomicXor:                  out.debug << "AtomicXor";             break;
     case EOpAtomicExchange:             out.debug << "AtomicExchange";        break;
     case EOpAtomicCompSwap:             out.debug << "AtomicCompSwap";        break;
+    case EOpAtomicLoad:                 out.debug << "AtomicLoad";            break;
+    case EOpAtomicStore:                out.debug << "AtomicStore";           break;
 
     case EOpAtomicCounterAdd:           out.debug << "AtomicCounterAdd";      break;
     case EOpAtomicCounterSubtract:      out.debug << "AtomicCounterSubtract"; break;
@@ -894,6 +896,8 @@
     case EOpImageAtomicXor:             out.debug << "imageAtomicXor";        break;
     case EOpImageAtomicExchange:        out.debug << "imageAtomicExchange";   break;
     case EOpImageAtomicCompSwap:        out.debug << "imageAtomicCompSwap";   break;
+    case EOpImageAtomicLoad:            out.debug << "imageAtomicLoad";       break;
+    case EOpImageAtomicStore:           out.debug << "imageAtomicStore";      break;
 #ifdef AMD_EXTENSIONS
     case EOpImageLoadLod:               out.debug << "imageLoadLod";          break;
     case EOpImageStoreLod:              out.debug << "imageStoreLod";         break;
@@ -952,7 +956,13 @@
     case EOpSparseTextureGatherLodOffsets:  out.debug << "sparseTextureGatherLodOffsets";   break;
     case EOpSparseImageLoadLod:             out.debug << "sparseImageLoadLod";              break;
 #endif
-
+#ifdef NV_EXTENSIONS
+    case EOpImageSampleFootprintNV:             out.debug << "imageSampleFootprintNV";          break;
+    case EOpImageSampleFootprintClampNV:        out.debug << "imageSampleFootprintClampNV";     break;
+    case EOpImageSampleFootprintLodNV:          out.debug << "imageSampleFootprintLodNV";       break;
+    case EOpImageSampleFootprintGradNV:         out.debug << "imageSampleFootprintGradNV";      break;
+    case EOpImageSampleFootprintGradClampNV:    out.debug << "mageSampleFootprintGradClampNV";  break;
+#endif
     case EOpAddCarry:                   out.debug << "addCarry";              break;
     case EOpSubBorrow:                  out.debug << "subBorrow";             break;
     case EOpUMulExtended:               out.debug << "uMulExtended";          break;
@@ -1038,6 +1048,14 @@
     case EOpSubpassLoad:   out.debug << "subpassLoad";   break;
     case EOpSubpassLoadMS: out.debug << "subpassLoadMS"; break;
 
+#ifdef NV_EXTENSIONS
+    case EOpTraceNV:                          out.debug << "traceNVX"; break;
+    case EOpReportIntersectionNV:             out.debug << "reportIntersectionNVX"; break;
+    case EOpIgnoreIntersectionNV:             out.debug << "ignoreIntersectionNVX"; break;
+    case EOpTerminateRayNV:                   out.debug << "terminateRayNVX"; break;
+    case EOpWritePackedPrimitiveIndices4x8NV: out.debug << "writePackedPrimitiveIndices4x8NV"; break;
+#endif
+
     default: out.debug.message(EPrefixError, "Bad aggregation op");
     }
 
@@ -1441,6 +1459,16 @@
         }
         break;
 
+#ifdef NV_EXTENSIONS
+    case EShLangMeshNV:
+        infoSink.debug << "max_vertices = " << vertices << "\n";
+        infoSink.debug << "max_primitives = " << primitives << "\n";
+        infoSink.debug << "output primitive = " << TQualifier::getGeometryString(outputPrimitive) << "\n";
+        // Fall through
+
+    case EShLangTaskNV:
+        // Fall through
+#endif
     case EShLangCompute:
         infoSink.debug << "local_size = (" << localSize[0] << ", " << localSize[1] << ", " << localSize[2] << ")\n";
         {
diff --git a/glslang/MachineIndependent/iomapper.cpp b/glslang/MachineIndependent/iomapper.cpp
old mode 100755
new mode 100644
index 9248214..66f6f30
--- a/glslang/MachineIndependent/iomapper.cpp
+++ b/glslang/MachineIndependent/iomapper.cpp
@@ -331,8 +331,14 @@
                                                       ent.symbol->getType(),
                                                       ent.live);
         } else {
-            TString errorMsg = "Invalid shader In/Out variable semantic: ";
-            errorMsg += ent.symbol->getType().getQualifier().semanticName;
+            TString errorMsg;
+            if (ent.symbol->getType().getQualifier().semanticName != nullptr) {
+                errorMsg = "Invalid shader In/Out variable semantic: ";
+                errorMsg += ent.symbol->getType().getQualifier().semanticName;
+            } else {
+                errorMsg = "Invalid shader In/Out variable: ";
+                errorMsg += ent.symbol->getName();
+            }
             infoSink.info.message(EPrefixInternalError, errorMsg.c_str());
             error = true;
         }
diff --git a/glslang/MachineIndependent/linkValidate.cpp b/glslang/MachineIndependent/linkValidate.cpp
index c540ae6..7ce7cdd 100644
--- a/glslang/MachineIndependent/linkValidate.cpp
+++ b/glslang/MachineIndependent/linkValidate.cpp
@@ -77,12 +77,13 @@
 //
 void TIntermediate::merge(TInfoSink& infoSink, TIntermediate& unit)
 {
-    if (source == EShSourceNone)
-        source = unit.source;
+    mergeCallGraphs(infoSink, unit);
+    mergeModes(infoSink, unit);
+    mergeTrees(infoSink, unit);
+}
 
-    if (source != unit.source)
-        error(infoSink, "can't link compilation units from different source languages");
-
+void TIntermediate::mergeCallGraphs(TInfoSink& infoSink, TIntermediate& unit)
+{
     if (unit.getNumEntryPoints() > 0) {
         if (getNumEntryPoints() > 0)
             error(infoSink, "can't handle multiple entry points per stage");
@@ -92,25 +93,75 @@
         }
     }
     numEntryPoints += unit.getNumEntryPoints();
+
+    callGraph.insert(callGraph.end(), unit.callGraph.begin(), unit.callGraph.end());
+}
+
+#define MERGE_MAX(member) member = std::max(member, unit.member)
+#define MERGE_TRUE(member) if (unit.member) member = unit.member;
+
+void TIntermediate::mergeModes(TInfoSink& infoSink, TIntermediate& unit)
+{
+    if (language != unit.language)
+        error(infoSink, "stages must match when linking into a single stage");
+
+    if (source == EShSourceNone)
+        source = unit.source;
+    if (source != unit.source)
+        error(infoSink, "can't link compilation units from different source languages");
+
+    if (treeRoot == nullptr) {
+        profile = unit.profile;
+        version = unit.version;
+        requestedExtensions = unit.requestedExtensions;
+    } else {
+        if ((profile == EEsProfile) != (unit.profile == EEsProfile))
+            error(infoSink, "Cannot cross link ES and desktop profiles");
+        else if (unit.profile == ECompatibilityProfile)
+            profile = ECompatibilityProfile;
+        version = std::max(version, unit.version);
+        requestedExtensions.insert(unit.requestedExtensions.begin(), unit.requestedExtensions.end());
+    }
+
+    MERGE_MAX(spvVersion.spv);
+    MERGE_MAX(spvVersion.vulkanGlsl);
+    MERGE_MAX(spvVersion.vulkan);
+    MERGE_MAX(spvVersion.openGl);
+
     numErrors += unit.getNumErrors();
     numPushConstants += unit.numPushConstants;
-    callGraph.insert(callGraph.end(), unit.callGraph.begin(), unit.callGraph.end());
 
-    if (originUpperLeft != unit.originUpperLeft || pixelCenterInteger != unit.pixelCenterInteger)
-        error(infoSink, "gl_FragCoord redeclarations must match across shaders");
+    if (unit.invocations != TQualifier::layoutNotSet) {
+        if (invocations == TQualifier::layoutNotSet)
+            invocations = unit.invocations;
+        else if (invocations != unit.invocations)
+            error(infoSink, "number of invocations must match between compilation units");
+    }
 
-    if (! earlyFragmentTests)
-        earlyFragmentTests = unit.earlyFragmentTests;
-
-    if (!postDepthCoverage)
-        postDepthCoverage = unit.postDepthCoverage;
-
-    if (depthLayout == EldNone)
-        depthLayout = unit.depthLayout;
-    else if (depthLayout != unit.depthLayout)
-        error(infoSink, "Contradictory depth layouts");
-
-    blendEquations |= unit.blendEquations;
+    if (vertices == TQualifier::layoutNotSet)
+        vertices = unit.vertices;
+    else if (vertices != unit.vertices) {
+        if (language == EShLangGeometry
+#ifdef NV_EXTENSIONS
+            || language == EShLangMeshNV
+#endif
+            )
+            error(infoSink, "Contradictory layout max_vertices values");
+        else if (language == EShLangTessControl)
+            error(infoSink, "Contradictory layout vertices values");
+        else
+            assert(0);
+    }
+#ifdef NV_EXTENSIONS
+    if (primitives == TQualifier::layoutNotSet)
+        primitives = unit.primitives;
+    else if (primitives != unit.primitives) {
+        if (language == EShLangMeshNV)
+            error(infoSink, "Contradictory layout max_primitives values");
+        else
+            assert(0);
+    }
+#endif
 
     if (inputPrimitive == ElgNone)
         inputPrimitive = unit.inputPrimitive;
@@ -122,16 +173,8 @@
     else if (outputPrimitive != unit.outputPrimitive)
         error(infoSink, "Contradictory output layout primitives");
 
-    if (vertices == TQualifier::layoutNotSet)
-        vertices = unit.vertices;
-    else if (vertices != unit.vertices) {
-        if (language == EShLangGeometry)
-            error(infoSink, "Contradictory layout max_vertices values");
-        else if (language == EShLangTessControl)
-            error(infoSink, "Contradictory layout vertices values");
-        else
-            assert(0);
-    }
+    if (originUpperLeft != unit.originUpperLeft || pixelCenterInteger != unit.pixelCenterInteger)
+        error(infoSink, "gl_FragCoord redeclarations must match across shaders");
 
     if (vertexSpacing == EvsNone)
         vertexSpacing = unit.vertexSpacing;
@@ -143,8 +186,7 @@
     else if (vertexOrder != unit.vertexOrder)
         error(infoSink, "Contradictory triangle ordering");
 
-    if (unit.pointMode)
-        pointMode = true;
+    MERGE_TRUE(pointMode);
 
     for (int i = 0; i < 3; ++i) {
         if (localSize[i] > 1)
@@ -158,8 +200,21 @@
             error(infoSink, "Contradictory local size specialization ids");
     }
 
-    if (unit.xfbMode)
-        xfbMode = true;
+    MERGE_TRUE(earlyFragmentTests);
+    MERGE_TRUE(postDepthCoverage);
+
+    if (depthLayout == EldNone)
+        depthLayout = unit.depthLayout;
+    else if (depthLayout != unit.depthLayout)
+        error(infoSink, "Contradictory depth layouts");
+
+    MERGE_TRUE(depthReplacing);
+    MERGE_TRUE(hlslFunctionality1);
+
+    blendEquations |= unit.blendEquations;
+
+    MERGE_TRUE(xfbMode);
+
     for (size_t b = 0; b < xfbBuffers.size(); ++b) {
         if (xfbBuffers[b].stride == TQualifier::layoutXfbStrideEnd)
             xfbBuffers[b].stride = unit.xfbBuffers[b].stride;
@@ -171,35 +226,181 @@
         // TODO: 4.4 link: enhanced layouts: compare ranges
     }
 
-    if (unit.treeRoot == 0)
+    MERGE_TRUE(multiStream);
+
+#ifdef NV_EXTENSIONS
+    MERGE_TRUE(layoutOverrideCoverage);
+    MERGE_TRUE(geoPassthroughEXT);
+#endif
+
+    for (unsigned int i = 0; i < unit.shiftBinding.size(); ++i) {
+        if (unit.shiftBinding[i] > 0)
+            setShiftBinding((TResourceType)i, unit.shiftBinding[i]);
+    }
+
+    for (unsigned int i = 0; i < unit.shiftBindingForSet.size(); ++i) {
+        for (auto it = unit.shiftBindingForSet[i].begin(); it != unit.shiftBindingForSet[i].end(); ++it)
+            setShiftBindingForSet((TResourceType)i, it->second, it->first);
+    }
+
+    resourceSetBinding.insert(resourceSetBinding.end(), unit.resourceSetBinding.begin(), unit.resourceSetBinding.end());
+
+    MERGE_TRUE(autoMapBindings);
+    MERGE_TRUE(autoMapLocations);
+    MERGE_TRUE(invertY);
+    MERGE_TRUE(flattenUniformArrays);
+    MERGE_TRUE(useUnknownFormat);
+    MERGE_TRUE(hlslOffsets);
+    MERGE_TRUE(useStorageBuffer);
+    MERGE_TRUE(hlslIoMapping);
+
+    // TODO: sourceFile
+    // TODO: sourceText
+    // TODO: processes
+
+    MERGE_TRUE(needToLegalize);
+    MERGE_TRUE(binaryDoubleOutput);
+}
+
+//
+// Merge the 'unit' AST into 'this' AST.
+// That includes rationalizing the unique IDs, which were set up independently,
+// and might have overlaps that are not the same symbol, or might have different
+// IDs for what should be the same shared symbol.
+//
+void TIntermediate::mergeTrees(TInfoSink& infoSink, TIntermediate& unit)
+{
+    if (unit.treeRoot == nullptr)
         return;
 
-    if (treeRoot == 0) {
+    if (treeRoot == nullptr) {
         treeRoot = unit.treeRoot;
-        version = unit.version;
-        requestedExtensions = unit.requestedExtensions;
         return;
     }
 
     // Getting this far means we have two existing trees to merge...
+#ifdef NV_EXTENSIONS
+    numShaderRecordNVBlocks += unit.numShaderRecordNVBlocks;
+#endif
 
-    version = std::max(version, unit.version);
-    requestedExtensions.insert(unit.requestedExtensions.begin(), unit.requestedExtensions.end());
+#ifdef NV_EXTENSIONS
+    numTaskNVBlocks += unit.numTaskNVBlocks;
+#endif
 
     // Get the top-level globals of each unit
     TIntermSequence& globals = treeRoot->getAsAggregate()->getSequence();
     TIntermSequence& unitGlobals = unit.treeRoot->getAsAggregate()->getSequence();
 
     // Get the linker-object lists
-    TIntermSequence& linkerObjects = findLinkerObjects();
-    TIntermSequence& unitLinkerObjects = unit.findLinkerObjects();
+    TIntermSequence& linkerObjects = findLinkerObjects()->getSequence();
+    const TIntermSequence& unitLinkerObjects = unit.findLinkerObjects()->getSequence();
+
+    // Map by global name to unique ID to rationalize the same object having
+    // differing IDs in different trees.
+    TMap<TString, int> idMap;
+    int maxId;
+    seedIdMap(idMap, maxId);
+    remapIds(idMap, maxId + 1, unit);
 
     mergeBodies(infoSink, globals, unitGlobals);
     mergeLinkerObjects(infoSink, linkerObjects, unitLinkerObjects);
-
     ioAccessed.insert(unit.ioAccessed.begin(), unit.ioAccessed.end());
 }
 
+// Traverser that seeds an ID map with all built-ins, and tracks the
+// maximum ID used.
+// (It would be nice to put this in a function, but that causes warnings
+// on having no bodies for the copy-constructor/operator=.)
+class TBuiltInIdTraverser : public TIntermTraverser {
+public:
+    TBuiltInIdTraverser(TMap<TString, int>& idMap) : idMap(idMap), maxId(0) { }
+    // If it's a built in, add it to the map.
+    // Track the max ID.
+    virtual void visitSymbol(TIntermSymbol* symbol)
+    {
+        const TQualifier& qualifier = symbol->getType().getQualifier();
+        if (qualifier.builtIn != EbvNone)
+            idMap[symbol->getName()] = symbol->getId();
+        maxId = std::max(maxId, symbol->getId());
+    }
+    int getMaxId() const { return maxId; }
+protected:
+    TBuiltInIdTraverser(TBuiltInIdTraverser&);
+    TBuiltInIdTraverser& operator=(TBuiltInIdTraverser&);
+    TMap<TString, int>& idMap;
+    int maxId;
+};
+
+// Traverser that seeds an ID map with non-builtins.
+// (It would be nice to put this in a function, but that causes warnings
+// on having no bodies for the copy-constructor/operator=.)
+class TUserIdTraverser : public TIntermTraverser {
+public:
+    TUserIdTraverser(TMap<TString, int>& idMap) : idMap(idMap) { }
+    // If its a non-built-in global, add it to the map.
+    virtual void visitSymbol(TIntermSymbol* symbol)
+    {
+        const TQualifier& qualifier = symbol->getType().getQualifier();
+        if (qualifier.builtIn == EbvNone)
+            idMap[symbol->getName()] = symbol->getId();
+    }
+
+protected:
+    TUserIdTraverser(TUserIdTraverser&);
+    TUserIdTraverser& operator=(TUserIdTraverser&);
+    TMap<TString, int>& idMap; // over biggest id
+};
+
+// Initialize the the ID map with what we know of 'this' AST.
+void TIntermediate::seedIdMap(TMap<TString, int>& idMap, int& maxId)
+{
+    // all built-ins everywhere need to align on IDs and contribute to the max ID
+    TBuiltInIdTraverser builtInIdTraverser(idMap);
+    treeRoot->traverse(&builtInIdTraverser);
+    maxId = builtInIdTraverser.getMaxId();
+
+    // user variables in the linker object list need to align on ids
+    TUserIdTraverser userIdTraverser(idMap);
+    findLinkerObjects()->traverse(&userIdTraverser);
+}
+
+// Traverser to map an AST ID to what was known from the seeding AST.
+// (It would be nice to put this in a function, but that causes warnings
+// on having no bodies for the copy-constructor/operator=.)
+class TRemapIdTraverser : public TIntermTraverser {
+public:
+    TRemapIdTraverser(const TMap<TString, int>& idMap, int idShift) : idMap(idMap), idShift(idShift) { }
+    // Do the mapping:
+    //  - if the same symbol, adopt the 'this' ID
+    //  - otherwise, ensure a unique ID by shifting to a new space
+    virtual void visitSymbol(TIntermSymbol* symbol)
+    {
+        const TQualifier& qualifier = symbol->getType().getQualifier();
+        bool remapped = false;
+        if (qualifier.isLinkable() || qualifier.builtIn != EbvNone) {
+            auto it = idMap.find(symbol->getName());
+            if (it != idMap.end()) {
+                symbol->changeId(it->second);
+                remapped = true;
+            }
+        }
+        if (!remapped)
+            symbol->changeId(symbol->getId() + idShift);
+    }
+protected:
+    TRemapIdTraverser(TRemapIdTraverser&);
+    TRemapIdTraverser& operator=(TRemapIdTraverser&);
+    const TMap<TString, int>& idMap;
+    int idShift;
+};
+
+void TIntermediate::remapIds(const TMap<TString, int>& idMap, int idShift, TIntermediate& unit)
+{
+    // Remap all IDs to either share or be unique, as dictated by the idMap and idShift.
+    TRemapIdTraverser idTraverser(idMap, idShift);
+    unit.getTreeRoot()->traverse(&idTraverser);
+}
+
 //
 // Merge the function bodies and global-level initializers from unitGlobals into globals.
 // Will error check duplication of function bodies for the same signature.
@@ -344,11 +545,16 @@
     }
 
     // Memory...
-    if (symbol.getQualifier().coherent  != unitSymbol.getQualifier().coherent ||
-        symbol.getQualifier().volatil   != unitSymbol.getQualifier().volatil ||
-        symbol.getQualifier().restrict  != unitSymbol.getQualifier().restrict ||
-        symbol.getQualifier().readonly  != unitSymbol.getQualifier().readonly ||
-        symbol.getQualifier().writeonly != unitSymbol.getQualifier().writeonly) {
+    if (symbol.getQualifier().coherent          != unitSymbol.getQualifier().coherent ||
+        symbol.getQualifier().devicecoherent    != unitSymbol.getQualifier().devicecoherent ||
+        symbol.getQualifier().queuefamilycoherent  != unitSymbol.getQualifier().queuefamilycoherent ||
+        symbol.getQualifier().workgroupcoherent != unitSymbol.getQualifier().workgroupcoherent ||
+        symbol.getQualifier().subgroupcoherent  != unitSymbol.getQualifier().subgroupcoherent ||
+        symbol.getQualifier().nonprivate        != unitSymbol.getQualifier().nonprivate ||
+        symbol.getQualifier().volatil           != unitSymbol.getQualifier().volatil ||
+        symbol.getQualifier().restrict          != unitSymbol.getQualifier().restrict ||
+        symbol.getQualifier().readonly          != unitSymbol.getQualifier().readonly ||
+        symbol.getQualifier().writeonly         != unitSymbol.getQualifier().writeonly) {
         error(infoSink, "Memory qualifiers must match:");
         writeTypeComparison = true;
     }
@@ -505,6 +711,31 @@
         break;
     case EShLangCompute:
         break;
+
+#ifdef NV_EXTENSIONS
+    case EShLangRayGenNV:
+    case EShLangIntersectNV:
+    case EShLangAnyHitNV:
+    case EShLangClosestHitNV:
+    case EShLangMissNV:
+    case EShLangCallableNV:
+        if (numShaderRecordNVBlocks > 1)
+            error(infoSink, "Only one shaderRecordNVX buffer block is allowed per stage");
+        break;
+    case EShLangMeshNV:
+        if (outputPrimitive == ElgNone)
+            error(infoSink, "At least one shader must specify an output layout primitive");
+        if (vertices == TQualifier::layoutNotSet)
+            error(infoSink, "At least one shader must specify a layout(max_vertices = value)");
+        if (primitives == TQualifier::layoutNotSet)
+            error(infoSink, "At least one shader must specify a layout(max_primitives = value)");
+        // fall through
+    case EShLangTaskNV:
+        if (numTaskNVBlocks > 1)
+            error(infoSink, "Only one taskNV interface block is allowed per shader");
+        break;
+#endif
+
     default:
         error(infoSink, "Unknown Stage.");
         break;
@@ -699,7 +930,7 @@
 
     // TODO: linker functionality: location collision checking
 
-    TIntermSequence& linkObjects = findLinkerObjects();
+    TIntermSequence& linkObjects = findLinkerObjects()->getSequence();
     for (size_t i = 0; i < linkObjects.size(); ++i) {
         const TType& type = linkObjects[i]->getAsTyped()->getType();
         const TQualifier& qualifier = type.getQualifier();
@@ -718,7 +949,7 @@
     }
 }
 
-TIntermSequence& TIntermediate::findLinkerObjects() const
+TIntermAggregate* TIntermediate::findLinkerObjects() const
 {
     // Get the top-level globals
     TIntermSequence& globals = treeRoot->getAsAggregate()->getSequence();
@@ -726,7 +957,7 @@
     // Get the last member of the sequences, expected to be the linker-object lists
     assert(globals.back()->getAsAggregate()->getOp() == EOpLinkerObjects);
 
-    return globals.back()->getAsAggregate()->getSequence();
+    return globals.back()->getAsAggregate();
 }
 
 // See if a variable was both a user-declared output and used.
@@ -734,7 +965,7 @@
 // is more useful, and perhaps the spec should be changed to reflect that.
 bool TIntermediate::userOutputUsed() const
 {
-    const TIntermSequence& linkerObjects = findLinkerObjects();
+    const TIntermSequence& linkerObjects = findLinkerObjects()->getSequence();
 
     bool found = false;
     for (size_t i = 0; i < linkerObjects.size(); ++i) {
@@ -775,7 +1006,7 @@
         return -1;
 
     int size;
-    if (qualifier.isUniformOrBuffer()) {
+    if (qualifier.isUniformOrBuffer() || qualifier.isTaskMemory()) {
         if (type.isSizedArray())
             size = type.getCumulativeArraySize();
         else
@@ -926,10 +1157,19 @@
         // TODO: perf: this can be flattened by using getCumulativeArraySize(), and a deref that discards all arrayness
         // TODO: are there valid cases of having an unsized array with a location?  If so, running this code too early.
         TType elementType(type, 0);
-        if (type.isSizedArray())
+        if (type.isSizedArray()
+#ifdef NV_EXTENSIONS
+            && !type.getQualifier().isPerView()
+#endif
+            )
             return type.getOuterArraySize() * computeTypeLocationSize(elementType, stage);
-        else
+        else {
+#ifdef NV_EXTENSIONS
+            // unset perViewNV attributes for arrayed per-view outputs: "perviewNV vec4 v[MAX_VIEWS][3];"
+            elementType.getQualifier().perViewNV = false;
+#endif
             return computeTypeLocationSize(elementType, stage);
+        }
     }
 
     // "The locations consumed by block and structure members are determined by applying the rules above
diff --git a/glslang/MachineIndependent/localintermediate.h b/glslang/MachineIndependent/localintermediate.h
old mode 100755
new mode 100644
index f3a0e41..3fab9ce
--- a/glslang/MachineIndependent/localintermediate.h
+++ b/glslang/MachineIndependent/localintermediate.h
@@ -41,6 +41,8 @@
 #include "../Public/ShaderLang.h"
 #include "Versions.h"
 
+#include <string>
+#include <vector>
 #include <algorithm>
 #include <set>
 #include <array>
@@ -204,6 +206,17 @@
 class TSymbol;
 class TVariable;
 
+#ifdef NV_EXTENSIONS
+//
+// Texture and Sampler transformation mode.
+//
+enum ComputeDerivativeMode {
+    LayoutDerivativeNone,         // default layout as SPV_NV_compute_shader_derivatives not enabled
+    LayoutDerivativeGroupQuads,   // derivative_group_quadsNV
+    LayoutDerivativeGroupLinear,  // derivative_group_linearNV
+};
+#endif
+
 //
 // Set of helper functions to help parse and build the tree.
 //
@@ -223,6 +236,10 @@
 #ifdef NV_EXTENSIONS
         layoutOverrideCoverage(false),
         geoPassthroughEXT(false),
+        numShaderRecordNVBlocks(0),
+        computeDerivativeMode(LayoutDerivativeNone),
+        primitives(TQualifier::layoutNotSet),
+        numTaskNVBlocks(0),
 #endif
         autoMapBindings(false),
         autoMapLocations(false),
@@ -231,6 +248,7 @@
         useUnknownFormat(false),
         hlslOffsets(false),
         useStorageBuffer(false),
+        useVulkanMemoryModel(false),
         hlslIoMapping(false),
         textureSamplerTransformMode(EShTexSampTransKeep),
         needToLegalize(false),
@@ -349,7 +367,7 @@
         if (hlslOffsets)
             processes.addProcess("hlsl-offsets");
     }
-    bool usingHlslOFfsets() const { return hlslOffsets; }
+    bool usingHlslOffsets() const { return hlslOffsets; }
     void setUseStorageBuffer()
     {
         useStorageBuffer = true;
@@ -363,6 +381,12 @@
             processes.addProcess("hlsl-iomap");
     }
     bool usingHlslIoMapping() { return hlslIoMapping; }
+    void setUseVulkanMemoryModel()
+    {
+        useVulkanMemoryModel = true;
+        processes.addProcess("use-vulkan-memory-model");
+    }
+    bool usingVulkanMemoryModel() const { return useVulkanMemoryModel; }
 
     template<class T> T addCounterBufferName(const T& name) const { return name + implicitCounterName; }
     bool hasCounterBufferName(const TString& name) const {
@@ -406,6 +430,11 @@
     int getNumEntryPoints() const { return numEntryPoints; }
     int getNumErrors() const { return numErrors; }
     void addPushConstantCount() { ++numPushConstants; }
+#ifdef NV_EXTENSIONS
+    void addShaderRecordNVCount() { ++numShaderRecordNVBlocks; }
+    void addTaskNVCount() { ++numTaskNVBlocks; }
+#endif
+
     bool isRecursive() const { return recursive; }
 
     TIntermSymbol* addSymbol(const TVariable&);
@@ -613,6 +642,16 @@
     bool getLayoutOverrideCoverage() const { return layoutOverrideCoverage; }
     void setGeoPassthroughEXT() { geoPassthroughEXT = true; }
     bool getGeoPassthroughEXT() const { return geoPassthroughEXT; }
+    void setLayoutDerivativeMode(ComputeDerivativeMode mode) { computeDerivativeMode = mode; }
+    ComputeDerivativeMode getLayoutDerivativeModeNone() const { return computeDerivativeMode; }
+    bool setPrimitives(int m)
+    {
+        if (primitives != TQualifier::layoutNotSet)
+            return primitives == m;
+        primitives = m;
+        return true;
+    }
+    int getPrimitives() const { return primitives; }
 #endif
 
     const char* addSemanticName(const TString& name)
@@ -645,6 +684,11 @@
     TIntermSymbol* addSymbol(int Id, const TString&, const TType&, const TConstUnionArray&, TIntermTyped* subtree, const TSourceLoc&);
     void error(TInfoSink& infoSink, const char*);
     void warn(TInfoSink& infoSink, const char*);
+    void mergeCallGraphs(TInfoSink&, TIntermediate&);
+    void mergeModes(TInfoSink&, TIntermediate&);
+    void mergeTrees(TInfoSink&, TIntermediate&);
+    void seedIdMap(TMap<TString, int>& idMap, int& maxId);
+    void remapIds(const TMap<TString, int>& idMap, int idShift, TIntermediate&);
     void mergeBodies(TInfoSink&, TIntermSequence& globals, const TIntermSequence& unitGlobals);
     void mergeLinkerObjects(TInfoSink&, TIntermSequence& linkerObjects, const TIntermSequence& unitLinkerObjects);
     void mergeImplicitArraySizes(TType&, const TType&);
@@ -652,7 +696,7 @@
     void checkCallGraphCycles(TInfoSink&);
     void checkCallGraphBodies(TInfoSink&, bool keepUncalled);
     void inOutLocationCheck(TInfoSink&);
-    TIntermSequence& findLinkerObjects() const;
+    TIntermAggregate* findLinkerObjects() const;
     bool userOutputUsed() const;
     bool isSpecializationOperation(const TIntermOperator&) const;
     bool isNonuniformPropagating(TOperator) const;
@@ -674,6 +718,8 @@
     EShSource source;            // source language, known a bit later
     std::string entryPointName;
     std::string entryPointMangledName;
+    typedef std::list<TCall> TGraph;
+    TGraph callGraph;
 
     EProfile profile;                           // source profile
     int version;                                // source version
@@ -703,18 +749,23 @@
     bool hlslFunctionality1;
     int blendEquations;        // an 'or'ing of masks of shifts of TBlendEquationShift
     bool xfbMode;
+    std::vector<TXfbBuffer> xfbBuffers;     // all the data we need to track per xfb buffer
     bool multiStream;
 
 #ifdef NV_EXTENSIONS
     bool layoutOverrideCoverage;
     bool geoPassthroughEXT;
+    int numShaderRecordNVBlocks;
+    ComputeDerivativeMode computeDerivativeMode;
+    int primitives;
+    int numTaskNVBlocks;
 #endif
 
     // Base shift values
     std::array<unsigned int, EResCount> shiftBinding;
 
     // Per-descriptor-set shift values
-    std::array<std::map<int, int>, EResCount>  shiftBindingForSet;
+    std::array<std::map<int, int>, EResCount> shiftBindingForSet;
 
     std::vector<std::string> resourceSetBinding;
     bool autoMapBindings;
@@ -724,15 +775,12 @@
     bool useUnknownFormat;
     bool hlslOffsets;
     bool useStorageBuffer;
+    bool useVulkanMemoryModel;
     bool hlslIoMapping;
 
-    typedef std::list<TCall> TGraph;
-    TGraph callGraph;
-
     std::set<TString> ioAccessed;           // set of names of statically read/written I/O that might need extra checking
     std::vector<TIoRange> usedIo[4];        // sets of used locations, one for each of in, out, uniform, and buffers
     std::vector<TOffsetRange> usedAtomics;  // sets of bindings used by atomic counters
-    std::vector<TXfbBuffer> xfbBuffers;     // all the data we need to track per xfb buffer
     std::unordered_set<int> usedConstantId; // specialization constant ids used
     std::set<TString> semanticNameSet;
 
diff --git a/glslang/MachineIndependent/parseVersions.h b/glslang/MachineIndependent/parseVersions.h
old mode 100755
new mode 100644
diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp
old mode 100755
new mode 100644
diff --git a/glslang/MachineIndependent/preprocessor/PpContext.cpp b/glslang/MachineIndependent/preprocessor/PpContext.cpp
old mode 100755
new mode 100644
diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h
old mode 100755
new mode 100644
diff --git a/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
old mode 100755
new mode 100644
index 02b93f9..1faa018
--- a/glslang/MachineIndependent/preprocessor/PpScanner.cpp
+++ b/glslang/MachineIndependent/preprocessor/PpScanner.cpp
@@ -316,16 +316,32 @@
             ppToken->dval = (double)wholeNumber * exponentValue;
     } else {
         // slow path
+        ppToken->dval = 0.0;
+
+        // remove suffix
+        TString numstr(ppToken->name);
+        if (numstr.back() == 'f' || numstr.back() == 'F')
+            numstr.pop_back();
+        if (numstr.back() == 'h' || numstr.back() == 'H')
+            numstr.pop_back();
+        if (numstr.back() == 'l' || numstr.back() == 'L')
+            numstr.pop_back();
+
+        // use platform library
         strtodStream.clear();
-        strtodStream.str(ppToken->name);
+        strtodStream.str(numstr.c_str());
         strtodStream >> ppToken->dval;
-        // Assume failure combined with a large exponent was overflow, in
-        // an attempt to set INF.  Otherwise, assume underflow, and set 0.0.
         if (strtodStream.fail()) {
+            // Assume failure combined with a large exponent was overflow, in
+            // an attempt to set INF.
             if (!negativeExponent && exponent + numWholeNumberDigits > 300)
                 ppToken->i64val = 0x7ff0000000000000; // +Infinity
-            else
+            // Assume failure combined with a small exponent was overflow.
+            if (negativeExponent && exponent + numWholeNumberDigits > 300)
                 ppToken->dval = 0.0;
+            // Unknown reason for failure. Theory is that either
+            //  - the 0.0 is still there, or
+            //  - something reasonable was written that is better than 0.0
         }
     }
 
diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp
old mode 100755
new mode 100644
diff --git a/glslang/MachineIndependent/reflection.h b/glslang/MachineIndependent/reflection.h
index 689d656..49282c3 100644
--- a/glslang/MachineIndependent/reflection.h
+++ b/glslang/MachineIndependent/reflection.h
@@ -57,9 +57,9 @@
 public:
     TObjectReflection(const TString& pName, const TType& pType, int pOffset, int pGLDefineType, int pSize, int pIndex) :
         name(pName), offset(pOffset),
-        glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), type(pType.clone()), stages(EShLanguageMask(0)) { }
+        glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), stages(EShLanguageMask(0)), type(pType.clone()) { }
 
-    const TType* const getType() const { return type; }
+    const TType* getType() const { return type; }
     int getBinding() const
     {
         if (type == nullptr || !type->getQualifier().hasBinding())
diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h
old mode 100755
new mode 100644
index 83744d4..4ba1976
--- a/glslang/Public/ShaderLang.h
+++ b/glslang/Public/ShaderLang.h
@@ -70,7 +70,7 @@
 // This should always increase, as some paths to do not consume
 // a more major number.
 // It should increment by one when new functionality is added.
-#define GLSLANG_MINOR_VERSION 8
+#define GLSLANG_MINOR_VERSION 10
 
 //
 // Call before doing any other compiler/linker operations.
@@ -94,6 +94,14 @@
     EShLangGeometry,
     EShLangFragment,
     EShLangCompute,
+    EShLangRayGenNV,
+    EShLangIntersectNV,
+    EShLangAnyHitNV,
+    EShLangClosestHitNV,
+    EShLangMissNV,
+    EShLangCallableNV,
+    EShLangTaskNV,
+    EShLangMeshNV,
     EShLangCount,
 } EShLanguage;         // would be better as stage, but this is ancient now
 
@@ -104,6 +112,14 @@
     EShLangGeometryMask       = (1 << EShLangGeometry),
     EShLangFragmentMask       = (1 << EShLangFragment),
     EShLangComputeMask        = (1 << EShLangCompute),
+    EShLangRayGenNVMask       = (1 << EShLangRayGenNV),
+    EShLangIntersectNVMask    = (1 << EShLangIntersectNV),
+    EShLangAnyHitNVMask       = (1 << EShLangAnyHitNV),
+    EShLangClosestHitNVMask   = (1 << EShLangClosestHitNV),
+    EShLangMissNVMask         = (1 << EShLangMissNV),
+    EShLangCallableNVMask     = (1 << EShLangCallableNV),
+    EShLangTaskNVMask         = (1 << EShLangTaskNV),
+    EShLangMeshNVMask         = (1 << EShLangMeshNV),
 } EShLanguageMask;
 
 namespace glslang {
@@ -532,6 +548,8 @@
         return parse(builtInResources, defaultVersion, ENoProfile, false, forwardCompatible, messages, includer);
     }
 
+    // NOTE: Doing just preprocessing to obtain a correct preprocessed shader string
+    // is not an officially supported or fully working path.
     bool preprocess(const TBuiltInResource* builtInResources,
                     int defaultVersion, EProfile defaultProfile, bool forceDefaultVersionAndProfile,
                     bool forwardCompatible, EShMessages message, std::string* outputString,
diff --git a/gtests/AST.FromFile.cpp b/gtests/AST.FromFile.cpp
old mode 100755
new mode 100644
diff --git a/gtests/Hlsl.FromFile.cpp b/gtests/Hlsl.FromFile.cpp
old mode 100755
new mode 100644
diff --git a/gtests/Link.FromFile.Vk.cpp b/gtests/Link.FromFile.Vk.cpp
index 0a616d8..22892f0 100644
--- a/gtests/Link.FromFile.Vk.cpp
+++ b/gtests/Link.FromFile.Vk.cpp
@@ -79,6 +79,7 @@
         std::vector<uint32_t> spirv_binary;
         glslang::SpvOptions options;
         options.disableOptimizer = true;
+        options.validate = true;
         glslang::GlslangToSpv(*program.getIntermediate(shaders.front()->getStage()),
                                 spirv_binary, &logger, &options);
 
@@ -106,6 +107,7 @@
     Glsl, LinkTestVulkan,
     ::testing::ValuesIn(std::vector<std::vector<std::string>>({
         {"link1.vk.frag", "link2.vk.frag"},
+        {"spv.unit1.frag", "spv.unit2.frag", "spv.unit3.frag"},
     })),
 );
 // clang-format on
diff --git a/gtests/Pp.FromFile.cpp b/gtests/Pp.FromFile.cpp
old mode 100755
new mode 100644
diff --git a/gtests/Spv.FromFile.cpp b/gtests/Spv.FromFile.cpp
old mode 100755
new mode 100644
index 786d9ff..29e75bb
--- a/gtests/Spv.FromFile.cpp
+++ b/gtests/Spv.FromFile.cpp
@@ -286,6 +286,8 @@
         "spv.matrix.frag",
         "spv.matrix2.frag",
         "spv.memoryQualifier.frag",
+        "spv.memoryScopeSemantics.comp",
+        "spv.memoryScopeSemantics_Error.comp",
         "spv.merge-unreachable.frag",
         "spv.multiStruct.comp",
         "spv.multiStructFuncall.frag",
@@ -499,6 +501,30 @@
     "spv.multiviewPerViewAttributes.vert",
     "spv.multiviewPerViewAttributes.tesc",
     "spv.atomicInt64.comp",
+    "spv.shadingRate.frag",
+    "spv.RayGenShader.rgen",
+    "spv.RayGenShader_Errors.rgen",
+    "spv.RayConstants.rgen",
+    "spv.IntersectShader.rint",
+    "spv.IntersectShader_Errors.rint",
+    "spv.AnyHitShader.rahit",
+    "spv.AnyHitShader_Errors.rahit",
+    "spv.ClosestHitShader.rchit",
+    "spv.ClosestHitShader_Errors.rchit",
+    "spv.MissShader.rmiss",
+    "spv.MissShader_Errors.rmiss",
+    "spv.fragmentShaderBarycentric.frag",
+    "spv.fragmentShaderBarycentric2.frag",
+    "spv.computeShaderDerivatives.comp",
+    "spv.computeShaderDerivatives2.comp",
+    "spv.shaderImageFootprint.frag",
+    "spv.meshShaderBuiltins.mesh",
+    "spv.meshShaderUserDefined.mesh",
+    "spv.meshShaderPerViewBuiltins.mesh",
+    "spv.meshShaderPerViewUserDefined.mesh",
+    "spv.meshShaderSharedMem.mesh",
+    "spv.meshShaderTaskMem.mesh",
+    "spv.meshTaskShader.task",
 })),
 FileNameAsCustomTestSuffix
 );
diff --git a/gtests/TestFixture.cpp b/gtests/TestFixture.cpp
index 77bada5..d899c78 100644
--- a/gtests/TestFixture.cpp
+++ b/gtests/TestFixture.cpp
@@ -60,6 +60,24 @@
         return EShLangFragment;
     } else if (stage == "comp") {
         return EShLangCompute;
+#ifdef NV_EXTENSIONS
+    } else if (stage == "rgen") {
+        return EShLangRayGenNV;
+    } else if (stage == "rint") {
+        return EShLangIntersectNV;
+    } else if (stage == "rahit") {
+        return EShLangAnyHitNV;
+    } else if (stage == "rchit") {
+        return EShLangClosestHitNV;
+    } else if (stage == "rmiss") {
+        return EShLangMissNV;
+    } else if (stage == "rcall") {
+        return EShLangCallableNV;
+    } else if (stage == "task") {
+        return EShLangTaskNV;
+    } else if (stage == "mesh") {
+        return EShLangMeshNV;
+#endif
     } else {
         assert(0 && "Unknown shader stage");
         return EShLangCount;
diff --git a/gtests/TestFixture.h b/gtests/TestFixture.h
old mode 100644
new mode 100755
index a58978d..3329fa3
--- a/gtests/TestFixture.h
+++ b/gtests/TestFixture.h
@@ -243,6 +243,7 @@
             std::vector<uint32_t> spirv_binary;
             glslang::SpvOptions options;
             options.disableOptimizer = !enableOptimizer;
+            options.validate = true;
             glslang::GlslangToSpv(*program.getIntermediate(stage),
                                   spirv_binary, &logger, &options);
 
@@ -298,8 +299,10 @@
 
         if (success && (controls & EShMsgSpvRules)) {
             std::vector<uint32_t> spirv_binary;
+            glslang::SpvOptions options;
+            options.validate = true;
             glslang::GlslangToSpv(*program.getIntermediate(stage),
-                                  spirv_binary, &logger);
+                                  spirv_binary, &logger, &options);
 
             std::ostringstream disassembly_stream;
             spv::Parameterize();
@@ -338,8 +341,10 @@
 
         if (success && (controls & EShMsgSpvRules)) {
             std::vector<uint32_t> spirv_binary;
+            glslang::SpvOptions options;
+            options.validate = true;
             glslang::GlslangToSpv(*program.getIntermediate(stage),
-                                  spirv_binary, &logger);
+                                  spirv_binary, &logger, &options);
 
             spv::spirvbin_t(0 /*verbosity*/).remap(spirv_binary, remapOptions);
 
diff --git a/hlsl/CMakeLists.txt b/hlsl/CMakeLists.txt
old mode 100755
new mode 100644
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
old mode 100755
new mode 100644
diff --git a/hlsl/hlslGrammar.h b/hlsl/hlslGrammar.h
old mode 100755
new mode 100644
diff --git a/hlsl/hlslOpMap.cpp b/hlsl/hlslOpMap.cpp
old mode 100755
new mode 100644
diff --git a/hlsl/hlslOpMap.h b/hlsl/hlslOpMap.h
old mode 100755
new mode 100644
diff --git a/hlsl/hlslParseHelper.cpp b/hlsl/hlslParseHelper.cpp
old mode 100755
new mode 100644
index 9471f77..1672365
--- a/hlsl/hlslParseHelper.cpp
+++ b/hlsl/hlslParseHelper.cpp
@@ -6246,7 +6246,8 @@
     bool constructingMatrix = false;
     switch (op) {
     case EOpConstructTextureSampler:
-        return constructorTextureSamplerError(loc, function);
+        error(loc, "unhandled texture constructor", "constructor", "");
+        return true;
     case EOpConstructMat2x2:
     case EOpConstructMat2x3:
     case EOpConstructMat2x4:
@@ -6438,67 +6439,6 @@
            (node->getAsAggregate() == nullptr || node->getAsAggregate()->getOp() != EOpNull);
 }
 
-// Verify all the correct semantics for constructing a combined texture/sampler.
-// Return true if the semantics are incorrect.
-bool HlslParseContext::constructorTextureSamplerError(const TSourceLoc& loc, const TFunction& function)
-{
-    TString constructorName = function.getType().getBasicTypeString();  // TODO: performance: should not be making copy; interface needs to change
-    const char* token = constructorName.c_str();
-
-    // exactly two arguments needed
-    if (function.getParamCount() != 2) {
-        error(loc, "sampler-constructor requires two arguments", token, "");
-        return true;
-    }
-
-    // For now, not allowing arrayed constructors, the rest of this function
-    // is set up to allow them, if this test is removed:
-    if (function.getType().isArray()) {
-        error(loc, "sampler-constructor cannot make an array of samplers", token, "");
-        return true;
-    }
-
-    // first argument
-    //  * the constructor's first argument must be a texture type
-    //  * the dimensionality (1D, 2D, 3D, Cube, Rect, Buffer, MS, and Array)
-    //    of the texture type must match that of the constructed sampler type
-    //    (that is, the suffixes of the type of the first argument and the
-    //    type of the constructor will be spelled the same way)
-    if (function[0].type->getBasicType() != EbtSampler ||
-        ! function[0].type->getSampler().isTexture() ||
-        function[0].type->isArray()) {
-        error(loc, "sampler-constructor first argument must be a scalar textureXXX type", token, "");
-        return true;
-    }
-    // simulate the first argument's impact on the result type, so it can be compared with the encapsulated operator!=()
-    TSampler texture = function.getType().getSampler();
-    texture.combined = false;
-    texture.shadow = false;
-    if (texture != function[0].type->getSampler()) {
-        error(loc, "sampler-constructor first argument must match type and dimensionality of constructor type", token, "");
-        return true;
-    }
-
-    // second argument
-    //   * the constructor's second argument must be a scalar of type
-    //     *sampler* or *samplerShadow*
-    //   * the presence or absence of depth comparison (Shadow) must match
-    //     between the constructed sampler type and the type of the second argument
-    if (function[1].type->getBasicType() != EbtSampler ||
-        ! function[1].type->getSampler().isPureSampler() ||
-        function[1].type->isArray()) {
-        error(loc, "sampler-constructor second argument must be a scalar type 'sampler'", token, "");
-        return true;
-    }
-    if (function.getType().getSampler().shadow != function[1].type->getSampler().shadow) {
-        error(loc, "sampler-constructor second argument presence of shadow must match constructor presence of shadow",
-              token, "");
-        return true;
-    }
-
-    return false;
-}
-
 // Checks to see if a void variable has been declared and raise an error message for such a case
 //
 // returns true in case of an error
@@ -8175,8 +8115,6 @@
     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(aggrNode, op, type, loc);
 
diff --git a/hlsl/hlslParseHelper.h b/hlsl/hlslParseHelper.h
old mode 100755
new mode 100644
index 32a1923..7cb898c
--- a/hlsl/hlslParseHelper.h
+++ b/hlsl/hlslParseHelper.h
@@ -122,7 +122,6 @@
     void integerCheck(const TIntermTyped* node, const char* token);
     void globalCheck(const TSourceLoc&, const char* token);
     bool constructorError(const TSourceLoc&, TIntermNode*, TFunction&, TOperator, TType&);
-    bool constructorTextureSamplerError(const TSourceLoc&, const TFunction&);
     void arraySizeCheck(const TSourceLoc&, TIntermTyped* expr, TArraySize&);
     void arraySizeRequiredCheck(const TSourceLoc&, const TArraySizes&);
     void structArrayCheck(const TSourceLoc&, const TType& structure);
diff --git a/hlsl/hlslParseables.cpp b/hlsl/hlslParseables.cpp
old mode 100755
new mode 100644
index cc847ae..6500091
--- a/hlsl/hlslParseables.cpp
+++ b/hlsl/hlslParseables.cpp
@@ -605,7 +605,7 @@
         { "determinant",                      "S",     "F",       "M",              "F",             EShLangAll,    false },
         { "DeviceMemoryBarrier",              nullptr, nullptr,   "-",              "-",             EShLangPSCS,   false },
         { "DeviceMemoryBarrierWithGroupSync", nullptr, nullptr,   "-",              "-",             EShLangCS,     false },
-        { "distance",                         "S",     "F",       "V,",             "F,",            EShLangAll,    false },
+        { "distance",                         "S",     "F",       "SV,",            "F,",            EShLangAll,    false },
         { "dot",                              "S",     nullptr,   "SV,",            "FI,",           EShLangAll,    false },
         { "dst",                              nullptr, nullptr,   "V4,",            "F,",            EShLangAll,    false },
         // { "errorf",                           "-",     "-",       "",             "",             EShLangAll,    false }, TODO: varargs
diff --git a/hlsl/hlslParseables.h b/hlsl/hlslParseables.h
old mode 100755
new mode 100644
diff --git a/hlsl/hlslScanContext.cpp b/hlsl/hlslScanContext.cpp
old mode 100755
new mode 100644
diff --git a/hlsl/hlslScanContext.h b/hlsl/hlslScanContext.h
old mode 100755
new mode 100644
diff --git a/hlsl/hlslTokenStream.cpp b/hlsl/hlslTokenStream.cpp
old mode 100755
new mode 100644
diff --git a/hlsl/hlslTokenStream.h b/hlsl/hlslTokenStream.h
old mode 100755
new mode 100644
diff --git a/hlsl/hlslTokens.h b/hlsl/hlslTokens.h
old mode 100755
new mode 100644
diff --git a/known_good.json b/known_good.json
old mode 100644
new mode 100755
index 6659349..aac6853
--- a/known_good.json
+++ b/known_good.json
@@ -5,14 +5,14 @@
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Tools",
       "subdir" : "External/spirv-tools",
-      "commit" : "f2c93c6e124836797311facb8449f9a0b76fefc2"
+      "commit" : "9bfe0eb25e3dfdf4f3fd86ab6c0cda009c9bd661"
     },
     {
       "name" : "spirv-tools/external/spirv-headers",
       "site" : "github",
       "subrepo" : "KhronosGroup/SPIRV-Headers",
       "subdir" : "External/spirv-tools/external/spirv-headers",
-      "commit" : "12f8de9f04327336b699b1b80aa390ae7f9ddbf4"
+      "commit" : "d5b2e1255f706ce1f88812217e9a554f299848af"
     }
   ]
 }
diff --git a/known_good_khr.json b/known_good_khr.json
old mode 100755
new mode 100644
diff --git a/update_glslang_sources.py b/update_glslang_sources.py
index a1cc038..65be2f6 100755
--- a/update_glslang_sources.py
+++ b/update_glslang_sources.py
@@ -96,7 +96,7 @@
     def AddRemote(self):
         """Add the remote 'known-good' if it does not exist."""
         remotes = command_output(['git', 'remote'], self.subdir).splitlines()
-        if 'known-good' not in remotes:
+        if b'known-good' not in remotes:
             command_output(['git', 'remote', 'add', 'known-good', self.GetUrl()], self.subdir)
 
     def HasCommit(self):
