Add 2D MS array sampler support to compiler

This also places textureSize(gsampler2DMS) correctly in the ESSL 3.10
builtins instead of ESSL 3.00 builtins.

BUG=angleproject:2775
TEST=angle_unittests

Change-Id: Ieb0f7a7424a5558a5569af6d4fcbcc9b12ec9840
Reviewed-on: https://chromium-review.googlesource.com/1186466
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/compiler/translator/BaseTypes.h b/src/compiler/translator/BaseTypes.h
index a67c54e..952ff72 100644
--- a/src/compiler/translator/BaseTypes.h
+++ b/src/compiler/translator/BaseTypes.h
@@ -70,16 +70,19 @@
     EbtSamplerExternal2DY2YEXT,  // Only valid if GL_EXT_YUV_target exists.
     EbtSampler2DRect,            // Only valid if GL_ARB_texture_rectangle exists.
     EbtSampler2DMS,
+    EbtSampler2DMSArray,
     EbtISampler2D,
     EbtISampler3D,
     EbtISamplerCube,
     EbtISampler2DArray,
     EbtISampler2DMS,
+    EbtISampler2DMSArray,
     EbtUSampler2D,
     EbtUSampler3D,
     EbtUSamplerCube,
     EbtUSampler2DArray,
     EbtUSampler2DMS,
+    EbtUSampler2DMSArray,
     EbtSampler2DShadow,
     EbtSamplerCubeShadow,
     EbtSampler2DArrayShadow,
diff --git a/src/compiler/translator/ExtensionBehavior.cpp b/src/compiler/translator/ExtensionBehavior.cpp
index a081b9e..5d906e2 100644
--- a/src/compiler/translator/ExtensionBehavior.cpp
+++ b/src/compiler/translator/ExtensionBehavior.cpp
@@ -13,6 +13,7 @@
 #include <string.h>
 
 #define LIST_EXTENSIONS(OP)             \
+    OP(ANGLE_texture_multisample_array) \
     OP(ARB_texture_rectangle)           \
     OP(ARM_shader_framebuffer_fetch)    \
     OP(EXT_blend_func_extended)         \
diff --git a/src/compiler/translator/ExtensionBehavior.h b/src/compiler/translator/ExtensionBehavior.h
index 1662546..aef269e 100644
--- a/src/compiler/translator/ExtensionBehavior.h
+++ b/src/compiler/translator/ExtensionBehavior.h
@@ -18,6 +18,7 @@
 {
     UNDEFINED,  // Special value used to indicate no extension.
 
+    ANGLE_texture_multisample_array,
     ARB_texture_rectangle,
     ARM_shader_framebuffer_fetch,
     EXT_blend_func_extended,
diff --git a/src/compiler/translator/Initialize.cpp b/src/compiler/translator/Initialize.cpp
index 25ba445..80c37e0 100644
--- a/src/compiler/translator/Initialize.cpp
+++ b/src/compiler/translator/Initialize.cpp
@@ -73,6 +73,10 @@
     {
         extBehavior[TExtension::EXT_geometry_shader] = EBhUndefined;
     }
+    if (resources.ANGLE_texture_multisample_array)
+    {
+        extBehavior[TExtension::ANGLE_texture_multisample_array] = EBhUndefined;
+    }
 }
 
 void ResetExtensionBehavior(TExtensionBehavior &extBehavior)
diff --git a/src/compiler/translator/ParseContext_autogen.h b/src/compiler/translator/ParseContext_autogen.h
index ac5e39f..f3f66ae 100644
--- a/src/compiler/translator/ParseContext_autogen.h
+++ b/src/compiler/translator/ParseContext_autogen.h
@@ -21,42 +21,42 @@
 bool isTextureOffsetNoBias(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 662 && id <= 731;
+    return id >= 668 && id <= 737;
 }
 bool isTextureOffsetBias(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 732 && id <= 751;
+    return id >= 738 && id <= 757;
 }
 bool isTextureGatherOffset(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 823 && id <= 836;
+    return id >= 832 && id <= 845;
 }
 bool isTextureGather(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 799 && id <= 836;
+    return id >= 808 && id <= 845;
 }
 bool isAtomicMemory(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 853 && id <= 870;
+    return id >= 862 && id <= 879;
 }
 bool isImageLoad(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 895 && id <= 906;
+    return id >= 904 && id <= 915;
 }
 bool isImageStore(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 907 && id <= 918;
+    return id >= 916 && id <= 927;
 }
 bool isImage(const TFunction *func)
 {
     int id = func->uniqueId().get();
-    return id >= 871 && id <= 918;
+    return id >= 880 && id <= 927;
 }
 
 }  // namespace BuiltInGroup
diff --git a/src/compiler/translator/ShaderLang.cpp b/src/compiler/translator/ShaderLang.cpp
index d8aff5f..10cc5e9 100644
--- a/src/compiler/translator/ShaderLang.cpp
+++ b/src/compiler/translator/ShaderLang.cpp
@@ -17,8 +17,8 @@
 #ifdef ANGLE_ENABLE_HLSL
 #include "compiler/translator/TranslatorHLSL.h"
 #endif  // ANGLE_ENABLE_HLSL
-#include "compiler/translator/VariablePacker.h"
 #include "angle_gl.h"
+#include "compiler/translator/VariablePacker.h"
 
 namespace sh
 {
@@ -202,6 +202,7 @@
     resources->OVR_multiview                   = 0;
     resources->EXT_YUV_target                  = 0;
     resources->EXT_geometry_shader             = 0;
+    resources->ANGLE_texture_multisample_array = 0;
 
     resources->NV_draw_buffers = 0;
 
@@ -269,7 +270,7 @@
     resources->MaxCombinedAtomicCounterBuffers = 1;
     resources->MaxAtomicCounterBufferSize      = 32;
 
-    resources->MaxUniformBufferBindings = 32;
+    resources->MaxUniformBufferBindings       = 32;
     resources->MaxShaderStorageBufferBindings = 4;
 
     resources->MaxGeometryUniformComponents     = 1024;
diff --git a/src/compiler/translator/SymbolTable_autogen.cpp b/src/compiler/translator/SymbolTable_autogen.cpp
index 8a2926d..7b3ed4e 100644
--- a/src/compiler/translator/SymbolTable_autogen.cpp
+++ b/src/compiler/translator/SymbolTable_autogen.cpp
@@ -581,9 +581,6 @@
 constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DShadow1_Int1;
 constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeShadow1_Int1;
 constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArrayShadow1_Int1;
-constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMS1;
-constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMS1;
-constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMS1;
 constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float3_Float1;
 constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float3_Float1;
 constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float3_Float1;
@@ -628,6 +625,12 @@
 constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3;
 constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3;
 constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMS1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMS1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMS1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMSArray1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMSArray1;
+constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMSArray1;
 constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2;
 constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2;
 constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2;
@@ -778,6 +781,9 @@
 constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1;
 constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1;
 constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMS1_Int2_Int1;
+constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1;
+constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1;
+constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1;
 constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2;
 constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2;
 constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2;
@@ -975,7 +981,7 @@
 constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVR;
 constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVRESSL1;
 
-const int TSymbolTable::kLastBuiltInId = 1008;
+const int TSymbolTable::kLastBuiltInId = 1017;
 
 namespace BuiltInName
 {
@@ -1009,6 +1015,7 @@
 constexpr const ImmutableString bitfieldExtract("bitfieldExtract");
 constexpr const ImmutableString bitfieldExtract_0D0C0C("bitfieldExtract(0D0C0C");
 constexpr const ImmutableString bitfieldExtract_1C0C0C("bitfieldExtract(1C0C0C");
+constexpr const ImmutableString bitfieldExtract_3C0C0C("bitfieldExtract(3C0C0C");
 constexpr const ImmutableString bitfieldInsert("bitfieldInsert");
 constexpr const ImmutableString bitfieldInsert_0C0C0C0C("bitfieldInsert(0C0C0C0C");
 constexpr const ImmutableString bitfieldInsert_0D0D0C0C("bitfieldInsert(0D0D0C0C");
@@ -1026,6 +1033,7 @@
 constexpr const ImmutableString clamp_1B1B1B("clamp(1B1B1B");
 constexpr const ImmutableString clamp_1C0C0C("clamp(1C0C0C");
 constexpr const ImmutableString clamp_1C1C1C("clamp(1C1C1C");
+constexpr const ImmutableString clamp_1D1D1D("clamp(1D1D1D");
 constexpr const ImmutableString clamp_2C2C2C("clamp(2C2C2C");
 constexpr const ImmutableString clamp_3B0B0B("clamp(3B0B0B");
 constexpr const ImmutableString clamp_3C0C0C("clamp(3C0C0C");
@@ -1147,11 +1155,11 @@
 constexpr const ImmutableString imageLoad("imageLoad");
 constexpr const ImmutableString imageSize("imageSize");
 constexpr const ImmutableString imageStore("imageStore");
-constexpr const ImmutableString imageStore_0c1C3B("imageStore(0c1C3B");
-constexpr const ImmutableString imageStore_0d1C3C("imageStore(0d1C3C");
-constexpr const ImmutableString imageStore_0e1C3D("imageStore(0e1C3D");
+constexpr const ImmutableString imageStore_0h1C3D("imageStore(0h1C3D");
+constexpr const ImmutableString imageStore_0j2C3C("imageStore(0j2C3C");
 constexpr const ImmutableString imageStore_0l2C3B("imageStore(0l2C3B");
 constexpr const ImmutableString imageStore_0n2C3D("imageStore(0n2C3D");
+constexpr const ImmutableString imageStore_0p2C3C("imageStore(0p2C3C");
 constexpr const ImmutableString imulExtended("imulExtended");
 constexpr const ImmutableString imulExtended_0C0C0C0C("imulExtended(0C0C0C0C");
 constexpr const ImmutableString imulExtended_1C1C1C1C("imulExtended(1C1C1C1C");
@@ -1179,6 +1187,7 @@
 constexpr const ImmutableString mix("mix");
 constexpr const ImmutableString mix_0B0B0E("mix(0B0B0E");
 constexpr const ImmutableString mix_1B1B1B("mix(1B1B1B");
+constexpr const ImmutableString mix_1B1B1E("mix(1B1B1E");
 constexpr const ImmutableString mix_3B3B0B("mix(3B3B0B");
 constexpr const ImmutableString mix_3B3B3B("mix(3B3B3B");
 constexpr const ImmutableString mod("mod");
@@ -1205,6 +1214,7 @@
 constexpr const ImmutableString sin("sin");
 constexpr const ImmutableString sinh("sinh");
 constexpr const ImmutableString smoothstep("smoothstep");
+constexpr const ImmutableString smoothstep_0B0B3B("smoothstep(0B0B3B");
 constexpr const ImmutableString smoothstep_1B1B1B("smoothstep(1B1B1B");
 constexpr const ImmutableString smoothstep_3B3B3B("smoothstep(3B3B3B");
 constexpr const ImmutableString sqrt("sqrt");
@@ -1216,32 +1226,38 @@
 constexpr const ImmutableString texelFetchOffset_0H1C0C1C("texelFetchOffset(0H1C0C1C");
 constexpr const ImmutableString texelFetchOffset_0I2C0C2C("texelFetchOffset(0I2C0C2C");
 constexpr const ImmutableString texelFetchOffset_0K2C0C1C("texelFetchOffset(0K2C0C1C");
-constexpr const ImmutableString texelFetchOffset_0P1C0C1C("texelFetchOffset(0P1C0C1C");
-constexpr const ImmutableString texelFetchOffset_0Q2C0C2C("texelFetchOffset(0Q2C0C2C");
-constexpr const ImmutableString texelFetchOffset_0S2C0C1C("texelFetchOffset(0S2C0C1C");
-constexpr const ImmutableString texelFetchOffset_0U1C0C1C("texelFetchOffset(0U1C0C1C");
-constexpr const ImmutableString texelFetchOffset_0V2C0C2C("texelFetchOffset(0V2C0C2C");
-constexpr const ImmutableString texelFetchOffset_0X2C0C1C("texelFetchOffset(0X2C0C1C");
+constexpr const ImmutableString texelFetchOffset_0Q1C0C1C("texelFetchOffset(0Q1C0C1C");
+constexpr const ImmutableString texelFetchOffset_0R2C0C2C("texelFetchOffset(0R2C0C2C");
+constexpr const ImmutableString texelFetchOffset_0T2C0C1C("texelFetchOffset(0T2C0C1C");
+constexpr const ImmutableString texelFetchOffset_0W1C0C1C("texelFetchOffset(0W1C0C1C");
+constexpr const ImmutableString texelFetchOffset_0X2C0C2C("texelFetchOffset(0X2C0C2C");
+constexpr const ImmutableString texelFetchOffset_0Z2C0C1C("texelFetchOffset(0Z2C0C1C");
 constexpr const ImmutableString texelFetch_0H1C0C("texelFetch(0H1C0C");
 constexpr const ImmutableString texelFetch_0I2C0C("texelFetch(0I2C0C");
 constexpr const ImmutableString texelFetch_0K2C0C("texelFetch(0K2C0C");
 constexpr const ImmutableString texelFetch_0L1C0C("texelFetch(0L1C0C");
 constexpr const ImmutableString texelFetch_0O1C0C("texelFetch(0O1C0C");
-constexpr const ImmutableString texelFetch_0T1C0C("texelFetch(0T1C0C");
+constexpr const ImmutableString texelFetch_0P2C0C("texelFetch(0P2C0C");
+constexpr const ImmutableString texelFetch_0Q1C0C("texelFetch(0Q1C0C");
+constexpr const ImmutableString texelFetch_0T2C0C("texelFetch(0T2C0C");
 constexpr const ImmutableString texelFetch_0V2C0C("texelFetch(0V2C0C");
 constexpr const ImmutableString texelFetch_0X2C0C("texelFetch(0X2C0C");
+constexpr const ImmutableString texelFetch_0Z2C0C("texelFetch(0Z2C0C");
 constexpr const ImmutableString texture("texture");
 constexpr const ImmutableString texture2D("texture2D");
 constexpr const ImmutableString texture2DGradEXT("texture2DGradEXT");
 constexpr const ImmutableString texture2DGradEXT_0H1B1B1B("texture2DGradEXT(0H1B1B1B");
 constexpr const ImmutableString texture2DLod("texture2DLod");
 constexpr const ImmutableString texture2DLodEXT("texture2DLodEXT");
+constexpr const ImmutableString texture2DLodEXT_0H1B0B("texture2DLodEXT(0H1B0B");
+constexpr const ImmutableString texture2DLod_0H1B0B("texture2DLod(0H1B0B");
 constexpr const ImmutableString texture2DProj("texture2DProj");
 constexpr const ImmutableString texture2DProjGradEXT("texture2DProjGradEXT");
 constexpr const ImmutableString texture2DProjGradEXT_0H2B1B1B("texture2DProjGradEXT(0H2B1B1B");
 constexpr const ImmutableString texture2DProjGradEXT_0H3B1B1B("texture2DProjGradEXT(0H3B1B1B");
 constexpr const ImmutableString texture2DProjLod("texture2DProjLod");
 constexpr const ImmutableString texture2DProjLodEXT("texture2DProjLodEXT");
+constexpr const ImmutableString texture2DProjLodEXT_0H2B0B("texture2DProjLodEXT(0H2B0B");
 constexpr const ImmutableString texture2DProjLod_0H2B0B("texture2DProjLod(0H2B0B");
 constexpr const ImmutableString texture2DProj_0H2B0B("texture2DProj(0H2B0B");
 constexpr const ImmutableString texture2DRect("texture2DRect");
@@ -1255,76 +1271,76 @@
 constexpr const ImmutableString textureGatherOffset("textureGatherOffset");
 constexpr const ImmutableString textureGatherOffset_0H1B1C0C("textureGatherOffset(0H1B1C0C");
 constexpr const ImmutableString textureGatherOffset_0K2B1C0C("textureGatherOffset(0K2B1C0C");
-constexpr const ImmutableString textureGatherOffset_0P1B1C0C("textureGatherOffset(0P1B1C0C");
-constexpr const ImmutableString textureGatherOffset_0S2B1C0C("textureGatherOffset(0S2B1C0C");
-constexpr const ImmutableString textureGatherOffset_0U1B1C("textureGatherOffset(0U1B1C");
-constexpr const ImmutableString textureGatherOffset_0U1B1C0C("textureGatherOffset(0U1B1C0C");
-constexpr const ImmutableString textureGatherOffset_0X2B1C0C("textureGatherOffset(0X2B1C0C");
-constexpr const ImmutableString textureGatherOffset_0Z1B0B1C("textureGatherOffset(0Z1B0B1C");
-constexpr const ImmutableString textureGatherOffset_0b2B0B1C("textureGatherOffset(0b2B0B1C");
+constexpr const ImmutableString textureGatherOffset_0Q1B1C0C("textureGatherOffset(0Q1B1C0C");
+constexpr const ImmutableString textureGatherOffset_0T2B1C("textureGatherOffset(0T2B1C");
+constexpr const ImmutableString textureGatherOffset_0T2B1C0C("textureGatherOffset(0T2B1C0C");
+constexpr const ImmutableString textureGatherOffset_0W1B1C("textureGatherOffset(0W1B1C");
+constexpr const ImmutableString textureGatherOffset_0W1B1C0C("textureGatherOffset(0W1B1C0C");
+constexpr const ImmutableString textureGatherOffset_0Z2B1C0C("textureGatherOffset(0Z2B1C0C");
+constexpr const ImmutableString textureGatherOffset_0c1B0B1C("textureGatherOffset(0c1B0B1C");
+constexpr const ImmutableString textureGatherOffset_0e2B0B1C("textureGatherOffset(0e2B0B1C");
 constexpr const ImmutableString textureGather_0J2B0C("textureGather(0J2B0C");
-constexpr const ImmutableString textureGather_0P1B0C("textureGather(0P1B0C");
-constexpr const ImmutableString textureGather_0R2B0C("textureGather(0R2B0C");
-constexpr const ImmutableString textureGather_0a2B0B("textureGather(0a2B0B");
+constexpr const ImmutableString textureGather_0S2B0C("textureGather(0S2B0C");
+constexpr const ImmutableString textureGather_0T2B0C("textureGather(0T2B0C");
+constexpr const ImmutableString textureGather_0Z2B0C("textureGather(0Z2B0C");
 constexpr const ImmutableString textureGrad("textureGrad");
 constexpr const ImmutableString textureGradOffset("textureGradOffset");
 constexpr const ImmutableString textureGradOffset_0H1B1B1B1C("textureGradOffset(0H1B1B1B1C");
 constexpr const ImmutableString textureGradOffset_0I2B2B2B2C("textureGradOffset(0I2B2B2B2C");
 constexpr const ImmutableString textureGradOffset_0K2B1B1B1C("textureGradOffset(0K2B1B1B1C");
-constexpr const ImmutableString textureGradOffset_0P1B1B1B1C("textureGradOffset(0P1B1B1B1C");
-constexpr const ImmutableString textureGradOffset_0Q2B2B2B2C("textureGradOffset(0Q2B2B2B2C");
-constexpr const ImmutableString textureGradOffset_0S2B1B1B1C("textureGradOffset(0S2B1B1B1C");
-constexpr const ImmutableString textureGradOffset_0U1B1B1B1C("textureGradOffset(0U1B1B1B1C");
-constexpr const ImmutableString textureGradOffset_0V2B2B2B2C("textureGradOffset(0V2B2B2B2C");
-constexpr const ImmutableString textureGradOffset_0X2B1B1B1C("textureGradOffset(0X2B1B1B1C");
+constexpr const ImmutableString textureGradOffset_0Q1B1B1B1C("textureGradOffset(0Q1B1B1B1C");
+constexpr const ImmutableString textureGradOffset_0R2B2B2B2C("textureGradOffset(0R2B2B2B2C");
+constexpr const ImmutableString textureGradOffset_0T2B1B1B1C("textureGradOffset(0T2B1B1B1C");
+constexpr const ImmutableString textureGradOffset_0W1B1B1B1C("textureGradOffset(0W1B1B1B1C");
+constexpr const ImmutableString textureGradOffset_0X2B2B2B2C("textureGradOffset(0X2B2B2B2C");
 constexpr const ImmutableString textureGradOffset_0Z2B1B1B1C("textureGradOffset(0Z2B1B1B1C");
-constexpr const ImmutableString textureGradOffset_0b3B1B1B1C("textureGradOffset(0b3B1B1B1C");
+constexpr const ImmutableString textureGradOffset_0c2B1B1B1C("textureGradOffset(0c2B1B1B1C");
+constexpr const ImmutableString textureGradOffset_0e3B1B1B1C("textureGradOffset(0e3B1B1B1C");
 constexpr const ImmutableString textureGrad_0H1B1B1B("textureGrad(0H1B1B1B");
 constexpr const ImmutableString textureGrad_0I2B2B2B("textureGrad(0I2B2B2B");
 constexpr const ImmutableString textureGrad_0J2B2B2B("textureGrad(0J2B2B2B");
 constexpr const ImmutableString textureGrad_0K2B1B1B("textureGrad(0K2B1B1B");
-constexpr const ImmutableString textureGrad_0P1B1B1B("textureGrad(0P1B1B1B");
-constexpr const ImmutableString textureGrad_0Q2B2B2B("textureGrad(0Q2B2B2B");
+constexpr const ImmutableString textureGrad_0Q1B1B1B("textureGrad(0Q1B1B1B");
 constexpr const ImmutableString textureGrad_0R2B2B2B("textureGrad(0R2B2B2B");
-constexpr const ImmutableString textureGrad_0S2B1B1B("textureGrad(0S2B1B1B");
-constexpr const ImmutableString textureGrad_0U1B1B1B("textureGrad(0U1B1B1B");
-constexpr const ImmutableString textureGrad_0V2B2B2B("textureGrad(0V2B2B2B");
-constexpr const ImmutableString textureGrad_0W2B2B2B("textureGrad(0W2B2B2B");
-constexpr const ImmutableString textureGrad_0X2B1B1B("textureGrad(0X2B1B1B");
+constexpr const ImmutableString textureGrad_0S2B2B2B("textureGrad(0S2B2B2B");
+constexpr const ImmutableString textureGrad_0T2B1B1B("textureGrad(0T2B1B1B");
+constexpr const ImmutableString textureGrad_0W1B1B1B("textureGrad(0W1B1B1B");
+constexpr const ImmutableString textureGrad_0X2B2B2B("textureGrad(0X2B2B2B");
+constexpr const ImmutableString textureGrad_0Y2B2B2B("textureGrad(0Y2B2B2B");
 constexpr const ImmutableString textureGrad_0Z2B1B1B("textureGrad(0Z2B1B1B");
-constexpr const ImmutableString textureGrad_0a3B2B2B("textureGrad(0a3B2B2B");
-constexpr const ImmutableString textureGrad_0b3B1B1B("textureGrad(0b3B1B1B");
+constexpr const ImmutableString textureGrad_0c2B1B1B("textureGrad(0c2B1B1B");
+constexpr const ImmutableString textureGrad_0d3B2B2B("textureGrad(0d3B2B2B");
+constexpr const ImmutableString textureGrad_0e3B1B1B("textureGrad(0e3B1B1B");
 constexpr const ImmutableString textureLod("textureLod");
 constexpr const ImmutableString textureLodOffset("textureLodOffset");
 constexpr const ImmutableString textureLodOffset_0H1B0B1C("textureLodOffset(0H1B0B1C");
 constexpr const ImmutableString textureLodOffset_0I2B0B2C("textureLodOffset(0I2B0B2C");
 constexpr const ImmutableString textureLodOffset_0K2B0B1C("textureLodOffset(0K2B0B1C");
-constexpr const ImmutableString textureLodOffset_0P1B0B1C("textureLodOffset(0P1B0B1C");
-constexpr const ImmutableString textureLodOffset_0Q2B0B2C("textureLodOffset(0Q2B0B2C");
-constexpr const ImmutableString textureLodOffset_0S2B0B1C("textureLodOffset(0S2B0B1C");
-constexpr const ImmutableString textureLodOffset_0U1B0B1C("textureLodOffset(0U1B0B1C");
-constexpr const ImmutableString textureLodOffset_0V2B0B2C("textureLodOffset(0V2B0B2C");
-constexpr const ImmutableString textureLodOffset_0X2B0B1C("textureLodOffset(0X2B0B1C");
+constexpr const ImmutableString textureLodOffset_0Q1B0B1C("textureLodOffset(0Q1B0B1C");
+constexpr const ImmutableString textureLodOffset_0R2B0B2C("textureLodOffset(0R2B0B2C");
+constexpr const ImmutableString textureLodOffset_0T2B0B1C("textureLodOffset(0T2B0B1C");
+constexpr const ImmutableString textureLodOffset_0W1B0B1C("textureLodOffset(0W1B0B1C");
+constexpr const ImmutableString textureLodOffset_0X2B0B2C("textureLodOffset(0X2B0B2C");
 constexpr const ImmutableString textureLodOffset_0Z2B0B1C("textureLodOffset(0Z2B0B1C");
+constexpr const ImmutableString textureLodOffset_0c2B0B1C("textureLodOffset(0c2B0B1C");
 constexpr const ImmutableString textureLod_0J2B0B("textureLod(0J2B0B");
-constexpr const ImmutableString textureLod_0P1B0B("textureLod(0P1B0B");
+constexpr const ImmutableString textureLod_0Q1B0B("textureLod(0Q1B0B");
 constexpr const ImmutableString textureLod_0S2B0B("textureLod(0S2B0B");
+constexpr const ImmutableString textureLod_0W1B0B("textureLod(0W1B0B");
+constexpr const ImmutableString textureLod_0Y2B0B("textureLod(0Y2B0B");
 constexpr const ImmutableString textureLod_0Z2B0B("textureLod(0Z2B0B");
 constexpr const ImmutableString textureOffset("textureOffset");
 constexpr const ImmutableString textureOffset_0H1B1C0B("textureOffset(0H1B1C0B");
 constexpr const ImmutableString textureOffset_0I2B2C0B("textureOffset(0I2B2C0B");
 constexpr const ImmutableString textureOffset_0K2B1C0B("textureOffset(0K2B1C0B");
-constexpr const ImmutableString textureOffset_0P1B1C("textureOffset(0P1B1C");
-constexpr const ImmutableString textureOffset_0P1B1C0B("textureOffset(0P1B1C0B");
-constexpr const ImmutableString textureOffset_0Q2B2C("textureOffset(0Q2B2C");
-constexpr const ImmutableString textureOffset_0Q2B2C0B("textureOffset(0Q2B2C0B");
-constexpr const ImmutableString textureOffset_0S2B1C("textureOffset(0S2B1C");
-constexpr const ImmutableString textureOffset_0S2B1C0B("textureOffset(0S2B1C0B");
-constexpr const ImmutableString textureOffset_0U1B1C0B("textureOffset(0U1B1C0B");
-constexpr const ImmutableString textureOffset_0V2B2C("textureOffset(0V2B2C");
-constexpr const ImmutableString textureOffset_0V2B2C0B("textureOffset(0V2B2C0B");
-constexpr const ImmutableString textureOffset_0X2B1C0B("textureOffset(0X2B1C0B");
+constexpr const ImmutableString textureOffset_0Q1B1C0B("textureOffset(0Q1B1C0B");
+constexpr const ImmutableString textureOffset_0R2B2C0B("textureOffset(0R2B2C0B");
+constexpr const ImmutableString textureOffset_0T2B1C0B("textureOffset(0T2B1C0B");
+constexpr const ImmutableString textureOffset_0W1B1C0B("textureOffset(0W1B1C0B");
+constexpr const ImmutableString textureOffset_0X2B2C("textureOffset(0X2B2C");
+constexpr const ImmutableString textureOffset_0X2B2C0B("textureOffset(0X2B2C0B");
 constexpr const ImmutableString textureOffset_0Z2B1C0B("textureOffset(0Z2B1C0B");
+constexpr const ImmutableString textureOffset_0c2B1C0B("textureOffset(0c2B1C0B");
 constexpr const ImmutableString textureProj("textureProj");
 constexpr const ImmutableString textureProjGrad("textureProjGrad");
 constexpr const ImmutableString textureProjGradOffset("textureProjGradOffset");
@@ -1334,65 +1350,70 @@
     "textureProjGradOffset(0H3B1B1B1C");
 constexpr const ImmutableString textureProjGradOffset_0I3B2B2B2C(
     "textureProjGradOffset(0I3B2B2B2C");
-constexpr const ImmutableString textureProjGradOffset_0P2B1B1B1C(
-    "textureProjGradOffset(0P2B1B1B1C");
-constexpr const ImmutableString textureProjGradOffset_0P3B1B1B1C(
-    "textureProjGradOffset(0P3B1B1B1C");
-constexpr const ImmutableString textureProjGradOffset_0Q3B2B2B2C(
-    "textureProjGradOffset(0Q3B2B2B2C");
-constexpr const ImmutableString textureProjGradOffset_0U2B1B1B1C(
-    "textureProjGradOffset(0U2B1B1B1C");
-constexpr const ImmutableString textureProjGradOffset_0U3B1B1B1C(
-    "textureProjGradOffset(0U3B1B1B1C");
-constexpr const ImmutableString textureProjGradOffset_0V3B2B2B2C(
-    "textureProjGradOffset(0V3B2B2B2C");
-constexpr const ImmutableString textureProjGradOffset_0Z3B1B1B1C(
-    "textureProjGradOffset(0Z3B1B1B1C");
+constexpr const ImmutableString textureProjGradOffset_0Q2B1B1B1C(
+    "textureProjGradOffset(0Q2B1B1B1C");
+constexpr const ImmutableString textureProjGradOffset_0Q3B1B1B1C(
+    "textureProjGradOffset(0Q3B1B1B1C");
+constexpr const ImmutableString textureProjGradOffset_0R3B2B2B2C(
+    "textureProjGradOffset(0R3B2B2B2C");
+constexpr const ImmutableString textureProjGradOffset_0W2B1B1B1C(
+    "textureProjGradOffset(0W2B1B1B1C");
+constexpr const ImmutableString textureProjGradOffset_0W3B1B1B1C(
+    "textureProjGradOffset(0W3B1B1B1C");
+constexpr const ImmutableString textureProjGradOffset_0X3B2B2B2C(
+    "textureProjGradOffset(0X3B2B2B2C");
+constexpr const ImmutableString textureProjGradOffset_0c3B1B1B1C(
+    "textureProjGradOffset(0c3B1B1B1C");
 constexpr const ImmutableString textureProjGrad_0H2B1B1B("textureProjGrad(0H2B1B1B");
 constexpr const ImmutableString textureProjGrad_0H3B1B1B("textureProjGrad(0H3B1B1B");
 constexpr const ImmutableString textureProjGrad_0I3B2B2B("textureProjGrad(0I3B2B2B");
-constexpr const ImmutableString textureProjGrad_0P2B1B1B("textureProjGrad(0P2B1B1B");
-constexpr const ImmutableString textureProjGrad_0P3B1B1B("textureProjGrad(0P3B1B1B");
-constexpr const ImmutableString textureProjGrad_0Q3B2B2B("textureProjGrad(0Q3B2B2B");
-constexpr const ImmutableString textureProjGrad_0U2B1B1B("textureProjGrad(0U2B1B1B");
-constexpr const ImmutableString textureProjGrad_0U3B1B1B("textureProjGrad(0U3B1B1B");
-constexpr const ImmutableString textureProjGrad_0V3B2B2B("textureProjGrad(0V3B2B2B");
-constexpr const ImmutableString textureProjGrad_0Z3B1B1B("textureProjGrad(0Z3B1B1B");
+constexpr const ImmutableString textureProjGrad_0Q2B1B1B("textureProjGrad(0Q2B1B1B");
+constexpr const ImmutableString textureProjGrad_0Q3B1B1B("textureProjGrad(0Q3B1B1B");
+constexpr const ImmutableString textureProjGrad_0R3B2B2B("textureProjGrad(0R3B2B2B");
+constexpr const ImmutableString textureProjGrad_0W2B1B1B("textureProjGrad(0W2B1B1B");
+constexpr const ImmutableString textureProjGrad_0W3B1B1B("textureProjGrad(0W3B1B1B");
+constexpr const ImmutableString textureProjGrad_0X3B2B2B("textureProjGrad(0X3B2B2B");
+constexpr const ImmutableString textureProjGrad_0c3B1B1B("textureProjGrad(0c3B1B1B");
 constexpr const ImmutableString textureProjLod("textureProjLod");
 constexpr const ImmutableString textureProjLodOffset("textureProjLodOffset");
 constexpr const ImmutableString textureProjLodOffset_0H2B0B1C("textureProjLodOffset(0H2B0B1C");
 constexpr const ImmutableString textureProjLodOffset_0H3B0B1C("textureProjLodOffset(0H3B0B1C");
 constexpr const ImmutableString textureProjLodOffset_0I3B0B2C("textureProjLodOffset(0I3B0B2C");
-constexpr const ImmutableString textureProjLodOffset_0P2B0B1C("textureProjLodOffset(0P2B0B1C");
-constexpr const ImmutableString textureProjLodOffset_0P3B0B1C("textureProjLodOffset(0P3B0B1C");
-constexpr const ImmutableString textureProjLodOffset_0Q3B0B2C("textureProjLodOffset(0Q3B0B2C");
-constexpr const ImmutableString textureProjLodOffset_0U2B0B1C("textureProjLodOffset(0U2B0B1C");
-constexpr const ImmutableString textureProjLodOffset_0U3B0B1C("textureProjLodOffset(0U3B0B1C");
-constexpr const ImmutableString textureProjLodOffset_0V3B0B2C("textureProjLodOffset(0V3B0B2C");
-constexpr const ImmutableString textureProjLodOffset_0Z3B0B1C("textureProjLodOffset(0Z3B0B1C");
+constexpr const ImmutableString textureProjLodOffset_0Q2B0B1C("textureProjLodOffset(0Q2B0B1C");
+constexpr const ImmutableString textureProjLodOffset_0Q3B0B1C("textureProjLodOffset(0Q3B0B1C");
+constexpr const ImmutableString textureProjLodOffset_0R3B0B2C("textureProjLodOffset(0R3B0B2C");
+constexpr const ImmutableString textureProjLodOffset_0W2B0B1C("textureProjLodOffset(0W2B0B1C");
+constexpr const ImmutableString textureProjLodOffset_0W3B0B1C("textureProjLodOffset(0W3B0B1C");
+constexpr const ImmutableString textureProjLodOffset_0X3B0B2C("textureProjLodOffset(0X3B0B2C");
+constexpr const ImmutableString textureProjLodOffset_0c3B0B1C("textureProjLodOffset(0c3B0B1C");
 constexpr const ImmutableString textureProjLod_0H3B0B("textureProjLod(0H3B0B");
+constexpr const ImmutableString textureProjLod_0I3B0B("textureProjLod(0I3B0B");
+constexpr const ImmutableString textureProjLod_0Q2B0B("textureProjLod(0Q2B0B");
 constexpr const ImmutableString textureProjLod_0Q3B0B("textureProjLod(0Q3B0B");
-constexpr const ImmutableString textureProjLod_0V3B0B("textureProjLod(0V3B0B");
-constexpr const ImmutableString textureProjLod_0Z3B0B("textureProjLod(0Z3B0B");
 constexpr const ImmutableString textureProjOffset("textureProjOffset");
 constexpr const ImmutableString textureProjOffset_0H2B1C("textureProjOffset(0H2B1C");
 constexpr const ImmutableString textureProjOffset_0H2B1C0B("textureProjOffset(0H2B1C0B");
 constexpr const ImmutableString textureProjOffset_0H3B1C("textureProjOffset(0H3B1C");
 constexpr const ImmutableString textureProjOffset_0H3B1C0B("textureProjOffset(0H3B1C0B");
 constexpr const ImmutableString textureProjOffset_0I3B2C0B("textureProjOffset(0I3B2C0B");
-constexpr const ImmutableString textureProjOffset_0P2B1C0B("textureProjOffset(0P2B1C0B");
-constexpr const ImmutableString textureProjOffset_0P3B1C0B("textureProjOffset(0P3B1C0B");
-constexpr const ImmutableString textureProjOffset_0Q3B2C("textureProjOffset(0Q3B2C");
-constexpr const ImmutableString textureProjOffset_0Q3B2C0B("textureProjOffset(0Q3B2C0B");
-constexpr const ImmutableString textureProjOffset_0U2B1C("textureProjOffset(0U2B1C");
-constexpr const ImmutableString textureProjOffset_0U2B1C0B("textureProjOffset(0U2B1C0B");
-constexpr const ImmutableString textureProjOffset_0U3B1C0B("textureProjOffset(0U3B1C0B");
-constexpr const ImmutableString textureProjOffset_0V3B2C("textureProjOffset(0V3B2C");
-constexpr const ImmutableString textureProjOffset_0V3B2C0B("textureProjOffset(0V3B2C0B");
-constexpr const ImmutableString textureProjOffset_0Z3B1C0B("textureProjOffset(0Z3B1C0B");
+constexpr const ImmutableString textureProjOffset_0Q2B1C("textureProjOffset(0Q2B1C");
+constexpr const ImmutableString textureProjOffset_0Q2B1C0B("textureProjOffset(0Q2B1C0B");
+constexpr const ImmutableString textureProjOffset_0Q3B1C("textureProjOffset(0Q3B1C");
+constexpr const ImmutableString textureProjOffset_0Q3B1C0B("textureProjOffset(0Q3B1C0B");
+constexpr const ImmutableString textureProjOffset_0R3B2C0B("textureProjOffset(0R3B2C0B");
+constexpr const ImmutableString textureProjOffset_0W2B1C0B("textureProjOffset(0W2B1C0B");
+constexpr const ImmutableString textureProjOffset_0W3B1C("textureProjOffset(0W3B1C");
+constexpr const ImmutableString textureProjOffset_0W3B1C0B("textureProjOffset(0W3B1C0B");
+constexpr const ImmutableString textureProjOffset_0X3B2C("textureProjOffset(0X3B2C");
+constexpr const ImmutableString textureProjOffset_0X3B2C0B("textureProjOffset(0X3B2C0B");
+constexpr const ImmutableString textureProjOffset_0c3B1C0B("textureProjOffset(0c3B1C0B");
+constexpr const ImmutableString textureProj_0Q2B0B("textureProj(0Q2B0B");
+constexpr const ImmutableString textureProj_0R3B0B("textureProj(0R3B0B");
+constexpr const ImmutableString textureProj_0X3B0B("textureProj(0X3B0B");
 constexpr const ImmutableString textureSize("textureSize");
-constexpr const ImmutableString texture_0V2B0B("texture(0V2B0B");
-constexpr const ImmutableString texture_0W2B0B("texture(0W2B0B");
+constexpr const ImmutableString texture_0Q1B0B("texture(0Q1B0B");
+constexpr const ImmutableString texture_0c2B0B("texture(0c2B0B");
+constexpr const ImmutableString texture_0d3B0B("texture(0d3B0B");
 constexpr const ImmutableString transpose("transpose");
 constexpr const ImmutableString trunc("trunc");
 constexpr const ImmutableString uaddCarry("uaddCarry");
@@ -1669,143 +1690,161 @@
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0Q(
     BuiltInId::pt0Q,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0R(
     BuiltInId::pt0R,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0S(
     BuiltInId::pt0S,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0T(
     BuiltInId::pt0T,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0U(
     BuiltInId::pt0U,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0V(
     BuiltInId::pt0V,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtISampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0W(
     BuiltInId::pt0W,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0X(
     BuiltInId::pt0X,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0Y(
     BuiltInId::pt0Y,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0Z(
     BuiltInId::pt0Z,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0a(
     BuiltInId::pt0a,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0b(
     BuiltInId::pt0b,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
+    StaticType::Get<EbtUSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0c(
+    BuiltInId::pt0c,
+    BuiltInName::_empty,
+    SymbolType::BuiltIn,
+    TExtension::UNDEFINED,
+    StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0d(
+    BuiltInId::pt0d,
+    BuiltInName::_empty,
+    SymbolType::BuiltIn,
+    TExtension::UNDEFINED,
+    StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0e(
+    BuiltInId::pt0e,
+    BuiltInName::_empty,
+    SymbolType::BuiltIn,
+    TExtension::UNDEFINED,
     StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0c(BuiltInId::pt0c,
-                                    BuiltInName::_empty,
-                                    SymbolType::BuiltIn,
-                                    TExtension::UNDEFINED,
-                                    StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0d(BuiltInId::pt0d,
-                                    BuiltInName::_empty,
-                                    SymbolType::BuiltIn,
-                                    TExtension::UNDEFINED,
-                                    StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0e(BuiltInId::pt0e,
-                                    BuiltInName::_empty,
-                                    SymbolType::BuiltIn,
-                                    TExtension::UNDEFINED,
-                                    StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0f(BuiltInId::pt0f,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
-                                    StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
+                                    StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0g(BuiltInId::pt0g,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
-                                    StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
+                                    StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0h(BuiltInId::pt0h,
                                     BuiltInName::_empty,
                                     SymbolType::BuiltIn,
                                     TExtension::UNDEFINED,
+                                    StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0i(BuiltInId::pt0i,
+                                    BuiltInName::_empty,
+                                    SymbolType::BuiltIn,
+                                    TExtension::UNDEFINED,
+                                    StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0j(BuiltInId::pt0j,
+                                    BuiltInName::_empty,
+                                    SymbolType::BuiltIn,
+                                    TExtension::UNDEFINED,
+                                    StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0k(BuiltInId::pt0k,
+                                    BuiltInName::_empty,
+                                    SymbolType::BuiltIn,
+                                    TExtension::UNDEFINED,
                                     StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0i(
-    BuiltInId::pt0i,
+constexpr const TVariable kVar_pt0l(
+    BuiltInId::pt0l,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
     StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0j(
-    BuiltInId::pt0j,
-    BuiltInName::_empty,
-    SymbolType::BuiltIn,
-    TExtension::UNDEFINED,
-    StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0k(
-    BuiltInId::pt0k,
-    BuiltInName::_empty,
-    SymbolType::BuiltIn,
-    TExtension::UNDEFINED,
-    StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
-constexpr const TVariable kVar_pt0l(BuiltInId::pt0l,
-                                    BuiltInName::_empty,
-                                    SymbolType::BuiltIn,
-                                    TExtension::UNDEFINED,
-                                    StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0m(
     BuiltInId::pt0m,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
-    StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
+    StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt0n(
     BuiltInId::pt0n,
     BuiltInName::_empty,
     SymbolType::BuiltIn,
     TExtension::UNDEFINED,
+    StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0o(BuiltInId::pt0o,
+                                    BuiltInName::_empty,
+                                    SymbolType::BuiltIn,
+                                    TExtension::UNDEFINED,
+                                    StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0p(
+    BuiltInId::pt0p,
+    BuiltInName::_empty,
+    SymbolType::BuiltIn,
+    TExtension::UNDEFINED,
+    StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
+constexpr const TVariable kVar_pt0q(
+    BuiltInId::pt0q,
+    BuiltInName::_empty,
+    SymbolType::BuiltIn,
+    TExtension::UNDEFINED,
     StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>());
 constexpr const TVariable kVar_pt1B(BuiltInId::pt1B,
                                     BuiltInName::_empty,
@@ -2271,226 +2310,226 @@
 constexpr const TVariable *p0N3B[2]   = {&BuiltInVariable::kVar_pt0N, &BuiltInVariable::kVar_pt3B};
 constexpr const TVariable *p0O1C0C[3] = {&BuiltInVariable::kVar_pt0O, &BuiltInVariable::kVar_pt1C,
                                          &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0P0C[2]   = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0P1B0B1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
-                                           &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P1B0C[3]   = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0P2C0C[3]   = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2C,
                                          &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0P1B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
-    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P1B1C0B[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0P1B1C0C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0P1C0C1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0C,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P2B0B1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P2B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
-    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P2B1C0B[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0P3B0B1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P3B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
-    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0P3B1C0B[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0B};
 constexpr const TVariable *p0Q0C[2] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0Q2B0B2C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0Q2B2B2B2C[5] = {
-    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
-    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0Q2B2C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt2C,
-                                           &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0Q2C0C2C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2C,
-                                           &BuiltInVariable::kVar_pt0C,
-                                           &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0Q3B0B2C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0Q3B2B2B2C[5] = {
-    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
-    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0Q3B2C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt2C,
-                                           &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0R0C[2]   = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0R2B0B[3] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
-                                         &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0R2B0C[3] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
-                                         &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0R2B2B2B[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt2B};
-constexpr const TVariable *p0S0C[2] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0S2B0B1C[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0Q1B0B1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0S2B0C[3]   = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0Q1B0C[3]   = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                          &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0S2B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0Q1B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
     &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0S2B1C0B[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0Q1B1C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                            &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0S2B1C0C[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0Q1B1C0C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                            &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0S2C0C1C[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2C,
+constexpr const TVariable *p0Q1C0C1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0C,
                                            &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0T1C0C[3]   = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt1C,
-                                         &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0U0C[2] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0U1B0B1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0Q2B0B1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U1B0C[3]   = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
-                                         &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0U1B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0Q2B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
     &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U1B1C0B[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0Q2B1C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0U1B1C0C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0U1C0C1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0C,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U2B0B1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0Q3B0B1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U2B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0Q3B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
     &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U2B1C0B[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0Q3B1C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
                                            &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0U3B0B1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U3B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
-    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0U3B1C0B[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0V0C[2] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0V2B0B2C[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0R0C[2] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0R2B0B2C[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0V2B2B2B2C[5] = {
-    &BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0R2B2B2B2C[5] = {
+    &BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
     &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0V2B2C0B[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0R2B2C0B[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt2C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0V2C0C2C[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2C,
+constexpr const TVariable *p0R2C0C2C[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2C,
                                            &BuiltInVariable::kVar_pt0C,
                                            &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0V3B0B2C[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt3B,
+constexpr const TVariable *p0R3B0B2C[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt3B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0V3B2B2B2C[5] = {
-    &BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0R3B2B2B2C[5] = {
+    &BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
     &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
-constexpr const TVariable *p0V3B2C0B[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt3B,
+constexpr const TVariable *p0R3B2C0B[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt3B,
                                            &BuiltInVariable::kVar_pt2C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0W0C[2]   = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0W2B0B[3] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0S0C[2]   = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0S2B0B[3] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                          &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0W2B0C[3] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0S2B0C[3] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                          &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0W2B2B2B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0S2B2B2B[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt2B};
+constexpr const TVariable *p0T0C[2] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0T2B0B1C[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt0B,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0T2B0C[3]   = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0T2B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
+    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0T2B1C0B[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0T2B1C0C[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0T2C0C1C[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2C,
+                                           &BuiltInVariable::kVar_pt0C,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0U1C0C[3]   = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1C,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0V2C0C[3]   = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2C,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0W0C[2] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0W1B0B1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
+                                           &BuiltInVariable::kVar_pt0B,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W1B0C[3]   = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0W1B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
+    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W1B1C0B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0W1B1C0C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0W1C0C1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0C,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W2B0B1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt0B,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W2B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
+    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W2B1C0B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0W3B0B1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt3B,
+                                           &BuiltInVariable::kVar_pt0B,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W3B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
+    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0W3B1C0B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt3B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0B};
 constexpr const TVariable *p0X0C[2] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0X2B0B1C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0X2B0B2C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0X2B0C[3]   = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
-                                         &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0X2B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
-    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0X2B1C0B[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt2C};
+constexpr const TVariable *p0X2B2B2B2C[5] = {
+    &BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
+    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
+constexpr const TVariable *p0X2B2C0B[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt2C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0X2B1C0C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt1C,
-                                           &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0X2C0C1C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2C,
+constexpr const TVariable *p0X2C0C2C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2C,
                                            &BuiltInVariable::kVar_pt0C,
-                                           &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0Y1C0C[3]   = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt1C,
-                                         &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0Z0C[2] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0Z1B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt1B,
+                                           &BuiltInVariable::kVar_pt2C};
+constexpr const TVariable *p0X3B0B2C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt3B,
                                            &BuiltInVariable::kVar_pt0B,
-                                           &BuiltInVariable::kVar_pt1C};
+                                           &BuiltInVariable::kVar_pt2C};
+constexpr const TVariable *p0X3B2B2B2C[5] = {
+    &BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
+    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
+constexpr const TVariable *p0X3B2C0B[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt3B,
+                                           &BuiltInVariable::kVar_pt2C,
+                                           &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0Y0C[2]   = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0Y2B0B[3] = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt2B,
+                                         &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0Y2B0C[3] = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt2B,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0Y2B2B2B[4] = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt2B};
+constexpr const TVariable *p0Z0C[2] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt0C};
 constexpr const TVariable *p0Z2B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0Z2B0C[3]   = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
+                                         &BuiltInVariable::kVar_pt0C};
 constexpr const TVariable *p0Z2B1B1B1C[5] = {
     &BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
     &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
 constexpr const TVariable *p0Z2B1C0B[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0Z3B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt3B,
+constexpr const TVariable *p0Z2B1C0C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0Z2C0C1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2C,
+                                           &BuiltInVariable::kVar_pt0C,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0a1C0C[3]   = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt1C,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0b2C0C[3]   = {&BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt2C,
+                                         &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0c0C[2] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0c1B0B1C[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt1B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0Z3B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0c2B0B1C[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt0B,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0c2B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
     &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0Z3B1C0B[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt3B,
+constexpr const TVariable *p0c2B1C0B[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt2B,
                                            &BuiltInVariable::kVar_pt1C,
                                            &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0a0C[2]   = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0a2B0B[3] = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt2B,
-                                         &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0a3B0B[3] = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt3B,
-                                         &BuiltInVariable::kVar_pt0B};
-constexpr const TVariable *p0a3B2B2B[4] = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt3B,
-                                           &BuiltInVariable::kVar_pt2B,
-                                           &BuiltInVariable::kVar_pt2B};
-constexpr const TVariable *p0b0C[2] = {&BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt0C};
-constexpr const TVariable *p0b2B0B1C[4] = {&BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt2B,
+constexpr const TVariable *p0c3B0B1C[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt3B,
                                            &BuiltInVariable::kVar_pt0B,
                                            &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0b3B1B1B1C[5] = {
-    &BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
+constexpr const TVariable *p0c3B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
     &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
-constexpr const TVariable *p0c1C3B[3]  = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt1C,
+constexpr const TVariable *p0c3B1C0B[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt3B,
+                                           &BuiltInVariable::kVar_pt1C,
+                                           &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0d0C[2]   = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0d2B0B[3] = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt2B,
+                                         &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0d3B0B[3] = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt3B,
+                                         &BuiltInVariable::kVar_pt0B};
+constexpr const TVariable *p0d3B2B2B[4] = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt3B,
+                                           &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt2B};
+constexpr const TVariable *p0e0C[2] = {&BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt0C};
+constexpr const TVariable *p0e2B0B1C[4] = {&BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt2B,
+                                           &BuiltInVariable::kVar_pt0B,
+                                           &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0e3B1B1B1C[5] = {
+    &BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
+    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
+constexpr const TVariable *p0f1C3B[3]   = {&BuiltInVariable::kVar_pt0f, &BuiltInVariable::kVar_pt1C,
                                          &BuiltInVariable::kVar_pt3B};
-constexpr const TVariable *p0d1C3C[3]  = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt1C,
+constexpr const TVariable *p0g1C3C[3]   = {&BuiltInVariable::kVar_pt0g, &BuiltInVariable::kVar_pt1C,
                                          &BuiltInVariable::kVar_pt3C};
-constexpr const TVariable *p0e1C3D[3]  = {&BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt1C,
-                                         &BuiltInVariable::kVar_pt3D};
-constexpr const TVariable *p0f2C3B[3]  = {&BuiltInVariable::kVar_pt0f, &BuiltInVariable::kVar_pt2C,
-                                         &BuiltInVariable::kVar_pt3B};
-constexpr const TVariable *p0g2C3C[3]  = {&BuiltInVariable::kVar_pt0g, &BuiltInVariable::kVar_pt2C,
-                                         &BuiltInVariable::kVar_pt3C};
-constexpr const TVariable *p0h2C3D[3]  = {&BuiltInVariable::kVar_pt0h, &BuiltInVariable::kVar_pt2C,
+constexpr const TVariable *p0h1C3D[3]   = {&BuiltInVariable::kVar_pt0h, &BuiltInVariable::kVar_pt1C,
                                          &BuiltInVariable::kVar_pt3D};
 constexpr const TVariable *p0i2C3B[3]  = {&BuiltInVariable::kVar_pt0i, &BuiltInVariable::kVar_pt2C,
                                          &BuiltInVariable::kVar_pt3B};
@@ -2504,6 +2543,12 @@
                                          &BuiltInVariable::kVar_pt3C};
 constexpr const TVariable *p0n2C3D[3]  = {&BuiltInVariable::kVar_pt0n, &BuiltInVariable::kVar_pt2C,
                                          &BuiltInVariable::kVar_pt3D};
+constexpr const TVariable *p0o2C3B[3]   = {&BuiltInVariable::kVar_pt0o, &BuiltInVariable::kVar_pt2C,
+                                         &BuiltInVariable::kVar_pt3B};
+constexpr const TVariable *p0p2C3C[3]   = {&BuiltInVariable::kVar_pt0p, &BuiltInVariable::kVar_pt2C,
+                                         &BuiltInVariable::kVar_pt3C};
+constexpr const TVariable *p0q2C3D[3]   = {&BuiltInVariable::kVar_pt0q, &BuiltInVariable::kVar_pt2C,
+                                         &BuiltInVariable::kVar_pt3D};
 constexpr const TVariable *p1B0B0B[3]  = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt0B,
                                          &BuiltInVariable::kVar_pt0B};
 constexpr const TVariable *p1B1B0B[3]  = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
@@ -2675,7 +2720,7 @@
     BuiltInId::radians_Float3,
     BuiltInName::radians,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpRadians,
@@ -2684,7 +2729,7 @@
     BuiltInId::radians_Float4,
     BuiltInName::radians,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpRadians,
@@ -2711,7 +2756,7 @@
     BuiltInId::degrees_Float3,
     BuiltInName::degrees,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpDegrees,
@@ -2720,7 +2765,7 @@
     BuiltInId::degrees_Float4,
     BuiltInName::degrees,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpDegrees,
@@ -2747,7 +2792,7 @@
     BuiltInId::sin_Float3,
     BuiltInName::sin,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpSin,
@@ -2756,7 +2801,7 @@
     BuiltInId::sin_Float4,
     BuiltInName::sin,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpSin,
@@ -2783,7 +2828,7 @@
     BuiltInId::cos_Float3,
     BuiltInName::cos,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCos,
@@ -2792,7 +2837,7 @@
     BuiltInId::cos_Float4,
     BuiltInName::cos,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCos,
@@ -2819,7 +2864,7 @@
     BuiltInId::tan_Float3,
     BuiltInName::tan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpTan,
@@ -2828,7 +2873,7 @@
     BuiltInId::tan_Float4,
     BuiltInName::tan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpTan,
@@ -2855,7 +2900,7 @@
     BuiltInId::asin_Float3,
     BuiltInName::asin,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAsin,
@@ -2864,7 +2909,7 @@
     BuiltInId::asin_Float4,
     BuiltInName::asin,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAsin,
@@ -2891,7 +2936,7 @@
     BuiltInId::acos_Float3,
     BuiltInName::acos,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAcos,
@@ -2900,7 +2945,7 @@
     BuiltInId::acos_Float4,
     BuiltInName::acos,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAcos,
@@ -2936,7 +2981,7 @@
     BuiltInId::atan_Float4_Float4,
     BuiltInName::atan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAtan,
@@ -2963,7 +3008,7 @@
     BuiltInId::atan_Float3,
     BuiltInName::atan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAtan,
@@ -2972,7 +3017,7 @@
     BuiltInId::atan_Float4,
     BuiltInName::atan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAtan,
@@ -2999,7 +3044,7 @@
     BuiltInId::sinh_Float3,
     BuiltInName::sinh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpSinh,
@@ -3008,7 +3053,7 @@
     BuiltInId::sinh_Float4,
     BuiltInName::sinh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpSinh,
@@ -3035,7 +3080,7 @@
     BuiltInId::cosh_Float3,
     BuiltInName::cosh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCosh,
@@ -3044,7 +3089,7 @@
     BuiltInId::cosh_Float4,
     BuiltInName::cosh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCosh,
@@ -3071,7 +3116,7 @@
     BuiltInId::tanh_Float3,
     BuiltInName::tanh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpTanh,
@@ -3080,7 +3125,7 @@
     BuiltInId::tanh_Float4,
     BuiltInName::tanh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpTanh,
@@ -3107,7 +3152,7 @@
     BuiltInId::asinh_Float3,
     BuiltInName::asinh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAsinh,
@@ -3116,7 +3161,7 @@
     BuiltInId::asinh_Float4,
     BuiltInName::asinh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAsinh,
@@ -3143,7 +3188,7 @@
     BuiltInId::acosh_Float3,
     BuiltInName::acosh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAcosh,
@@ -3152,7 +3197,7 @@
     BuiltInId::acosh_Float4,
     BuiltInName::acosh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAcosh,
@@ -3179,7 +3224,7 @@
     BuiltInId::atanh_Float3,
     BuiltInName::atanh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAtanh,
@@ -3188,7 +3233,7 @@
     BuiltInId::atanh_Float4,
     BuiltInName::atanh,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAtanh,
@@ -3224,7 +3269,7 @@
     BuiltInId::pow_Float4_Float4,
     BuiltInName::pow,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpPow,
@@ -3251,7 +3296,7 @@
     BuiltInId::exp_Float3,
     BuiltInName::exp,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpExp,
@@ -3260,7 +3305,7 @@
     BuiltInId::exp_Float4,
     BuiltInName::exp,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpExp,
@@ -3287,7 +3332,7 @@
     BuiltInId::log_Float3,
     BuiltInName::log,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpLog,
@@ -3296,7 +3341,7 @@
     BuiltInId::log_Float4,
     BuiltInName::log,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpLog,
@@ -3323,7 +3368,7 @@
     BuiltInId::exp2_Float3,
     BuiltInName::exp2,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpExp2,
@@ -3332,7 +3377,7 @@
     BuiltInId::exp2_Float4,
     BuiltInName::exp2,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpExp2,
@@ -3359,7 +3404,7 @@
     BuiltInId::log2_Float3,
     BuiltInName::log2,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpLog2,
@@ -3368,7 +3413,7 @@
     BuiltInId::log2_Float4,
     BuiltInName::log2,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpLog2,
@@ -3395,7 +3440,7 @@
     BuiltInId::sqrt_Float3,
     BuiltInName::sqrt,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpSqrt,
@@ -3404,7 +3449,7 @@
     BuiltInId::sqrt_Float4,
     BuiltInName::sqrt,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpSqrt,
@@ -3431,7 +3476,7 @@
     BuiltInId::inversesqrt_Float3,
     BuiltInName::inversesqrt,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpInversesqrt,
@@ -3440,7 +3485,7 @@
     BuiltInId::inversesqrt_Float4,
     BuiltInName::inversesqrt,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpInversesqrt,
@@ -3467,7 +3512,7 @@
     BuiltInId::abs_Float3,
     BuiltInName::abs,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpAbs,
@@ -3476,7 +3521,7 @@
     BuiltInId::abs_Float4,
     BuiltInName::abs,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpAbs,
@@ -3492,7 +3537,7 @@
 constexpr const TFunction kFunction_abs_1C(BuiltInId::abs_Int2,
                                            BuiltInName::abs,
                                            TExtension::UNDEFINED,
-                                           BuiltInParameters::p1C1C0C0C,
+                                           BuiltInParameters::p1C1C_o_1C_o_1C,
                                            1,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                            EOpAbs,
@@ -3535,7 +3580,7 @@
     BuiltInId::sign_Float3,
     BuiltInName::sign,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpSign,
@@ -3544,7 +3589,7 @@
     BuiltInId::sign_Float4,
     BuiltInName::sign,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpSign,
@@ -3562,7 +3607,7 @@
     BuiltInId::sign_Int2,
     BuiltInName::sign,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpSign,
@@ -3607,7 +3652,7 @@
     BuiltInId::floor_Float3,
     BuiltInName::floor,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpFloor,
@@ -3616,7 +3661,7 @@
     BuiltInId::floor_Float4,
     BuiltInName::floor,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpFloor,
@@ -3643,7 +3688,7 @@
     BuiltInId::trunc_Float3,
     BuiltInName::trunc,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpTrunc,
@@ -3652,7 +3697,7 @@
     BuiltInId::trunc_Float4,
     BuiltInName::trunc,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpTrunc,
@@ -3679,7 +3724,7 @@
     BuiltInId::round_Float3,
     BuiltInName::round,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpRound,
@@ -3688,7 +3733,7 @@
     BuiltInId::round_Float4,
     BuiltInName::round,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpRound,
@@ -3715,7 +3760,7 @@
     BuiltInId::roundEven_Float3,
     BuiltInName::roundEven,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpRoundEven,
@@ -3724,7 +3769,7 @@
     BuiltInId::roundEven_Float4,
     BuiltInName::roundEven,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpRoundEven,
@@ -3751,7 +3796,7 @@
     BuiltInId::ceil_Float3,
     BuiltInName::ceil,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCeil,
@@ -3760,7 +3805,7 @@
     BuiltInId::ceil_Float4,
     BuiltInName::ceil,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCeil,
@@ -3787,7 +3832,7 @@
     BuiltInId::fract_Float3,
     BuiltInName::fract,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpFract,
@@ -3796,7 +3841,7 @@
     BuiltInId::fract_Float4,
     BuiltInName::fract,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpFract,
@@ -3859,7 +3904,7 @@
     BuiltInId::mod_Float4_Float4,
     BuiltInName::mod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpMod,
@@ -3922,7 +3967,7 @@
     BuiltInId::min_Float4_Float4,
     BuiltInName::min,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpMin,
@@ -3940,7 +3985,7 @@
     BuiltInId::min_Int2_Int2,
     BuiltInName::min,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpMin,
@@ -3958,7 +4003,7 @@
     BuiltInId::min_Int4_Int4,
     BuiltInName::min,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpMin,
@@ -4111,7 +4156,7 @@
     BuiltInId::max_Float4_Float4,
     BuiltInName::max,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpMax,
@@ -4129,7 +4174,7 @@
     BuiltInId::max_Int2_Int2,
     BuiltInName::max,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpMax,
@@ -4147,7 +4192,7 @@
     BuiltInId::max_Int4_Int4,
     BuiltInName::max,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpMax,
@@ -4561,7 +4606,7 @@
     BuiltInId::step_Float4_Float4,
     BuiltInName::step,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpStep,
@@ -4714,7 +4759,7 @@
     BuiltInId::isnan_Float3,
     BuiltInName::isnan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpIsnan,
@@ -4723,7 +4768,7 @@
     BuiltInId::isnan_Float4,
     BuiltInName::isnan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpIsnan,
@@ -4750,7 +4795,7 @@
     BuiltInId::isinf_Float3,
     BuiltInName::isinf,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpIsinf,
@@ -4759,7 +4804,7 @@
     BuiltInId::isinf_Float4,
     BuiltInName::isinf,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpIsinf,
@@ -4786,7 +4831,7 @@
     BuiltInId::floatBitsToInt_Float3,
     BuiltInName::floatBitsToInt,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpFloatBitsToInt,
@@ -4795,7 +4840,7 @@
     BuiltInId::floatBitsToInt_Float4,
     BuiltInName::floatBitsToInt,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpFloatBitsToInt,
@@ -4822,7 +4867,7 @@
     BuiltInId::floatBitsToUint_Float3,
     BuiltInName::floatBitsToUint,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpFloatBitsToUint,
@@ -4831,7 +4876,7 @@
     BuiltInId::floatBitsToUint_Float4,
     BuiltInName::floatBitsToUint,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpFloatBitsToUint,
@@ -4849,7 +4894,7 @@
     BuiltInId::intBitsToFloat_Int2,
     BuiltInName::intBitsToFloat,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpIntBitsToFloat,
@@ -5038,7 +5083,7 @@
     BuiltInId::packUnorm4x8_Float4,
     BuiltInName::packUnorm4x8,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpPackUnorm4x8,
@@ -5047,7 +5092,7 @@
     BuiltInId::packSnorm4x8_Float4,
     BuiltInName::packSnorm4x8,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpPackSnorm4x8,
@@ -5092,7 +5137,7 @@
     BuiltInId::length_Float3,
     BuiltInName::length,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpLength,
@@ -5101,7 +5146,7 @@
     BuiltInId::length_Float4,
     BuiltInName::length,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpLength,
@@ -5137,7 +5182,7 @@
     BuiltInId::distance_Float4_Float4,
     BuiltInName::distance,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpDistance,
@@ -5173,7 +5218,7 @@
     BuiltInId::dot_Float4_Float4,
     BuiltInName::dot,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpDot,
@@ -5209,7 +5254,7 @@
     BuiltInId::normalize_Float3,
     BuiltInName::normalize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpNormalize,
@@ -5218,7 +5263,7 @@
     BuiltInId::normalize_Float4,
     BuiltInName::normalize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpNormalize,
@@ -5290,7 +5335,7 @@
     BuiltInId::reflect_Float4_Float4,
     BuiltInName::reflect,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpReflect,
@@ -5434,7 +5479,7 @@
     BuiltInId::outerProduct_Float4_Float4,
     BuiltInName::outerProduct,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
     EOpOuterProduct,
@@ -5650,7 +5695,7 @@
     BuiltInId::lessThan_Float4_Float4,
     BuiltInName::lessThan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpLessThanComponentWise,
@@ -5659,7 +5704,7 @@
     BuiltInId::lessThan_Int2_Int2,
     BuiltInName::lessThan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpLessThanComponentWise,
@@ -5677,7 +5722,7 @@
     BuiltInId::lessThan_Int4_Int4,
     BuiltInName::lessThan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpLessThanComponentWise,
@@ -5731,7 +5776,7 @@
     BuiltInId::lessThanEqual_Float4_Float4,
     BuiltInName::lessThanEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpLessThanEqualComponentWise,
@@ -5740,7 +5785,7 @@
     BuiltInId::lessThanEqual_Int2_Int2,
     BuiltInName::lessThanEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpLessThanEqualComponentWise,
@@ -5758,7 +5803,7 @@
     BuiltInId::lessThanEqual_Int4_Int4,
     BuiltInName::lessThanEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpLessThanEqualComponentWise,
@@ -5812,7 +5857,7 @@
     BuiltInId::greaterThan_Float4_Float4,
     BuiltInName::greaterThan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpGreaterThanComponentWise,
@@ -5821,7 +5866,7 @@
     BuiltInId::greaterThan_Int2_Int2,
     BuiltInName::greaterThan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpGreaterThanComponentWise,
@@ -5839,7 +5884,7 @@
     BuiltInId::greaterThan_Int4_Int4,
     BuiltInName::greaterThan,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpGreaterThanComponentWise,
@@ -5893,7 +5938,7 @@
     BuiltInId::greaterThanEqual_Float4_Float4,
     BuiltInName::greaterThanEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpGreaterThanEqualComponentWise,
@@ -5902,7 +5947,7 @@
     BuiltInId::greaterThanEqual_Int2_Int2,
     BuiltInName::greaterThanEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpGreaterThanEqualComponentWise,
@@ -5920,7 +5965,7 @@
     BuiltInId::greaterThanEqual_Int4_Int4,
     BuiltInName::greaterThanEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpGreaterThanEqualComponentWise,
@@ -5974,7 +6019,7 @@
     BuiltInId::equal_Float4_Float4,
     BuiltInName::equal,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpEqualComponentWise,
@@ -5983,7 +6028,7 @@
     BuiltInId::equal_Int2_Int2,
     BuiltInName::equal,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpEqualComponentWise,
@@ -6001,7 +6046,7 @@
     BuiltInId::equal_Int4_Int4,
     BuiltInName::equal,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpEqualComponentWise,
@@ -6082,7 +6127,7 @@
     BuiltInId::notEqual_Float4_Float4,
     BuiltInName::notEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B3B3B,
+    BuiltInParameters::p3B3B0B,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpNotEqualComponentWise,
@@ -6091,7 +6136,7 @@
     BuiltInId::notEqual_Int2_Int2,
     BuiltInName::notEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpNotEqualComponentWise,
@@ -6109,7 +6154,7 @@
     BuiltInId::notEqual_Int4_Int4,
     BuiltInName::notEqual,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3C3C0C0C,
+    BuiltInParameters::p3C3C3C,
     2,
     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpNotEqualComponentWise,
@@ -6406,7 +6451,7 @@
     BuiltInId::bitfieldReverse_Int2,
     BuiltInName::bitfieldReverse,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpBitfieldReverse,
@@ -6478,7 +6523,7 @@
     BuiltInId::bitCount_Int2,
     BuiltInName::bitCount,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpBitCount,
@@ -6550,7 +6595,7 @@
     BuiltInId::findLSB_Int2,
     BuiltInName::findLSB,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpFindLSB,
@@ -6622,7 +6667,7 @@
     BuiltInId::findMSB_Int2,
     BuiltInName::findMSB,
     TExtension::UNDEFINED,
-    BuiltInParameters::p1C1C0C0C,
+    BuiltInParameters::p1C1C_o_1C_o_1C,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpFindMSB,
@@ -7036,7 +7081,7 @@
     BuiltInId::dFdxExt_Float3,
     BuiltInName::dFdxExt,
     TExtension::OES_standard_derivatives,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpDFdx,
@@ -7045,7 +7090,7 @@
     BuiltInId::dFdxExt_Float4,
     BuiltInName::dFdxExt,
     TExtension::OES_standard_derivatives,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpDFdx,
@@ -7072,7 +7117,7 @@
     BuiltInId::dFdyExt_Float3,
     BuiltInName::dFdyExt,
     TExtension::OES_standard_derivatives,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpDFdy,
@@ -7081,7 +7126,7 @@
     BuiltInId::dFdyExt_Float4,
     BuiltInName::dFdyExt,
     TExtension::OES_standard_derivatives,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpDFdy,
@@ -7108,7 +7153,7 @@
     BuiltInId::fwidthExt_Float3,
     BuiltInName::fwidthExt,
     TExtension::OES_standard_derivatives,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpFwidth,
@@ -7117,7 +7162,7 @@
     BuiltInId::fwidthExt_Float4,
     BuiltInName::fwidthExt,
     TExtension::OES_standard_derivatives,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpFwidth,
@@ -7203,20 +7248,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0P1B(
+constexpr const TFunction kFunction_texture_0Q1B(
     BuiltInId::texture_ISampler2D1_Float2,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B0C,
+    BuiltInParameters::p0Q1B1B1B1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0U1B(
+constexpr const TFunction kFunction_texture_0W1B(
     BuiltInId::texture_USampler2D1_Float2,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B0B1C,
+    BuiltInParameters::p0W1B1C0C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7230,20 +7275,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0Q2B(
+constexpr const TFunction kFunction_texture_0R2B(
     BuiltInId::texture_ISampler3D1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B0B2C,
+    BuiltInParameters::p0R2B0B2C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0V2B(
+constexpr const TFunction kFunction_texture_0X2B(
     BuiltInId::texture_USampler3D1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B2B2B2C,
+    BuiltInParameters::p0X2B0B2C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7257,20 +7302,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0R2B(
+constexpr const TFunction kFunction_texture_0S2B(
     BuiltInId::texture_ISamplerCube1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R2B2B2B,
+    BuiltInParameters::p0S2B0B,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0W2B(
+constexpr const TFunction kFunction_texture_0Y2B(
     BuiltInId::texture_USamplerCube1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W2B0B,
+    BuiltInParameters::p0Y2B0B,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7284,20 +7329,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0S2B(
+constexpr const TFunction kFunction_texture_0T2B(
     BuiltInId::texture_ISampler2DArray1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B0B1C,
+    BuiltInParameters::p0T2B1B1B1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0X2B(
+constexpr const TFunction kFunction_texture_0Z2B(
     BuiltInId::texture_USampler2DArray1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1C0C,
+    BuiltInParameters::p0Z2B1B1B1C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7311,20 +7356,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0P2B(
+constexpr const TFunction kFunction_textureProj_0Q2B(
     BuiltInId::textureProj_ISampler2D1_Float3,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B0B1C,
+    BuiltInParameters::p0Q2B1B1B1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0U2B(
+constexpr const TFunction kFunction_textureProj_0W2B(
     BuiltInId::textureProj_USampler2D1_Float3,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B1B1B1C,
+    BuiltInParameters::p0W2B1C0B,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7338,20 +7383,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0P3B(
+constexpr const TFunction kFunction_textureProj_0Q3B(
     BuiltInId::textureProj_ISampler2D1_Float4,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B0B1C,
+    BuiltInParameters::p0Q3B1B1B1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0U3B(
+constexpr const TFunction kFunction_textureProj_0W3B(
     BuiltInId::textureProj_USampler2D1_Float4,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B1C0B,
+    BuiltInParameters::p0W3B1B1B1C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7365,20 +7410,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0Q3B(
+constexpr const TFunction kFunction_textureProj_0R3B(
     BuiltInId::textureProj_ISampler3D1_Float4,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B0B2C,
+    BuiltInParameters::p0R3B0B2C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0V3B(
+constexpr const TFunction kFunction_textureProj_0X3B(
     BuiltInId::textureProj_USampler3D1_Float4,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B2B2B2C,
+    BuiltInParameters::p0X3B2B2B2C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7392,20 +7437,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0P1B0B(
+constexpr const TFunction kFunction_textureLod_0Q1B0B(
     BuiltInId::textureLod_ISampler2D1_Float2_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B0B1C,
+    BuiltInParameters::p0Q1B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0U1B0B(
+constexpr const TFunction kFunction_textureLod_0W1B0B(
     BuiltInId::textureLod_USampler2D1_Float2_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B0B1C,
+    BuiltInParameters::p0W1B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7419,20 +7464,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0Q2B0B(
+constexpr const TFunction kFunction_textureLod_0R2B0B(
     BuiltInId::textureLod_ISampler3D1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B0B2C,
+    BuiltInParameters::p0R2B0B2C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0V2B0B(
+constexpr const TFunction kFunction_textureLod_0X2B0B(
     BuiltInId::textureLod_USampler3D1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B0B2C,
+    BuiltInParameters::p0X2B0B2C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7446,20 +7491,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0R2B0B(
+constexpr const TFunction kFunction_textureLod_0S2B0B(
     BuiltInId::textureLod_ISamplerCube1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R2B0B,
+    BuiltInParameters::p0S2B0B,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0W2B0B(
+constexpr const TFunction kFunction_textureLod_0Y2B0B(
     BuiltInId::textureLod_USamplerCube1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W2B0B,
+    BuiltInParameters::p0Y2B0B,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7473,65 +7518,65 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0S2B0B(
+constexpr const TFunction kFunction_textureLod_0T2B0B(
     BuiltInId::textureLod_ISampler2DArray1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B0B1C,
+    BuiltInParameters::p0T2B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0X2B0B(
+constexpr const TFunction kFunction_textureLod_0Z2B0B(
     BuiltInId::textureLod_USampler2DArray1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B0B1C,
+    BuiltInParameters::p0Z2B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0Z2B(
+constexpr const TFunction kFunction_texture_0c2B(
     BuiltInId::texture_Sampler2DShadow1_Float3,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B1B1B1C,
+    BuiltInParameters::p0c2B1B1B1C,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0a3B(
+constexpr const TFunction kFunction_texture_0d3B(
     BuiltInId::texture_SamplerCubeShadow1_Float4,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0a3B2B2B,
+    BuiltInParameters::p0d3B2B2B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0b3B(
+constexpr const TFunction kFunction_texture_0e3B(
     BuiltInId::texture_Sampler2DArrayShadow1_Float4,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0b3B1B1B1C,
+    BuiltInParameters::p0e3B1B1B1C,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0Z3B(
+constexpr const TFunction kFunction_textureProj_0c3B(
     BuiltInId::textureProj_Sampler2DShadow1_Float4,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B0B1C,
+    BuiltInParameters::p0c3B0B1C,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLod_0Z2B0B(
+constexpr const TFunction kFunction_textureLod_0c2B0B(
     BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1,
     BuiltInName::textureLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B0B1C,
+    BuiltInParameters::p0c2B0B1C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -7545,20 +7590,20 @@
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0P0C(
+constexpr const TFunction kFunction_textureSize_0Q0C(
     BuiltInId::textureSize_ISampler2D1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P0C,
+    BuiltInParameters::p0Q0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0U0C(
+constexpr const TFunction kFunction_textureSize_0W0C(
     BuiltInId::textureSize_USampler2D1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U0C,
+    BuiltInParameters::p0W0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
@@ -7572,20 +7617,20 @@
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0Q0C(
+constexpr const TFunction kFunction_textureSize_0R0C(
     BuiltInId::textureSize_ISampler3D1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q0C,
+    BuiltInParameters::p0R0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0V0C(
+constexpr const TFunction kFunction_textureSize_0X0C(
     BuiltInId::textureSize_USampler3D1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V0C,
+    BuiltInParameters::p0X0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
@@ -7599,20 +7644,20 @@
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0R0C(
+constexpr const TFunction kFunction_textureSize_0S0C(
     BuiltInId::textureSize_ISamplerCube1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R0C,
+    BuiltInParameters::p0S0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0W0C(
+constexpr const TFunction kFunction_textureSize_0Y0C(
     BuiltInId::textureSize_USamplerCube1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W0C,
+    BuiltInParameters::p0Y0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
@@ -7626,76 +7671,49 @@
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0S0C(
+constexpr const TFunction kFunction_textureSize_0T0C(
     BuiltInId::textureSize_ISampler2DArray1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S0C,
-    2,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_textureSize_0X0C(
-    BuiltInId::textureSize_USampler2DArray1_Int1,
-    BuiltInName::textureSize,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0X0C,
+    BuiltInParameters::p0T0C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_textureSize_0Z0C(
-    BuiltInId::textureSize_Sampler2DShadow1_Int1,
+    BuiltInId::textureSize_USampler2DArray1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0Z0C,
     2,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_textureSize_0a0C(
-    BuiltInId::textureSize_SamplerCubeShadow1_Int1,
-    BuiltInName::textureSize,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0a0C,
-    2,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_textureSize_0b0C(
-    BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
-    BuiltInName::textureSize,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0b0C,
-    2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0O(
-    BuiltInId::textureSize_Sampler2DMS1,
+constexpr const TFunction kFunction_textureSize_0c0C(
+    BuiltInId::textureSize_Sampler2DShadow1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0O1C0C,
-    1,
+    BuiltInParameters::p0c0C,
+    2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0T(
-    BuiltInId::textureSize_ISampler2DMS1,
+constexpr const TFunction kFunction_textureSize_0d0C(
+    BuiltInId::textureSize_SamplerCubeShadow1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0T1C0C,
-    1,
+    BuiltInParameters::p0d0C,
+    2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureSize_0Y(
-    BuiltInId::textureSize_USampler2DMS1,
+constexpr const TFunction kFunction_textureSize_0e0C(
+    BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
     BuiltInName::textureSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Y1C0C,
-    1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    BuiltInParameters::p0e0C,
+    2,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_textureProjLod_0H2B0B(
@@ -7707,20 +7725,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0P2B0B(
+constexpr const TFunction kFunction_textureProjLod_0Q2B0B(
     BuiltInId::textureProjLod_ISampler2D1_Float3_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B0B1C,
+    BuiltInParameters::p0Q2B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0U2B0B(
+constexpr const TFunction kFunction_textureProjLod_0W2B0B(
     BuiltInId::textureProjLod_USampler2D1_Float3_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B0B1C,
+    BuiltInParameters::p0W2B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7734,20 +7752,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0P3B0B(
+constexpr const TFunction kFunction_textureProjLod_0Q3B0B(
     BuiltInId::textureProjLod_ISampler2D1_Float4_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B0B1C,
+    BuiltInParameters::p0Q3B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0U3B0B(
+constexpr const TFunction kFunction_textureProjLod_0W3B0B(
     BuiltInId::textureProjLod_USampler2D1_Float4_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B0B1C,
+    BuiltInParameters::p0W3B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7761,29 +7779,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0Q3B0B(
+constexpr const TFunction kFunction_textureProjLod_0R3B0B(
     BuiltInId::textureProjLod_ISampler3D1_Float4_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B0B2C,
+    BuiltInParameters::p0R3B0B2C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0V3B0B(
+constexpr const TFunction kFunction_textureProjLod_0X3B0B(
     BuiltInId::textureProjLod_USampler3D1_Float4_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B0B2C,
+    BuiltInParameters::p0X3B0B2C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLod_0Z3B0B(
+constexpr const TFunction kFunction_textureProjLod_0c3B0B(
     BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1,
     BuiltInName::textureProjLod,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B0B1C,
+    BuiltInParameters::p0c3B0B1C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -7797,20 +7815,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0P1C0C(
+constexpr const TFunction kFunction_texelFetch_0Q1C0C(
     BuiltInId::texelFetch_ISampler2D1_Int2_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1C0C1C,
+    BuiltInParameters::p0Q1C0C1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0U1C0C(
+constexpr const TFunction kFunction_texelFetch_0W1C0C(
     BuiltInId::texelFetch_USampler2D1_Int2_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1C0C1C,
+    BuiltInParameters::p0W1C0C1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7824,20 +7842,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0Q2C0C(
+constexpr const TFunction kFunction_texelFetch_0R2C0C(
     BuiltInId::texelFetch_ISampler3D1_Int3_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2C0C2C,
+    BuiltInParameters::p0R2C0C2C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0V2C0C(
+constexpr const TFunction kFunction_texelFetch_0X2C0C(
     BuiltInId::texelFetch_USampler3D1_Int3_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2C0C2C,
+    BuiltInParameters::p0X2C0C2C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7851,20 +7869,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0S2C0C(
+constexpr const TFunction kFunction_texelFetch_0T2C0C(
     BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2C0C1C,
+    BuiltInParameters::p0T2C0C1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0X2C0C(
+constexpr const TFunction kFunction_texelFetch_0Z2C0C(
     BuiltInId::texelFetch_USampler2DArray1_Int3_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2C0C1C,
+    BuiltInParameters::p0Z2C0C1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7878,20 +7896,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0P1B1B1B(
+constexpr const TFunction kFunction_textureGrad_0Q1B1B1B(
     BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B1B1B1C,
+    BuiltInParameters::p0Q1B1B1B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0U1B1B1B(
+constexpr const TFunction kFunction_textureGrad_0W1B1B1B(
     BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B1B1B1C,
+    BuiltInParameters::p0W1B1B1B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7905,20 +7923,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0Q2B2B2B(
+constexpr const TFunction kFunction_textureGrad_0R2B2B2B(
     BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B2B2B2C,
+    BuiltInParameters::p0R2B2B2B2C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0V2B2B2B(
+constexpr const TFunction kFunction_textureGrad_0X2B2B2B(
     BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B2B2B2C,
+    BuiltInParameters::p0X2B2B2B2C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -7932,38 +7950,38 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0R2B2B2B(
+constexpr const TFunction kFunction_textureGrad_0S2B2B2B(
     BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R2B2B2B,
+    BuiltInParameters::p0S2B2B2B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0W2B2B2B(
+constexpr const TFunction kFunction_textureGrad_0Y2B2B2B(
     BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W2B2B2B,
+    BuiltInParameters::p0Y2B2B2B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0Z2B1B1B(
+constexpr const TFunction kFunction_textureGrad_0c2B1B1B(
     BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B1B1B1C,
+    BuiltInParameters::p0c2B1B1B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0a3B2B2B(
+constexpr const TFunction kFunction_textureGrad_0d3B2B2B(
     BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0a3B2B2B,
+    BuiltInParameters::p0d3B2B2B,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -7977,29 +7995,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0S2B1B1B(
+constexpr const TFunction kFunction_textureGrad_0T2B1B1B(
     BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B1B1B1C,
+    BuiltInParameters::p0T2B1B1B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0X2B1B1B(
+constexpr const TFunction kFunction_textureGrad_0Z2B1B1B(
     BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1B1B1C,
+    BuiltInParameters::p0Z2B1B1B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGrad_0b3B1B1B(
+constexpr const TFunction kFunction_textureGrad_0e3B1B1B(
     BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2,
     BuiltInName::textureGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0b3B1B1B1C,
+    BuiltInParameters::p0e3B1B1B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8013,20 +8031,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0P2B1B1B(
+constexpr const TFunction kFunction_textureProjGrad_0Q2B1B1B(
     BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B1B1B1C,
+    BuiltInParameters::p0Q2B1B1B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0U2B1B1B(
+constexpr const TFunction kFunction_textureProjGrad_0W2B1B1B(
     BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B1B1B1C,
+    BuiltInParameters::p0W2B1B1B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8040,20 +8058,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0P3B1B1B(
+constexpr const TFunction kFunction_textureProjGrad_0Q3B1B1B(
     BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B1B1B1C,
+    BuiltInParameters::p0Q3B1B1B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0U3B1B1B(
+constexpr const TFunction kFunction_textureProjGrad_0W3B1B1B(
     BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B1B1B1C,
+    BuiltInParameters::p0W3B1B1B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8067,33 +8085,87 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0Q3B2B2B(
+constexpr const TFunction kFunction_textureProjGrad_0R3B2B2B(
     BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B2B2B2C,
+    BuiltInParameters::p0R3B2B2B2C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0V3B2B2B(
+constexpr const TFunction kFunction_textureProjGrad_0X3B2B2B(
     BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B2B2B2C,
+    BuiltInParameters::p0X3B2B2B2C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGrad_0Z3B1B1B(
+constexpr const TFunction kFunction_textureProjGrad_0c3B1B1B(
     BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2,
     BuiltInName::textureProjGrad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B1B1B1C,
+    BuiltInParameters::p0c3B1B1B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
+constexpr const TFunction kFunction_textureSize_0O(
+    BuiltInId::textureSize_Sampler2DMS1,
+    BuiltInName::textureSize,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0O1C0C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_textureSize_0U(
+    BuiltInId::textureSize_ISampler2DMS1,
+    BuiltInName::textureSize,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0U1C0C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_textureSize_0a(
+    BuiltInId::textureSize_USampler2DMS1,
+    BuiltInName::textureSize,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0a1C0C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_textureSize_0P(
+    BuiltInId::textureSize_Sampler2DMSArray1,
+    BuiltInName::textureSize,
+    TExtension::ANGLE_texture_multisample_array,
+    BuiltInParameters::p0P2C0C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_textureSize_0V(
+    BuiltInId::textureSize_ISampler2DMSArray1,
+    BuiltInName::textureSize,
+    TExtension::ANGLE_texture_multisample_array,
+    BuiltInParameters::p0V2C0C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_textureSize_0b(
+    BuiltInId::textureSize_USampler2DMSArray1,
+    BuiltInName::textureSize,
+    TExtension::ANGLE_texture_multisample_array,
+    BuiltInParameters::p0b2C0C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+    EOpCallBuiltInFunction,
+    false);
 constexpr const TFunction kFunction_textureOffset_0H1B1C(
     BuiltInId::textureOffset_Sampler2D1_Float2_Int2,
     BuiltInName::textureOffset,
@@ -8103,20 +8175,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0P1B1C(
+constexpr const TFunction kFunction_textureOffset_0Q1B1C(
     BuiltInId::textureOffset_ISampler2D1_Float2_Int2,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B1C0B,
+    BuiltInParameters::p0Q1B1C0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0U1B1C(
+constexpr const TFunction kFunction_textureOffset_0W1B1C(
     BuiltInId::textureOffset_USampler2D1_Float2_Int2,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B1C0C,
+    BuiltInParameters::p0W1B1C0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8130,29 +8202,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0Q2B2C(
+constexpr const TFunction kFunction_textureOffset_0R2B2C(
     BuiltInId::textureOffset_ISampler3D1_Float3_Int3,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B2C0B,
+    BuiltInParameters::p0R2B2C0B,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0V2B2C(
+constexpr const TFunction kFunction_textureOffset_0X2B2C(
     BuiltInId::textureOffset_USampler3D1_Float3_Int3,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B2C0B,
+    BuiltInParameters::p0X2B2C0B,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0Z2B1C(
+constexpr const TFunction kFunction_textureOffset_0c2B1C(
     BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B1C0B,
+    BuiltInParameters::p0c2B1C0B,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8161,25 +8233,25 @@
     BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0K2B1C0B,
+    BuiltInParameters::p0K2B1C0C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0S2B1C(
+constexpr const TFunction kFunction_textureOffset_0T2B1C(
     BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B1C0B,
+    BuiltInParameters::p0T2B1C0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0X2B1C(
+constexpr const TFunction kFunction_textureOffset_0Z2B1C(
     BuiltInId::textureOffset_USampler2DArray1_Float3_Int2,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1C0C,
+    BuiltInParameters::p0Z2B1C0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8193,20 +8265,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0P2B1C(
+constexpr const TFunction kFunction_textureProjOffset_0Q2B1C(
     BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B1C0B,
+    BuiltInParameters::p0Q2B1C0B,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0U2B1C(
+constexpr const TFunction kFunction_textureProjOffset_0W2B1C(
     BuiltInId::textureProjOffset_USampler2D1_Float3_Int2,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B1C0B,
+    BuiltInParameters::p0W2B1C0B,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8220,20 +8292,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0P3B1C(
+constexpr const TFunction kFunction_textureProjOffset_0Q3B1C(
     BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B1C0B,
+    BuiltInParameters::p0Q3B1C0B,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0U3B1C(
+constexpr const TFunction kFunction_textureProjOffset_0W3B1C(
     BuiltInId::textureProjOffset_USampler2D1_Float4_Int2,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B1C0B,
+    BuiltInParameters::p0W3B1C0B,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8247,29 +8319,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0Q3B2C(
+constexpr const TFunction kFunction_textureProjOffset_0R3B2C(
     BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B2C0B,
+    BuiltInParameters::p0R3B2C0B,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0V3B2C(
+constexpr const TFunction kFunction_textureProjOffset_0X3B2C(
     BuiltInId::textureProjOffset_USampler3D1_Float4_Int3,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B2C0B,
+    BuiltInParameters::p0X3B2C0B,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0Z3B1C(
+constexpr const TFunction kFunction_textureProjOffset_0c3B1C(
     BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B1C0B,
+    BuiltInParameters::p0c3B1C0B,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8283,20 +8355,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0P1B0B1C(
+constexpr const TFunction kFunction_textureLodOffset_0Q1B0B1C(
     BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B0B1C,
+    BuiltInParameters::p0Q1B0B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0U1B0B1C(
+constexpr const TFunction kFunction_textureLodOffset_0W1B0B1C(
     BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B0B1C,
+    BuiltInParameters::p0W1B0B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8310,29 +8382,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0Q2B0B2C(
+constexpr const TFunction kFunction_textureLodOffset_0R2B0B2C(
     BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B0B2C,
+    BuiltInParameters::p0R2B0B2C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0V2B0B2C(
+constexpr const TFunction kFunction_textureLodOffset_0X2B0B2C(
     BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B0B2C,
+    BuiltInParameters::p0X2B0B2C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0Z2B0B1C(
+constexpr const TFunction kFunction_textureLodOffset_0c2B0B1C(
     BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B0B1C,
+    BuiltInParameters::p0c2B0B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8346,20 +8418,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0S2B0B1C(
+constexpr const TFunction kFunction_textureLodOffset_0T2B0B1C(
     BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B0B1C,
+    BuiltInParameters::p0T2B0B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureLodOffset_0X2B0B1C(
+constexpr const TFunction kFunction_textureLodOffset_0Z2B0B1C(
     BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2,
     BuiltInName::textureLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B0B1C,
+    BuiltInParameters::p0Z2B0B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8373,20 +8445,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0P2B0B1C(
+constexpr const TFunction kFunction_textureProjLodOffset_0Q2B0B1C(
     BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B0B1C,
+    BuiltInParameters::p0Q2B0B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0U2B0B1C(
+constexpr const TFunction kFunction_textureProjLodOffset_0W2B0B1C(
     BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B0B1C,
+    BuiltInParameters::p0W2B0B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8400,20 +8472,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0P3B0B1C(
+constexpr const TFunction kFunction_textureProjLodOffset_0Q3B0B1C(
     BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B0B1C,
+    BuiltInParameters::p0Q3B0B1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0U3B0B1C(
+constexpr const TFunction kFunction_textureProjLodOffset_0W3B0B1C(
     BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B0B1C,
+    BuiltInParameters::p0W3B0B1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8427,29 +8499,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0Q3B0B2C(
+constexpr const TFunction kFunction_textureProjLodOffset_0R3B0B2C(
     BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B0B2C,
+    BuiltInParameters::p0R3B0B2C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0V3B0B2C(
+constexpr const TFunction kFunction_textureProjLodOffset_0X3B0B2C(
     BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B0B2C,
+    BuiltInParameters::p0X3B0B2C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjLodOffset_0Z3B0B1C(
+constexpr const TFunction kFunction_textureProjLodOffset_0c3B0B1C(
     BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2,
     BuiltInName::textureProjLodOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B0B1C,
+    BuiltInParameters::p0c3B0B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8463,20 +8535,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetchOffset_0P1C0C1C(
+constexpr const TFunction kFunction_texelFetchOffset_0Q1C0C1C(
     BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2,
     BuiltInName::texelFetchOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1C0C1C,
+    BuiltInParameters::p0Q1C0C1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetchOffset_0U1C0C1C(
+constexpr const TFunction kFunction_texelFetchOffset_0W1C0C1C(
     BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2,
     BuiltInName::texelFetchOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1C0C1C,
+    BuiltInParameters::p0W1C0C1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8490,20 +8562,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetchOffset_0Q2C0C2C(
+constexpr const TFunction kFunction_texelFetchOffset_0R2C0C2C(
     BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3,
     BuiltInName::texelFetchOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2C0C2C,
+    BuiltInParameters::p0R2C0C2C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetchOffset_0V2C0C2C(
+constexpr const TFunction kFunction_texelFetchOffset_0X2C0C2C(
     BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3,
     BuiltInName::texelFetchOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2C0C2C,
+    BuiltInParameters::p0X2C0C2C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8517,20 +8589,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetchOffset_0S2C0C1C(
+constexpr const TFunction kFunction_texelFetchOffset_0T2C0C1C(
     BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2,
     BuiltInName::texelFetchOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2C0C1C,
+    BuiltInParameters::p0T2C0C1C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetchOffset_0X2C0C1C(
+constexpr const TFunction kFunction_texelFetchOffset_0Z2C0C1C(
     BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2,
     BuiltInName::texelFetchOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2C0C1C,
+    BuiltInParameters::p0Z2C0C1C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8544,20 +8616,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0P1B1B1B1C(
+constexpr const TFunction kFunction_textureGradOffset_0Q1B1B1B1C(
     BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B1B1B1C,
+    BuiltInParameters::p0Q1B1B1B1C,
     5,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0U1B1B1B1C(
+constexpr const TFunction kFunction_textureGradOffset_0W1B1B1B1C(
     BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B1B1B1C,
+    BuiltInParameters::p0W1B1B1B1C,
     5,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8571,29 +8643,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0Q2B2B2B2C(
+constexpr const TFunction kFunction_textureGradOffset_0R2B2B2B2C(
     BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B2B2B2C,
+    BuiltInParameters::p0R2B2B2B2C,
     5,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0V2B2B2B2C(
+constexpr const TFunction kFunction_textureGradOffset_0X2B2B2B2C(
     BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B2B2B2C,
+    BuiltInParameters::p0X2B2B2B2C,
     5,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0Z2B1B1B1C(
+constexpr const TFunction kFunction_textureGradOffset_0c2B1B1B1C(
     BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B1B1B1C,
+    BuiltInParameters::p0c2B1B1B1C,
     5,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8607,29 +8679,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0S2B1B1B1C(
+constexpr const TFunction kFunction_textureGradOffset_0T2B1B1B1C(
     BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B1B1B1C,
+    BuiltInParameters::p0T2B1B1B1C,
     5,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0X2B1B1B1C(
+constexpr const TFunction kFunction_textureGradOffset_0Z2B1B1B1C(
     BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1B1B1C,
+    BuiltInParameters::p0Z2B1B1B1C,
     5,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGradOffset_0b3B1B1B1C(
+constexpr const TFunction kFunction_textureGradOffset_0e3B1B1B1C(
     BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2,
     BuiltInName::textureGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0b3B1B1B1C,
+    BuiltInParameters::p0e3B1B1B1C,
     5,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8643,20 +8715,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0P2B1B1B1C(
+constexpr const TFunction kFunction_textureProjGradOffset_0Q2B1B1B1C(
     BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B1B1B1C,
+    BuiltInParameters::p0Q2B1B1B1C,
     5,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0U2B1B1B1C(
+constexpr const TFunction kFunction_textureProjGradOffset_0W2B1B1B1C(
     BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B1B1B1C,
+    BuiltInParameters::p0W2B1B1B1C,
     5,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8670,20 +8742,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0P3B1B1B1C(
+constexpr const TFunction kFunction_textureProjGradOffset_0Q3B1B1B1C(
     BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B1B1B1C,
+    BuiltInParameters::p0Q3B1B1B1C,
     5,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0U3B1B1B1C(
+constexpr const TFunction kFunction_textureProjGradOffset_0W3B1B1B1C(
     BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B1B1B1C,
+    BuiltInParameters::p0W3B1B1B1C,
     5,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8697,29 +8769,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0Q3B2B2B2C(
+constexpr const TFunction kFunction_textureProjGradOffset_0R3B2B2B2C(
     BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B2B2B2C,
+    BuiltInParameters::p0R3B2B2B2C,
     5,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0V3B2B2B2C(
+constexpr const TFunction kFunction_textureProjGradOffset_0X3B2B2B2C(
     BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B2B2B2C,
+    BuiltInParameters::p0X3B2B2B2C,
     5,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjGradOffset_0Z3B1B1B1C(
+constexpr const TFunction kFunction_textureProjGradOffset_0c3B1B1B1C(
     BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2,
     BuiltInName::textureProjGradOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B1B1B1C,
+    BuiltInParameters::p0c3B1B1B1C,
     5,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8733,20 +8805,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0P1B1C0B(
+constexpr const TFunction kFunction_textureOffset_0Q1B1C0B(
     BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B1C0B,
+    BuiltInParameters::p0Q1B1C0B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0U1B1C0B(
+constexpr const TFunction kFunction_textureOffset_0W1B1C0B(
     BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B1C0B,
+    BuiltInParameters::p0W1B1C0B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8760,29 +8832,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0Q2B2C0B(
+constexpr const TFunction kFunction_textureOffset_0R2B2C0B(
     BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B2C0B,
+    BuiltInParameters::p0R2B2C0B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0V2B2C0B(
+constexpr const TFunction kFunction_textureOffset_0X2B2C0B(
     BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B2C0B,
+    BuiltInParameters::p0X2B2C0B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0Z2B1C0B(
+constexpr const TFunction kFunction_textureOffset_0c2B1C0B(
     BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B1C0B,
+    BuiltInParameters::p0c2B1C0B,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -8796,20 +8868,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0S2B1C0B(
+constexpr const TFunction kFunction_textureOffset_0T2B1C0B(
     BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B1C0B,
+    BuiltInParameters::p0T2B1C0B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureOffset_0X2B1C0B(
+constexpr const TFunction kFunction_textureOffset_0Z2B1C0B(
     BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1,
     BuiltInName::textureOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1C0B,
+    BuiltInParameters::p0Z2B1C0B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8823,20 +8895,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0P2B1C0B(
+constexpr const TFunction kFunction_textureProjOffset_0Q2B1C0B(
     BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B1C0B,
+    BuiltInParameters::p0Q2B1C0B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0U2B1C0B(
+constexpr const TFunction kFunction_textureProjOffset_0W2B1C0B(
     BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B1C0B,
+    BuiltInParameters::p0W2B1C0B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8850,20 +8922,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0P3B1C0B(
+constexpr const TFunction kFunction_textureProjOffset_0Q3B1C0B(
     BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B1C0B,
+    BuiltInParameters::p0Q3B1C0B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0U3B1C0B(
+constexpr const TFunction kFunction_textureProjOffset_0W3B1C0B(
     BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B1C0B,
+    BuiltInParameters::p0W3B1C0B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -8877,29 +8949,29 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0Q3B2C0B(
+constexpr const TFunction kFunction_textureProjOffset_0R3B2C0B(
     BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B2C0B,
+    BuiltInParameters::p0R3B2C0B,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0V3B2C0B(
+constexpr const TFunction kFunction_textureProjOffset_0X3B2C0B(
     BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B2C0B,
+    BuiltInParameters::p0X3B2C0B,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProjOffset_0Z3B1C0B(
+constexpr const TFunction kFunction_textureProjOffset_0c3B1C0B(
     BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1,
     BuiltInName::textureProjOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B1C0B,
+    BuiltInParameters::p0c3B1C0B,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -9021,20 +9093,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0P1B0B(
+constexpr const TFunction kFunction_texture_0Q1B0B(
     BuiltInId::texture_ISampler2D1_Float2_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B0B1C,
+    BuiltInParameters::p0Q1B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0U1B0B(
+constexpr const TFunction kFunction_texture_0W1B0B(
     BuiltInId::texture_USampler2D1_Float2_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B0B1C,
+    BuiltInParameters::p0W1B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9048,20 +9120,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0Q2B0B(
+constexpr const TFunction kFunction_texture_0R2B0B(
     BuiltInId::texture_ISampler3D1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q2B0B2C,
+    BuiltInParameters::p0R2B0B2C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0V2B0B(
+constexpr const TFunction kFunction_texture_0X2B0B(
     BuiltInId::texture_USampler3D1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V2B0B2C,
+    BuiltInParameters::p0X2B0B2C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9075,20 +9147,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0R2B0B(
+constexpr const TFunction kFunction_texture_0S2B0B(
     BuiltInId::texture_ISamplerCube1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R2B0B,
+    BuiltInParameters::p0S2B0B,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0W2B0B(
+constexpr const TFunction kFunction_texture_0Y2B0B(
     BuiltInId::texture_USamplerCube1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W2B0B,
+    BuiltInParameters::p0Y2B0B,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9102,20 +9174,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0S2B0B(
+constexpr const TFunction kFunction_texture_0T2B0B(
     BuiltInId::texture_ISampler2DArray1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B0B1C,
+    BuiltInParameters::p0T2B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0X2B0B(
+constexpr const TFunction kFunction_texture_0Z2B0B(
     BuiltInId::texture_USampler2DArray1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B0B1C,
+    BuiltInParameters::p0Z2B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9129,20 +9201,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0P2B0B(
+constexpr const TFunction kFunction_textureProj_0Q2B0B(
     BuiltInId::textureProj_ISampler2D1_Float3_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P2B0B1C,
+    BuiltInParameters::p0Q2B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0U2B0B(
+constexpr const TFunction kFunction_textureProj_0W2B0B(
     BuiltInId::textureProj_USampler2D1_Float3_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U2B0B1C,
+    BuiltInParameters::p0W2B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9156,20 +9228,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0P3B0B(
+constexpr const TFunction kFunction_textureProj_0Q3B0B(
     BuiltInId::textureProj_ISampler2D1_Float4_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P3B0B1C,
+    BuiltInParameters::p0Q3B0B1C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0U3B0B(
+constexpr const TFunction kFunction_textureProj_0W3B0B(
     BuiltInId::textureProj_USampler2D1_Float4_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U3B0B1C,
+    BuiltInParameters::p0W3B0B1C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9183,47 +9255,47 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0Q3B0B(
+constexpr const TFunction kFunction_textureProj_0R3B0B(
     BuiltInId::textureProj_ISampler3D1_Float4_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Q3B0B2C,
+    BuiltInParameters::p0R3B0B2C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0V3B0B(
+constexpr const TFunction kFunction_textureProj_0X3B0B(
     BuiltInId::textureProj_USampler3D1_Float4_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0V3B0B2C,
+    BuiltInParameters::p0X3B0B2C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0Z2B0B(
+constexpr const TFunction kFunction_texture_0c2B0B(
     BuiltInId::texture_Sampler2DShadow1_Float3_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z2B0B1C,
+    BuiltInParameters::p0c2B0B1C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texture_0a3B0B(
+constexpr const TFunction kFunction_texture_0d3B0B(
     BuiltInId::texture_SamplerCubeShadow1_Float4_Float1,
     BuiltInName::texture,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0a3B0B,
+    BuiltInParameters::p0d3B0B,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureProj_0Z3B0B(
+constexpr const TFunction kFunction_textureProj_0c3B0B(
     BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1,
     BuiltInName::textureProj,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z3B0B1C,
+    BuiltInParameters::p0c3B0B1C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
@@ -9291,20 +9363,47 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0T1C0C(
+constexpr const TFunction kFunction_texelFetch_0U1C0C(
     BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0T1C0C,
+    BuiltInParameters::p0U1C0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_texelFetch_0Y1C0C(
+constexpr const TFunction kFunction_texelFetch_0a1C0C(
     BuiltInId::texelFetch_USampler2DMS1_Int2_Int1,
     BuiltInName::texelFetch,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Y1C0C,
+    BuiltInParameters::p0a1C0C,
+    3,
+    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_texelFetch_0P2C0C(
+    BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1,
+    BuiltInName::texelFetch,
+    TExtension::ANGLE_texture_multisample_array,
+    BuiltInParameters::p0P2C0C,
+    3,
+    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_texelFetch_0V2C0C(
+    BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1,
+    BuiltInName::texelFetch,
+    TExtension::ANGLE_texture_multisample_array,
+    BuiltInParameters::p0V2C0C,
+    3,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_texelFetch_0b2C0C(
+    BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1,
+    BuiltInName::texelFetch,
+    TExtension::ANGLE_texture_multisample_array,
+    BuiltInParameters::p0b2C0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9318,20 +9417,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0P1B(
+constexpr const TFunction kFunction_textureGather_0Q1B(
     BuiltInId::textureGather_ISampler2D1_Float2,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B0C,
+    BuiltInParameters::p0Q1B1B1B1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0U1B(
+constexpr const TFunction kFunction_textureGather_0W1B(
     BuiltInId::textureGather_USampler2D1_Float2,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B0B1C,
+    BuiltInParameters::p0W1B1C0C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9345,20 +9444,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0P1B0C(
+constexpr const TFunction kFunction_textureGather_0Q1B0C(
     BuiltInId::textureGather_ISampler2D1_Float2_Int1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B0C,
+    BuiltInParameters::p0Q1B0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0U1B0C(
+constexpr const TFunction kFunction_textureGather_0W1B0C(
     BuiltInId::textureGather_USampler2D1_Float2_Int1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B0C,
+    BuiltInParameters::p0W1B0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9372,20 +9471,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0S2B(
+constexpr const TFunction kFunction_textureGather_0T2B(
     BuiltInId::textureGather_ISampler2DArray1_Float3,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B0B1C,
+    BuiltInParameters::p0T2B1B1B1C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0X2B(
+constexpr const TFunction kFunction_textureGather_0Z2B(
     BuiltInId::textureGather_USampler2DArray1_Float3,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1C0C,
+    BuiltInParameters::p0Z2B1B1B1C,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9399,20 +9498,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0S2B0C(
+constexpr const TFunction kFunction_textureGather_0T2B0C(
     BuiltInId::textureGather_ISampler2DArray1_Float3_Int1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B0C,
+    BuiltInParameters::p0T2B0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0X2B0C(
+constexpr const TFunction kFunction_textureGather_0Z2B0C(
     BuiltInId::textureGather_USampler2DArray1_Float3_Int1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B0C,
+    BuiltInParameters::p0Z2B0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9426,20 +9525,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0R2B(
+constexpr const TFunction kFunction_textureGather_0S2B(
     BuiltInId::textureGather_ISamplerCube1_Float3,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R2B2B2B,
+    BuiltInParameters::p0S2B0B,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0W2B(
+constexpr const TFunction kFunction_textureGather_0Y2B(
     BuiltInId::textureGather_USamplerCube1_Float3,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W2B0B,
+    BuiltInParameters::p0Y2B0B,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9453,74 +9552,74 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0R2B0C(
+constexpr const TFunction kFunction_textureGather_0S2B0C(
     BuiltInId::textureGather_ISamplerCube1_Float3_Int1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0R2B0C,
+    BuiltInParameters::p0S2B0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0W2B0C(
+constexpr const TFunction kFunction_textureGather_0Y2B0C(
     BuiltInId::textureGather_USamplerCube1_Float3_Int1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0W2B0C,
+    BuiltInParameters::p0Y2B0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0Z1B(
+constexpr const TFunction kFunction_textureGather_0c1B(
     BuiltInId::textureGather_Sampler2DShadow1_Float2,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z1B0B1C,
+    BuiltInParameters::p0c1B0B1C,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0Z1B0B(
+constexpr const TFunction kFunction_textureGather_0c1B0B(
     BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z1B0B1C,
+    BuiltInParameters::p0c1B0B1C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0b2B(
+constexpr const TFunction kFunction_textureGather_0e2B(
     BuiltInId::textureGather_Sampler2DArrayShadow1_Float3,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0b2B0B1C,
+    BuiltInParameters::p0e2B0B1C,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0b2B0B(
+constexpr const TFunction kFunction_textureGather_0e2B0B(
     BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0b2B0B1C,
+    BuiltInParameters::p0e2B0B1C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0a2B(
+constexpr const TFunction kFunction_textureGather_0d2B(
     BuiltInId::textureGather_SamplerCubeShadow1_Float3,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0a2B0B,
+    BuiltInParameters::p0d2B0B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGather_0a2B0B(
+constexpr const TFunction kFunction_textureGather_0d2B0B(
     BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1,
     BuiltInName::textureGather,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0a2B0B,
+    BuiltInParameters::p0d2B0B,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9534,20 +9633,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0P1B1C(
+constexpr const TFunction kFunction_textureGatherOffset_0Q1B1C(
     BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B1C0B,
+    BuiltInParameters::p0Q1B1C0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0U1B1C(
+constexpr const TFunction kFunction_textureGatherOffset_0W1B1C(
     BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B1C0C,
+    BuiltInParameters::p0W1B1C0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9561,20 +9660,20 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0P1B1C0C(
+constexpr const TFunction kFunction_textureGatherOffset_0Q1B1C0C(
     BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0P1B1C0C,
+    BuiltInParameters::p0Q1B1C0C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0U1B1C0C(
+constexpr const TFunction kFunction_textureGatherOffset_0W1B1C0C(
     BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0U1B1C0C,
+    BuiltInParameters::p0W1B1C0C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9583,25 +9682,25 @@
     BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0K2B1C0B,
+    BuiltInParameters::p0K2B1C0C,
     3,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0S2B1C(
+constexpr const TFunction kFunction_textureGatherOffset_0T2B1C(
     BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B1C0B,
+    BuiltInParameters::p0T2B1C0C,
     3,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0X2B1C(
+constexpr const TFunction kFunction_textureGatherOffset_0Z2B1C(
     BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1C0C,
+    BuiltInParameters::p0Z2B1C0C,
     3,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9615,38 +9714,38 @@
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0S2B1C0C(
+constexpr const TFunction kFunction_textureGatherOffset_0T2B1C0C(
     BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0S2B1C0C,
+    BuiltInParameters::p0T2B1C0C,
     4,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0X2B1C0C(
+constexpr const TFunction kFunction_textureGatherOffset_0Z2B1C0C(
     BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0X2B1C0C,
+    BuiltInParameters::p0Z2B1C0C,
     4,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0Z1B0B1C(
+constexpr const TFunction kFunction_textureGatherOffset_0c1B0B1C(
     BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0Z1B0B1C,
+    BuiltInParameters::p0c1B0B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_textureGatherOffset_0b2B0B1C(
+constexpr const TFunction kFunction_textureGatherOffset_0e2B0B1C(
     BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2,
     BuiltInName::textureGatherOffset,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0b2B0B1C,
+    BuiltInParameters::p0e2B0B1C,
     4,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
@@ -9673,7 +9772,7 @@
     BuiltInId::dFdx_Float3,
     BuiltInName::dFdx,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpDFdx,
@@ -9682,7 +9781,7 @@
     BuiltInId::dFdx_Float4,
     BuiltInName::dFdx,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpDFdx,
@@ -9709,7 +9808,7 @@
     BuiltInId::dFdy_Float3,
     BuiltInName::dFdy,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpDFdy,
@@ -9718,7 +9817,7 @@
     BuiltInId::dFdy_Float4,
     BuiltInName::dFdy,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpDFdy,
@@ -9745,7 +9844,7 @@
     BuiltInId::fwidth_Float3,
     BuiltInName::fwidth,
     TExtension::UNDEFINED,
-    BuiltInParameters::p2B2C,
+    BuiltInParameters::p2B_o_2C,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpFwidth,
@@ -9754,7 +9853,7 @@
     BuiltInId::fwidth_Float4,
     BuiltInName::fwidth,
     TExtension::UNDEFINED,
-    BuiltInParameters::p3B1B,
+    BuiltInParameters::p3B0B0B,
     1,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpFwidth,
@@ -9930,62 +10029,35 @@
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpAtomicCompSwap,
     false);
-constexpr const TFunction kFunction_imageSize_0c(
+constexpr const TFunction kFunction_imageSize_0f(
     BuiltInId::imageSize_Image2D1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0c1C3B,
+    BuiltInParameters::p0f1C3B,
     1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageSize_0d(
-    BuiltInId::imageSize_IImage2D1,
-    BuiltInName::imageSize,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0d1C3C,
-    1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageSize_0e(
-    BuiltInId::imageSize_UImage2D1,
-    BuiltInName::imageSize,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0e1C3D,
-    1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageSize_0f(
-    BuiltInId::imageSize_Image3D1,
-    BuiltInName::imageSize,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0f2C3B,
-    1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
-    EOpCallBuiltInFunction,
-    false);
 constexpr const TFunction kFunction_imageSize_0g(
-    BuiltInId::imageSize_IImage3D1,
+    BuiltInId::imageSize_IImage2D1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0g2C3C,
+    BuiltInParameters::p0g1C3C,
     1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0h(
-    BuiltInId::imageSize_UImage3D1,
+    BuiltInId::imageSize_UImage2D1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0h2C3D,
+    BuiltInParameters::p0h1C3D,
     1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0i(
-    BuiltInId::imageSize_Image2DArray1,
+    BuiltInId::imageSize_Image3D1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0i2C3B,
@@ -9994,7 +10066,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0j(
-    BuiltInId::imageSize_IImage2DArray1,
+    BuiltInId::imageSize_IImage3D1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0j2C3C,
@@ -10003,7 +10075,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0k(
-    BuiltInId::imageSize_UImage2DArray1,
+    BuiltInId::imageSize_UImage3D1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0k2C3D,
@@ -10012,88 +10084,88 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0l(
-    BuiltInId::imageSize_ImageCube1,
+    BuiltInId::imageSize_Image2DArray1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0l2C3B,
     1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0m(
-    BuiltInId::imageSize_IImageCube1,
+    BuiltInId::imageSize_IImage2DArray1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0m2C3C,
     1,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageSize_0n(
-    BuiltInId::imageSize_UImageCube1,
+    BuiltInId::imageSize_UImage2DArray1,
     BuiltInName::imageSize,
     TExtension::UNDEFINED,
     BuiltInParameters::p0n2C3D,
     1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageSize_0o(
+    BuiltInId::imageSize_ImageCube1,
+    BuiltInName::imageSize,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0o2C3B,
+    1,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageLoad_0c1C(
+constexpr const TFunction kFunction_imageSize_0p(
+    BuiltInId::imageSize_IImageCube1,
+    BuiltInName::imageSize,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0p2C3C,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageSize_0q(
+    BuiltInId::imageSize_UImageCube1,
+    BuiltInName::imageSize,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0q2C3D,
+    1,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageLoad_0f1C(
     BuiltInId::imageLoad_Image2D1_Int2,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0c1C3B,
+    BuiltInParameters::p0f1C3B,
     2,
     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageLoad_0d1C(
+constexpr const TFunction kFunction_imageLoad_0g1C(
     BuiltInId::imageLoad_IImage2D1_Int2,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0d1C3C,
+    BuiltInParameters::p0g1C3C,
     2,
     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageLoad_0e1C(
+constexpr const TFunction kFunction_imageLoad_0h1C(
     BuiltInId::imageLoad_UImage2D1_Int2,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0e1C3D,
-    2,
-    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageLoad_0f2C(
-    BuiltInId::imageLoad_Image3D1_Int3,
-    BuiltInName::imageLoad,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0f2C3B,
-    2,
-    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageLoad_0g2C(
-    BuiltInId::imageLoad_IImage3D1_Int3,
-    BuiltInName::imageLoad,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0g2C3C,
-    2,
-    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageLoad_0h2C(
-    BuiltInId::imageLoad_UImage3D1_Int3,
-    BuiltInName::imageLoad,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0h2C3D,
+    BuiltInParameters::p0h1C3D,
     2,
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageLoad_0i2C(
-    BuiltInId::imageLoad_Image2DArray1_Int3,
+    BuiltInId::imageLoad_Image3D1_Int3,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
     BuiltInParameters::p0i2C3B,
@@ -10102,7 +10174,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageLoad_0j2C(
-    BuiltInId::imageLoad_IImage2DArray1_Int3,
+    BuiltInId::imageLoad_IImage3D1_Int3,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
     BuiltInParameters::p0j2C3C,
@@ -10111,7 +10183,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageLoad_0k2C(
-    BuiltInId::imageLoad_UImage2DArray1_Int3,
+    BuiltInId::imageLoad_UImage3D1_Int3,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
     BuiltInParameters::p0k2C3D,
@@ -10120,7 +10192,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageLoad_0l2C(
-    BuiltInId::imageLoad_ImageCube1_Int3,
+    BuiltInId::imageLoad_Image2DArray1_Int3,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
     BuiltInParameters::p0l2C3B,
@@ -10129,7 +10201,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageLoad_0m2C(
-    BuiltInId::imageLoad_IImageCube1_Int3,
+    BuiltInId::imageLoad_IImage2DArray1_Int3,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
     BuiltInParameters::p0m2C3C,
@@ -10138,7 +10210,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageLoad_0n2C(
-    BuiltInId::imageLoad_UImageCube1_Int3,
+    BuiltInId::imageLoad_UImage2DArray1_Int3,
     BuiltInName::imageLoad,
     TExtension::UNDEFINED,
     BuiltInParameters::p0n2C3D,
@@ -10146,62 +10218,62 @@
     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageStore_0c1C3B(
+constexpr const TFunction kFunction_imageLoad_0o2C(
+    BuiltInId::imageLoad_ImageCube1_Int3,
+    BuiltInName::imageLoad,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0o2C3B,
+    2,
+    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageLoad_0p2C(
+    BuiltInId::imageLoad_IImageCube1_Int3,
+    BuiltInName::imageLoad,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0p2C3C,
+    2,
+    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageLoad_0q2C(
+    BuiltInId::imageLoad_UImageCube1_Int3,
+    BuiltInName::imageLoad,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0q2C3D,
+    2,
+    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageStore_0f1C3B(
     BuiltInId::imageStore_Image2D1_Int2_Float4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0c1C3B,
+    BuiltInParameters::p0f1C3B,
     3,
     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageStore_0d1C3C(
+constexpr const TFunction kFunction_imageStore_0g1C3C(
     BuiltInId::imageStore_IImage2D1_Int2_Int4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0d1C3C,
+    BuiltInParameters::p0g1C3C,
     3,
     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
-constexpr const TFunction kFunction_imageStore_0e1C3D(
+constexpr const TFunction kFunction_imageStore_0h1C3D(
     BuiltInId::imageStore_UImage2D1_Int2_UInt4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
-    BuiltInParameters::p0e1C3D,
-    3,
-    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageStore_0f2C3B(
-    BuiltInId::imageStore_Image3D1_Int3_Float4,
-    BuiltInName::imageStore,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0f2C3B,
-    3,
-    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageStore_0g2C3C(
-    BuiltInId::imageStore_IImage3D1_Int3_Int4,
-    BuiltInName::imageStore,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0g2C3C,
-    3,
-    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
-    EOpCallBuiltInFunction,
-    false);
-constexpr const TFunction kFunction_imageStore_0h2C3D(
-    BuiltInId::imageStore_UImage3D1_Int3_UInt4,
-    BuiltInName::imageStore,
-    TExtension::UNDEFINED,
-    BuiltInParameters::p0h2C3D,
+    BuiltInParameters::p0h1C3D,
     3,
     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageStore_0i2C3B(
-    BuiltInId::imageStore_Image2DArray1_Int3_Float4,
+    BuiltInId::imageStore_Image3D1_Int3_Float4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
     BuiltInParameters::p0i2C3B,
@@ -10210,7 +10282,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageStore_0j2C3C(
-    BuiltInId::imageStore_IImage2DArray1_Int3_Int4,
+    BuiltInId::imageStore_IImage3D1_Int3_Int4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
     BuiltInParameters::p0j2C3C,
@@ -10219,7 +10291,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageStore_0k2C3D(
-    BuiltInId::imageStore_UImage2DArray1_Int3_UInt4,
+    BuiltInId::imageStore_UImage3D1_Int3_UInt4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
     BuiltInParameters::p0k2C3D,
@@ -10228,7 +10300,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageStore_0l2C3B(
-    BuiltInId::imageStore_ImageCube1_Int3_Float4,
+    BuiltInId::imageStore_Image2DArray1_Int3_Float4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
     BuiltInParameters::p0l2C3B,
@@ -10237,7 +10309,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageStore_0m2C3C(
-    BuiltInId::imageStore_IImageCube1_Int3_Int4,
+    BuiltInId::imageStore_IImage2DArray1_Int3_Int4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
     BuiltInParameters::p0m2C3C,
@@ -10246,7 +10318,7 @@
     EOpCallBuiltInFunction,
     false);
 constexpr const TFunction kFunction_imageStore_0n2C3D(
-    BuiltInId::imageStore_UImageCube1_Int3_UInt4,
+    BuiltInId::imageStore_UImage2DArray1_Int3_UInt4,
     BuiltInName::imageStore,
     TExtension::UNDEFINED,
     BuiltInParameters::p0n2C3D,
@@ -10254,6 +10326,33 @@
     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
     EOpCallBuiltInFunction,
     false);
+constexpr const TFunction kFunction_imageStore_0o2C3B(
+    BuiltInId::imageStore_ImageCube1_Int3_Float4,
+    BuiltInName::imageStore,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0o2C3B,
+    3,
+    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageStore_0p2C3C(
+    BuiltInId::imageStore_IImageCube1_Int3_Int4,
+    BuiltInName::imageStore,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0p2C3C,
+    3,
+    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
+    EOpCallBuiltInFunction,
+    false);
+constexpr const TFunction kFunction_imageStore_0q2C3D(
+    BuiltInId::imageStore_UImageCube1_Int3_UInt4,
+    BuiltInName::imageStore,
+    TExtension::UNDEFINED,
+    BuiltInParameters::p0q2C3D,
+    3,
+    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
+    EOpCallBuiltInFunction,
+    false);
 constexpr const TFunction kFunction_memoryBarrier_(
     BuiltInId::memoryBarrier,
     BuiltInName::memoryBarrier,
@@ -11142,12 +11241,21 @@
                 }
                 break;
             }
-            case 0x12659f72u:
+            case 0x126520f8u:
             {
                 if (name.beginsWith(BuiltInName::imageSize))
                 {
                     ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_imageSize_0c;
+                    return &BuiltInFunction::kFunction_imageSize_0p;
+                }
+                break;
+            }
+            case 0x12653967u:
+            {
+                if (name.beginsWith(BuiltInName::imageSize))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_imageSize_0q;
                 }
                 break;
             }
@@ -11160,24 +11268,6 @@
                 }
                 break;
             }
-            case 0x1265c077u:
-            {
-                if (name.beginsWith(BuiltInName::imageSize))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_imageSize_0d;
-                }
-                break;
-            }
-            case 0x1265c6e0u:
-            {
-                if (name.beginsWith(BuiltInName::imageSize))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_imageSize_0e;
-                }
-                break;
-            }
             case 0x1265cbcau:
             {
                 if (name.beginsWith(BuiltInName::imageSize))
@@ -11196,6 +11286,15 @@
                 }
                 break;
             }
+            case 0x1265e196u:
+            {
+                if (name.beginsWith(BuiltInName::imageSize))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_imageSize_0o;
+                }
+                break;
+            }
             case 0x1265e603u:
             {
                 if (name.beginsWith(BuiltInName::imageSize))
@@ -11250,21 +11349,12 @@
                 }
                 break;
             }
-            case 0x12701a06u:
+            case 0x12700109u:
             {
                 if (name.beginsWith(BuiltInName::imageLoad))
                 {
                     ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_imageLoad_0g2C;
-                }
-                break;
-            }
-            case 0x1270829bu:
-            {
-                if (name.beginsWith(BuiltInName::imageLoad))
-                {
-                    ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_imageLoad_0h2C;
+                    return &BuiltInFunction::kFunction_imageLoad_0h1C;
                 }
                 break;
             }
@@ -11331,21 +11421,21 @@
                 }
                 break;
             }
-            case 0x12737e4du:
+            case 0x12737ed6u:
             {
                 if (name.beginsWith(BuiltInName::imageLoad))
                 {
                     ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_imageLoad_0c1C;
+                    return &BuiltInFunction::kFunction_imageLoad_0q2C;
                 }
                 break;
             }
-            case 0x1273b8c5u:
+            case 0x12739c87u:
             {
                 if (name.beginsWith(BuiltInName::imageLoad))
                 {
                     ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_imageLoad_0d1C;
+                    return &BuiltInFunction::kFunction_imageLoad_0f1C;
                 }
                 break;
             }
@@ -11367,6 +11457,15 @@
                 }
                 break;
             }
+            case 0x12744c0du:
+            {
+                if (name.beginsWith(BuiltInName::imageLoad))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_imageLoad_0o2C;
+                }
+                break;
+            }
             case 0x127474cau:
             {
                 if (name.beginsWith(BuiltInName::imageLoad))
@@ -11385,12 +11484,12 @@
                 }
                 break;
             }
-            case 0x1274d104u:
+            case 0x1274d54bu:
             {
                 if (name.beginsWith(BuiltInName::imageLoad))
                 {
                     ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_imageLoad_0f2C;
+                    return &BuiltInFunction::kFunction_imageLoad_0p2C;
                 }
                 break;
             }
@@ -11403,12 +11502,12 @@
                 }
                 break;
             }
-            case 0x12754b32u:
+            case 0x12755603u:
             {
                 if (name.beginsWith(BuiltInName::imageLoad))
                 {
                     ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_imageLoad_0e1C;
+                    return &BuiltInFunction::kFunction_imageLoad_0g1C;
                 }
                 break;
             }
@@ -11491,6 +11590,14 @@
                 }
                 break;
             }
+            case 0x14880e11u:
+            {
+                if (name == BuiltInName::texelFetch_0V2C0C)
+                {
+                    return &BuiltInFunction::kFunction_texelFetch_0V2C0C;
+                }
+                break;
+            }
             case 0x1488ffa7u:
             {
                 if (name == BuiltInName::usubBorrow_3D3D3D)
@@ -11499,6 +11606,15 @@
                 }
                 break;
             }
+            case 0x1489244fu:
+            {
+                if (name.beginsWith(BuiltInName::texelFetch))
+                {
+                    ASSERT(name.length() == 17);
+                    return &BuiltInFunction::kFunction_texelFetch_0b2C0C;
+                }
+                break;
+            }
             case 0x14896692u:
             {
                 if (name.beginsWith(BuiltInName::usubBorrow))
@@ -11516,6 +11632,14 @@
                 }
                 break;
             }
+            case 0x148a0cecu:
+            {
+                if (name == BuiltInName::imageStore_0p2C3C)
+                {
+                    return &BuiltInFunction::kFunction_imageStore_0p2C3C;
+                }
+                break;
+            }
             case 0x148ab5f1u:
             {
                 if (name == BuiltInName::usubBorrow_1D1D1D)
@@ -11524,45 +11648,30 @@
                 }
                 break;
             }
-            case 0x148aca44u:
-            {
-                if (name == BuiltInName::imageStore_0d1C3C)
-                {
-                    return &BuiltInFunction::kFunction_imageStore_0d1C3C;
-                }
-                break;
-            }
-            case 0x148c1ac9u:
-            {
-                if (name == BuiltInName::texelFetch_0T1C0C)
-                {
-                    return &BuiltInFunction::kFunction_texelFetch_0T1C0C;
-                }
-                break;
-            }
-            case 0x148c5f8bu:
+            case 0x148bb1bdu:
             {
                 if (name.beginsWith(BuiltInName::imageStore))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_imageStore_0f2C3B;
+                    return &BuiltInFunction::kFunction_imageStore_0g1C3C;
                 }
                 break;
             }
-            case 0x148d6aebu:
-            {
-                if (name == BuiltInName::imageStore_0c1C3B)
-                {
-                    return &BuiltInFunction::kFunction_imageStore_0c1C3B;
-                }
-                break;
-            }
-            case 0x148d8868u:
+            case 0x148c1e41u:
             {
                 if (name.beginsWith(BuiltInName::imageStore))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_imageStore_0g2C3C;
+                    return &BuiltInFunction::kFunction_imageStore_0q2C3D;
+                }
+                break;
+            }
+            case 0x148d86dcu:
+            {
+                if (name.beginsWith(BuiltInName::imageStore))
+                {
+                    ASSERT(name.length() == 17);
+                    return &BuiltInFunction::kFunction_imageStore_0f1C3B;
                 }
                 break;
             }
@@ -11574,12 +11683,12 @@
                 }
                 break;
             }
-            case 0x148dd2bdu:
+            case 0x148ddb10u:
             {
                 if (name.beginsWith(BuiltInName::texelFetch))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_texelFetch_0Y1C0C;
+                    return &BuiltInFunction::kFunction_texelFetch_0a1C0C;
                 }
                 break;
             }
@@ -11594,10 +11703,26 @@
             }
             case 0x148e668au:
             {
-                if (name.beginsWith(BuiltInName::imageStore))
+                if (name == BuiltInName::imageStore_0j2C3C)
+                {
+                    return &BuiltInFunction::kFunction_imageStore_0j2C3C;
+                }
+                break;
+            }
+            case 0x148e872bu:
+            {
+                if (name == BuiltInName::texelFetch_0P2C0C)
+                {
+                    return &BuiltInFunction::kFunction_texelFetch_0P2C0C;
+                }
+                break;
+            }
+            case 0x148ed16fu:
+            {
+                if (name.beginsWith(BuiltInName::texelFetch))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_imageStore_0j2C3C;
+                    return &BuiltInFunction::kFunction_texelFetch_0U1C0C;
                 }
                 break;
             }
@@ -11609,14 +11734,6 @@
                 }
                 break;
             }
-            case 0x148f334cu:
-            {
-                if (name == BuiltInName::imageStore_0e1C3D)
-                {
-                    return &BuiltInFunction::kFunction_imageStore_0e1C3D;
-                }
-                break;
-            }
             case 0x148f6fe1u:
             {
                 if (name == BuiltInName::usubBorrow_0D0D0D)
@@ -11625,12 +11742,12 @@
                 }
                 break;
             }
-            case 0x148f864bu:
+            case 0x148f7a82u:
             {
                 if (name.beginsWith(BuiltInName::imageStore))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_imageStore_0h2C3D;
+                    return &BuiltInFunction::kFunction_imageStore_0o2C3B;
                 }
                 break;
             }
@@ -11643,6 +11760,68 @@
                 }
                 break;
             }
+            case 0x148ffee8u:
+            {
+                if (name == BuiltInName::imageStore_0h1C3D)
+                {
+                    return &BuiltInFunction::kFunction_imageStore_0h1C3D;
+                }
+                break;
+            }
+            case 0x167394d8u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_textureSize_0U;
+                }
+                break;
+            }
+            case 0x1673a791u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_textureSize_0V;
+                }
+                break;
+            }
+            case 0x1673b4b7u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_textureSize_0P;
+                }
+                break;
+            }
+            case 0x1673f496u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_textureSize_0O;
+                }
+                break;
+            }
+            case 0x16752ab6u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_textureSize_0a;
+                }
+                break;
+            }
+            case 0x1675566fu:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 14);
+                    return &BuiltInFunction::kFunction_textureSize_0b;
+                }
+                break;
+            }
             case 0x187b7b7cu:
             {
                 if (name.beginsWith(BuiltInName::packSnorm4x8))
@@ -11743,21 +11922,39 @@
                 }
                 break;
             }
-            case 0x1a907855u:
+            case 0x1a910beau:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0P1B;
+                    return &BuiltInFunction::kFunction_textureGather_0Y2B;
                 }
                 break;
             }
-            case 0x1a90d2c2u:
+            case 0x1a91963cu:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0U1B;
+                    return &BuiltInFunction::kFunction_textureGather_0d2B;
+                }
+                break;
+            }
+            case 0x1a926b0du:
+            {
+                if (name.beginsWith(BuiltInName::textureGather))
+                {
+                    ASSERT(name.length() == 18);
+                    return &BuiltInFunction::kFunction_textureGather_0c1B;
+                }
+                break;
+            }
+            case 0x1a92a168u:
+            {
+                if (name.beginsWith(BuiltInName::textureGather))
+                {
+                    ASSERT(name.length() == 18);
+                    return &BuiltInFunction::kFunction_textureGather_0W1B;
                 }
                 break;
             }
@@ -11770,30 +11967,12 @@
                 }
                 break;
             }
-            case 0x1a92e9e5u:
+            case 0x1a92c882u:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0a2B;
-                }
-                break;
-            }
-            case 0x1a93b6c9u:
-            {
-                if (name.beginsWith(BuiltInName::textureGather))
-                {
-                    ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0X2B;
-                }
-                break;
-            }
-            case 0x1a93d703u:
-            {
-                if (name.beginsWith(BuiltInName::textureGather))
-                {
-                    ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0W2B;
+                    return &BuiltInFunction::kFunction_textureGather_0Q1B;
                 }
                 break;
             }
@@ -11815,30 +11994,30 @@
                 }
                 break;
             }
-            case 0x1a960122u:
+            case 0x1a94d27du:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0Z1B;
+                    return &BuiltInFunction::kFunction_textureGather_0e2B;
                 }
                 break;
             }
-            case 0x1a96f0e7u:
+            case 0x1a94eb48u:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0b2B;
+                    return &BuiltInFunction::kFunction_textureGather_0Z2B;
                 }
                 break;
             }
-            case 0x1a973644u:
+            case 0x1a95f707u:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 18);
-                    return &BuiltInFunction::kFunction_textureGather_0R2B;
+                    return &BuiltInFunction::kFunction_textureGather_0T2B;
                 }
                 break;
             }
@@ -11851,46 +12030,71 @@
                 }
                 break;
             }
-            case 0x1aa023e1u:
+            case 0x1aa039c7u:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureGather_0U1B0C;
+                    return &BuiltInFunction::kFunction_textureGather_0e2B0B;
                 }
                 break;
             }
-            case 0x1aa086cfu:
-            {
-                if (name == BuiltInName::textureGather_0P1B0C)
-                {
-                    return &BuiltInFunction::kFunction_textureGather_0P1B0C;
-                }
-                break;
-            }
-            case 0x1aa1ab43u:
+            case 0x1aa133bcu:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureGather_0b2B0B;
+                    return &BuiltInFunction::kFunction_textureGather_0Q1B0C;
                 }
                 break;
             }
-            case 0x1aa1bc4cu:
+            case 0x1aa17115u:
+            {
+                if (name == BuiltInName::textureGather_0Z2B0C)
+                {
+                    return &BuiltInFunction::kFunction_textureGather_0Z2B0C;
+                }
+                break;
+            }
+            case 0x1aa182eeu:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
                 {
                     ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureGather_0X2B0C;
+                    return &BuiltInFunction::kFunction_textureGather_0c1B0B;
+                }
+                break;
+            }
+            case 0x1aa220b0u:
+            {
+                if (name.beginsWith(BuiltInName::textureGather))
+                {
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureGather_0W1B0C;
+                }
+                break;
+            }
+            case 0x1aa2aafeu:
+            {
+                if (name == BuiltInName::textureGather_0T2B0C)
+                {
+                    return &BuiltInFunction::kFunction_textureGather_0T2B0C;
+                }
+                break;
+            }
+            case 0x1aa353f8u:
+            {
+                if (name.beginsWith(BuiltInName::textureGather))
+                {
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureGather_0d2B0B;
                 }
                 break;
             }
             case 0x1aa3ef46u:
             {
-                if (name.beginsWith(BuiltInName::textureGather))
+                if (name == BuiltInName::textureGather_0S2B0C)
                 {
-                    ASSERT(name.length() == 20);
                     return &BuiltInFunction::kFunction_textureGather_0S2B0C;
                 }
                 break;
@@ -11912,40 +12116,6 @@
                 }
                 break;
             }
-            case 0x1aa573ecu:
-            {
-                if (name == BuiltInName::textureGather_0a2B0B)
-                {
-                    return &BuiltInFunction::kFunction_textureGather_0a2B0B;
-                }
-                break;
-            }
-            case 0x1aa590bdu:
-            {
-                if (name == BuiltInName::textureGather_0R2B0C)
-                {
-                    return &BuiltInFunction::kFunction_textureGather_0R2B0C;
-                }
-                break;
-            }
-            case 0x1aa5f0c6u:
-            {
-                if (name.beginsWith(BuiltInName::textureGather))
-                {
-                    ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureGather_0Z1B0B;
-                }
-                break;
-            }
-            case 0x1aa6c806u:
-            {
-                if (name.beginsWith(BuiltInName::textureGather))
-                {
-                    ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureGather_0W2B0C;
-                }
-                break;
-            }
             case 0x1aa78b86u:
             {
                 if (name.beginsWith(BuiltInName::textureGather))
@@ -11955,6 +12125,15 @@
                 }
                 break;
             }
+            case 0x1aa7fa48u:
+            {
+                if (name.beginsWith(BuiltInName::textureGather))
+                {
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureGather_0Y2B0C;
+                }
+                break;
+            }
             case 0x1c894fb3u:
             {
                 if (name.beginsWith(BuiltInName::unpackSnorm4x8))
@@ -12172,9 +12351,8 @@
             }
             case 0x1eb17d11u:
             {
-                if (name.beginsWith(BuiltInName::bitfieldExtract))
+                if (name == BuiltInName::bitfieldExtract_3C0C0C)
                 {
-                    ASSERT(name.length() == 22);
                     return &BuiltInFunction::kFunction_bitfieldExtract_3C0C0C;
                 }
                 break;
@@ -12232,12 +12410,29 @@
                 }
                 break;
             }
-            case 0x26d1d7a3u:
+            case 0x26d00e91u:
+            {
+                if (name == BuiltInName::textureGatherOffset_0W1B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0W1B1C;
+                }
+                break;
+            }
+            case 0x26d0b451u:
             {
                 if (name.beginsWith(BuiltInName::textureGatherOffset))
                 {
                     ASSERT(name.length() == 26);
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0P1B1C;
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0Q1B1C;
+                }
+                break;
+            }
+            case 0x26d0db41u:
+            {
+                if (name.beginsWith(BuiltInName::textureGatherOffset))
+                {
+                    ASSERT(name.length() == 26);
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0Z2B1C;
                 }
                 break;
             }
@@ -12250,21 +12445,11 @@
                 }
                 break;
             }
-            case 0x26d29f74u:
+            case 0x26d2d875u:
             {
-                if (name.beginsWith(BuiltInName::textureGatherOffset))
+                if (name == BuiltInName::textureGatherOffset_0T2B1C)
                 {
-                    ASSERT(name.length() == 26);
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0S2B1C;
-                }
-                break;
-            }
-            case 0x26d701d7u:
-            {
-                if (name.beginsWith(BuiltInName::textureGatherOffset))
-                {
-                    ASSERT(name.length() == 26);
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0X2B1C;
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0T2B1C;
                 }
                 break;
             }
@@ -12277,35 +12462,11 @@
                 }
                 break;
             }
-            case 0x26d7dce7u:
+            case 0x26e1982cu:
             {
-                if (name == BuiltInName::textureGatherOffset_0U1B1C)
+                if (name == BuiltInName::textureGatherOffset_0T2B1C0C)
                 {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0U1B1C;
-                }
-                break;
-            }
-            case 0x26e015c9u:
-            {
-                if (name == BuiltInName::textureGatherOffset_0S2B1C0C)
-                {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0S2B1C0C;
-                }
-                break;
-            }
-            case 0x26e1df8cu:
-            {
-                if (name == BuiltInName::textureGatherOffset_0X2B1C0C)
-                {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0X2B1C0C;
-                }
-                break;
-            }
-            case 0x26e2cb51u:
-            {
-                if (name == BuiltInName::textureGatherOffset_0U1B1C0C)
-                {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0U1B1C0C;
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0T2B1C0C;
                 }
                 break;
             }
@@ -12325,27 +12486,43 @@
                 }
                 break;
             }
-            case 0x26e596a4u:
+            case 0x26e47c82u:
             {
-                if (name == BuiltInName::textureGatherOffset_0Z1B0B1C)
+                if (name == BuiltInName::textureGatherOffset_0Z2B1C0C)
                 {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0Z1B0B1C;
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0Z2B1C0C;
                 }
                 break;
             }
-            case 0x26e5b6bdu:
+            case 0x26e53ca1u:
             {
-                if (name == BuiltInName::textureGatherOffset_0P1B1C0C)
+                if (name == BuiltInName::textureGatherOffset_0e2B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0P1B1C0C;
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0e2B0B1C;
                 }
                 break;
             }
-            case 0x26e6991bu:
+            case 0x26e567feu:
             {
-                if (name == BuiltInName::textureGatherOffset_0b2B0B1C)
+                if (name == BuiltInName::textureGatherOffset_0Q1B1C0C)
                 {
-                    return &BuiltInFunction::kFunction_textureGatherOffset_0b2B0B1C;
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0Q1B1C0C;
+                }
+                break;
+            }
+            case 0x26e580eau:
+            {
+                if (name == BuiltInName::textureGatherOffset_0c1B0B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0c1B0B1C;
+                }
+                break;
+            }
+            case 0x26e737a0u:
+            {
+                if (name == BuiltInName::textureGatherOffset_0W1B1C0C)
+                {
+                    return &BuiltInFunction::kFunction_textureGatherOffset_0W1B1C0C;
                 }
                 break;
             }
@@ -13114,9 +13291,8 @@
             }
             case 0x0657f3adu:
             {
-                if (name.beginsWith(BuiltInName::mix))
+                if (name == BuiltInName::mix_1B1B1E)
                 {
-                    ASSERT(name.length() == 10);
                     return &BuiltInFunction::kFunction_mix_1B1B1E;
                 }
                 break;
@@ -13641,9 +13817,8 @@
             }
             case 0x0a631d0bu:
             {
-                if (name.beginsWith(BuiltInName::clamp))
+                if (name == BuiltInName::clamp_1D1D1D)
                 {
-                    ASSERT(name.length() == 12);
                     return &BuiltInFunction::kFunction_clamp_1D1D1D;
                 }
                 break;
@@ -13727,6 +13902,15 @@
                 }
                 break;
             }
+            case 0x0e600d82u:
+            {
+                if (name.beginsWith(BuiltInName::texture))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_texture_0c2B;
+                }
+                break;
+            }
             case 0x0e60445cu:
             {
                 if (name.beginsWith(BuiltInName::texture))
@@ -13736,6 +13920,24 @@
                 }
                 break;
             }
+            case 0x0e6044aeu:
+            {
+                if (name.beginsWith(BuiltInName::texture))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_texture_0e3B;
+                }
+                break;
+            }
+            case 0x0e60bb56u:
+            {
+                if (name.beginsWith(BuiltInName::texture))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_texture_0Q1B;
+                }
+                break;
+            }
             case 0x0e61222eu:
             {
                 if (name.beginsWith(BuiltInName::texture))
@@ -13745,15 +13947,6 @@
                 }
                 break;
             }
-            case 0x0e61df23u:
-            {
-                if (name.beginsWith(BuiltInName::texture))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0V2B;
-                }
-                break;
-            }
             case 0x0e61e49du:
             {
                 if (name.beginsWith(BuiltInName::texture))
@@ -13772,12 +13965,12 @@
                 }
                 break;
             }
-            case 0x0e638fabu:
+            case 0x0e62790eu:
             {
                 if (name.beginsWith(BuiltInName::texture))
                 {
                     ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0Q2B;
+                    return &BuiltInFunction::kFunction_texture_0T2B;
                 }
                 break;
             }
@@ -13790,24 +13983,6 @@
                 }
                 break;
             }
-            case 0x0e644545u:
-            {
-                if (name.beginsWith(BuiltInName::texture))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0b3B;
-                }
-                break;
-            }
-            case 0x0e646500u:
-            {
-                if (name.beginsWith(BuiltInName::texture))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0W2B;
-                }
-                break;
-            }
             case 0x0e6470f1u:
             {
                 if (name.beginsWith(BuiltInName::texture))
@@ -13826,6 +14001,15 @@
                 }
                 break;
             }
+            case 0x0e64ec86u:
+            {
+                if (name.beginsWith(BuiltInName::texture))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_texture_0W1B;
+                }
+                break;
+            }
             case 0x0e65ea73u:
             {
                 if (name.beginsWith(BuiltInName::texture))
@@ -13835,15 +14019,6 @@
                 }
                 break;
             }
-            case 0x0e660d38u:
-            {
-                if (name.beginsWith(BuiltInName::texture))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0a3B;
-                }
-                break;
-            }
             case 0x0e661665u:
             {
                 if (name.beginsWith(BuiltInName::texture))
@@ -13862,21 +14037,12 @@
                 }
                 break;
             }
-            case 0x0e66cb64u:
+            case 0x0e67665bu:
             {
                 if (name.beginsWith(BuiltInName::texture))
                 {
                     ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0U1B;
-                }
-                break;
-            }
-            case 0x0e673fffu:
-            {
-                if (name.beginsWith(BuiltInName::texture))
-                {
-                    ASSERT(name.length() == 12);
-                    return &BuiltInFunction::kFunction_texture_0P1B;
+                    return &BuiltInFunction::kFunction_texture_0d3B;
                 }
                 break;
             }
@@ -13889,6 +14055,15 @@
                 }
                 break;
             }
+            case 0x0e67dce5u:
+            {
+                if (name.beginsWith(BuiltInName::texture))
+                {
+                    ASSERT(name.length() == 12);
+                    return &BuiltInFunction::kFunction_texture_0Y2B;
+                }
+                break;
+            }
             case 0x106843efu:
             {
                 if (name.beginsWith(BuiltInName::lessThan))
@@ -14078,14 +14253,6 @@
                 }
                 break;
             }
-            case 0x14880e11u:
-            {
-                if (name == BuiltInName::texelFetch_0V2C0C)
-                {
-                    return &BuiltInFunction::kFunction_texelFetch_0V2C0C;
-                }
-                break;
-            }
             case 0x14882ba7u:
             {
                 if (name.beginsWith(BuiltInName::textureLod))
@@ -14095,39 +14262,37 @@
                 }
                 break;
             }
-            case 0x14888557u:
-            {
-                if (name.beginsWith(BuiltInName::textureLod))
-                {
-                    ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_textureLod_0Q2B0B;
-                }
-                break;
-            }
-            case 0x1488b1e8u:
+            case 0x14885983u:
             {
                 if (name.beginsWith(BuiltInName::texelFetch))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_texelFetch_0Q2C0C;
+                    return &BuiltInFunction::kFunction_texelFetch_0R2C0C;
                 }
                 break;
             }
-            case 0x14894128u:
+            case 0x14885e67u:
             {
-                if (name.beginsWith(BuiltInName::texelFetch))
+                if (name == BuiltInName::texelFetch_0Z2C0C)
                 {
-                    ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_texelFetch_0P1C0C;
+                    return &BuiltInFunction::kFunction_texelFetch_0Z2C0C;
                 }
                 break;
             }
-            case 0x148999efu:
+            case 0x1488a5bfu:
+            {
+                if (name == BuiltInName::textureLod_0W1B0B)
+                {
+                    return &BuiltInFunction::kFunction_textureLod_0W1B0B;
+                }
+                break;
+            }
+            case 0x1489e510u:
             {
                 if (name.beginsWith(BuiltInName::textureLod))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_textureLod_0V2B0B;
+                    return &BuiltInFunction::kFunction_textureLod_0T2B0B;
                 }
                 break;
             }
@@ -14140,15 +14305,6 @@
                 }
                 break;
             }
-            case 0x148a2382u:
-            {
-                if (name.beginsWith(BuiltInName::texelFetch))
-                {
-                    ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_texelFetch_0S2C0C;
-                }
-                break;
-            }
             case 0x148a66beu:
             {
                 if (name == BuiltInName::textureLod_0S2B0B)
@@ -14157,6 +14313,15 @@
                 }
                 break;
             }
+            case 0x148a95e7u:
+            {
+                if (name.beginsWith(BuiltInName::textureLod))
+                {
+                    ASSERT(name.length() == 17);
+                    return &BuiltInFunction::kFunction_textureLod_0c2B0B;
+                }
+                break;
+            }
             case 0x148b00dbu:
             {
                 if (name == BuiltInName::textureLod_0J2B0B)
@@ -14208,15 +14373,6 @@
                 }
                 break;
             }
-            case 0x148d3512u:
-            {
-                if (name.beginsWith(BuiltInName::textureLod))
-                {
-                    ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_textureLod_0W2B0B;
-                }
-                break;
-            }
             case 0x148e100eu:
             {
                 if (name == BuiltInName::texelFetch_0X2C0C)
@@ -14225,12 +14381,28 @@
                 }
                 break;
             }
-            case 0x148ed16fu:
+            case 0x148e44d3u:
+            {
+                if (name == BuiltInName::textureLod_0Y2B0B)
+                {
+                    return &BuiltInFunction::kFunction_textureLod_0Y2B0B;
+                }
+                break;
+            }
+            case 0x148e5d86u:
+            {
+                if (name == BuiltInName::texelFetch_0Q1C0C)
+                {
+                    return &BuiltInFunction::kFunction_texelFetch_0Q1C0C;
+                }
+                break;
+            }
+            case 0x148e6d96u:
             {
                 if (name.beginsWith(BuiltInName::texelFetch))
                 {
                     ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_texelFetch_0U1C0C;
+                    return &BuiltInFunction::kFunction_texelFetch_0W1C0C;
                 }
                 break;
             }
@@ -14251,12 +14423,19 @@
                 }
                 break;
             }
-            case 0x148f7fe8u:
+            case 0x148fa8bbu:
             {
-                if (name.beginsWith(BuiltInName::textureLod))
+                if (name == BuiltInName::textureLod_0Q1B0B)
                 {
-                    ASSERT(name.length() == 17);
-                    return &BuiltInFunction::kFunction_textureLod_0U1B0B;
+                    return &BuiltInFunction::kFunction_textureLod_0Q1B0B;
+                }
+                break;
+            }
+            case 0x148fb13cu:
+            {
+                if (name == BuiltInName::texelFetch_0T2C0C)
+                {
+                    return &BuiltInFunction::kFunction_texelFetch_0T2C0C;
                 }
                 break;
             }
@@ -14268,14 +14447,6 @@
                 }
                 break;
             }
-            case 0x148fde6au:
-            {
-                if (name == BuiltInName::textureLod_0P1B0B)
-                {
-                    return &BuiltInFunction::kFunction_textureLod_0P1B0B;
-                }
-                break;
-            }
             case 0x148fe911u:
             {
                 if (name == BuiltInName::textureLod_0Z2B0B)
@@ -14284,33 +14455,6 @@
                 }
                 break;
             }
-            case 0x1673728cu:
-            {
-                if (name.beginsWith(BuiltInName::textureSize))
-                {
-                    ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_textureSize_0Y;
-                }
-                break;
-            }
-            case 0x1673936bu:
-            {
-                if (name.beginsWith(BuiltInName::textureSize))
-                {
-                    ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_textureSize_0T;
-                }
-                break;
-            }
-            case 0x1673f496u:
-            {
-                if (name.beginsWith(BuiltInName::textureSize))
-                {
-                    ASSERT(name.length() == 14);
-                    return &BuiltInFunction::kFunction_textureSize_0O;
-                }
-                break;
-            }
             case 0x1674ed12u:
             {
                 if (name.beginsWith(BuiltInName::determinant))
@@ -14338,15 +14482,6 @@
                 }
                 break;
             }
-            case 0x168021fbu:
-            {
-                if (name.beginsWith(BuiltInName::textureProj))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureProj_0U3B;
-                }
-                break;
-            }
             case 0x16803d05u:
             {
                 if (name.beginsWith(BuiltInName::textureSize))
@@ -14365,21 +14500,21 @@
                 }
                 break;
             }
-            case 0x16807544u:
-            {
-                if (name.beginsWith(BuiltInName::textureProj))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureProj_0P3B;
-                }
-                break;
-            }
-            case 0x1680a979u:
+            case 0x168093aau:
             {
                 if (name.beginsWith(BuiltInName::textureSize))
                 {
                     ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureSize_0U0C;
+                    return &BuiltInFunction::kFunction_textureSize_0T0C;
+                }
+                break;
+            }
+            case 0x168115fbu:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureSize_0e0C;
                 }
                 break;
             }
@@ -14392,6 +14527,15 @@
                 }
                 break;
             }
+            case 0x16812eeeu:
+            {
+                if (name.beginsWith(BuiltInName::textureProj))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureProj_0W3B;
+                }
+                break;
+            }
             case 0x168174f7u:
             {
                 if (name.beginsWith(BuiltInName::greaterThan))
@@ -14410,15 +14554,6 @@
                 }
                 break;
             }
-            case 0x1681a77du:
-            {
-                if (name.beginsWith(BuiltInName::textureProj))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureProj_0P2B;
-                }
-                break;
-            }
             case 0x1681d6b4u:
             {
                 if (name.beginsWith(BuiltInName::greaterThan))
@@ -14428,15 +14563,6 @@
                 }
                 break;
             }
-            case 0x1681e38fu:
-            {
-                if (name.beginsWith(BuiltInName::textureProj))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureProj_0V3B;
-                }
-                break;
-            }
             case 0x1681f153u:
             {
                 if (name.beginsWith(BuiltInName::textureSize))
@@ -14455,21 +14581,12 @@
                 }
                 break;
             }
-            case 0x168255e2u:
+            case 0x1682b6c4u:
             {
-                if (name.beginsWith(BuiltInName::textureSize))
+                if (name.beginsWith(BuiltInName::textureProj))
                 {
                     ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureSize_0V0C;
-                }
-                break;
-            }
-            case 0x16829c77u:
-            {
-                if (name.beginsWith(BuiltInName::textureSize))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureSize_0b0C;
+                    return &BuiltInFunction::kFunction_textureProj_0X3B;
                 }
                 break;
             }
@@ -14482,6 +14599,15 @@
                 }
                 break;
             }
+            case 0x1682d660u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureSize_0Y0C;
+                }
+                break;
+            }
             case 0x16838d15u:
             {
                 if (name.beginsWith(BuiltInName::textureProj))
@@ -14509,15 +14635,6 @@
                 }
                 break;
             }
-            case 0x16842f7du:
-            {
-                if (name.beginsWith(BuiltInName::textureProj))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureProj_0Z3B;
-                }
-                break;
-            }
             case 0x168434eeu:
             {
                 if (name.beginsWith(BuiltInName::textureSize))
@@ -14554,6 +14671,24 @@
                 }
                 break;
             }
+            case 0x1684f1b3u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureSize_0d0C;
+                }
+                break;
+            }
+            case 0x1685011eu:
+            {
+                if (name.beginsWith(BuiltInName::textureProj))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureProj_0Q2B;
+                }
+                break;
+            }
             case 0x1685b785u:
             {
                 if (name.beginsWith(BuiltInName::textureProj))
@@ -14608,15 +14743,6 @@
                 }
                 break;
             }
-            case 0x16866f5du:
-            {
-                if (name.beginsWith(BuiltInName::textureSize))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureSize_0P0C;
-                }
-                break;
-            }
             case 0x16869d00u:
             {
                 if (name.beginsWith(BuiltInName::textureSize))
@@ -14635,6 +14761,15 @@
                 }
                 break;
             }
+            case 0x1686aa87u:
+            {
+                if (name.beginsWith(BuiltInName::textureSize))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureSize_0c0C;
+                }
+                break;
+            }
             case 0x1686cb94u:
             {
                 if (name.beginsWith(BuiltInName::textureProj))
@@ -14644,21 +14779,30 @@
                 }
                 break;
             }
-            case 0x1686d6ddu:
-            {
-                if (name.beginsWith(BuiltInName::textureSize))
-                {
-                    ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureSize_0a0C;
-                }
-                break;
-            }
-            case 0x168705d2u:
+            case 0x16875a59u:
             {
                 if (name.beginsWith(BuiltInName::textureProj))
                 {
                     ASSERT(name.length() == 16);
-                    return &BuiltInFunction::kFunction_textureProj_0U2B;
+                    return &BuiltInFunction::kFunction_textureProj_0c3B;
+                }
+                break;
+            }
+            case 0x1687c54du:
+            {
+                if (name.beginsWith(BuiltInName::textureProj))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureProj_0R3B;
+                }
+                break;
+            }
+            case 0x1687d107u:
+            {
+                if (name.beginsWith(BuiltInName::textureProj))
+                {
+                    ASSERT(name.length() == 16);
+                    return &BuiltInFunction::kFunction_textureProj_0W2B;
                 }
                 break;
             }
@@ -14670,27 +14814,19 @@
                 }
                 break;
             }
-            case 0x16a11436u:
+            case 0x16a04ad9u:
             {
-                if (name == BuiltInName::textureGrad_0W2B2B2B)
+                if (name == BuiltInName::textureGrad_0X2B2B2B)
                 {
-                    return &BuiltInFunction::kFunction_textureGrad_0W2B2B2B;
+                    return &BuiltInFunction::kFunction_textureGrad_0X2B2B2B;
                 }
                 break;
             }
-            case 0x16a149ecu:
+            case 0x16a1478fu:
             {
-                if (name == BuiltInName::textureGrad_0a3B2B2B)
+                if (name == BuiltInName::textureGrad_0e3B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureGrad_0a3B2B2B;
-                }
-                break;
-            }
-            case 0x16a19158u:
-            {
-                if (name == BuiltInName::textureGrad_0Q2B2B2B)
-                {
-                    return &BuiltInFunction::kFunction_textureGrad_0Q2B2B2B;
+                    return &BuiltInFunction::kFunction_textureGrad_0e3B1B1B;
                 }
                 break;
             }
@@ -14710,11 +14846,11 @@
                 }
                 break;
             }
-            case 0x16a22779u:
+            case 0x16a2ff3du:
             {
-                if (name == BuiltInName::textureGrad_0X2B1B1B)
+                if (name == BuiltInName::textureGrad_0Q1B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureGrad_0X2B1B1B;
+                    return &BuiltInFunction::kFunction_textureGrad_0Q1B1B1B;
                 }
                 break;
             }
@@ -14726,27 +14862,51 @@
                 }
                 break;
             }
-            case 0x16a47be7u:
+            case 0x16a3a842u:
             {
-                if (name == BuiltInName::textureGrad_0P1B1B1B)
+                if (name == BuiltInName::textureGrad_0c2B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureGrad_0P1B1B1B;
+                    return &BuiltInFunction::kFunction_textureGrad_0c2B1B1B;
                 }
                 break;
             }
-            case 0x16a53465u:
+            case 0x16a3b8f6u:
             {
-                if (name == BuiltInName::textureGrad_0b3B1B1B)
+                if (name == BuiltInName::textureGrad_0Y2B2B2B)
                 {
-                    return &BuiltInFunction::kFunction_textureGrad_0b3B1B1B;
+                    return &BuiltInFunction::kFunction_textureGrad_0Y2B2B2B;
                 }
                 break;
             }
-            case 0x16a57654u:
+            case 0x16a4a66cu:
             {
-                if (name == BuiltInName::textureGrad_0S2B1B1B)
+                if (name == BuiltInName::textureGrad_0W1B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureGrad_0S2B1B1B;
+                    return &BuiltInFunction::kFunction_textureGrad_0W1B1B1B;
+                }
+                break;
+            }
+            case 0x16a4e27cu:
+            {
+                if (name == BuiltInName::textureGrad_0d3B2B2B)
+                {
+                    return &BuiltInFunction::kFunction_textureGrad_0d3B2B2B;
+                }
+                break;
+            }
+            case 0x16a66883u:
+            {
+                if (name == BuiltInName::textureGrad_0T2B1B1B)
+                {
+                    return &BuiltInFunction::kFunction_textureGrad_0T2B1B1B;
+                }
+                break;
+            }
+            case 0x16a68a81u:
+            {
+                if (name == BuiltInName::textureGrad_0S2B2B2B)
+                {
+                    return &BuiltInFunction::kFunction_textureGrad_0S2B2B2B;
                 }
                 break;
             }
@@ -14766,22 +14926,6 @@
                 }
                 break;
             }
-            case 0x16a735dau:
-            {
-                if (name == BuiltInName::textureGrad_0U1B1B1B)
-                {
-                    return &BuiltInFunction::kFunction_textureGrad_0U1B1B1B;
-                }
-                break;
-            }
-            case 0x16a7e88eu:
-            {
-                if (name == BuiltInName::textureGrad_0V2B2B2B)
-                {
-                    return &BuiltInFunction::kFunction_textureGrad_0V2B2B2B;
-                }
-                break;
-            }
             case 0x187df788u:
             {
                 if (name.beginsWith(BuiltInName::packHalf2x16))
@@ -14917,19 +15061,21 @@
                 }
                 break;
             }
-            case 0x1aa08a7au:
+            case 0x1aa01270u:
             {
-                if (name == BuiltInName::textureOffset_0V2B2C)
+                if (name.beginsWith(BuiltInName::textureOffset))
                 {
-                    return &BuiltInFunction::kFunction_textureOffset_0V2B2C;
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureOffset_0Q1B1C;
                 }
                 break;
             }
-            case 0x1aa0931au:
+            case 0x1aa05156u:
             {
-                if (name == BuiltInName::textureOffset_0P1B1C)
+                if (name.beginsWith(BuiltInName::textureOffset))
                 {
-                    return &BuiltInFunction::kFunction_textureOffset_0P1B1C;
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureOffset_0c2B1C;
                 }
                 break;
             }
@@ -14942,20 +15088,20 @@
                 }
                 break;
             }
-            case 0x1aa1c620u:
+            case 0x1aa26095u:
             {
                 if (name.beginsWith(BuiltInName::textureOffset))
                 {
                     ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureOffset_0U1B1C;
+                    return &BuiltInFunction::kFunction_textureOffset_0T2B1C;
                 }
                 break;
             }
-            case 0x1aa2cd54u:
+            case 0x1aa31637u:
             {
-                if (name == BuiltInName::textureOffset_0S2B1C)
+                if (name == BuiltInName::textureOffset_0X2B2C)
                 {
-                    return &BuiltInFunction::kFunction_textureOffset_0S2B1C;
+                    return &BuiltInFunction::kFunction_textureOffset_0X2B2C;
                 }
                 break;
             }
@@ -14968,23 +15114,6 @@
                 }
                 break;
             }
-            case 0x1aa39cdeu:
-            {
-                if (name.beginsWith(BuiltInName::textureOffset))
-                {
-                    ASSERT(name.length() == 20);
-                    return &BuiltInFunction::kFunction_textureOffset_0X2B1C;
-                }
-                break;
-            }
-            case 0x1aa3c02eu:
-            {
-                if (name == BuiltInName::textureOffset_0Q2B2C)
-                {
-                    return &BuiltInFunction::kFunction_textureOffset_0Q2B2C;
-                }
-                break;
-            }
             case 0x1aa41f4au:
             {
                 if (name.beginsWith(BuiltInName::textureOffset))
@@ -14994,6 +15123,15 @@
                 }
                 break;
             }
+            case 0x1aa541b7u:
+            {
+                if (name.beginsWith(BuiltInName::textureOffset))
+                {
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureOffset_0W1B1C;
+                }
+                break;
+            }
             case 0x1aa64995u:
             {
                 if (name.beginsWith(BuiltInName::textureOffset))
@@ -15003,6 +15141,15 @@
                 }
                 break;
             }
+            case 0x1aa7a781u:
+            {
+                if (name.beginsWith(BuiltInName::textureOffset))
+                {
+                    ASSERT(name.length() == 20);
+                    return &BuiltInFunction::kFunction_textureOffset_0R2B2C;
+                }
+                break;
+            }
             case 0x1c887424u:
             {
                 if (name.beginsWith(BuiltInName::intBitsToFloat))
@@ -15138,6 +15285,15 @@
                 }
                 break;
             }
+            case 0x1ca81af6u:
+            {
+                if (name.beginsWith(BuiltInName::textureProjLod))
+                {
+                    ASSERT(name.length() == 21);
+                    return &BuiltInFunction::kFunction_textureProjLod_0c3B0B;
+                }
+                break;
+            }
             case 0x1ca85d55u:
             {
                 if (name == BuiltInName::textureProjLod_0Q3B0B)
@@ -15146,15 +15302,6 @@
                 }
                 break;
             }
-            case 0x1ca8adb6u:
-            {
-                if (name.beginsWith(BuiltInName::textureProjLod))
-                {
-                    ASSERT(name.length() == 21);
-                    return &BuiltInFunction::kFunction_textureProjLod_0P2B0B;
-                }
-                break;
-            }
             case 0x1ca8c89au:
             {
                 if (name == BuiltInName::textureProjLod_0H3B0B)
@@ -15163,6 +15310,15 @@
                 }
                 break;
             }
+            case 0x1ca9ff27u:
+            {
+                if (name.beginsWith(BuiltInName::textureProjLod))
+                {
+                    ASSERT(name.length() == 21);
+                    return &BuiltInFunction::kFunction_textureProjLod_0W2B0B;
+                }
+                break;
+            }
             case 0x1caa108bu:
             {
                 if (name.beginsWith(BuiltInName::textureProjLod))
@@ -15172,54 +15328,45 @@
                 }
                 break;
             }
-            case 0x1cab218fu:
+            case 0x1caa957cu:
+            {
+                if (name == BuiltInName::textureProjLod_0Q2B0B)
+                {
+                    return &BuiltInFunction::kFunction_textureProjLod_0Q2B0B;
+                }
+                break;
+            }
+            case 0x1cab3a35u:
             {
                 if (name.beginsWith(BuiltInName::textureProjLod))
                 {
                     ASSERT(name.length() == 21);
-                    return &BuiltInFunction::kFunction_textureProjLod_0U3B0B;
+                    return &BuiltInFunction::kFunction_textureProjLod_0W3B0B;
                 }
                 break;
             }
-            case 0x1cabc05fu:
+            case 0x1cadb5feu:
             {
                 if (name.beginsWith(BuiltInName::textureProjLod))
                 {
                     ASSERT(name.length() == 21);
-                    return &BuiltInFunction::kFunction_textureProjLod_0U2B0B;
+                    return &BuiltInFunction::kFunction_textureProjLod_0X3B0B;
                 }
                 break;
             }
-            case 0x1cad9ae9u:
-            {
-                if (name == BuiltInName::textureProjLod_0V3B0B)
-                {
-                    return &BuiltInFunction::kFunction_textureProjLod_0V3B0B;
-                }
-                break;
-            }
-            case 0x1cadd758u:
+            case 0x1cae6ef8u:
             {
                 if (name.beginsWith(BuiltInName::textureProjLod))
                 {
                     ASSERT(name.length() == 21);
-                    return &BuiltInFunction::kFunction_textureProjLod_0P3B0B;
-                }
-                break;
-            }
-            case 0x1caef3bcu:
-            {
-                if (name == BuiltInName::textureProjLod_0Z3B0B)
-                {
-                    return &BuiltInFunction::kFunction_textureProjLod_0Z3B0B;
+                    return &BuiltInFunction::kFunction_textureProjLod_0R3B0B;
                 }
                 break;
             }
             case 0x1caf96afu:
             {
-                if (name.beginsWith(BuiltInName::textureProjLod))
+                if (name == BuiltInName::textureProjLod_0I3B0B)
                 {
-                    ASSERT(name.length() == 21);
                     return &BuiltInFunction::kFunction_textureProjLod_0I3B0B;
                 }
                 break;
@@ -15314,19 +15461,27 @@
                 }
                 break;
             }
-            case 0x1ec19613u:
+            case 0x1ec1a98bu:
             {
-                if (name == BuiltInName::textureProjGrad_0V3B2B2B)
+                if (name == BuiltInName::textureProjGrad_0Q2B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0V3B2B2B;
+                    return &BuiltInFunction::kFunction_textureProjGrad_0Q2B1B1B;
                 }
                 break;
             }
-            case 0x1ec1ecc3u:
+            case 0x1ec2304bu:
             {
-                if (name == BuiltInName::textureProjGrad_0Q3B2B2B)
+                if (name == BuiltInName::textureProjGrad_0X3B2B2B)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0Q3B2B2B;
+                    return &BuiltInFunction::kFunction_textureProjGrad_0X3B2B2B;
+                }
+                break;
+            }
+            case 0x1ec25826u:
+            {
+                if (name == BuiltInName::textureProjGrad_0W2B1B1B)
+                {
+                    return &BuiltInFunction::kFunction_textureProjGrad_0W2B1B1B;
                 }
                 break;
             }
@@ -15338,14 +15493,6 @@
                 }
                 break;
             }
-            case 0x1ec374bcu:
-            {
-                if (name == BuiltInName::textureProjGrad_0P2B1B1B)
-                {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0P2B1B1B;
-                }
-                break;
-            }
             case 0x1ec3ee61u:
             {
                 if (name == BuiltInName::textureProjGrad_0I3B2B2B)
@@ -15354,19 +15501,11 @@
                 }
                 break;
             }
-            case 0x1ec4aa1fu:
+            case 0x1ec578cfu:
             {
-                if (name == BuiltInName::textureProjGrad_0U3B1B1B)
+                if (name == BuiltInName::textureProjGrad_0R3B2B2B)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0U3B1B1B;
-                }
-                break;
-            }
-            case 0x1ec50275u:
-            {
-                if (name == BuiltInName::textureProjGrad_0P3B1B1B)
-                {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0P3B1B1B;
+                    return &BuiltInFunction::kFunction_textureProjGrad_0R3B2B2B;
                 }
                 break;
             }
@@ -15378,19 +15517,27 @@
                 }
                 break;
             }
-            case 0x1ec64714u:
+            case 0x1ec5fc9fu:
             {
-                if (name == BuiltInName::textureProjGrad_0Z3B1B1B)
+                if (name == BuiltInName::textureProjGrad_0Q3B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0Z3B1B1B;
+                    return &BuiltInFunction::kFunction_textureProjGrad_0Q3B1B1B;
                 }
                 break;
             }
-            case 0x1ec71f74u:
+            case 0x1ec67b05u:
             {
-                if (name == BuiltInName::textureProjGrad_0U2B1B1B)
+                if (name == BuiltInName::textureProjGrad_0W3B1B1B)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGrad_0U2B1B1B;
+                    return &BuiltInFunction::kFunction_textureProjGrad_0W3B1B1B;
+                }
+                break;
+            }
+            case 0x1ec719d1u:
+            {
+                if (name == BuiltInName::textureProjGrad_0c3B1B1B)
+                {
+                    return &BuiltInFunction::kFunction_textureProjGrad_0c3B1B1B;
                 }
                 break;
             }
@@ -15421,14 +15568,6 @@
                 }
                 break;
             }
-            case 0x20c863e3u:
-            {
-                if (name == BuiltInName::texelFetchOffset_0X2C0C1C)
-                {
-                    return &BuiltInFunction::kFunction_texelFetchOffset_0X2C0C1C;
-                }
-                break;
-            }
             case 0x20c8fa96u:
             {
                 if (name == BuiltInName::texelFetchOffset_0I2C0C2C)
@@ -15437,27 +15576,19 @@
                 }
                 break;
             }
-            case 0x20c91b7du:
+            case 0x20c9733bu:
             {
-                if (name == BuiltInName::texelFetchOffset_0S2C0C1C)
+                if (name == BuiltInName::textureLodOffset_0c2B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_texelFetchOffset_0S2C0C1C;
+                    return &BuiltInFunction::kFunction_textureLodOffset_0c2B0B1C;
                 }
                 break;
             }
-            case 0x20c97fcau:
+            case 0x20c9a178u:
             {
-                if (name == BuiltInName::textureLodOffset_0X2B0B1C)
+                if (name == BuiltInName::texelFetchOffset_0X2C0C2C)
                 {
-                    return &BuiltInFunction::kFunction_textureLodOffset_0X2B0B1C;
-                }
-                break;
-            }
-            case 0x20c9c544u:
-            {
-                if (name == BuiltInName::texelFetchOffset_0P1C0C1C)
-                {
-                    return &BuiltInFunction::kFunction_texelFetchOffset_0P1C0C1C;
+                    return &BuiltInFunction::kFunction_texelFetchOffset_0X2C0C2C;
                 }
                 break;
             }
@@ -15469,14 +15600,6 @@
                 }
                 break;
             }
-            case 0x20ca735fu:
-            {
-                if (name == BuiltInName::textureLodOffset_0V2B0B2C)
-                {
-                    return &BuiltInFunction::kFunction_textureLodOffset_0V2B0B2C;
-                }
-                break;
-            }
             case 0x20cac068u:
             {
                 if (name == BuiltInName::texelFetchOffset_0K2C0C1C)
@@ -15485,14 +15608,6 @@
                 }
                 break;
             }
-            case 0x20caddbdu:
-            {
-                if (name == BuiltInName::textureLodOffset_0S2B0B1C)
-                {
-                    return &BuiltInFunction::kFunction_textureLodOffset_0S2B0B1C;
-                }
-                break;
-            }
             case 0x20cb3102u:
             {
                 if (name == BuiltInName::texelFetchOffset_0H1C0C1C)
@@ -15501,27 +15616,35 @@
                 }
                 break;
             }
-            case 0x20cbd512u:
+            case 0x20cb952du:
             {
-                if (name == BuiltInName::textureLodOffset_0P1B0B1C)
+                if (name == BuiltInName::texelFetchOffset_0Z2C0C1C)
                 {
-                    return &BuiltInFunction::kFunction_textureLodOffset_0P1B0B1C;
+                    return &BuiltInFunction::kFunction_texelFetchOffset_0Z2C0C1C;
                 }
                 break;
             }
-            case 0x20cc7638u:
+            case 0x20cbf8d9u:
             {
-                if (name == BuiltInName::texelFetchOffset_0U1C0C1C)
+                if (name == BuiltInName::texelFetchOffset_0W1C0C1C)
                 {
-                    return &BuiltInFunction::kFunction_texelFetchOffset_0U1C0C1C;
+                    return &BuiltInFunction::kFunction_texelFetchOffset_0W1C0C1C;
                 }
                 break;
             }
-            case 0x20cc8384u:
+            case 0x20cbfefau:
             {
-                if (name == BuiltInName::textureLodOffset_0Q2B0B2C)
+                if (name == BuiltInName::texelFetchOffset_0R2C0C2C)
                 {
-                    return &BuiltInFunction::kFunction_textureLodOffset_0Q2B0B2C;
+                    return &BuiltInFunction::kFunction_texelFetchOffset_0R2C0C2C;
+                }
+                break;
+            }
+            case 0x20cc1a52u:
+            {
+                if (name == BuiltInName::texelFetchOffset_0Q1C0C1C)
+                {
+                    return &BuiltInFunction::kFunction_texelFetchOffset_0Q1C0C1C;
                 }
                 break;
             }
@@ -15533,6 +15656,14 @@
                 }
                 break;
             }
+            case 0x20ccf3edu:
+            {
+                if (name == BuiltInName::textureLodOffset_0Q1B0B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureLodOffset_0Q1B0B1C;
+                }
+                break;
+            }
             case 0x20cd0de3u:
             {
                 if (name == BuiltInName::textureLodOffset_0K2B0B1C)
@@ -15541,11 +15672,27 @@
                 }
                 break;
             }
-            case 0x20cd911au:
+            case 0x20cd8d8du:
             {
-                if (name == BuiltInName::texelFetchOffset_0Q2C0C2C)
+                if (name == BuiltInName::textureLodOffset_0T2B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_texelFetchOffset_0Q2C0C2C;
+                    return &BuiltInFunction::kFunction_textureLodOffset_0T2B0B1C;
+                }
+                break;
+            }
+            case 0x20cdc61au:
+            {
+                if (name == BuiltInName::textureLodOffset_0W1B0B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureLodOffset_0W1B0B1C;
+                }
+                break;
+            }
+            case 0x20cde370u:
+            {
+                if (name == BuiltInName::textureLodOffset_0X2B0B2C)
+                {
+                    return &BuiltInFunction::kFunction_textureLodOffset_0X2B0B2C;
                 }
                 break;
             }
@@ -15557,36 +15704,28 @@
                 }
                 break;
             }
-            case 0x20ce3ec5u:
+            case 0x20ceb3dau:
             {
-                if (name == BuiltInName::texelFetchOffset_0V2C0C2C)
+                if (name == BuiltInName::textureLodOffset_0R2B0B2C)
                 {
-                    return &BuiltInFunction::kFunction_texelFetchOffset_0V2C0C2C;
+                    return &BuiltInFunction::kFunction_textureLodOffset_0R2B0B2C;
                 }
                 break;
             }
-            case 0x20cfb2d5u:
+            case 0x20cfe609u:
             {
-                if (name == BuiltInName::textureLodOffset_0U1B0B1C)
+                if (name == BuiltInName::texelFetchOffset_0T2C0C1C)
                 {
-                    return &BuiltInFunction::kFunction_textureLodOffset_0U1B0B1C;
+                    return &BuiltInFunction::kFunction_texelFetchOffset_0T2C0C1C;
                 }
                 break;
             }
-            case 0x22c0015bu:
+            case 0x22c03489u:
             {
                 if (name.beginsWith(BuiltInName::textureProjOffset))
                 {
                     ASSERT(name.length() == 24);
-                    return &BuiltInFunction::kFunction_textureProjOffset_0U3B1C;
-                }
-                break;
-            }
-            case 0x22c02df1u:
-            {
-                if (name == BuiltInName::textureProjOffset_0U2B1C)
-                {
-                    return &BuiltInFunction::kFunction_textureProjOffset_0U2B1C;
+                    return &BuiltInFunction::kFunction_textureProjOffset_0W2B1C;
                 }
                 break;
             }
@@ -15598,6 +15737,31 @@
                 }
                 break;
             }
+            case 0x22c19992u:
+            {
+                if (name.beginsWith(BuiltInName::textureProjOffset))
+                {
+                    ASSERT(name.length() == 24);
+                    return &BuiltInFunction::kFunction_textureProjOffset_0c3B1C;
+                }
+                break;
+            }
+            case 0x22c246a2u:
+            {
+                if (name == BuiltInName::textureProjOffset_0Q3B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureProjOffset_0Q3B1C;
+                }
+                break;
+            }
+            case 0x22c29005u:
+            {
+                if (name == BuiltInName::textureProjOffset_0Q2B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureProjOffset_0Q2B1C;
+                }
+                break;
+            }
             case 0x22c2da46u:
             {
                 if (name == BuiltInName::textureProjOffset_0H3B1C)
@@ -15606,11 +15770,20 @@
                 }
                 break;
             }
-            case 0x22c2db53u:
+            case 0x22c3e359u:
             {
-                if (name == BuiltInName::textureProjOffset_0Q3B2C)
+                if (name == BuiltInName::textureProjOffset_0W3B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjOffset_0Q3B2C;
+                    return &BuiltInFunction::kFunction_textureProjOffset_0W3B1C;
+                }
+                break;
+            }
+            case 0x22c43880u:
+            {
+                if (name.beginsWith(BuiltInName::textureProjOffset))
+                {
+                    ASSERT(name.length() == 24);
+                    return &BuiltInFunction::kFunction_textureProjOffset_0R3B2C;
                 }
                 break;
             }
@@ -15623,46 +15796,19 @@
                 }
                 break;
             }
-            case 0x22c4cdaau:
+            case 0x22c47909u:
             {
-                if (name.beginsWith(BuiltInName::textureProjOffset))
+                if (name == BuiltInName::textureProjOffset_0X3B2C)
                 {
-                    ASSERT(name.length() == 24);
-                    return &BuiltInFunction::kFunction_textureProjOffset_0P2B1C;
+                    return &BuiltInFunction::kFunction_textureProjOffset_0X3B2C;
                 }
                 break;
             }
-            case 0x22c528fau:
+            case 0x22e0fe8cu:
             {
-                if (name == BuiltInName::textureProjOffset_0V3B2C)
+                if (name == BuiltInName::textureGradOffset_0W1B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjOffset_0V3B2C;
-                }
-                break;
-            }
-            case 0x22c5ec11u:
-            {
-                if (name.beginsWith(BuiltInName::textureProjOffset))
-                {
-                    ASSERT(name.length() == 24);
-                    return &BuiltInFunction::kFunction_textureProjOffset_0Z3B1C;
-                }
-                break;
-            }
-            case 0x22c6f82eu:
-            {
-                if (name.beginsWith(BuiltInName::textureProjOffset))
-                {
-                    ASSERT(name.length() == 24);
-                    return &BuiltInFunction::kFunction_textureProjOffset_0P3B1C;
-                }
-                break;
-            }
-            case 0x22e059fdu:
-            {
-                if (name == BuiltInName::textureGradOffset_0U1B1B1B1C)
-                {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0U1B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0W1B1B1B1C;
                 }
                 break;
             }
@@ -15674,19 +15820,19 @@
                 }
                 break;
             }
-            case 0x22e23b04u:
+            case 0x22e28d80u:
             {
-                if (name == BuiltInName::textureGradOffset_0X2B1B1B1C)
+                if (name == BuiltInName::textureGradOffset_0T2B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0X2B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0T2B1B1B1C;
                 }
                 break;
             }
-            case 0x22e2defdu:
+            case 0x22e3ab1cu:
             {
-                if (name == BuiltInName::textureGradOffset_0b3B1B1B1C)
+                if (name == BuiltInName::textureGradOffset_0e3B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0b3B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0e3B1B1B1C;
                 }
                 break;
             }
@@ -15698,27 +15844,27 @@
                 }
                 break;
             }
-            case 0x22e54911u:
+            case 0x22e5bb38u:
             {
-                if (name == BuiltInName::textureGradOffset_0S2B1B1B1C)
+                if (name == BuiltInName::textureGradOffset_0R2B2B2B2C)
                 {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0S2B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0R2B2B2B2C;
                 }
                 break;
             }
-            case 0x22e57332u:
+            case 0x22e5c876u:
             {
-                if (name == BuiltInName::textureGradOffset_0Q2B2B2B2C)
+                if (name == BuiltInName::textureGradOffset_0Q1B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0Q2B2B2B2C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0Q1B1B1B1C;
                 }
                 break;
             }
-            case 0x22e62421u:
+            case 0x22e61729u:
             {
-                if (name == BuiltInName::textureGradOffset_0V2B2B2B2C)
+                if (name == BuiltInName::textureGradOffset_0X2B2B2B2C)
                 {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0V2B2B2B2C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0X2B2B2B2C;
                 }
                 break;
             }
@@ -15738,19 +15884,35 @@
                 }
                 break;
             }
-            case 0x22e735f5u:
+            case 0x22e7429eu:
             {
-                if (name == BuiltInName::textureGradOffset_0P1B1B1B1C)
+                if (name == BuiltInName::textureGradOffset_0c2B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureGradOffset_0P1B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureGradOffset_0c2B1B1B1C;
                 }
                 break;
             }
-            case 0x28e8c0c1u:
+            case 0x28e8b7d0u:
             {
-                if (name == BuiltInName::textureProjLodOffset_0Z3B0B1C)
+                if (name == BuiltInName::textureProjLodOffset_0W3B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0Z3B0B1C;
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0W3B0B1C;
+                }
+                break;
+            }
+            case 0x28e91d51u:
+            {
+                if (name == BuiltInName::textureProjLodOffset_0R3B0B2C)
+                {
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0R3B0B2C;
+                }
+                break;
+            }
+            case 0x28e9a246u:
+            {
+                if (name == BuiltInName::textureProjLodOffset_0W2B0B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0W2B0B1C;
                 }
                 break;
             }
@@ -15762,22 +15924,6 @@
                 }
                 break;
             }
-            case 0x28eaec64u:
-            {
-                if (name == BuiltInName::textureProjLodOffset_0Q3B0B2C)
-                {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0Q3B0B2C;
-                }
-                break;
-            }
-            case 0x28eb831cu:
-            {
-                if (name == BuiltInName::textureProjLodOffset_0V3B0B2C)
-                {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0V3B0B2C;
-                }
-                break;
-            }
             case 0x28eb8605u:
             {
                 if (name == BuiltInName::textureProjLodOffset_0I3B0B2C)
@@ -15794,51 +15940,43 @@
                 }
                 break;
             }
-            case 0x28ed5e33u:
+            case 0x28ec29a7u:
             {
-                if (name == BuiltInName::textureProjLodOffset_0P3B0B1C)
+                if (name == BuiltInName::textureProjLodOffset_0Q3B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0P3B0B1C;
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0Q3B0B1C;
                 }
                 break;
             }
-            case 0x28eeff16u:
+            case 0x28eecd92u:
             {
-                if (name == BuiltInName::textureProjLodOffset_0P2B0B1C)
+                if (name == BuiltInName::textureProjLodOffset_0X3B0B2C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0P2B0B1C;
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0X3B0B2C;
                 }
                 break;
             }
-            case 0x28ef67d8u:
+            case 0x28ef956cu:
             {
-                if (name == BuiltInName::textureProjLodOffset_0U2B0B1C)
+                if (name == BuiltInName::textureProjLodOffset_0Q2B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0U2B0B1C;
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0Q2B0B1C;
                 }
                 break;
             }
-            case 0x28efc97eu:
+            case 0x28efb13bu:
             {
-                if (name == BuiltInName::textureProjLodOffset_0U3B0B1C)
+                if (name == BuiltInName::textureProjLodOffset_0c3B0B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjLodOffset_0U3B0B1C;
+                    return &BuiltInFunction::kFunction_textureProjLodOffset_0c3B0B1C;
                 }
                 break;
             }
-            case 0x2b00a086u:
+            case 0x2b00aacdu:
             {
-                if (name == BuiltInName::textureProjGradOffset_0U3B1B1B1C)
+                if (name == BuiltInName::textureProjGradOffset_0c3B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0U3B1B1B1C;
-                }
-                break;
-            }
-            case 0x2b00d555u:
-            {
-                if (name == BuiltInName::textureProjGradOffset_0V3B2B2B2C)
-                {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0V3B2B2B2C;
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0c3B1B1B1C;
                 }
                 break;
             }
@@ -15850,11 +15988,11 @@
                 }
                 break;
             }
-            case 0x2b02308fu:
+            case 0x2b0252ccu:
             {
-                if (name == BuiltInName::textureProjGradOffset_0P2B1B1B1C)
+                if (name == BuiltInName::textureProjGradOffset_0X3B2B2B2C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0P2B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0X3B2B2B2C;
                 }
                 break;
             }
@@ -15866,35 +16004,35 @@
                 }
                 break;
             }
-            case 0x2b045d17u:
+            case 0x2b03ccf9u:
             {
-                if (name == BuiltInName::textureProjGradOffset_0Q3B2B2B2C)
+                if (name == BuiltInName::textureProjGradOffset_0Q2B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0Q3B2B2B2C;
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0Q2B1B1B1C;
                 }
                 break;
             }
-            case 0x2b0472aau:
+            case 0x2b03db51u:
             {
-                if (name == BuiltInName::textureProjGradOffset_0Z3B1B1B1C)
+                if (name == BuiltInName::textureProjGradOffset_0W2B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0Z3B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0W2B1B1B1C;
                 }
                 break;
             }
-            case 0x2b04ab94u:
+            case 0x2b047dfau:
             {
-                if (name == BuiltInName::textureProjGradOffset_0U2B1B1B1C)
+                if (name == BuiltInName::textureProjGradOffset_0R3B2B2B2C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0U2B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0R3B2B2B2C;
                 }
                 break;
             }
-            case 0x2b06523eu:
+            case 0x2b06f874u:
             {
-                if (name == BuiltInName::textureProjGradOffset_0P3B1B1B1C)
+                if (name == BuiltInName::textureProjGradOffset_0Q3B1B1B1C)
                 {
-                    return &BuiltInFunction::kFunction_textureProjGradOffset_0P3B1B1B1C;
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0Q3B1B1B1C;
                 }
                 break;
             }
@@ -15906,6 +16044,14 @@
                 }
                 break;
             }
+            case 0x2b07f768u:
+            {
+                if (name == BuiltInName::textureProjGradOffset_0W3B1B1B1C)
+                {
+                    return &BuiltInFunction::kFunction_textureProjGradOffset_0W3B1B1B1C;
+                }
+                break;
+            }
             case 0x7ec10648u:
             {
                 if (name == BuiltInName::gl_MaxProgramTexelOffset)
@@ -16051,12 +16197,21 @@
                     }
                     break;
                 }
-                case 0x0e70395au:
+                case 0x0e7013d9u:
                 {
                     if (name.beginsWith(BuiltInName::texture))
                     {
                         ASSERT(name.length() == 14);
-                        return &BuiltInFunction::kFunction_texture_0U1B0B;
+                        return &BuiltInFunction::kFunction_texture_0T2B0B;
+                    }
+                    break;
+                }
+                case 0x0e70d11du:
+                {
+                    if (name.beginsWith(BuiltInName::texture))
+                    {
+                        ASSERT(name.length() == 14);
+                        return &BuiltInFunction::kFunction_texture_0W1B0B;
                     }
                     break;
                 }
@@ -16069,6 +16224,14 @@
                     }
                     break;
                 }
+                case 0x0e716d8fu:
+                {
+                    if (name == BuiltInName::texture_0c2B0B)
+                    {
+                        return &BuiltInFunction::kFunction_texture_0c2B0B;
+                    }
+                    break;
+                }
                 case 0x0e71856cu:
                 {
                     if (name.beginsWith(BuiltInName::texture))
@@ -16078,23 +16241,6 @@
                     }
                     break;
                 }
-                case 0x0e71dca8u:
-                {
-                    if (name.beginsWith(BuiltInName::texture))
-                    {
-                        ASSERT(name.length() == 14);
-                        return &BuiltInFunction::kFunction_texture_0P1B0B;
-                    }
-                    break;
-                }
-                case 0x0e720b77u:
-                {
-                    if (name == BuiltInName::texture_0V2B0B)
-                    {
-                        return &BuiltInFunction::kFunction_texture_0V2B0B;
-                    }
-                    break;
-                }
                 case 0x0e723219u:
                 {
                     if (name.beginsWith(BuiltInName::texture))
@@ -16113,20 +16259,19 @@
                     }
                     break;
                 }
-                case 0x0e737f67u:
+                case 0x0e7386b0u:
                 {
-                    if (name.beginsWith(BuiltInName::texture))
+                    if (name == BuiltInName::texture_0Q1B0B)
                     {
-                        ASSERT(name.length() == 14);
-                        return &BuiltInFunction::kFunction_texture_0Q2B0B;
+                        return &BuiltInFunction::kFunction_texture_0Q1B0B;
                     }
                     break;
                 }
-                case 0x0e73f4c3u:
+                case 0x0e740087u:
                 {
-                    if (name == BuiltInName::texture_0W2B0B)
+                    if (name == BuiltInName::texture_0d3B0B)
                     {
-                        return &BuiltInFunction::kFunction_texture_0W2B0B;
+                        return &BuiltInFunction::kFunction_texture_0d3B0B;
                     }
                     break;
                 }
@@ -16148,6 +16293,15 @@
                     }
                     break;
                 }
+                case 0x0e755c73u:
+                {
+                    if (name.beginsWith(BuiltInName::texture))
+                    {
+                        ASSERT(name.length() == 14);
+                        return &BuiltInFunction::kFunction_texture_0Y2B0B;
+                    }
+                    break;
+                }
                 case 0x0e75d15fu:
                 {
                     if (name.beginsWith(BuiltInName::texture))
@@ -16175,15 +16329,6 @@
                     }
                     break;
                 }
-                case 0x0e77a0f1u:
-                {
-                    if (name.beginsWith(BuiltInName::texture))
-                    {
-                        ASSERT(name.length() == 14);
-                        return &BuiltInFunction::kFunction_texture_0a3B0B;
-                    }
-                    break;
-                }
                 case 0x0e77d1c8u:
                 {
                     if (name.beginsWith(BuiltInName::texture))
@@ -16202,6 +16347,15 @@
                     }
                     break;
                 }
+                case 0x1690a3cfu:
+                {
+                    if (name.beginsWith(BuiltInName::textureProj))
+                    {
+                        ASSERT(name.length() == 18);
+                        return &BuiltInFunction::kFunction_textureProj_0W3B0B;
+                    }
+                    break;
+                }
                 case 0x1690ae9fu:
                 {
                     if (name.beginsWith(BuiltInName::textureProj))
@@ -16211,24 +16365,6 @@
                     }
                     break;
                 }
-                case 0x16910ba7u:
-                {
-                    if (name.beginsWith(BuiltInName::textureProj))
-                    {
-                        ASSERT(name.length() == 18);
-                        return &BuiltInFunction::kFunction_textureProj_0Z3B0B;
-                    }
-                    break;
-                }
-                case 0x16911478u:
-                {
-                    if (name.beginsWith(BuiltInName::textureProj))
-                    {
-                        ASSERT(name.length() == 18);
-                        return &BuiltInFunction::kFunction_textureProj_0P3B0B;
-                    }
-                    break;
-                }
                 case 0x1691c2edu:
                 {
                     if (name.beginsWith(BuiltInName::textureProj))
@@ -16238,15 +16374,6 @@
                     }
                     break;
                 }
-                case 0x1691d656u:
-                {
-                    if (name.beginsWith(BuiltInName::textureProj))
-                    {
-                        ASSERT(name.length() == 18);
-                        return &BuiltInFunction::kFunction_textureProj_0U2B0B;
-                    }
-                    break;
-                }
                 case 0x16925badu:
                 {
                     if (name.beginsWith(BuiltInName::textureProj))
@@ -16256,12 +16383,12 @@
                     }
                     break;
                 }
-                case 0x169292f8u:
+                case 0x1692d089u:
                 {
                     if (name.beginsWith(BuiltInName::textureProj))
                     {
                         ASSERT(name.length() == 18);
-                        return &BuiltInFunction::kFunction_textureProj_0U3B0B;
+                        return &BuiltInFunction::kFunction_textureProj_0c3B0B;
                     }
                     break;
                 }
@@ -16274,21 +16401,36 @@
                     }
                     break;
                 }
-                case 0x1695499au:
+                case 0x16939955u:
                 {
-                    if (name.beginsWith(BuiltInName::textureProj))
+                    if (name == BuiltInName::textureProj_0Q2B0B)
                     {
-                        ASSERT(name.length() == 18);
-                        return &BuiltInFunction::kFunction_textureProj_0V3B0B;
+                        return &BuiltInFunction::kFunction_textureProj_0Q2B0B;
                     }
                     break;
                 }
-                case 0x16955fbdu:
+                case 0x1694622au:
+                {
+                    if (name == BuiltInName::textureProj_0R3B0B)
+                    {
+                        return &BuiltInFunction::kFunction_textureProj_0R3B0B;
+                    }
+                    break;
+                }
+                case 0x169465e2u:
                 {
                     if (name.beginsWith(BuiltInName::textureProj))
                     {
                         ASSERT(name.length() == 18);
-                        return &BuiltInFunction::kFunction_textureProj_0P2B0B;
+                        return &BuiltInFunction::kFunction_textureProj_0W2B0B;
+                    }
+                    break;
+                }
+                case 0x1695f573u:
+                {
+                    if (name == BuiltInName::textureProj_0X3B0B)
+                    {
+                        return &BuiltInFunction::kFunction_textureProj_0X3B0B;
                     }
                     break;
                 }
@@ -16319,27 +16461,11 @@
                     }
                     break;
                 }
-                case 0x1ab09555u:
+                case 0x1ab0a952u:
                 {
-                    if (name == BuiltInName::textureOffset_0Q2B2C0B)
+                    if (name == BuiltInName::textureOffset_0X2B2C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureOffset_0Q2B2C0B;
-                    }
-                    break;
-                }
-                case 0x1ab0d39du:
-                {
-                    if (name == BuiltInName::textureOffset_0V2B2C0B)
-                    {
-                        return &BuiltInFunction::kFunction_textureOffset_0V2B2C0B;
-                    }
-                    break;
-                }
-                case 0x1ab1990bu:
-                {
-                    if (name == BuiltInName::textureOffset_0X2B1C0B)
-                    {
-                        return &BuiltInFunction::kFunction_textureOffset_0X2B1C0B;
+                        return &BuiltInFunction::kFunction_textureOffset_0X2B2C0B;
                     }
                     break;
                 }
@@ -16351,11 +16477,19 @@
                     }
                     break;
                 }
-                case 0x1ab2a609u:
+                case 0x1ab55c9du:
                 {
-                    if (name == BuiltInName::textureOffset_0U1B1C0B)
+                    if (name == BuiltInName::textureOffset_0Q1B1C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureOffset_0U1B1C0B;
+                        return &BuiltInFunction::kFunction_textureOffset_0Q1B1C0B;
+                    }
+                    break;
+                }
+                case 0x1ab5753fu:
+                {
+                    if (name == BuiltInName::textureOffset_0T2B1C0B)
+                    {
+                        return &BuiltInFunction::kFunction_textureOffset_0T2B1C0B;
                     }
                     break;
                 }
@@ -16375,6 +16509,14 @@
                     }
                     break;
                 }
+                case 0x1ab5d795u:
+                {
+                    if (name == BuiltInName::textureOffset_0W1B1C0B)
+                    {
+                        return &BuiltInFunction::kFunction_textureOffset_0W1B1C0B;
+                    }
+                    break;
+                }
                 case 0x1ab63ddau:
                 {
                     if (name == BuiltInName::textureOffset_0K2B1C0B)
@@ -16383,59 +16525,75 @@
                     }
                     break;
                 }
-                case 0x1ab6ec2cu:
+                case 0x1ab63f72u:
                 {
-                    if (name == BuiltInName::textureOffset_0P1B1C0B)
+                    if (name == BuiltInName::textureOffset_0R2B2C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureOffset_0P1B1C0B;
+                        return &BuiltInFunction::kFunction_textureOffset_0R2B2C0B;
                     }
                     break;
                 }
-                case 0x1ab6f64bu:
+                case 0x1ab7e533u:
                 {
-                    if (name == BuiltInName::textureOffset_0S2B1C0B)
+                    if (name == BuiltInName::textureOffset_0c2B1C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureOffset_0S2B1C0B;
+                        return &BuiltInFunction::kFunction_textureOffset_0c2B1C0B;
                     }
                     break;
                 }
-                case 0x22d09aefu:
+                case 0x22d11d67u:
                 {
-                    if (name == BuiltInName::textureProjOffset_0V3B2C0B)
+                    if (name == BuiltInName::textureProjOffset_0Q3B1C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0V3B2C0B;
+                        return &BuiltInFunction::kFunction_textureProjOffset_0Q3B1C0B;
                     }
                     break;
                 }
-                case 0x22d2de73u:
+                case 0x22d1425bu:
                 {
-                    if (name == BuiltInName::textureProjOffset_0U3B1C0B)
+                    if (name == BuiltInName::textureProjOffset_0W2B1C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0U3B1C0B;
+                        return &BuiltInFunction::kFunction_textureProjOffset_0W2B1C0B;
                     }
                     break;
                 }
-                case 0x22d3c514u:
+                case 0x22d17100u:
                 {
-                    if (name == BuiltInName::textureProjOffset_0P3B1C0B)
+                    if (name == BuiltInName::textureProjOffset_0W3B1C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0P3B1C0B;
+                        return &BuiltInFunction::kFunction_textureProjOffset_0W3B1C0B;
                     }
                     break;
                 }
-                case 0x22d3ece3u:
+                case 0x22d1ca54u:
                 {
-                    if (name == BuiltInName::textureProjOffset_0Q3B2C0B)
+                    if (name == BuiltInName::textureProjOffset_0c3B1C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0Q3B2C0B;
+                        return &BuiltInFunction::kFunction_textureProjOffset_0c3B1C0B;
                     }
                     break;
                 }
-                case 0x22d59e0cu:
+                case 0x22d6074cu:
                 {
-                    if (name == BuiltInName::textureProjOffset_0Z3B1C0B)
+                    if (name == BuiltInName::textureProjOffset_0R3B2C0B)
                     {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0Z3B1C0B;
+                        return &BuiltInFunction::kFunction_textureProjOffset_0R3B2C0B;
+                    }
+                    break;
+                }
+                case 0x22d60cd3u:
+                {
+                    if (name == BuiltInName::textureProjOffset_0X3B2C0B)
+                    {
+                        return &BuiltInFunction::kFunction_textureProjOffset_0X3B2C0B;
+                    }
+                    break;
+                }
+                case 0x22d60e91u:
+                {
+                    if (name == BuiltInName::textureProjOffset_0Q2B1C0B)
+                    {
+                        return &BuiltInFunction::kFunction_textureProjOffset_0Q2B1C0B;
                     }
                     break;
                 }
@@ -16447,14 +16605,6 @@
                     }
                     break;
                 }
-                case 0x22d65c37u:
-                {
-                    if (name == BuiltInName::textureProjOffset_0U2B1C0B)
-                    {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0U2B1C0B;
-                    }
-                    break;
-                }
                 case 0x22d6b2e8u:
                 {
                     if (name == BuiltInName::textureProjOffset_0I3B2C0B)
@@ -16471,14 +16621,6 @@
                     }
                     break;
                 }
-                case 0x22d76183u:
-                {
-                    if (name == BuiltInName::textureProjOffset_0P2B1C0B)
-                    {
-                        return &BuiltInFunction::kFunction_textureProjOffset_0P2B1C0B;
-                    }
-                    break;
-                }
                 case 0x7e645c89u:
                 {
                     if (name == BuiltInName::gl_FragDepth)
@@ -16839,9 +16981,8 @@
                 }
                 case 0x1eb43b6cu:
                 {
-                    if (name.beginsWith(BuiltInName::texture2DLodEXT))
+                    if (name == BuiltInName::texture2DLodEXT_0H1B0B)
                     {
-                        ASSERT(name.length() == 22);
                         return &BuiltInFunction::kFunction_texture2DLodEXT_0H1B0B;
                     }
                     break;
@@ -16866,9 +17007,8 @@
                 }
                 case 0x26d60d82u:
                 {
-                    if (name.beginsWith(BuiltInName::texture2DProjLodEXT))
+                    if (name == BuiltInName::texture2DProjLodEXT_0H2B0B)
                     {
-                        ASSERT(name.length() == 26);
                         return &BuiltInFunction::kFunction_texture2DProjLodEXT_0H2B0B;
                     }
                     break;
@@ -16889,9 +17029,8 @@
             {
                 case 0x18986fc2u:
                 {
-                    if (name.beginsWith(BuiltInName::texture2DLod))
+                    if (name == BuiltInName::texture2DLod_0H1B0B)
                     {
-                        ASSERT(name.length() == 19);
                         return &BuiltInFunction::kFunction_texture2DLod_0H1B0B;
                     }
                     break;
@@ -18665,9 +18804,8 @@
         }
         case 0x148e5c11u:
         {
-            if (name.beginsWith(BuiltInName::smoothstep))
+            if (name == BuiltInName::smoothstep_0B0B3B)
             {
-                ASSERT(name.length() == 17);
                 return &BuiltInFunction::kFunction_smoothstep_0B0B3B;
             }
             break;
@@ -19224,6 +19362,14 @@
                 }
                 break;
             }
+            case 0x7e5e217eu:
+            {
+                if (name == BuiltInName::textureSize)
+                {
+                    return &UnmangledBuiltIns::UNDEFINED;
+                }
+                break;
+            }
             case 0x7e6273e5u:
             {
                 if (name == BuiltInName::packSnorm4x8)
diff --git a/src/compiler/translator/Types.cpp b/src/compiler/translator/Types.cpp
index f6236ba..e73e10e 100644
--- a/src/compiler/translator/Types.cpp
+++ b/src/compiler/translator/Types.cpp
@@ -52,6 +52,8 @@
             return "sampler2DArray";
         case EbtSampler2DMS:
             return "sampler2DMS";
+        case EbtSampler2DMSArray:
+            return "sampler2DMSArray";
         case EbtISampler2D:
             return "isampler2D";
         case EbtISampler3D:
@@ -62,6 +64,8 @@
             return "isampler2DArray";
         case EbtISampler2DMS:
             return "isampler2DMS";
+        case EbtISampler2DMSArray:
+            return "isampler2DMSArray";
         case EbtUSampler2D:
             return "usampler2D";
         case EbtUSampler3D:
@@ -72,6 +76,8 @@
             return "usampler2DArray";
         case EbtUSampler2DMS:
             return "usampler2DMS";
+        case EbtUSampler2DMSArray:
+            return "usampler2DMSArray";
         case EbtSampler2DShadow:
             return "sampler2DShadow";
         case EbtSamplerCubeShadow:
diff --git a/src/compiler/translator/builtin_function_declarations.txt b/src/compiler/translator/builtin_function_declarations.txt
index 0d5ff52..a6449ee 100644
--- a/src/compiler/translator/builtin_function_declarations.txt
+++ b/src/compiler/translator/builtin_function_declarations.txt
@@ -356,7 +356,6 @@
     ivec2 textureSize(sampler2DShadow, int);
     ivec2 textureSize(samplerCubeShadow, int);
     ivec3 textureSize(sampler2DArrayShadow, int);
-    ivec2 textureSize(gsampler2DMS);
     gvec4 textureProjLod(gsampler2D, vec3, float);
     gvec4 textureProjLod(gsampler2D, vec4, float);
     gvec4 textureProjLod(gsampler3D, vec4, float);
@@ -377,6 +376,16 @@
     float textureProjGrad(sampler2DShadow, vec4, vec2, vec2);
 GROUP END TextureESSL300
 
+GROUP BEGIN TextureSizeMS
+  DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
+    ivec2 textureSize(gsampler2DMS);
+GROUP END TextureSizeMS
+
+GROUP BEGIN TextureSizeMSArray
+  DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction", "extension": "ANGLE_texture_multisample_array"}
+    ivec3 textureSize(gsampler2DMSArray);
+GROUP END TextureSizeMSArray
+
 GROUP BEGIN TextureOffsetNoBias {"queryFunction": true}
   DEFAULT METADATA {"level": "ESSL3_BUILTINS", "op": "CallBuiltInFunction"}
     gvec4 textureOffset(gsampler2D, vec2, ivec2);
@@ -468,6 +477,11 @@
     gvec4 texelFetch(gsampler2DMS, ivec2, int);
 GROUP END TexelFetchMS
 
+GROUP BEGIN TexelFetchMSArray
+  DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction", "extension": "ANGLE_texture_multisample_array"}
+    gvec4 texelFetch(gsampler2DMSArray, ivec3, int);
+GROUP END TexelFetchMSArray
+
 GROUP BEGIN TextureGather {"queryFunction": true}
   DEFAULT METADATA {"level": "ESSL3_1_BUILTINS", "op": "CallBuiltInFunction"}
     gvec4 textureGather(gsampler2D, vec2);
diff --git a/src/compiler/translator/builtin_symbols_hash_autogen.txt b/src/compiler/translator/builtin_symbols_hash_autogen.txt
index 34f48f6..ed00aa0 100644
--- a/src/compiler/translator/builtin_symbols_hash_autogen.txt
+++ b/src/compiler/translator/builtin_symbols_hash_autogen.txt
@@ -1 +1 @@
-fe7f387068b72dc71759198547902721
\ No newline at end of file
+981c1d80d682250a98834c8c1297e616
\ No newline at end of file
diff --git a/src/compiler/translator/gen_builtin_symbols.py b/src/compiler/translator/gen_builtin_symbols.py
index abbb948..765a802 100644
--- a/src/compiler/translator/gen_builtin_symbols.py
+++ b/src/compiler/translator/gen_builtin_symbols.py
@@ -298,16 +298,19 @@
     'SamplerExternal2DY2YEXT',
     'Sampler2DRect',
     'Sampler2DMS',
+    'Sampler2DMSArray',
     'ISampler2D',
     'ISampler3D',
     'ISamplerCube',
     'ISampler2DArray',
     'ISampler2DMS',
+    'ISampler2DMSArray',
     'USampler2D',
     'USampler3D',
     'USamplerCube',
     'USampler2DArray',
     'USampler2DMS',
+    'USampler2DMSArray',
     'Sampler2DShadow',
     'SamplerCubeShadow',
     'Sampler2DArrayShadow',
diff --git a/src/compiler/translator/glslang.l b/src/compiler/translator/glslang.l
index b6b6861..88d2a6a 100644
--- a/src/compiler/translator/glslang.l
+++ b/src/compiler/translator/glslang.l
@@ -85,6 +85,7 @@
 static int ES2_and_ES3_reserved_ES3_1_keyword(TParseContext *context, int token);
 static int ES2_and_ES3_ident_ES3_1_keyword(TParseContext *context, int token);
 static int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extension, int token);
+static int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token);
 static int uint_constant(TParseContext *context);
 static int int_constant(TParseContext *context);
 static int float_constant(yyscan_t yyscanner);
@@ -203,6 +204,9 @@
 "samplerCubeShadow"    { return ES2_ident_ES3_keyword(context, SAMPLERCUBESHADOW); }
 "sampler2DArrayShadow" { return ES2_ident_ES3_keyword(context, SAMPLER2DARRAYSHADOW); }
 "__samplerExternal2DY2YEXT"   { return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, SAMPLEREXTERNAL2DY2YEXT); }
+"sampler2DMSArray"     { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, SAMPLER2DMSARRAY); }
+"isampler2DMSArray"    { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, ISAMPLER2DMSARRAY); }
+"usampler2DMSArray"    { return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, USAMPLER2DMSARRAY); }
 
 "struct"       { return STRUCT; }
 
@@ -267,10 +271,7 @@
 "usampler2DRect"    |
 "samplerBuffer"     |
 "isamplerBuffer"    |
-"usamplerBuffer"    |
-"sampler2DMSArray"  |
-"isampler2DMSArray" |
-"usampler2DMSArray" { 
+"usamplerBuffer"    {
     if (context->getShaderVersion() < 300) {
         yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
         return check_type(yyscanner);
@@ -577,6 +578,27 @@
     return check_type(yyscanner);
 }
 
+int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token)
+{
+    struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
+    yyscan_t yyscanner = (yyscan_t) context->getScanner();
+
+    // a keyword in GLSL ES 3.10 with enabled extension
+    if (context->getShaderVersion() >= 310 && context->isExtensionEnabled(extension))
+    {
+        return token;
+    }
+    // a reserved word in GLSL ES 3.00+
+    if (context->getShaderVersion() >= 300)
+    {
+        return reserved_word(yyscanner);
+    }
+
+    // Otherwise can be used as an identifier/type name
+    yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
+    return check_type(yyscanner);
+}
+
 int uint_constant(TParseContext *context)
 {
     struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
diff --git a/src/compiler/translator/glslang.y b/src/compiler/translator/glslang.y
index f0597ff..262db79 100644
--- a/src/compiler/translator/glslang.y
+++ b/src/compiler/translator/glslang.y
@@ -173,6 +173,7 @@
 %token <lex> ISAMPLER2D ISAMPLER3D ISAMPLERCUBE ISAMPLER2DARRAY
 %token <lex> USAMPLER2D USAMPLER3D USAMPLERCUBE USAMPLER2DARRAY
 %token <lex> SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS
+%token <lex> SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY
 %token <lex> SAMPLER3D SAMPLER3DRECT SAMPLER2DSHADOW SAMPLERCUBESHADOW SAMPLER2DARRAYSHADOW
 %token <lex> SAMPLEREXTERNAL2DY2YEXT
 %token <lex> IMAGE2D IIMAGE2D UIMAGE2D IMAGE3D IIMAGE3D UIMAGE3D IMAGE2DARRAY IIMAGE2DARRAY UIMAGE2DARRAY
@@ -1084,6 +1085,9 @@
     | SAMPLER2DMS {
         $$.initialize(EbtSampler2DMS, @1);
     }
+    | SAMPLER2DMSARRAY {
+        $$.initialize(EbtSampler2DMSArray, @1);
+    }
     | ISAMPLER2D {
         $$.initialize(EbtISampler2D, @1);
     }
@@ -1099,6 +1103,9 @@
     | ISAMPLER2DMS {
         $$.initialize(EbtISampler2DMS, @1);
     }
+    | ISAMPLER2DMSARRAY {
+        $$.initialize(EbtISampler2DMSArray, @1);
+    }
     | USAMPLER2D {
         $$.initialize(EbtUSampler2D, @1);
     }
@@ -1114,6 +1121,9 @@
     | USAMPLER2DMS {
         $$.initialize(EbtUSampler2DMS, @1);
     }
+    | USAMPLER2DMSARRAY {
+        $$.initialize(EbtUSampler2DMSArray, @1);
+    }
     | SAMPLER2DSHADOW {
         $$.initialize(EbtSampler2DShadow, @1);
     }
diff --git a/src/compiler/translator/glslang_lex.cpp b/src/compiler/translator/glslang_lex.cpp
index 920a9a6..4d31627 100644
--- a/src/compiler/translator/glslang_lex.cpp
+++ b/src/compiler/translator/glslang_lex.cpp
@@ -110,10 +110,10 @@
 /* First, we deal with  platform-specific or compiler-specific issues. */
 
 /* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
 #include <errno.h>
+#include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 /* end standard C headers. */
 
@@ -573,58 +573,58 @@
       169,  170,  184,  184,  184,   26,  166,  184,  184,  184,
 
       184,  184,   52,   53,   54,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  109,  184,  184,  184,
+      184,  184,  184,  184,  184,  184,  112,  184,  184,  184,
       184,  184,  184,  184,  184,  160,  184,  184,  184,  184,
       184,  184,  184,  184,  184,  184,  184,  146,  184,  184,
       183,   58,   59,   60,  184,  184,   15,  184,  184,  184,
-      114,  184,  184,    9,  184,  184,  112,  184,  184,  184,
-      161,  156,  115,  184,  184,  184,  184,  184,  184,  152,
-      184,  184,  184,  184,  184,   84,   40,   43,   45,   44,
+      117,  184,  184,    9,  184,  184,  115,  184,  184,  184,
+      161,  156,  118,  184,  184,  184,  184,  184,  184,  152,
+      184,  184,  184,  184,  184,   87,   40,   43,   45,   44,
        41,   47,   46,   48,   42,  184,  184,  184,  184,  167,
-      143,  184,  184,  154,  184,  184,  184,   36,  110,   27,
+      143,  184,  184,  154,  184,  184,  184,   36,  113,   27,
 
-      180,   23,  155,   83,  184,  165,   18,  184,  184,  184,
+      180,   23,  155,   86,  184,  165,   18,  184,  184,  184,
       184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
       184,  184,  184,   20,   35,  184,  184,  184,  184,  184,
-      184,  116,   89,   95,  184,  184,  184,  184,  184,   86,
-       88,    3,  184,  184,  184,  184,  184,  184,  184,  184,
+      184,  119,   92,   98,  184,  184,  184,  184,  184,   89,
+       91,    3,  184,  184,  184,  184,  184,  184,  184,  184,
       184,  184,  184,  148,  184,  184,  184,  184,  184,    8,
       184,  184,   10,  184,  184,  184,  184,  184,  184,   21,
-      103,   12,  157,  117,   90,   97,  184,  184,  184,  184,
+      106,   12,  157,  120,   93,  100,  184,  184,  184,  184,
       184,  184,  184,  184,  184,  184,  184,  184,  184,  153,
-      184,  184,  184,  101,  107,  104,  184,  184,  184,  184,
+      184,  184,  184,  104,  110,  107,  184,  184,  184,  184,
 
-      184,  184,  184,  149,  118,   91,   96,  184,  184,  164,
-      184,  105,  184,  184,  184,  184,    6,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  100,  158,    1,  184,
-      184,  184,  184,  184,  184,  182,  184,  113,    5,  177,
+      184,  184,  184,  149,  121,   94,   99,  184,  184,  164,
+      184,  108,  184,  184,  184,  184,    6,  184,  184,  184,
+      184,  184,  184,  184,  184,  184,  103,  158,    1,  184,
+      184,  184,  184,  184,  184,  182,  184,  116,    5,  177,
        61,   64,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  102,  184,  184,  184,  184,
-      184,  184,   98,  184,  184,  184,  184,  184,  131,   69,
+      184,  184,  184,  184,  184,  105,  184,  184,  184,  184,
+      184,  184,  101,  184,  184,  184,  184,  184,  134,   69,
        70,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  111,  184,  184,  184,   99,
-      133,   74,   75,  184,  184,  184,  184,  106,  184,  184,
+      184,  184,  184,  184,  184,  114,  184,  184,  184,  102,
+      136,   74,   75,  184,  184,  184,  184,  109,  184,  184,
 
-      184,  184,  184,  184,  184,  126,  184,  184,  184,  184,
+      184,  184,  184,  184,  184,  129,  184,  184,  184,  184,
       184,  184,  184,  184,  184,  184,  184,   68,  184,  184,
       184,  184,   62,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  127,  119,  184,
-       92,  184,  184,  184,   73,  184,  184,   71,  184,  184,
+      184,  184,  184,  184,  184,  184,  184,  130,  122,  184,
+       95,  184,  184,  184,   73,  184,  184,   71,  184,  184,
       184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  128,  184,  184,   78,  184,  184,   76,  184,
-      184,  120,   93,  184,  122,  184,  123,  184,  184,  184,
-      184,  184,  184,  108,  184,  184,  184,  184,   66,  184,
-       65,  137,  184,  184,  121,   94,  184,  184,  184,  184,
+      184,  184,  131,  184,  184,   78,  184,  184,   76,  184,
+      184,  123,   96,  184,  125,  184,  126,  184,  184,  184,
+      184,  184,  184,  111,  184,  184,  184,  184,   66,  184,
+       65,  140,  184,  184,  124,   97,  184,  184,  184,  184,
 
-      184,  184,  184,  184,  184,  184,  184,  184,  135,  138,
-      184,  129,  184,   67,  184,  184,  184,  184,  184,  184,
-      184,  184,  136,  139,  184,  184,  184,  184,  132,   72,
+      184,  184,  184,  184,  184,  184,  184,  184,  138,  141,
+      184,  132,  184,   67,  184,  184,  184,  184,  184,  184,
+      184,  184,  139,  142,  184,  184,  184,  184,  135,   72,
       184,  184,  184,  178,  184,  184,  184,   79,  184,  184,
-      134,   77,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  140,  184,  184,  184,  184,  184,  184,  184,  184,
-      141,  184,  184,  184,  184,   80,  184,  142,   85,  184,
-      124,  125,   87,  184,  184,  184,   63,  184,  184,  184,
-      179,  184,  130,   81,  184,  184,  184,  184,   82,    0
+      137,   77,  184,  184,  184,  184,  184,  184,  184,  184,
+      184,   83,  184,  184,  184,  184,  184,  184,  184,  184,
+       84,  184,  184,  184,  184,   80,  184,   85,   88,  184,
+      127,  128,   90,  184,  184,  184,   63,  184,  184,  184,
+      179,  184,  133,   81,  184,  184,  184,  184,   82,    0
     } ;
 
 static const YY_CHAR yy_ec[256] =
@@ -1183,11 +1183,11 @@
 WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
 */
 
-#include "compiler/translator/glslang.h"
-#include "compiler/translator/ParseContext.h"
 #include "compiler/preprocessor/Token.h"
-#include "compiler/translator/util.h"
+#include "compiler/translator/ParseContext.h"
+#include "compiler/translator/glslang.h"
 #include "compiler/translator/length_limits.h"
+#include "compiler/translator/util.h"
 
 using namespace sh;
 
@@ -1224,6 +1224,7 @@
 static int ES2_and_ES3_reserved_ES3_1_keyword(TParseContext *context, int token);
 static int ES2_and_ES3_ident_ES3_1_keyword(TParseContext *context, int token);
 static int ES3_extension_keyword_else_ident(TParseContext *context, TExtension extension, int token);
+static int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token);
 static int uint_constant(TParseContext *context);
 static int int_constant(TParseContext *context);
 static int float_constant(yyscan_t yyscanner);
@@ -2027,104 +2028,113 @@
 	YY_BREAK
 case 83:
 YY_RULE_SETUP
-{ return STRUCT; }
+{ return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, SAMPLER2DMSARRAY); }
 	YY_BREAK
 case 84:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_keyword_multiview_keyword(context, LAYOUT); }
+{ return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, ISAMPLER2DMSARRAY); }
 	YY_BREAK
 case 85:
 YY_RULE_SETUP
-{ return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, YUVCSCSTANDARDEXT); }
+{ return ES2_ident_ES3_reserved_ES3_1_extension_keyword(context, TExtension::ANGLE_texture_multisample_array, USAMPLER2DMSARRAY); }
 	YY_BREAK
 case 86:
 YY_RULE_SETUP
-{ return yuvcscstandardext_constant(context); }
+{ return STRUCT; }
 	YY_BREAK
 case 87:
 YY_RULE_SETUP
-{ return yuvcscstandardext_constant(context); }
+{ return ES2_ident_ES3_keyword_multiview_keyword(context, LAYOUT); }
 	YY_BREAK
 case 88:
 YY_RULE_SETUP
-{ return yuvcscstandardext_constant(context); }
+{ return ES3_extension_keyword_else_ident(context, TExtension::EXT_YUV_target, YUVCSCSTANDARDEXT); }
 	YY_BREAK
 case 89:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2D); }
+{ return yuvcscstandardext_constant(context); }
 	YY_BREAK
 case 90:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2D); }
+{ return yuvcscstandardext_constant(context); }
 	YY_BREAK
 case 91:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2D); }
+{ return yuvcscstandardext_constant(context); }
 	YY_BREAK
 case 92:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2DARRAY); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2D); }
 	YY_BREAK
 case 93:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2DARRAY); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2D); }
 	YY_BREAK
 case 94:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2DARRAY); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2D); }
 	YY_BREAK
 case 95:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE3D); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE2DARRAY); }
 	YY_BREAK
 case 96:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE3D); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE2DARRAY); }
 	YY_BREAK
 case 97:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE3D); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE2DARRAY); }
 	YY_BREAK
 case 98:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGE3D); }
 	YY_BREAK
 case 99:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGE3D); }
 	YY_BREAK
 case 100:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGECUBE); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGE3D); }
 	YY_BREAK
 case 101:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, READONLY); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IIMAGECUBE); }
 	YY_BREAK
 case 102:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, WRITEONLY); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, UIMAGECUBE); }
 	YY_BREAK
 case 103:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, COHERENT); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, IMAGECUBE); }
 	YY_BREAK
 case 104:
 YY_RULE_SETUP
-{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, RESTRICT); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, READONLY); }
 	YY_BREAK
 case 105:
 YY_RULE_SETUP
-{ return ES2_and_ES3_reserved_ES3_1_keyword(context, VOLATILE); }
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, WRITEONLY); }
 	YY_BREAK
 case 106:
 YY_RULE_SETUP
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, COHERENT); }
+	YY_BREAK
+case 107:
+YY_RULE_SETUP
+{ return ES2_ident_ES3_reserved_ES3_1_keyword(context, RESTRICT); }
+	YY_BREAK
+case 108:
+YY_RULE_SETUP
+{ return ES2_and_ES3_reserved_ES3_1_keyword(context, VOLATILE); }
+	YY_BREAK
+case 109:
+YY_RULE_SETUP
 { return ES2_ident_ES3_reserved_ES3_1_keyword(context, ATOMICUINT); }
 	YY_BREAK
 /* Reserved keywords for GLSL ES 3.00 that are not reserved for GLSL ES 1.00 */
-case 107:
-case 108:
-case 109:
 case 110:
 case 111:
 case 112:
@@ -2159,7 +2169,7 @@
 case 141:
 case 142:
 YY_RULE_SETUP
-{ 
+{
     if (context->getShaderVersion() < 300) {
         yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
         return check_type(yyscanner);
@@ -3933,6 +3943,27 @@
     return check_type(yyscanner);
 }
 
+int ES2_ident_ES3_reserved_ES3_1_extension_keyword(TParseContext *context, TExtension extension, int token)
+{
+    struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
+    yyscan_t yyscanner = (yyscan_t) context->getScanner();
+
+    // a keyword in GLSL ES 3.10 with enabled extension
+    if (context->getShaderVersion() >= 310 && context->isExtensionEnabled(extension))
+    {
+        return token;
+    }
+    // a reserved word in GLSL ES 3.00+
+    if (context->getShaderVersion() >= 300)
+    {
+        return reserved_word(yyscanner);
+    }
+
+    // Otherwise can be used as an identifier/type name
+    yylval->lex.string = AllocatePoolCharArray(yytext, yyleng);
+    return check_type(yyscanner);
+}
+
 int uint_constant(TParseContext *context)
 {
     struct yyguts_t* yyg = (struct yyguts_t*) context->getScanner();
diff --git a/src/compiler/translator/glslang_tab.cpp b/src/compiler/translator/glslang_tab.cpp
index 0ae74fb..1efcc93 100644
--- a/src/compiler/translator/glslang_tab.cpp
+++ b/src/compiler/translator/glslang_tab.cpp
@@ -58,12 +58,8 @@
 /* Pull parsers.  */
 #define YYPULL 1
 
-
-
-
 /* Copy the first part of user declarations.  */
 
-
 //
 // Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
@@ -218,80 +214,83 @@
     SAMPLER2DMS = 332,
     ISAMPLER2DMS = 333,
     USAMPLER2DMS = 334,
-    SAMPLER3D = 335,
-    SAMPLER3DRECT = 336,
-    SAMPLER2DSHADOW = 337,
-    SAMPLERCUBESHADOW = 338,
-    SAMPLER2DARRAYSHADOW = 339,
-    SAMPLEREXTERNAL2DY2YEXT = 340,
-    IMAGE2D = 341,
-    IIMAGE2D = 342,
-    UIMAGE2D = 343,
-    IMAGE3D = 344,
-    IIMAGE3D = 345,
-    UIMAGE3D = 346,
-    IMAGE2DARRAY = 347,
-    IIMAGE2DARRAY = 348,
-    UIMAGE2DARRAY = 349,
-    IMAGECUBE = 350,
-    IIMAGECUBE = 351,
-    UIMAGECUBE = 352,
-    ATOMICUINT = 353,
-    LAYOUT = 354,
-    YUVCSCSTANDARDEXT = 355,
-    YUVCSCSTANDARDEXTCONSTANT = 356,
-    IDENTIFIER = 357,
-    TYPE_NAME = 358,
-    FLOATCONSTANT = 359,
-    INTCONSTANT = 360,
-    UINTCONSTANT = 361,
-    BOOLCONSTANT = 362,
-    FIELD_SELECTION = 363,
-    LEFT_OP = 364,
-    RIGHT_OP = 365,
-    INC_OP = 366,
-    DEC_OP = 367,
-    LE_OP = 368,
-    GE_OP = 369,
-    EQ_OP = 370,
-    NE_OP = 371,
-    AND_OP = 372,
-    OR_OP = 373,
-    XOR_OP = 374,
-    MUL_ASSIGN = 375,
-    DIV_ASSIGN = 376,
-    ADD_ASSIGN = 377,
-    MOD_ASSIGN = 378,
-    LEFT_ASSIGN = 379,
-    RIGHT_ASSIGN = 380,
-    AND_ASSIGN = 381,
-    XOR_ASSIGN = 382,
-    OR_ASSIGN = 383,
-    SUB_ASSIGN = 384,
-    LEFT_PAREN = 385,
-    RIGHT_PAREN = 386,
-    LEFT_BRACKET = 387,
-    RIGHT_BRACKET = 388,
-    LEFT_BRACE = 389,
-    RIGHT_BRACE = 390,
-    DOT = 391,
-    COMMA = 392,
-    COLON = 393,
-    EQUAL = 394,
-    SEMICOLON = 395,
-    BANG = 396,
-    DASH = 397,
-    TILDE = 398,
-    PLUS = 399,
-    STAR = 400,
-    SLASH = 401,
-    PERCENT = 402,
-    LEFT_ANGLE = 403,
-    RIGHT_ANGLE = 404,
-    VERTICAL_BAR = 405,
-    CARET = 406,
-    AMPERSAND = 407,
-    QUESTION = 408
+    SAMPLER2DMSARRAY = 335,
+    ISAMPLER2DMSARRAY = 336,
+    USAMPLER2DMSARRAY = 337,
+    SAMPLER3D = 338,
+    SAMPLER3DRECT = 339,
+    SAMPLER2DSHADOW = 340,
+    SAMPLERCUBESHADOW = 341,
+    SAMPLER2DARRAYSHADOW = 342,
+    SAMPLEREXTERNAL2DY2YEXT = 343,
+    IMAGE2D = 344,
+    IIMAGE2D = 345,
+    UIMAGE2D = 346,
+    IMAGE3D = 347,
+    IIMAGE3D = 348,
+    UIMAGE3D = 349,
+    IMAGE2DARRAY = 350,
+    IIMAGE2DARRAY = 351,
+    UIMAGE2DARRAY = 352,
+    IMAGECUBE = 353,
+    IIMAGECUBE = 354,
+    UIMAGECUBE = 355,
+    ATOMICUINT = 356,
+    LAYOUT = 357,
+    YUVCSCSTANDARDEXT = 358,
+    YUVCSCSTANDARDEXTCONSTANT = 359,
+    IDENTIFIER = 360,
+    TYPE_NAME = 361,
+    FLOATCONSTANT = 362,
+    INTCONSTANT = 363,
+    UINTCONSTANT = 364,
+    BOOLCONSTANT = 365,
+    FIELD_SELECTION = 366,
+    LEFT_OP = 367,
+    RIGHT_OP = 368,
+    INC_OP = 369,
+    DEC_OP = 370,
+    LE_OP = 371,
+    GE_OP = 372,
+    EQ_OP = 373,
+    NE_OP = 374,
+    AND_OP = 375,
+    OR_OP = 376,
+    XOR_OP = 377,
+    MUL_ASSIGN = 378,
+    DIV_ASSIGN = 379,
+    ADD_ASSIGN = 380,
+    MOD_ASSIGN = 381,
+    LEFT_ASSIGN = 382,
+    RIGHT_ASSIGN = 383,
+    AND_ASSIGN = 384,
+    XOR_ASSIGN = 385,
+    OR_ASSIGN = 386,
+    SUB_ASSIGN = 387,
+    LEFT_PAREN = 388,
+    RIGHT_PAREN = 389,
+    LEFT_BRACKET = 390,
+    RIGHT_BRACKET = 391,
+    LEFT_BRACE = 392,
+    RIGHT_BRACE = 393,
+    DOT = 394,
+    COMMA = 395,
+    COLON = 396,
+    EQUAL = 397,
+    SEMICOLON = 398,
+    BANG = 399,
+    DASH = 400,
+    TILDE = 401,
+    PLUS = 402,
+    STAR = 403,
+    SLASH = 404,
+    PERCENT = 405,
+    LEFT_ANGLE = 406,
+    RIGHT_ANGLE = 407,
+    VERTICAL_BAR = 408,
+    CARET = 409,
+    AMPERSAND = 410,
+    QUESTION = 411
   };
 #endif
 
@@ -671,23 +670,23 @@
 #endif /* !YYCOPY_NEEDED */
 
 /* YYFINAL -- State number of the termination state.  */
-#define YYFINAL  135
+#define YYFINAL  138
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2897
+#define YYLAST   2973
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  154
+#define YYNTOKENS  157
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  95
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  297
+#define YYNRULES  300
 /* YYNSTATES -- Number of states.  */
-#define YYNSTATES  423
+#define YYNSTATES  426
 
 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
    by yylex, with out-of-bounds checking.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   408
+#define YYMAXUTOK   411
 
 #define YYTRANSLATE(YYX)                                                \
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -736,43 +735,45 @@
      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
+     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
+     155,   156
 };
 
 #if YYDEBUG
   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   252,   252,   253,   256,   263,   266,   271,   276,   281,
-     286,   295,   301,   304,   307,   310,   313,   316,   322,   329,
-     335,   338,   346,   349,   355,   358,   364,   368,   375,   383,
-     386,   389,   395,   398,   401,   404,   411,   412,   413,   414,
-     422,   423,   426,   429,   436,   437,   440,   446,   447,   451,
-     458,   459,   462,   465,   468,   474,   475,   478,   484,   485,
-     492,   493,   500,   501,   508,   509,   515,   516,   522,   523,
-     529,   530,   536,   537,   543,   544,   545,   546,   550,   551,
-     552,   556,   560,   564,   568,   575,   578,   584,   591,   598,
-     601,   604,   608,   612,   616,   620,   624,   631,   638,   641,
-     648,   656,   673,   683,   686,   692,   696,   700,   704,   711,
-     718,   721,   725,   729,   734,   741,   745,   749,   753,   758,
-     765,   769,   775,   778,   784,   788,   795,   801,   805,   809,
-     812,   815,   824,   829,   833,   836,   839,   842,   845,   849,
-     852,   856,   859,   862,   865,   868,   871,   878,   885,   888,
-     891,   897,   904,   907,   913,   916,   919,   922,   928,   931,
-     938,   943,   950,   955,   966,   969,   972,   975,   978,   981,
-     985,   989,   993,   997,  1001,  1005,  1009,  1013,  1017,  1021,
-    1025,  1029,  1033,  1037,  1041,  1045,  1049,  1053,  1057,  1061,
-    1065,  1072,  1075,  1078,  1081,  1084,  1087,  1090,  1093,  1096,
-    1099,  1102,  1105,  1108,  1111,  1114,  1117,  1120,  1123,  1126,
-    1136,  1143,  1150,  1153,  1156,  1159,  1162,  1165,  1168,  1171,
-    1174,  1177,  1180,  1183,  1186,  1189,  1192,  1200,  1200,  1203,
-    1203,  1209,  1212,  1218,  1221,  1228,  1232,  1238,  1241,  1247,
-    1251,  1255,  1256,  1262,  1263,  1264,  1265,  1266,  1267,  1268,
-    1272,  1276,  1276,  1276,  1283,  1284,  1288,  1288,  1289,  1289,
-    1294,  1298,  1305,  1309,  1316,  1317,  1321,  1327,  1331,  1340,
-    1340,  1347,  1350,  1356,  1360,  1366,  1366,  1371,  1371,  1375,
-    1375,  1383,  1386,  1392,  1395,  1401,  1405,  1412,  1415,  1418,
-    1421,  1424,  1432,  1438,  1444,  1447,  1453,  1453
+       0,   253,   253,   254,   257,   264,   267,   272,   277,   282,
+     287,   296,   302,   305,   308,   311,   314,   317,   323,   330,
+     336,   339,   347,   350,   356,   359,   365,   369,   376,   384,
+     387,   390,   396,   399,   402,   405,   412,   413,   414,   415,
+     423,   424,   427,   430,   437,   438,   441,   447,   448,   452,
+     459,   460,   463,   466,   469,   475,   476,   479,   485,   486,
+     493,   494,   501,   502,   509,   510,   516,   517,   523,   524,
+     530,   531,   537,   538,   544,   545,   546,   547,   551,   552,
+     553,   557,   561,   565,   569,   576,   579,   585,   592,   599,
+     602,   605,   609,   613,   617,   621,   625,   632,   639,   642,
+     649,   657,   674,   684,   687,   693,   697,   701,   705,   712,
+     719,   722,   726,   730,   735,   742,   746,   750,   754,   759,
+     766,   770,   776,   779,   785,   789,   796,   802,   806,   810,
+     813,   816,   825,   830,   834,   837,   840,   843,   846,   850,
+     853,   857,   860,   863,   866,   869,   872,   879,   886,   889,
+     892,   898,   905,   908,   914,   917,   920,   923,   929,   932,
+     939,   944,   951,   956,   967,   970,   973,   976,   979,   982,
+     986,   990,   994,   998,  1002,  1006,  1010,  1014,  1018,  1022,
+    1026,  1030,  1034,  1038,  1042,  1046,  1050,  1054,  1058,  1062,
+    1066,  1073,  1076,  1079,  1082,  1085,  1088,  1091,  1094,  1097,
+    1100,  1103,  1106,  1109,  1112,  1115,  1118,  1121,  1124,  1127,
+    1130,  1133,  1136,  1146,  1153,  1160,  1163,  1166,  1169,  1172,
+    1175,  1178,  1181,  1184,  1187,  1190,  1193,  1196,  1199,  1202,
+    1210,  1210,  1213,  1213,  1219,  1222,  1228,  1231,  1238,  1242,
+    1248,  1251,  1257,  1261,  1265,  1266,  1272,  1273,  1274,  1275,
+    1276,  1277,  1278,  1282,  1286,  1286,  1286,  1293,  1294,  1298,
+    1298,  1299,  1299,  1304,  1308,  1315,  1319,  1326,  1327,  1331,
+    1337,  1341,  1350,  1350,  1357,  1360,  1366,  1370,  1376,  1376,
+    1381,  1381,  1385,  1385,  1393,  1396,  1402,  1405,  1411,  1415,
+    1422,  1425,  1428,  1431,  1434,  1442,  1448,  1454,  1457,  1463,
+    1463
 };
 #endif
 
@@ -795,7 +796,8 @@
   "SAMPLER2DRECT", "SAMPLER2DARRAY", "ISAMPLER2D", "ISAMPLER3D",
   "ISAMPLERCUBE", "ISAMPLER2DARRAY", "USAMPLER2D", "USAMPLER3D",
   "USAMPLERCUBE", "USAMPLER2DARRAY", "SAMPLER2DMS", "ISAMPLER2DMS",
-  "USAMPLER2DMS", "SAMPLER3D", "SAMPLER3DRECT", "SAMPLER2DSHADOW",
+  "USAMPLER2DMS", "SAMPLER2DMSARRAY", "ISAMPLER2DMSARRAY",
+  "USAMPLER2DMSARRAY", "SAMPLER3D", "SAMPLER3DRECT", "SAMPLER2DSHADOW",
   "SAMPLERCUBESHADOW", "SAMPLER2DARRAYSHADOW", "SAMPLEREXTERNAL2DY2YEXT",
   "IMAGE2D", "IIMAGE2D", "UIMAGE2D", "IMAGE3D", "IIMAGE3D", "UIMAGE3D",
   "IMAGE2DARRAY", "IIMAGE2DARRAY", "UIMAGE2DARRAY", "IMAGECUBE",
@@ -865,16 +867,16 @@
      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
-     405,   406,   407,   408
+     405,   406,   407,   408,   409,   410,   411
 };
 # endif
 
-#define YYPACT_NINF -366
+#define YYPACT_NINF -361
 
 #define yypact_value_is_default(Yystate) \
-  (!!((Yystate) == (-366)))
+  (!!((Yystate) == (-361)))
 
-#define YYTABLE_NINF -257
+#define YYTABLE_NINF -260
 
 #define yytable_value_is_error(Yytable_value) \
   0
@@ -883,49 +885,49 @@
      STATE-NUM.  */
 static const yytype_int16 yypact[] =
 {
-    2505,  -366,  -366,  -366,  -366,   144,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,   -68,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,   -99,  -366,  -366,  -366,   -97,   -85,
-     -87,  2606,   -45,  -366,   -32,  -366,  1363,  -366,  -366,  -366,
-    -366,  -366,  -366,  -366,   -42,  -366,  2404,  -366,  -366,  2794,
-    -366,  -366,  -366,   -40,   -41,  -366,   -31,  -366,  2606,  -366,
-    -366,  -366,  2606,   -18,   -18,  -366,   -10,  -107,   -51,  -366,
-    2606,  -366,  -366,  1458,   -20,  -366,  -366,   -13,  2606,  -366,
-    -366,   -91,   -50,  -366,   407,  -366,  -366,  -366,  -366,   -42,
-     -67,  -366,  1827,   -64,  -366,  -366,  2606,   -18,  2071,  -366,
-    -366,    16,  -366,  -366,  -366,  -366,  -366,  1827,  1827,  1827,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,   -58,  -366,  -366,
-    -366,    57,   -38,  1948,    24,  -366,  1827,     6,    13,    60,
-     -86,    58,    25,    38,    45,    79,    78,   -94,  -366,    65,
-    -366,  1582,  -366,  2182,  2606,    74,  -366,   -41,    59,    62,
-    -366,    70,    76,    67,  1706,    80,  1827,    71,    81,    73,
-    -366,  -366,    39,  -366,  -366,   -21,  -366,   -97,    84,  -366,
-    -366,  -366,  -366,   549,  -366,  -366,  -366,  -366,  -366,  -366,
-     -20,  1827,   -53,  -366,  -366,  1827,   -18,   -42,   -16,  -366,
-     -82,  -366,  -366,  -366,   -29,  -366,  -366,  1827,  2700,  -366,
-    -366,  1827,    85,  -366,  -366,  -366,  1827,  1827,  1827,  1827,
-    1827,  1827,  1827,  1827,  1827,  1827,  1827,  1827,  1827,  1827,
-    1827,  1827,  1827,  1827,  1827,  1827,  -366,  -366,    82,  -366,
-    2293,  -366,  -366,  -366,  -366,  -366,    83,  -366,  1827,  -366,
-    -366,    -1,  1827,    86,  -366,  -366,  -366,   691,  -366,  -366,
-    -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  -366,  1827,
-    1827,  -366,  -366,  -366,  -366,  1827,  -366,     3,   -20,   -18,
-    -366,   -96,  -366,  -366,    88,    89,  -366,    92,  -366,  -366,
-    -366,  -366,  -366,     6,     6,    13,    13,    60,    60,    60,
-      60,   -86,   -86,    58,    25,    38,    45,    79,    78,    46,
-    -366,  -366,   155,   -31,   975,  1117,   -27,  -366,   -26,  -366,
-    1240,   691,  -366,  -366,  -366,  -366,  -366,  1827,  -366,  -366,
-    1827,    93,  -366,  -366,  -366,  -366,  1240,    83,  -366,    89,
-     -18,  2606,    94,    95,    98,  -366,  1827,  -366,    87,    97,
-     202,  -366,   100,    96,   833,  -366,   101,   -24,  1827,   833,
-      83,  -366,  1827,  -366,  -366,  -366,  -366,   102,    89,  -366,
-    -366,  -366,  -366
+    2569,  -361,  -361,  -361,  -361,   126,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,   -61,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,  -108,  -361,  -361,
+    -361,   -69,   -99,   -45,  2673,  -119,  -361,     2,  -361,  1397,
+    -361,  -361,  -361,  -361,  -361,  -361,  -361,   -80,  -361,  2465,
+    -361,  -361,  2867,  -361,  -361,  -361,   -24,   -40,  -361,   -17,
+    -361,  2673,  -361,  -361,  -361,  2673,    39,    39,  -361,    -5,
+     -96,   -56,  -361,  2673,  -361,  -361,  1495,   -32,  -361,  -361,
+      -9,  2673,  -361,  -361,    -2,   -51,  -361,   420,  -361,  -361,
+    -361,  -361,   -80,   -65,  -361,  1873,   -60,  -361,  -361,  2673,
+      39,  2123,  -361,  -361,    27,  -361,  -361,  -361,  -361,  -361,
+    1873,  1873,  1873,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+     -67,  -361,  -361,  -361,    28,   -48,  1997,    33,  -361,  1873,
+      15,    22,    58,   -89,    54,    24,    34,    38,    67,    72,
+     -95,  -361,    59,  -361,  1622,  -361,  2237,  2673,    66,  -361,
+     -40,    53,    55,  -361,    64,    69,    56,  1749,    71,  1873,
+      68,    75,    62,  -361,  -361,    26,  -361,  -361,   -86,  -361,
+     -69,    77,  -361,  -361,  -361,  -361,   565,  -361,  -361,  -361,
+    -361,  -361,  -361,   -32,  1873,   -57,  -361,  -361,  1873,    39,
+     -80,   -50,  -361,   -83,  -361,  -361,  -361,   -43,  -361,  -361,
+    1873,  2770,  -361,  -361,  1873,    81,  -361,  -361,  -361,  1873,
+    1873,  1873,  1873,  1873,  1873,  1873,  1873,  1873,  1873,  1873,
+    1873,  1873,  1873,  1873,  1873,  1873,  1873,  1873,  1873,  -361,
+    -361,    80,  -361,  2351,  -361,  -361,  -361,  -361,  -361,    74,
+    -361,  1873,  -361,  -361,   -21,  1873,    76,  -361,  -361,  -361,
+     710,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,  1873,  1873,  -361,  -361,  -361,  -361,  1873,  -361,
+     -16,   -32,    39,  -361,  -101,  -361,  -361,    82,    65,  -361,
+      86,  -361,  -361,  -361,  -361,  -361,    15,    15,    22,    22,
+      58,    58,    58,    58,   -89,   -89,    54,    24,    34,    38,
+      67,    72,    40,  -361,  -361,   157,   -17,  1000,  1145,   -34,
+    -361,   -30,  -361,  1271,   710,  -361,  -361,  -361,  -361,  -361,
+    1873,  -361,  -361,  1873,    88,  -361,  -361,  -361,  -361,  1271,
+      74,  -361,    65,    39,  2673,    89,    84,    90,  -361,  1873,
+    -361,    85,    91,   207,  -361,    92,    93,   855,  -361,    95,
+     -29,  1873,   855,    74,  -361,  1873,  -361,  -361,  -361,  -361,
+      96,    65,  -361,  -361,  -361,  -361
 };
 
   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
@@ -938,74 +940,74 @@
      171,   178,   179,   180,   181,   182,   183,   135,   136,   137,
      139,   140,   133,   184,   185,   186,   187,   188,   189,   138,
      123,   122,   141,   142,   143,   144,   145,   146,     0,   164,
-     191,   193,   209,   211,   194,   196,   197,   198,   199,   201,
-     202,   203,   204,   195,   200,   205,   192,   206,   207,   208,
-     210,   212,   213,   214,   215,   216,   217,   218,   219,   220,
-     221,   222,   223,   224,     0,   190,   226,   295,   296,     0,
-      99,    98,     0,   110,   115,   130,     0,   131,   124,   127,
-     120,   129,   128,   147,   158,   225,     0,   292,   294,     0,
-       2,     3,   229,     0,     0,    89,     0,    97,     0,   106,
-     100,   108,     0,   109,     0,    90,     2,   116,     0,    95,
-       0,   125,   121,     0,   159,     1,   293,     0,     0,   227,
-     157,   154,     0,   152,     0,   297,   101,   105,   107,   103,
-     111,   102,     0,   117,    88,    96,     0,     0,     0,   231,
-      10,     4,     8,     6,     7,     9,    31,     0,     0,     0,
-     160,    38,    37,    39,    36,     5,    12,    32,    14,    19,
-      20,     0,     0,    25,     0,    40,     0,    44,    47,    50,
-      55,    58,    60,    62,    64,    66,    68,    70,    87,     0,
-      29,     0,    91,     0,     0,     0,   151,     0,     0,     0,
-     277,     0,     0,     0,     0,     0,     0,     0,     0,   251,
-     260,   264,    40,    72,    85,     0,   240,     0,   147,   243,
-     262,   242,   241,     0,   244,   245,   246,   247,   248,   249,
-     104,     0,   112,   239,   119,     0,     0,   237,     0,   235,
-       0,   232,    33,    34,     0,    16,    17,     0,     0,    23,
-      22,     0,   164,    26,    28,    35,     0,     0,     0,     0,
+     191,   193,   212,   214,   194,   197,   198,   199,   200,   203,
+     204,   205,   206,   195,   201,   207,   196,   202,   208,   192,
+     209,   210,   211,   213,   215,   216,   217,   218,   219,   220,
+     221,   222,   223,   224,   225,   226,   227,     0,   190,   229,
+     298,   299,     0,    99,    98,     0,   110,   115,   130,     0,
+     131,   124,   127,   120,   129,   128,   147,   158,   228,     0,
+     295,   297,     0,     2,     3,   232,     0,     0,    89,     0,
+      97,     0,   106,   100,   108,     0,   109,     0,    90,     2,
+     116,     0,    95,     0,   125,   121,     0,   159,     1,   296,
+       0,     0,   230,   157,   154,     0,   152,     0,   300,   101,
+     105,   107,   103,   111,   102,     0,   117,    88,    96,     0,
+       0,     0,   234,    10,     4,     8,     6,     7,     9,    31,
+       0,     0,     0,   160,    38,    37,    39,    36,     5,    12,
+      32,    14,    19,    20,     0,     0,    25,     0,    40,     0,
+      44,    47,    50,    55,    58,    60,    62,    64,    66,    68,
+      70,    87,     0,    29,     0,    91,     0,     0,     0,   151,
+       0,     0,     0,   280,     0,     0,     0,     0,     0,     0,
+       0,     0,   254,   263,   267,    40,    72,    85,     0,   243,
+       0,   147,   246,   265,   245,   244,     0,   247,   248,   249,
+     250,   251,   252,   104,     0,   112,   242,   119,     0,     0,
+     240,     0,   238,     0,   235,    33,    34,     0,    16,    17,
+       0,     0,    23,    22,     0,   164,    26,    28,    35,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   161,   162,     0,   230,
-       0,   155,   156,   153,   288,   287,   258,   279,     0,   291,
-     289,     0,     0,     0,   272,   275,   250,     0,    75,    76,
-      78,    77,    80,    81,    82,    83,    84,    79,    74,     0,
-       0,   265,   261,   263,   114,     0,   118,     0,   238,     0,
-     233,     0,    92,    11,     0,    18,    30,    15,    21,    27,
-      41,    42,    43,    46,    45,    48,    49,    53,    54,    51,
-      52,    56,    57,    59,    61,    63,    65,    67,    69,     0,
-     163,   228,     0,     0,     0,     0,     0,   290,     0,   271,
-       0,   252,    73,    86,   113,   234,   236,     0,    93,    13,
-       0,     0,   257,   259,   282,   281,   284,   258,   269,   273,
-       0,     0,     0,     0,     0,    71,     0,   283,     0,     0,
-     268,   266,     0,     0,     0,   253,     0,     0,   285,     0,
-     258,   270,     0,   255,   276,   254,    94,     0,   286,   280,
-     267,   274,   278
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   161,
+     162,     0,   233,     0,   155,   156,   153,   291,   290,   261,
+     282,     0,   294,   292,     0,     0,     0,   275,   278,   253,
+       0,    75,    76,    78,    77,    80,    81,    82,    83,    84,
+      79,    74,     0,     0,   268,   264,   266,   114,     0,   118,
+       0,   241,     0,   236,     0,    92,    11,     0,    18,    30,
+      15,    21,    27,    41,    42,    43,    46,    45,    48,    49,
+      53,    54,    51,    52,    56,    57,    59,    61,    63,    65,
+      67,    69,     0,   163,   231,     0,     0,     0,     0,     0,
+     293,     0,   274,     0,   255,    73,    86,   113,   237,   239,
+       0,    93,    13,     0,     0,   260,   262,   285,   284,   287,
+     261,   272,   276,     0,     0,     0,     0,     0,    71,     0,
+     286,     0,     0,   271,   269,     0,     0,     0,   256,     0,
+       0,   288,     0,   261,   273,     0,   258,   279,   257,    94,
+       0,   289,   283,   270,   277,   281
 };
 
   /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -366,   -47,  -366,  -366,  -366,  -366,  -366,  -366,   -15,  -366,
-    -366,  -366,  -366,     4,  -366,   -83,   -80,  -142,   -84,   -39,
-     -48,   -44,   -37,   -36,   -46,  -366,  -128,  -144,  -366,  -157,
-    -195,  -366,    17,    23,  -366,  -366,  -366,   122,   128,   126,
-    -366,  -366,  -344,  -366,   -78,  -366,   -92,  -366,   -89,   247,
-    -366,  -366,    47,     0,  -112,  -366,  -366,  -366,  -366,  -122,
-    -148,     7,   -74,  -227,  -109,  -224,  -353,  -145,  -366,  -366,
-    -151,  -365,  -366,  -366,  -113,   -43,  -106,  -366,  -366,  -366,
-    -366,  -366,  -126,  -366,  -366,  -366,  -366,  -366,  -366,  -366,
-    -366,  -366,   156,  -366,  -366
+    -361,   -47,  -361,  -361,  -361,  -361,  -361,  -361,   -28,  -361,
+    -361,  -361,  -361,    42,  -361,   -87,   -85,  -140,   -88,   -55,
+     -49,   -52,   -44,   -42,   -39,  -361,  -131,  -146,  -361,  -159,
+    -196,  -361,    14,    17,  -361,  -361,  -361,   117,   122,   120,
+    -361,  -361,  -337,  -361,   -90,  -361,   -93,  -361,   -92,   242,
+    -361,  -361,    41,     0,  -115,  -361,  -361,  -361,  -361,  -123,
+    -150,     4,   -78,  -232,  -113,  -226,  -348,  -149,  -361,  -361,
+    -155,  -360,  -361,  -361,  -116,   -46,  -110,  -361,  -361,  -361,
+    -361,  -361,  -130,  -361,  -361,  -361,  -361,  -361,  -361,  -361,
+    -361,  -361,   151,  -361,  -361
 };
 
   /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,   247,   175,   176,   177,   334,   178,   179,   180,   181,
-     182,   183,   184,   222,   186,   187,   188,   189,   190,   191,
-     192,   193,   194,   195,   196,   197,   223,   224,   319,   225,
-     199,   130,   226,   227,    89,    90,    91,   119,   120,   121,
-      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
-     102,   142,   143,   200,   134,   104,   105,   204,   138,   158,
-     159,   248,   249,   244,   229,   230,   231,   232,   307,   393,
-     414,   362,   363,   364,   415,   233,   234,   235,   401,   236,
-     402,   237,   392,   238,   370,   296,   365,   386,   398,   399,
-     239,   106,   107,   108,   116
+      -1,   250,   178,   179,   180,   337,   181,   182,   183,   184,
+     185,   186,   187,   225,   189,   190,   191,   192,   193,   194,
+     195,   196,   197,   198,   199,   200,   226,   227,   322,   228,
+     202,   133,   229,   230,    92,    93,    94,   122,   123,   124,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   145,   146,   203,   137,   107,   108,   207,   141,   161,
+     162,   251,   252,   247,   232,   233,   234,   235,   310,   396,
+     417,   365,   366,   367,   418,   236,   237,   238,   404,   239,
+     405,   240,   395,   241,   373,   299,   368,   389,   401,   402,
+     242,   109,   110,   111,   119
 };
 
   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
@@ -1013,257 +1015,121 @@
      number is the opposite.  If YYTABLE_NINF, syntax error.  */
 static const yytype_int16 yytable[] =
 {
-     103,   113,   123,   145,   131,   198,   288,   132,   243,   323,
-     251,   383,   254,   122,   324,   153,   203,    87,   326,   140,
-     331,   303,   400,    88,   284,   133,   390,   273,   274,   123,
-     131,   114,   152,   123,   110,   111,   377,   240,   242,   263,
-     122,   157,   390,   115,   378,   420,   117,   127,   205,   157,
-     118,   413,   156,   255,   256,   251,   413,   301,   332,   285,
-     156,   141,   275,   276,   131,   133,   112,   246,   201,   157,
-     126,   111,   241,   198,   257,   245,   149,   150,   258,   201,
-     156,   206,   290,   154,   110,   111,   325,   207,   198,   155,
-     133,   103,   124,   260,   139,   125,   103,   243,   374,   261,
-     335,   243,   333,   144,   387,   388,   103,   417,   320,   137,
-     320,   320,   201,   320,   157,   157,   320,   339,   103,   321,
-     151,   329,   103,    87,   330,   156,   156,   202,   359,    88,
-     103,   347,   348,   349,   350,   328,   320,   185,   103,   367,
-     329,   366,   251,   375,   228,   368,   -30,   323,     2,     3,
-       4,   266,   267,   268,   264,   269,   103,   270,   103,   308,
-     309,   310,   311,   312,   313,   314,   315,   316,   317,   271,
-     272,   252,   253,   277,   278,   372,   373,   279,   318,   291,
-     292,   243,   394,   320,   380,   421,   343,   344,   259,   280,
-     265,   345,   346,   351,   352,   281,   282,   283,   286,   294,
-     297,   157,   295,   103,   103,   185,   298,   299,   306,   304,
-     302,   305,   156,   389,   -29,   360,   -24,  -256,   381,   410,
-     185,   379,   -31,   396,   369,   404,   320,   408,   409,   389,
-     405,   406,   354,   228,   219,   412,   395,   355,   358,   407,
-     353,   416,   422,   338,   147,   356,   146,   357,   148,   198,
-     382,   418,   109,   327,   293,   376,   384,   411,   419,   385,
-     397,     0,   136,     0,   371,     0,     0,     0,   243,     0,
-     340,   341,   342,   185,   185,   185,   185,   185,   185,   185,
-     185,   185,   185,   185,   185,   185,   185,   185,   185,     0,
-     103,     0,   391,     0,     0,     0,     0,     0,     0,   131,
-       0,     0,   132,     0,     0,     0,     0,   228,   391,     0,
+     106,   116,   126,   148,   125,   201,   134,   135,   291,   246,
+     326,   254,   327,   257,    90,   156,   329,    91,   206,   386,
+     143,   127,   334,   306,   128,   117,   287,   276,   277,   126,
+     403,   125,   134,   126,   380,   120,   393,   243,   245,   136,
+     266,   160,   381,   159,   113,   114,   155,   258,   259,   160,
+     130,   159,   393,   423,   323,   136,   254,   324,   304,   416,
+     335,   288,   278,   279,   416,   144,   134,   249,   260,   160,
+     136,   159,   261,   201,   118,   204,   115,   244,   204,   152,
+     153,   157,   248,   209,   293,   328,   263,   158,   201,   210,
+     332,   336,   264,   333,   106,   121,   377,   323,   246,   106,
+     390,   338,   246,   204,   391,   420,   323,   129,   114,   106,
+     323,   323,   140,   142,   160,   160,   159,   159,   342,   323,
+     147,   106,   370,    90,   332,   106,    91,   378,   154,   362,
+       2,     3,     4,   106,   205,   331,   350,   351,   352,   353,
+     208,   106,   369,   254,   113,   114,   371,   231,   326,   311,
+     312,   313,   314,   315,   316,   317,   318,   319,   320,   106,
+     -30,   106,   262,   269,   270,   271,   267,   272,   321,   273,
+     274,   275,   280,   281,   294,   295,   375,   376,   188,   282,
+     323,   383,   246,   424,   397,   346,   347,   285,   283,   348,
+     349,   284,   354,   355,   286,   289,   297,   300,   298,   302,
+     309,   160,   301,   159,   305,   323,   106,   106,   308,   307,
+     -29,  -259,   255,   256,   392,   -24,   363,   372,   382,   -31,
+     384,   399,   408,   407,   413,   412,   409,   356,   411,   222,
+     392,   268,   358,   341,   357,   415,   231,   398,   419,   425,
+     410,   359,   150,   149,   360,   151,   188,   112,   361,   201,
+     385,   296,   421,   330,   379,   387,   414,   422,   388,   400,
+     139,   188,     0,     0,   374,     0,     0,     0,     0,   246,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   394,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   106,     0,     0,     0,     0,     0,   394,
+       0,   134,   135,     0,     0,     0,     0,     0,     0,     0,
+     231,   343,   344,   345,   188,   188,   188,   188,   188,   188,
+     188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   406,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   403,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   228,   228,     0,     0,     0,     0,
-     228,   228,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   185,     0,     0,     0,     0,   228,     0,     0,     0,
-       0,   103,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,   228,     0,     0,     0,     0,   228,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,   208,   209,   210,     0,   211,   212,   213,   214,   215,
-     216,   217,    12,    13,    14,    15,    16,    17,    18,    19,
-      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,
-     218,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,     0,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,   160,   161,
-      86,   162,   163,   164,   165,   166,     0,     0,   167,   168,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   169,     0,     0,
-       0,   219,   220,     0,     0,     0,     0,   221,   171,   172,
-     173,   174,     1,     2,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,   208,   209,   210,     0,   211,   212,   213,
-     214,   215,   216,   217,    12,    13,    14,    15,    16,    17,
-      18,    19,    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,   218,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-       0,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
-     160,   161,    86,   162,   163,   164,   165,   166,     0,     0,
-     167,   168,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,   169,
-       0,     0,     0,   219,   322,     0,     0,     0,     0,   221,
-     171,   172,   173,   174,     1,     2,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,   208,   209,   210,     0,   211,
-     212,   213,   214,   215,   216,   217,    12,    13,    14,    15,
-      16,    17,    18,    19,    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,   218,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,     0,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,   160,   161,    86,   162,   163,   164,   165,   166,
-       0,     0,   167,   168,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,   169,     0,     0,     0,   219,     0,     0,     0,     0,
-       0,   221,   171,   172,   173,   174,     1,     2,     3,     4,
-       5,     6,     7,     8,     9,    10,    11,   208,   209,   210,
-       0,   211,   212,   213,   214,   215,   216,   217,    12,    13,
-      14,    15,    16,    17,    18,    19,    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,   218,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,     0,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,   160,   161,    86,   162,   163,   164,
-     165,   166,     0,     0,   167,   168,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,   169,     0,     0,     0,   144,     0,     0,
-       0,     0,     0,   221,   171,   172,   173,   174,     1,     2,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,   208,
-     209,   210,     0,   211,   212,   213,   214,   215,   216,   217,
-      12,    13,    14,    15,    16,    17,    18,    19,    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,   218,    50,
-      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,     0,    67,    68,    69,
-      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,   160,   161,    86,   162,
-     163,   164,   165,   166,     0,     0,   167,   168,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   169,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   221,   171,   172,   173,   174,
-       1,     2,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    12,    13,    14,    15,    16,    17,    18,    19,
-      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,
-       0,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,     0,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,    84,    85,   160,   161,
-      86,   162,   163,   164,   165,   166,     0,     0,   167,   168,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     1,     2,     3,     4,   169,     6,     7,
-       8,     9,    10,    11,     0,     0,     0,   221,   171,   172,
-     173,   174,     0,     0,     0,    12,    13,    14,    15,    16,
+       0,     0,     0,     0,     0,     0,     0,   231,   231,     0,
+       0,     0,     0,   231,   231,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   231,
+       0,     0,     0,     0,   106,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,   231,     0,     0,
+       0,     0,   231,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   188,     1,     2,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,   211,   212,   213,     0,   214,   215,
+     216,   217,   218,   219,   220,    12,    13,    14,    15,    16,
       17,    18,    19,    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,     0,    50,    51,    52,    53,    54,    55,
+      47,    48,    49,   221,    50,    51,    52,    53,    54,    55,
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,     0,    67,    68,    69,    70,    71,    72,    73,    74,
+      66,    67,    68,    69,     0,    70,    71,    72,    73,    74,
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
-      85,   160,   161,    86,   162,   163,   164,   165,   166,     0,
-       0,   167,   168,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     1,     2,     3,     4,
-     169,     6,     7,     8,     9,    10,    11,     0,     0,     0,
-       0,   171,   172,   173,   174,     0,     0,     0,    12,    13,
-      14,    15,    16,    17,    18,    19,    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,     0,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,     0,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,     0,   128,    86,     0,     8,     9,
-      10,    11,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,     0,     0,
-       0,     0,     0,   129,    33,    34,    35,    36,    37,    38,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    48,
-      49,     0,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,     0,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,     0,    85,   160,
-     161,    86,   162,   163,   164,   165,   166,     0,     0,   167,
-     168,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   169,     0,
-       0,   170,     8,     9,    10,    11,     0,     0,     0,   171,
-     172,   173,   174,     0,     0,     0,     0,    12,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    26,     0,     0,     0,     0,     0,     0,    33,    34,
-      35,    36,    37,    38,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    48,    49,     0,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,     0,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-      83,     0,    85,   160,   161,    86,   162,   163,   164,   165,
-     166,     0,     0,   167,   168,     0,     0,     0,     0,     0,
+      85,    86,    87,    88,   163,   164,    89,   165,   166,   167,
+     168,   169,     0,     0,   170,   171,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,   169,     0,     0,   287,     8,     9,    10,    11,
-       0,     0,     0,   171,   172,   173,   174,     0,     0,     0,
-       0,    12,    13,    14,    15,    16,    17,    18,    19,    20,
-      21,    22,    23,    24,    25,    26,     0,     0,     0,     0,
-       0,     0,    33,    34,    35,    36,    37,    38,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    48,    49,     0,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    64,    65,    66,     0,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,     0,    85,   160,   161,    86,
-     162,   163,   164,   165,   166,     0,     0,   167,   168,     0,
+       0,     0,     0,   172,     0,     0,     0,   222,   223,     0,
+       0,     0,     0,   224,   174,   175,   176,   177,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,   211,
+     212,   213,     0,   214,   215,   216,   217,   218,   219,   220,
+      12,    13,    14,    15,    16,    17,    18,    19,    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,   221,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,     0,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,   163,
+     164,    89,   165,   166,   167,   168,   169,     0,     0,   170,
+     171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   172,     0,
+       0,     0,   222,   325,     0,     0,     0,     0,   224,   174,
+     175,   176,   177,     1,     2,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,   211,   212,   213,     0,   214,   215,
+     216,   217,   218,   219,   220,    12,    13,    14,    15,    16,
+      17,    18,    19,    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,   221,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,     0,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,   163,   164,    89,   165,   166,   167,
+     168,   169,     0,     0,   170,   171,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   169,     8,     9,    10,
-      11,     0,     0,     0,     0,     0,   300,   171,   172,   173,
-     174,     0,    12,    13,    14,    15,    16,    17,    18,    19,
-      20,    21,    22,    23,    24,    25,    26,     0,     0,     0,
-       0,     0,     0,    33,    34,    35,    36,    37,    38,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    48,    49,
-       0,    50,    51,    52,    53,    54,    55,    56,    57,    58,
-      59,    60,    61,    62,    63,    64,    65,    66,     0,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    81,    82,    83,     0,    85,   160,   161,
-      86,   162,   163,   164,   165,   166,     0,     0,   167,   168,
+       0,     0,     0,   172,     0,     0,     0,   222,     0,     0,
+       0,     0,     0,   224,   174,   175,   176,   177,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,   211,
+     212,   213,     0,   214,   215,   216,   217,   218,   219,   220,
+      12,    13,    14,    15,    16,    17,    18,    19,    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,   221,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,     0,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,   163,
+     164,    89,   165,   166,   167,   168,   169,     0,     0,   170,
+     171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   172,     0,
+       0,     0,   147,     0,     0,     0,     0,     0,   224,   174,
+     175,   176,   177,     1,     2,     3,     4,     5,     6,     7,
+       8,     9,    10,    11,   211,   212,   213,     0,   214,   215,
+     216,   217,   218,   219,   220,    12,    13,    14,    15,    16,
+      17,    18,    19,    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,   221,    50,    51,    52,    53,    54,    55,
+      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
+      66,    67,    68,    69,     0,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,    87,    88,   163,   164,    89,   165,   166,   167,
+     168,   169,     0,     0,   170,   171,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   169,     8,     9,
-      10,    11,     0,     0,     0,     0,     0,     0,   171,   172,
-     173,   174,     0,    12,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,    26,     0,     0,
-       0,     0,     0,     0,    33,    34,    35,    36,    37,    38,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    48,
-     262,     0,    50,    51,    52,    53,    54,    55,    56,    57,
-      58,    59,    60,    61,    62,    63,    64,    65,    66,     0,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    81,    82,    83,     0,    85,   160,
-     161,    86,   162,   163,   164,   165,   166,     0,     0,   167,
-     168,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     1,     2,     3,     4,   169,     6,
-       7,     8,     9,    10,    11,     0,     0,     0,     0,   171,
-     172,   173,   174,     0,     0,     0,    12,    13,    14,    15,
-      16,    17,    18,    19,    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,     0,    50,    51,    52,    53,    54,
-      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
-      65,    66,     0,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,     0,     0,    86,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     1,     2,     3,     4,     0,
-       6,     7,     8,     9,    10,    11,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   250,    12,    13,    14,
-      15,    16,    17,    18,    19,    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,     0,    50,    51,    52,    53,
-      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
-      64,    65,    66,     0,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
-      83,    84,    85,     0,     0,    86,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     1,     2,     3,     4,
-       0,     6,     7,     8,     9,    10,    11,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   289,    12,    13,
-      14,    15,    16,    17,    18,    19,    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,     0,    50,    51,    52,
-      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
-      63,    64,    65,    66,     0,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
-      82,    83,    84,    85,     0,     0,    86,     0,     0,     0,
-       0,     0,     0,     0,   135,     0,     0,     1,     2,     3,
-       4,     5,     6,     7,     8,     9,    10,    11,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,   361,    12,
-      13,    14,    15,    16,    17,    18,    19,    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,     0,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,     0,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,    84,    85,     0,     0,    86,     1,     2,
+       0,     0,     0,   172,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,   224,   174,   175,   176,   177,     1,     2,
        3,     4,     5,     6,     7,     8,     9,    10,    11,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
@@ -1271,19 +1137,162 @@
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
       42,    43,    44,    45,    46,    47,    48,    49,     0,    50,
       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
-      61,    62,    63,    64,    65,    66,     0,    67,    68,    69,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,     0,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,     0,     0,    86,     1,
-       2,     3,     4,     0,     6,     7,     8,     9,    10,    11,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,   163,
+     164,    89,   165,   166,   167,   168,   169,     0,     0,   170,
+     171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     1,     2,     3,     4,   172,     6,
+       7,     8,     9,    10,    11,     0,     0,     0,   224,   174,
+     175,   176,   177,     0,     0,     0,    12,    13,    14,    15,
+      16,    17,    18,    19,    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,     0,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,     0,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,   163,   164,    89,   165,   166,
+     167,   168,   169,     0,     0,   170,   171,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    12,    13,    14,    15,    16,    17,    18,    19,    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,     0,
-      50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
-      60,    61,    62,    63,    64,    65,    66,     0,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,     0,     0,    86,
+       1,     2,     3,     4,   172,     6,     7,     8,     9,    10,
+      11,     0,     0,     0,     0,   174,   175,   176,   177,     0,
+       0,     0,    12,    13,    14,    15,    16,    17,    18,    19,
+      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,
+       0,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,     0,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,     0,   131,    89,     0,     8,     9,    10,    11,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
+      22,    23,    24,    25,    26,     0,     0,     0,     0,     0,
+     132,    33,    34,    35,    36,    37,    38,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    48,    49,     0,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,     0,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,     0,    88,   163,
+     164,    89,   165,   166,   167,   168,   169,     0,     0,   170,
+     171,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,   172,     0,
+       0,   173,     8,     9,    10,    11,     0,     0,     0,   174,
+     175,   176,   177,     0,     0,     0,     0,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,     0,     0,     0,     0,     0,     0,    33,    34,
+      35,    36,    37,    38,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    48,    49,     0,    50,    51,    52,    53,
+      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
+      64,    65,    66,    67,    68,    69,     0,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    84,    85,    86,     0,    88,   163,   164,    89,   165,
+     166,   167,   168,   169,     0,     0,   170,   171,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   172,     0,     0,   290,     8,
+       9,    10,    11,     0,     0,     0,   174,   175,   176,   177,
+       0,     0,     0,     0,    12,    13,    14,    15,    16,    17,
+      18,    19,    20,    21,    22,    23,    24,    25,    26,     0,
+       0,     0,     0,     0,     0,    33,    34,    35,    36,    37,
+      38,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+      48,    49,     0,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,     0,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,     0,    88,   163,   164,    89,   165,   166,   167,   168,
+     169,     0,     0,   170,   171,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,   172,     8,     9,    10,    11,     0,     0,     0,
+       0,     0,   303,   174,   175,   176,   177,     0,    12,    13,
+      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
+      24,    25,    26,     0,     0,     0,     0,     0,     0,    33,
+      34,    35,    36,    37,    38,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    48,    49,     0,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,     0,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,     0,    88,   163,   164,    89,
+     165,   166,   167,   168,   169,     0,     0,   170,   171,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,   172,     8,     9,    10,
+      11,     0,     0,     0,     0,     0,     0,   174,   175,   176,
+     177,     0,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    23,    24,    25,    26,     0,     0,     0,
+       0,     0,     0,    33,    34,    35,    36,    37,    38,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    48,   265,
+       0,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,     0,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,     0,
+      88,   163,   164,    89,   165,   166,   167,   168,   169,     0,
+       0,   170,   171,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     1,     2,     3,     4,
+     172,     6,     7,     8,     9,    10,    11,     0,     0,     0,
+       0,   174,   175,   176,   177,     0,     0,     0,    12,    13,
+      14,    15,    16,    17,    18,    19,    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,     0,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,     0,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,     0,     0,    89,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       1,     2,     3,     4,     0,     6,     7,     8,     9,    10,
+      11,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,   253,    12,    13,    14,    15,    16,    17,    18,    19,
+      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,
+       0,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,     0,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
+      88,     0,     0,    89,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     1,     2,     3,     4,     0,     6,
+       7,     8,     9,    10,    11,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,   292,    12,    13,    14,    15,
+      16,    17,    18,    19,    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,     0,    50,    51,    52,    53,    54,
+      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
+      65,    66,    67,    68,    69,     0,    70,    71,    72,    73,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
+      84,    85,    86,    87,    88,     0,     0,    89,     0,     0,
+       0,     0,     0,     0,     0,   138,     0,     0,     1,     2,
+       3,     4,     5,     6,     7,     8,     9,    10,    11,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,   364,
+      12,    13,    14,    15,    16,    17,    18,    19,    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,     0,    50,
+      51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
+      61,    62,    63,    64,    65,    66,    67,    68,    69,     0,
+      70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
+      80,    81,    82,    83,    84,    85,    86,    87,    88,     0,
+       0,    89,     1,     2,     3,     4,     5,     6,     7,     8,
+       9,    10,    11,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    12,    13,    14,    15,    16,    17,
+      18,    19,    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,     0,    50,    51,    52,    53,    54,    55,    56,
+      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
+      67,    68,    69,     0,    70,    71,    72,    73,    74,    75,
+      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,     0,     0,    89,     1,     2,     3,     4,
+       0,     6,     7,     8,     9,    10,    11,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    12,    13,
+      14,    15,    16,    17,    18,    19,    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,     0,    50,    51,    52,
+      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
+      63,    64,    65,    66,    67,    68,    69,     0,    70,    71,
+      72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
+      82,    83,    84,    85,    86,    87,    88,     0,     0,    89,
        8,     9,    10,    11,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,    12,    13,    14,    15,    16,
       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
@@ -1291,120 +1300,80 @@
       37,    38,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    48,    49,     0,    50,    51,    52,    53,    54,    55,
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
-      66,     0,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    81,    82,    83,     0,
-      85,     0,   336,    86,     8,     9,    10,    11,   337,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    26,     0,     0,     0,     0,     0,     0,
-      33,    34,    35,    36,    37,    38,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    48,    49,     0,    50,    51,
-      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
-      62,    63,    64,    65,    66,     0,    67,    68,    69,    70,
-      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
-      81,    82,    83,     0,    85,     0,     0,    86
+      66,    67,    68,    69,     0,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
+      85,    86,     0,    88,     0,   339,    89,     8,     9,    10,
+      11,   340,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,    12,    13,    14,    15,    16,    17,    18,    19,
+      20,    21,    22,    23,    24,    25,    26,     0,     0,     0,
+       0,     0,     0,    33,    34,    35,    36,    37,    38,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,    48,    49,
+       0,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,     0,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    84,    85,    86,     0,
+      88,     0,     0,    89
 };
 
 static const yytype_int16 yycheck[] =
 {
-       0,    48,    91,   116,    96,   133,   201,    96,   152,   233,
-     158,   364,   169,    91,   241,   127,   138,     0,   245,    60,
-     102,   216,   387,     0,   118,   132,   370,   113,   114,   118,
-     122,   130,   139,   122,   102,   103,   132,   149,   150,   183,
-     118,   130,   386,   140,   140,   410,   131,    94,   139,   138,
-     137,   404,   130,   111,   112,   203,   409,   214,   140,   153,
-     138,   102,   148,   149,   156,   132,   134,   156,   132,   158,
-     102,   103,   139,   201,   132,   139,   123,   124,   136,   132,
-     158,   131,   204,   134,   102,   103,   139,   137,   216,   140,
-     132,    91,   137,   131,   134,   140,    96,   241,   325,   137,
-     257,   245,   131,   134,   131,   131,   106,   131,   137,   109,
-     137,   137,   132,   137,   203,   204,   137,   261,   118,   140,
-     130,   137,   122,   106,   140,   203,   204,   140,   285,   106,
-     130,   273,   274,   275,   276,   247,   137,   133,   138,   140,
-     137,   298,   290,   140,   144,   302,   130,   371,     4,     5,
-       6,   145,   146,   147,   130,   142,   156,   144,   158,   120,
-     121,   122,   123,   124,   125,   126,   127,   128,   129,   109,
-     110,   167,   168,   115,   116,   319,   320,   152,   139,   105,
-     106,   325,   377,   137,   138,   412,   269,   270,   131,   151,
-     186,   271,   272,   277,   278,   150,   117,   119,   133,   140,
-     130,   290,   140,   203,   204,   201,   130,   140,   135,   138,
-     130,   130,   290,   370,   130,   133,   131,   134,    63,    17,
-     216,   133,   130,   130,   138,   131,   137,   140,   131,   386,
-     135,   133,   280,   233,   134,   139,   380,   281,   284,   396,
-     279,   140,   140,   258,   122,   282,   118,   283,   122,   377,
-     363,   408,     5,   246,   207,   329,   365,   402,   409,   365,
-     386,    -1,   106,    -1,   307,    -1,    -1,    -1,   412,    -1,
-     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
-     276,   277,   278,   279,   280,   281,   282,   283,   284,    -1,
-     290,    -1,   370,    -1,    -1,    -1,    -1,    -1,    -1,   391,
-      -1,    -1,   391,    -1,    -1,    -1,    -1,   307,   386,    -1,
+       0,    48,    94,   119,    94,   136,    99,    99,   204,   155,
+     236,   161,   244,   172,     0,   130,   248,     0,   141,   367,
+      60,   140,   105,   219,   143,   133,   121,   116,   117,   121,
+     390,   121,   125,   125,   135,   134,   373,   152,   153,   135,
+     186,   133,   143,   133,   105,   106,   142,   114,   115,   141,
+      97,   141,   389,   413,   140,   135,   206,   143,   217,   407,
+     143,   156,   151,   152,   412,   105,   159,   159,   135,   161,
+     135,   161,   139,   204,   143,   135,   137,   142,   135,   126,
+     127,   137,   142,   134,   207,   142,   134,   143,   219,   140,
+     140,   134,   140,   143,    94,   140,   328,   140,   244,    99,
+     134,   260,   248,   135,   134,   134,   140,   105,   106,   109,
+     140,   140,   112,   137,   206,   207,   206,   207,   264,   140,
+     137,   121,   143,   109,   140,   125,   109,   143,   133,   288,
+       4,     5,     6,   133,   143,   250,   276,   277,   278,   279,
+     142,   141,   301,   293,   105,   106,   305,   147,   374,   123,
+     124,   125,   126,   127,   128,   129,   130,   131,   132,   159,
+     133,   161,   134,   148,   149,   150,   133,   145,   142,   147,
+     112,   113,   118,   119,   108,   109,   322,   323,   136,   155,
+     140,   141,   328,   415,   380,   272,   273,   120,   154,   274,
+     275,   153,   280,   281,   122,   136,   143,   133,   143,   143,
+     138,   293,   133,   293,   133,   140,   206,   207,   133,   141,
+     133,   137,   170,   171,   373,   134,   136,   141,   136,   133,
+      63,   133,   138,   134,    17,   134,   136,   282,   143,   137,
+     389,   189,   284,   261,   283,   142,   236,   383,   143,   143,
+     399,   285,   125,   121,   286,   125,   204,     5,   287,   380,
+     366,   210,   411,   249,   332,   368,   405,   412,   368,   389,
+     109,   219,    -1,    -1,   310,    -1,    -1,    -1,    -1,   415,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   373,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   293,    -1,    -1,    -1,    -1,    -1,   389,
+      -1,   394,   394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+     310,   269,   270,   271,   272,   273,   274,   275,   276,   277,
+     278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   393,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   390,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   367,   368,    -1,
+      -1,    -1,    -1,   373,   374,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   389,
+      -1,    -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,   407,    -1,    -1,
+      -1,    -1,   412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   380,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    -1,    18,    19,
+      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,    -1,    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,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   364,   365,    -1,    -1,    -1,    -1,
-     370,   371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   377,    -1,    -1,    -1,    -1,   386,    -1,    -1,    -1,
-      -1,   391,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,   404,    -1,    -1,    -1,    -1,   409,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    14,    15,    16,    -1,    18,    19,    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,    -1,    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,    -1,    -1,   111,   112,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,    -1,    -1,
-      -1,   134,   135,    -1,    -1,    -1,    -1,   140,   141,   142,
-     143,   144,     3,     4,     5,     6,     7,     8,     9,    10,
-      11,    12,    13,    14,    15,    16,    -1,    18,    19,    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,
-      -1,    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,    -1,    -1,
-     111,   112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,
-      -1,    -1,    -1,   134,   135,    -1,    -1,    -1,    -1,   140,
-     141,   142,   143,   144,     3,     4,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    -1,    18,
-      19,    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,    -1,    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,
-      -1,    -1,   111,   112,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,   130,    -1,    -1,    -1,   134,    -1,    -1,    -1,    -1,
-      -1,   140,   141,   142,   143,   144,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-      -1,    18,    19,    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,    -1,    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,    -1,    -1,   111,   112,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,   130,    -1,    -1,    -1,   134,    -1,    -1,
-      -1,    -1,    -1,   140,   141,   142,   143,   144,     3,     4,
+      -1,    -1,    -1,   133,    -1,    -1,    -1,   137,   138,    -1,
+      -1,    -1,    -1,   143,   144,   145,   146,   147,     3,     4,
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       15,    16,    -1,    18,    19,    20,    21,    22,    23,    24,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
@@ -1412,152 +1381,57 @@
       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,    -1,    82,    83,    84,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,    -1,    -1,   111,   112,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   130,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,   144,
-       3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
-      13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    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,
-      -1,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    -1,    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,    -1,    -1,   111,   112,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,     3,     4,     5,     6,   130,     8,     9,
-      10,    11,    12,    13,    -1,    -1,    -1,   140,   141,   142,
-     143,   144,    -1,    -1,    -1,    25,    26,    27,    28,    29,
+     105,   106,   107,   108,   109,   110,   111,    -1,    -1,   114,
+     115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,
+      -1,    -1,   137,   138,    -1,    -1,    -1,    -1,   143,   144,
+     145,   146,   147,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    -1,    18,    19,
+      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,    -1,    64,    65,    66,    67,    68,    69,
+      60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
+      80,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
-     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
-      -1,   111,   112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
-     130,     8,     9,    10,    11,    12,    13,    -1,    -1,    -1,
-      -1,   141,   142,   143,   144,    -1,    -1,    -1,    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,    -1,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,    -1,   102,   103,    -1,    10,    11,
-      12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    -1,    -1,
-      -1,    -1,    -1,   140,    46,    47,    48,    49,    50,    51,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,
-      62,    -1,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,    -1,    -1,   111,
-     112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,    -1,
-      -1,   133,    10,    11,    12,    13,    -1,    -1,    -1,   141,
-     142,   143,   144,    -1,    -1,    -1,    -1,    25,    26,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    47,
-      48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    61,    62,    -1,    64,    65,    66,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,    -1,    -1,   111,   112,    -1,    -1,    -1,    -1,    -1,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,   130,    -1,    -1,   133,    10,    11,    12,    13,
-      -1,    -1,    -1,   141,   142,   143,   144,    -1,    -1,    -1,
-      -1,    25,    26,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    -1,    -1,    -1,    -1,
-      -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,    -1,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,    -1,    -1,   111,   112,    -1,
+      -1,    -1,    -1,   133,    -1,    -1,    -1,   137,    -1,    -1,
+      -1,    -1,    -1,   143,   144,   145,   146,   147,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    -1,    18,    19,    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,    -1,
+      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,    -1,    -1,   114,
+     115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,
+      -1,    -1,   137,    -1,    -1,    -1,    -1,    -1,   143,   144,
+     145,   146,   147,     3,     4,     5,     6,     7,     8,     9,
+      10,    11,    12,    13,    14,    15,    16,    -1,    18,    19,
+      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,    -1,    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,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   130,    10,    11,    12,
-      13,    -1,    -1,    -1,    -1,    -1,   140,   141,   142,   143,
-     144,    -1,    25,    26,    27,    28,    29,    30,    31,    32,
-      33,    34,    35,    36,    37,    38,    39,    -1,    -1,    -1,
-      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,
-      -1,    64,    65,    66,    67,    68,    69,    70,    71,    72,
-      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
-      83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
-      93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,    -1,    -1,   111,   112,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   130,    10,    11,
-      12,    13,    -1,    -1,    -1,    -1,    -1,    -1,   141,   142,
-     143,   144,    -1,    25,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    -1,    -1,
-      -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,    51,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,
-      62,    -1,    64,    65,    66,    67,    68,    69,    70,    71,
-      72,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
-      82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
-      92,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
-     102,   103,   104,   105,   106,   107,   108,    -1,    -1,   111,
-     112,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     3,     4,     5,     6,   130,     8,
-       9,    10,    11,    12,    13,    -1,    -1,    -1,    -1,   141,
-     142,   143,   144,    -1,    -1,    -1,    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,    -1,    64,    65,    66,    67,    68,
-      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
-      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
-      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
-      99,   100,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,    -1,
-       8,     9,    10,    11,    12,    13,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   135,    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,    -1,    64,    65,    66,    67,
-      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
-      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
-      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
-      98,    99,   100,    -1,    -1,   103,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
-      -1,     8,     9,    10,    11,    12,    13,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,   135,    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,    -1,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
-      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
-      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
-      97,    98,    99,   100,    -1,    -1,   103,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,     0,    -1,    -1,     3,     4,     5,
-       6,     7,     8,     9,    10,    11,    12,    13,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   135,    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,    -1,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    99,   100,    -1,    -1,   103,     3,     4,
+      -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,   143,   144,   145,   146,   147,     3,     4,
        5,     6,     7,     8,     9,    10,    11,    12,    13,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
@@ -1565,19 +1439,162 @@
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
       55,    56,    57,    58,    59,    60,    61,    62,    -1,    64,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
-      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,    -1,    -1,   103,     3,
-       4,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,    -1,    -1,   114,
+     115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,     3,     4,     5,     6,   133,     8,
+       9,    10,    11,    12,    13,    -1,    -1,    -1,   143,   144,
+     145,   146,   147,    -1,    -1,    -1,    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,    -1,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    -1,    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,    -1,    -1,   114,   115,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    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,    -1,
-      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
-      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
-      94,    95,    96,    97,    98,    99,   100,    -1,    -1,   103,
+       3,     4,     5,     6,   133,     8,     9,    10,    11,    12,
+      13,    -1,    -1,    -1,    -1,   144,   145,   146,   147,    -1,
+      -1,    -1,    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,
+      -1,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    -1,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,    -1,   105,   106,    -1,    10,    11,    12,    13,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,
+     143,    46,    47,    48,    49,    50,    51,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    61,    62,    -1,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,    -1,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,    -1,    -1,   114,
+     115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   133,    -1,
+      -1,   136,    10,    11,    12,    13,    -1,    -1,    -1,   144,
+     145,   146,   147,    -1,    -1,    -1,    -1,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,    47,
+      48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    61,    62,    -1,    64,    65,    66,    67,
+      68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
+      78,    79,    80,    81,    82,    83,    -1,    85,    86,    87,
+      88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
+      98,    99,   100,   101,    -1,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,    -1,    -1,   114,   115,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   133,    -1,    -1,   136,    10,
+      11,    12,    13,    -1,    -1,    -1,   144,   145,   146,   147,
+      -1,    -1,    -1,    -1,    25,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    -1,
+      -1,    -1,    -1,    -1,    -1,    46,    47,    48,    49,    50,
+      51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      61,    62,    -1,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,    -1,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,    -1,    -1,   114,   115,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,   133,    10,    11,    12,    13,    -1,    -1,    -1,
+      -1,    -1,   143,   144,   145,   146,   147,    -1,    25,    26,
+      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
+      37,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,    46,
+      47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    61,    62,    -1,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,    -1,   103,   104,   105,   106,
+     107,   108,   109,   110,   111,    -1,    -1,   114,   115,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,   133,    10,    11,    12,
+      13,    -1,    -1,    -1,    -1,    -1,    -1,   144,   145,   146,
+     147,    -1,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    -1,    -1,    -1,
+      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,
+      -1,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    -1,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,    -1,
+     103,   104,   105,   106,   107,   108,   109,   110,   111,    -1,
+      -1,   114,   115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
+     133,     8,     9,    10,    11,    12,    13,    -1,    -1,    -1,
+      -1,   144,   145,   146,   147,    -1,    -1,    -1,    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,    -1,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,    -1,    -1,   106,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+       3,     4,     5,     6,    -1,     8,     9,    10,    11,    12,
+      13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,   138,    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,
+      -1,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    -1,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
+     103,    -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,     3,     4,     5,     6,    -1,     8,
+       9,    10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,   138,    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,    -1,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    80,    81,    82,    83,    -1,    85,    86,    87,    88,
+      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
+      99,   100,   101,   102,   103,    -1,    -1,   106,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,     0,    -1,    -1,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   138,
+      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,    -1,    64,
+      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
+      75,    76,    77,    78,    79,    80,    81,    82,    83,    -1,
+      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
+      95,    96,    97,    98,    99,   100,   101,   102,   103,    -1,
+      -1,   106,     3,     4,     5,     6,     7,     8,     9,    10,
+      11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    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,    -1,    64,    65,    66,    67,    68,    69,    70,
+      71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
+      81,    82,    83,    -1,    85,    86,    87,    88,    89,    90,
+      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
+     101,   102,   103,    -1,    -1,   106,     3,     4,     5,     6,
+      -1,     8,     9,    10,    11,    12,    13,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    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,    -1,    64,    65,    66,
+      67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
+      77,    78,    79,    80,    81,    82,    83,    -1,    85,    86,
+      87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
+      97,    98,    99,   100,   101,   102,   103,    -1,    -1,   106,
       10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    25,    26,    27,    28,    29,
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
@@ -1585,18 +1602,19 @@
       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,    61,    62,    -1,    64,    65,    66,    67,    68,    69,
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
-      80,    -1,    82,    83,    84,    85,    86,    87,    88,    89,
-      90,    91,    92,    93,    94,    95,    96,    97,    98,    -1,
-     100,    -1,   102,   103,    10,    11,    12,    13,   108,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    25,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    -1,    -1,    -1,    -1,    -1,    -1,
-      46,    47,    48,    49,    50,    51,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    61,    62,    -1,    64,    65,
-      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
-      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
-      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
-      96,    97,    98,    -1,   100,    -1,    -1,   103
+      80,    81,    82,    83,    -1,    85,    86,    87,    88,    89,
+      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
+     100,   101,    -1,   103,    -1,   105,   106,    10,    11,    12,
+      13,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    25,    26,    27,    28,    29,    30,    31,    32,
+      33,    34,    35,    36,    37,    38,    39,    -1,    -1,    -1,
+      -1,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,
+      -1,    64,    65,    66,    67,    68,    69,    70,    71,    72,
+      73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
+      83,    -1,    85,    86,    87,    88,    89,    90,    91,    92,
+      93,    94,    95,    96,    97,    98,    99,   100,   101,    -1,
+     103,    -1,    -1,   106
 };
 
   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1609,78 +1627,79 @@
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
-      74,    75,    76,    77,    78,    79,    80,    82,    83,    84,
+      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
-      95,    96,    97,    98,    99,   100,   103,   186,   187,   188,
-     189,   190,   194,   195,   196,   197,   198,   199,   200,   201,
-     202,   203,   204,   207,   209,   210,   245,   246,   247,   203,
-     102,   103,   134,   155,   130,   140,   248,   131,   137,   191,
-     192,   193,   198,   202,   137,   140,   102,   155,   102,   140,
-     185,   200,   202,   132,   208,     0,   246,   207,   212,   134,
-      60,   102,   205,   206,   134,   228,   192,   191,   193,   155,
-     155,   130,   139,   208,   134,   140,   198,   202,   213,   214,
-     101,   102,   104,   105,   106,   107,   108,   111,   112,   130,
-     133,   141,   142,   143,   144,   156,   157,   158,   160,   161,
-     162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
-     172,   173,   174,   175,   176,   177,   178,   179,   180,   184,
-     207,   132,   140,   213,   211,   139,   131,   137,    14,    15,
-      16,    18,    19,    20,    21,    22,    23,    24,    63,   134,
-     135,   140,   167,   180,   181,   183,   186,   187,   207,   218,
-     219,   220,   221,   229,   230,   231,   233,   235,   237,   244,
-     208,   139,   208,   181,   217,   139,   202,   155,   215,   216,
-     135,   214,   167,   167,   183,   111,   112,   132,   136,   131,
-     131,   137,    62,   181,   130,   167,   145,   146,   147,   142,
-     144,   109,   110,   113,   114,   148,   149,   115,   116,   152,
-     151,   150,   117,   119,   118,   153,   133,   133,   184,   135,
-     213,   105,   106,   206,   140,   140,   239,   130,   130,   140,
-     140,   183,   130,   184,   138,   130,   135,   222,   120,   121,
-     122,   123,   124,   125,   126,   127,   128,   129,   139,   182,
-     137,   140,   135,   219,   217,   139,   217,   215,   208,   137,
-     140,   102,   140,   131,   159,   183,   102,   108,   162,   181,
-     167,   167,   167,   169,   169,   170,   170,   171,   171,   171,
-     171,   172,   172,   173,   174,   175,   176,   177,   178,   183,
-     133,   135,   225,   226,   227,   240,   183,   140,   183,   138,
-     238,   229,   181,   181,   217,   140,   216,   132,   140,   133,
-     138,    63,   228,   220,   218,   230,   241,   131,   131,   183,
-     196,   198,   236,   223,   184,   181,   130,   236,   242,   243,
-     225,   232,   234,   155,   131,   135,   133,   183,   140,   131,
-      17,   221,   139,   220,   224,   228,   140,   131,   183,   224,
-     225,   217,   140
+      95,    96,    97,    98,    99,   100,   101,   102,   103,   106,
+     189,   190,   191,   192,   193,   197,   198,   199,   200,   201,
+     202,   203,   204,   205,   206,   207,   210,   212,   213,   248,
+     249,   250,   206,   105,   106,   137,   158,   133,   143,   251,
+     134,   140,   194,   195,   196,   201,   205,   140,   143,   105,
+     158,   105,   143,   188,   203,   205,   135,   211,     0,   249,
+     210,   215,   137,    60,   105,   208,   209,   137,   231,   195,
+     194,   196,   158,   158,   133,   142,   211,   137,   143,   201,
+     205,   216,   217,   104,   105,   107,   108,   109,   110,   111,
+     114,   115,   133,   136,   144,   145,   146,   147,   159,   160,
+     161,   163,   164,   165,   166,   167,   168,   169,   170,   171,
+     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
+     182,   183,   187,   210,   135,   143,   216,   214,   142,   134,
+     140,    14,    15,    16,    18,    19,    20,    21,    22,    23,
+      24,    63,   137,   138,   143,   170,   183,   184,   186,   189,
+     190,   210,   221,   222,   223,   224,   232,   233,   234,   236,
+     238,   240,   247,   211,   142,   211,   184,   220,   142,   205,
+     158,   218,   219,   138,   217,   170,   170,   186,   114,   115,
+     135,   139,   134,   134,   140,    62,   184,   133,   170,   148,
+     149,   150,   145,   147,   112,   113,   116,   117,   151,   152,
+     118,   119,   155,   154,   153,   120,   122,   121,   156,   136,
+     136,   187,   138,   216,   108,   109,   209,   143,   143,   242,
+     133,   133,   143,   143,   186,   133,   187,   141,   133,   138,
+     225,   123,   124,   125,   126,   127,   128,   129,   130,   131,
+     132,   142,   185,   140,   143,   138,   222,   220,   142,   220,
+     218,   211,   140,   143,   105,   143,   134,   162,   186,   105,
+     111,   165,   184,   170,   170,   170,   172,   172,   173,   173,
+     174,   174,   174,   174,   175,   175,   176,   177,   178,   179,
+     180,   181,   186,   136,   138,   228,   229,   230,   243,   186,
+     143,   186,   141,   241,   232,   184,   184,   220,   143,   219,
+     135,   143,   136,   141,    63,   231,   223,   221,   233,   244,
+     134,   134,   186,   199,   201,   239,   226,   187,   184,   133,
+     239,   245,   246,   228,   235,   237,   158,   134,   138,   136,
+     186,   143,   134,    17,   224,   142,   223,   227,   231,   143,
+     134,   186,   227,   228,   220,   143
 };
 
   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,   154,   155,   155,   156,   157,   157,   157,   157,   157,
-     157,   157,   158,   158,   158,   158,   158,   158,   159,   160,
-     161,   161,   162,   162,   163,   163,   164,   164,   165,   166,
-     166,   166,   167,   167,   167,   167,   168,   168,   168,   168,
-     169,   169,   169,   169,   170,   170,   170,   171,   171,   171,
-     172,   172,   172,   172,   172,   173,   173,   173,   174,   174,
-     175,   175,   176,   176,   177,   177,   178,   178,   179,   179,
-     180,   180,   181,   181,   182,   182,   182,   182,   182,   182,
-     182,   182,   182,   182,   182,   183,   183,   184,   185,   186,
-     186,   186,   186,   186,   186,   186,   186,   187,   188,   188,
-     189,   189,   190,   191,   191,   192,   192,   192,   192,   193,
-     194,   194,   194,   194,   194,   195,   195,   195,   195,   195,
-     196,   196,   197,   197,   198,   198,   199,   200,   200,   200,
-     200,   200,   201,   201,   201,   201,   201,   201,   201,   201,
-     201,   201,   201,   201,   201,   201,   201,   202,   203,   203,
-     203,   204,   205,   205,   206,   206,   206,   206,   207,   207,
-     208,   208,   208,   208,   209,   209,   209,   209,   209,   209,
-     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
-     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
-     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
-     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
-     209,   209,   209,   209,   209,   209,   209,   209,   209,   209,
-     209,   209,   209,   209,   209,   209,   209,   211,   210,   212,
-     210,   213,   213,   214,   214,   215,   215,   216,   216,   217,
-     218,   219,   219,   220,   220,   220,   220,   220,   220,   220,
-     221,   222,   223,   221,   224,   224,   226,   225,   227,   225,
-     228,   228,   229,   229,   230,   230,   231,   232,   232,   234,
-     233,   235,   235,   236,   236,   238,   237,   239,   237,   240,
-     237,   241,   241,   242,   242,   243,   243,   244,   244,   244,
-     244,   244,   245,   245,   246,   246,   248,   247
+       0,   157,   158,   158,   159,   160,   160,   160,   160,   160,
+     160,   160,   161,   161,   161,   161,   161,   161,   162,   163,
+     164,   164,   165,   165,   166,   166,   167,   167,   168,   169,
+     169,   169,   170,   170,   170,   170,   171,   171,   171,   171,
+     172,   172,   172,   172,   173,   173,   173,   174,   174,   174,
+     175,   175,   175,   175,   175,   176,   176,   176,   177,   177,
+     178,   178,   179,   179,   180,   180,   181,   181,   182,   182,
+     183,   183,   184,   184,   185,   185,   185,   185,   185,   185,
+     185,   185,   185,   185,   185,   186,   186,   187,   188,   189,
+     189,   189,   189,   189,   189,   189,   189,   190,   191,   191,
+     192,   192,   193,   194,   194,   195,   195,   195,   195,   196,
+     197,   197,   197,   197,   197,   198,   198,   198,   198,   198,
+     199,   199,   200,   200,   201,   201,   202,   203,   203,   203,
+     203,   203,   204,   204,   204,   204,   204,   204,   204,   204,
+     204,   204,   204,   204,   204,   204,   204,   205,   206,   206,
+     206,   207,   208,   208,   209,   209,   209,   209,   210,   210,
+     211,   211,   211,   211,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     212,   212,   212,   212,   212,   212,   212,   212,   212,   212,
+     214,   213,   215,   213,   216,   216,   217,   217,   218,   218,
+     219,   219,   220,   221,   222,   222,   223,   223,   223,   223,
+     223,   223,   223,   224,   225,   226,   224,   227,   227,   229,
+     228,   230,   228,   231,   231,   232,   232,   233,   233,   234,
+     235,   235,   237,   236,   238,   238,   239,   239,   241,   240,
+     242,   240,   243,   240,   244,   244,   245,   245,   246,   246,
+     247,   247,   247,   247,   247,   248,   248,   249,   249,   251,
+     250
 };
 
   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
@@ -1708,14 +1727,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,     0,     6,     0,
-       5,     1,     2,     3,     4,     1,     3,     1,     2,     1,
        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,     5,     3,     1,     0,
-       6,     3,     2,     1,     4,     0,     6,     0,     8,     0,
-       7,     1,     1,     1,     0,     2,     3,     2,     2,     2,
-       3,     2,     1,     2,     1,     1,     0,     3
+       0,     6,     0,     5,     1,     2,     3,     4,     1,     3,
+       1,     2,     1,     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,     5,
+       3,     1,     0,     6,     3,     2,     1,     4,     0,     6,
+       0,     8,     0,     7,     1,     1,     1,     0,     2,     3,
+       2,     2,     2,     3,     2,     1,     2,     1,     1,     0,
+       3
 };
 
 
@@ -4120,7 +4140,7 @@
   case 196:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2D, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DMSArray, (yylsp[0]));
     }
 
     break;
@@ -4128,7 +4148,7 @@
   case 197:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler3D, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2D, (yylsp[0]));
     }
 
     break;
@@ -4136,7 +4156,7 @@
   case 198:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCube, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler3D, (yylsp[0]));
     }
 
     break;
@@ -4144,7 +4164,7 @@
   case 199:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DArray, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtISamplerCube, (yylsp[0]));
     }
 
     break;
@@ -4152,7 +4172,7 @@
   case 200:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMS, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DArray, (yylsp[0]));
     }
 
     break;
@@ -4160,7 +4180,7 @@
   case 201:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2D, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMS, (yylsp[0]));
     }
 
     break;
@@ -4168,7 +4188,7 @@
   case 202:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler3D, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtISampler2DMSArray, (yylsp[0]));
     }
 
     break;
@@ -4176,7 +4196,7 @@
   case 203:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCube, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2D, (yylsp[0]));
     }
 
     break;
@@ -4184,7 +4204,7 @@
   case 204:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DArray, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler3D, (yylsp[0]));
     }
 
     break;
@@ -4192,7 +4212,7 @@
   case 205:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMS, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSamplerCube, (yylsp[0]));
     }
 
     break;
@@ -4200,7 +4220,7 @@
   case 206:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DShadow, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DArray, (yylsp[0]));
     }
 
     break;
@@ -4208,7 +4228,7 @@
   case 207:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeShadow, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMS, (yylsp[0]));
     }
 
     break;
@@ -4216,7 +4236,7 @@
   case 208:
 
     {
-        (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArrayShadow, (yylsp[0]));
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtUSampler2DMSArray, (yylsp[0]));
     }
 
     break;
@@ -4224,6 +4244,30 @@
   case 209:
 
     {
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DShadow, (yylsp[0]));
+    }
+
+    break;
+
+  case 210:
+
+    {
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtSamplerCubeShadow, (yylsp[0]));
+    }
+
+    break;
+
+  case 211:
+
+    {
+        (yyval.interm.typeSpecifierNonArray).initialize(EbtSampler2DArrayShadow, (yylsp[0]));
+    }
+
+    break;
+
+  case 212:
+
+    {
         constexpr std::array<TExtension, 3u> extensions{ { TExtension::NV_EGL_stream_consumer_external,
                                                            TExtension::OES_EGL_image_external_essl3,
                                                            TExtension::OES_EGL_image_external } };
@@ -4236,7 +4280,7 @@
 
     break;
 
-  case 210:
+  case 213:
 
     {
         if (!context->checkCanUseExtension((yylsp[0]), TExtension::EXT_YUV_target))
@@ -4248,7 +4292,7 @@
 
     break;
 
-  case 211:
+  case 214:
 
     {
         if (!context->checkCanUseExtension((yylsp[0]), TExtension::ARB_texture_rectangle))
@@ -4260,7 +4304,7 @@
 
     break;
 
-  case 212:
+  case 215:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtImage2D, (yylsp[0]));
@@ -4268,7 +4312,7 @@
 
     break;
 
-  case 213:
+  case 216:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2D, (yylsp[0]));
@@ -4276,7 +4320,7 @@
 
     break;
 
-  case 214:
+  case 217:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2D, (yylsp[0]));
@@ -4284,7 +4328,7 @@
 
     break;
 
-  case 215:
+  case 218:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtImage3D, (yylsp[0]));
@@ -4292,7 +4336,7 @@
 
     break;
 
-  case 216:
+  case 219:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtIImage3D, (yylsp[0]));
@@ -4300,7 +4344,7 @@
 
     break;
 
-  case 217:
+  case 220:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtUImage3D, (yylsp[0]));
@@ -4308,7 +4352,7 @@
 
     break;
 
-  case 218:
+  case 221:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtImage2DArray, (yylsp[0]));
@@ -4316,7 +4360,7 @@
 
     break;
 
-  case 219:
+  case 222:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtIImage2DArray, (yylsp[0]));
@@ -4324,7 +4368,7 @@
 
     break;
 
-  case 220:
+  case 223:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtUImage2DArray, (yylsp[0]));
@@ -4332,7 +4376,7 @@
 
     break;
 
-  case 221:
+  case 224:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtImageCube, (yylsp[0]));
@@ -4340,7 +4384,7 @@
 
     break;
 
-  case 222:
+  case 225:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtIImageCube, (yylsp[0]));
@@ -4348,7 +4392,7 @@
 
     break;
 
-  case 223:
+  case 226:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtUImageCube, (yylsp[0]));
@@ -4356,7 +4400,7 @@
 
     break;
 
-  case 224:
+  case 227:
 
     {
         (yyval.interm.typeSpecifierNonArray).initialize(EbtAtomicCounter, (yylsp[0]));
@@ -4364,7 +4408,7 @@
 
     break;
 
-  case 225:
+  case 228:
 
     {
         (yyval.interm.typeSpecifierNonArray) = (yyvsp[0].interm.typeSpecifierNonArray);
@@ -4372,7 +4416,7 @@
 
     break;
 
-  case 226:
+  case 229:
 
     {
         // This is for user defined type names. The lexical phase looked up the type.
@@ -4382,13 +4426,13 @@
 
     break;
 
-  case 227:
+  case 230:
 
     { context->enterStructDeclaration((yylsp[-1]), ImmutableString((yyvsp[-1].lex).string)); }
 
     break;
 
-  case 228:
+  case 231:
 
     {
         (yyval.interm.typeSpecifierNonArray) = context->addStructure((yylsp[-5]), (yylsp[-4]), ImmutableString((yyvsp[-4].lex).string), (yyvsp[-1].interm.fieldList));
@@ -4396,13 +4440,13 @@
 
     break;
 
-  case 229:
+  case 232:
 
     { context->enterStructDeclaration((yylsp[0]), kEmptyImmutableString); }
 
     break;
 
-  case 230:
+  case 233:
 
     {
         (yyval.interm.typeSpecifierNonArray) = context->addStructure((yylsp[-4]), (yyloc), kEmptyImmutableString, (yyvsp[-1].interm.fieldList));
@@ -4410,7 +4454,7 @@
 
     break;
 
-  case 231:
+  case 234:
 
     {
         (yyval.interm.fieldList) = context->addStructFieldList((yyvsp[0].interm.fieldList), (yylsp[0]));
@@ -4418,7 +4462,7 @@
 
     break;
 
-  case 232:
+  case 235:
 
     {
         (yyval.interm.fieldList) = context->combineStructFieldLists((yyvsp[-1].interm.fieldList), (yyvsp[0].interm.fieldList), (yylsp[0]));
@@ -4426,7 +4470,7 @@
 
     break;
 
-  case 233:
+  case 236:
 
     {
         (yyval.interm.fieldList) = context->addStructDeclaratorList((yyvsp[-2].interm.type), (yyvsp[-1].interm.declaratorList));
@@ -4434,7 +4478,7 @@
 
     break;
 
-  case 234:
+  case 237:
 
     {
         // ES3 Only, but errors should be handled elsewhere
@@ -4443,7 +4487,7 @@
 
     break;
 
-  case 235:
+  case 238:
 
     {
         (yyval.interm.declaratorList) = new TDeclaratorList();
@@ -4452,7 +4496,7 @@
 
     break;
 
-  case 236:
+  case 239:
 
     {
         (yyval.interm.declaratorList)->push_back((yyvsp[0].interm.declarator));
@@ -4460,7 +4504,7 @@
 
     break;
 
-  case 237:
+  case 240:
 
     {
         (yyval.interm.declarator) = context->parseStructDeclarator(ImmutableString((yyvsp[0].lex).string), (yylsp[0]));
@@ -4468,7 +4512,7 @@
 
     break;
 
-  case 238:
+  case 241:
 
     {
         (yyval.interm.declarator) = context->parseStructArrayDeclarator(ImmutableString((yyvsp[-1].lex).string), (yylsp[-1]), (yyvsp[0].interm.arraySizes));
@@ -4476,27 +4520,9 @@
 
     break;
 
-  case 239:
-
-    { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
-
-    break;
-
-  case 240:
-
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
-
-    break;
-
-  case 241:
-
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
-
-    break;
-
   case 242:
 
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+    { (yyval.interm.intermTypedNode) = (yyvsp[0].interm.intermTypedNode); }
 
     break;
 
@@ -4508,7 +4534,7 @@
 
   case 244:
 
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
 
     break;
 
@@ -4520,13 +4546,13 @@
 
   case 246:
 
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
 
     break;
 
   case 247:
 
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
 
     break;
 
@@ -4538,12 +4564,30 @@
 
   case 249:
 
-    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermSwitch); }
 
     break;
 
   case 250:
 
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermCase); }
+
+    break;
+
+  case 251:
+
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+    break;
+
+  case 252:
+
+    { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
+
+    break;
+
+  case 253:
+
     {
         (yyval.interm.intermBlock) = new TIntermBlock();
         (yyval.interm.intermBlock)->setLine((yyloc));
@@ -4551,19 +4595,19 @@
 
     break;
 
-  case 251:
+  case 254:
 
     { context->symbolTable.push(); }
 
     break;
 
-  case 252:
+  case 255:
 
     { context->symbolTable.pop(); }
 
     break;
 
-  case 253:
+  case 256:
 
     {
         (yyvsp[-2].interm.intermBlock)->setLine((yyloc));
@@ -4572,43 +4616,43 @@
 
     break;
 
-  case 254:
+  case 257:
 
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
 
     break;
 
-  case 255:
+  case 258:
 
     { (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
 
     break;
 
-  case 256:
+  case 259:
 
     { context->symbolTable.push(); }
 
     break;
 
-  case 257:
+  case 260:
 
     { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermBlock); }
 
     break;
 
-  case 258:
+  case 261:
 
     { context->symbolTable.push(); }
 
     break;
 
-  case 259:
+  case 262:
 
     { context->symbolTable.pop(); (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode); }
 
     break;
 
-  case 260:
+  case 263:
 
     {
         (yyval.interm.intermBlock) = new TIntermBlock();
@@ -4617,7 +4661,7 @@
 
     break;
 
-  case 261:
+  case 264:
 
     {
         (yyvsp[-1].interm.intermBlock)->setLine((yyloc));
@@ -4626,7 +4670,7 @@
 
     break;
 
-  case 262:
+  case 265:
 
     {
         (yyval.interm.intermBlock) = new TIntermBlock();
@@ -4635,7 +4679,7 @@
 
     break;
 
-  case 263:
+  case 266:
 
     {
         (yyval.interm.intermBlock) = (yyvsp[-1].interm.intermBlock);
@@ -4644,19 +4688,19 @@
 
     break;
 
-  case 264:
+  case 267:
 
     { (yyval.interm.intermNode) = context->addEmptyStatement((yyloc)); }
 
     break;
 
-  case 265:
+  case 268:
 
     { (yyval.interm.intermNode) = (yyvsp[-1].interm.intermTypedNode); }
 
     break;
 
-  case 266:
+  case 269:
 
     {
         (yyval.interm.intermNode) = context->addIfElse((yyvsp[-2].interm.intermTypedNode), (yyvsp[0].interm.nodePair), (yylsp[-4]));
@@ -4664,7 +4708,7 @@
 
     break;
 
-  case 267:
+  case 270:
 
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4673,7 +4717,7 @@
 
     break;
 
-  case 268:
+  case 271:
 
     {
         (yyval.interm.nodePair).node1 = (yyvsp[0].interm.intermNode);
@@ -4682,13 +4726,13 @@
 
     break;
 
-  case 269:
+  case 272:
 
     { context->incrSwitchNestingLevel(); }
 
     break;
 
-  case 270:
+  case 273:
 
     {
         (yyval.interm.intermSwitch) = context->addSwitch((yyvsp[-3].interm.intermTypedNode), (yyvsp[0].interm.intermBlock), (yylsp[-5]));
@@ -4697,7 +4741,7 @@
 
     break;
 
-  case 271:
+  case 274:
 
     {
         (yyval.interm.intermCase) = context->addCase((yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4705,7 +4749,7 @@
 
     break;
 
-  case 272:
+  case 275:
 
     {
         (yyval.interm.intermCase) = context->addDefault((yylsp[-1]));
@@ -4713,7 +4757,7 @@
 
     break;
 
-  case 273:
+  case 276:
 
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermTypedNode);
@@ -4722,7 +4766,7 @@
 
     break;
 
-  case 274:
+  case 277:
 
     {
         (yyval.interm.intermNode) = context->addConditionInitializer((yyvsp[-3].interm.type), ImmutableString((yyvsp[-2].lex).string), (yyvsp[0].interm.intermTypedNode), (yylsp[-2]));
@@ -4730,13 +4774,13 @@
 
     break;
 
-  case 275:
+  case 278:
 
     { context->symbolTable.push(); context->incrLoopNestingLevel(); }
 
     break;
 
-  case 276:
+  case 279:
 
     {
         context->symbolTable.pop();
@@ -4746,13 +4790,13 @@
 
     break;
 
-  case 277:
+  case 280:
 
     { context->incrLoopNestingLevel(); }
 
     break;
 
-  case 278:
+  case 281:
 
     {
         (yyval.interm.intermNode) = context->addLoop(ELoopDoWhile, 0, (yyvsp[-2].interm.intermTypedNode), 0, (yyvsp[-5].interm.intermNode), (yylsp[-4]));
@@ -4761,13 +4805,13 @@
 
     break;
 
-  case 279:
+  case 282:
 
     { context->symbolTable.push(); context->incrLoopNestingLevel(); }
 
     break;
 
-  case 280:
+  case 283:
 
     {
         context->symbolTable.pop();
@@ -4777,39 +4821,39 @@
 
     break;
 
-  case 281:
-
-    {
-        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
-    }
-
-    break;
-
-  case 282:
-
-    {
-        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
-    }
-
-    break;
-
-  case 283:
-
-    {
-        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
-    }
-
-    break;
-
   case 284:
 
     {
+        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+    }
+
+    break;
+
+  case 285:
+
+    {
+        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+    }
+
+    break;
+
+  case 286:
+
+    {
+        (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
+    }
+
+    break;
+
+  case 287:
+
+    {
         (yyval.interm.intermNode) = nullptr;
     }
 
     break;
 
-  case 285:
+  case 288:
 
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-1].interm.intermNode);
@@ -4818,7 +4862,7 @@
 
     break;
 
-  case 286:
+  case 289:
 
     {
         (yyval.interm.nodePair).node1 = (yyvsp[-2].interm.intermNode);
@@ -4827,7 +4871,7 @@
 
     break;
 
-  case 287:
+  case 290:
 
     {
         (yyval.interm.intermNode) = context->addBranch(EOpContinue, (yylsp[-1]));
@@ -4835,7 +4879,7 @@
 
     break;
 
-  case 288:
+  case 291:
 
     {
         (yyval.interm.intermNode) = context->addBranch(EOpBreak, (yylsp[-1]));
@@ -4843,7 +4887,7 @@
 
     break;
 
-  case 289:
+  case 292:
 
     {
         (yyval.interm.intermNode) = context->addBranch(EOpReturn, (yylsp[-1]));
@@ -4851,7 +4895,7 @@
 
     break;
 
-  case 290:
+  case 293:
 
     {
         (yyval.interm.intermNode) = context->addBranch(EOpReturn, (yyvsp[-1].interm.intermTypedNode), (yylsp[-2]));
@@ -4859,7 +4903,7 @@
 
     break;
 
-  case 291:
+  case 294:
 
     {
         (yyval.interm.intermNode) = context->addBranch(EOpKill, (yylsp[-1]));
@@ -4867,7 +4911,7 @@
 
     break;
 
-  case 292:
+  case 295:
 
     {
         (yyval.interm.intermBlock) = new TIntermBlock();
@@ -4878,7 +4922,7 @@
 
     break;
 
-  case 293:
+  case 296:
 
     {
         (yyval.interm.intermBlock)->appendStatement((yyvsp[0].interm.intermNode));
@@ -4886,7 +4930,7 @@
 
     break;
 
-  case 294:
+  case 297:
 
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4894,7 +4938,7 @@
 
     break;
 
-  case 295:
+  case 298:
 
     {
         (yyval.interm.intermNode) = (yyvsp[0].interm.intermNode);
@@ -4902,7 +4946,7 @@
 
     break;
 
-  case 296:
+  case 299:
 
     {
         context->parseFunctionDefinitionHeader((yylsp[0]), (yyvsp[0].interm).function, &((yyvsp[0].interm).intermFunctionPrototype));
@@ -4910,7 +4954,7 @@
 
     break;
 
-  case 297:
+  case 300:
 
     {
         (yyval.interm.intermNode) = context->addFunctionDefinition((yyvsp[-2].interm).intermFunctionPrototype, (yyvsp[0].interm.intermBlock), (yylsp[-2]));
diff --git a/src/compiler/translator/glslang_tab.h b/src/compiler/translator/glslang_tab.h
index 9aacce4..f2398a4 100644
--- a/src/compiler/translator/glslang_tab.h
+++ b/src/compiler/translator/glslang_tab.h
@@ -31,25 +31,22 @@
    version 2.2 of Bison.  */
 
 #ifndef YY_YY_GLSLANG_TAB_H_INCLUDED
-# define YY_YY_GLSLANG_TAB_H_INCLUDED
+#define YY_YY_GLSLANG_TAB_H_INCLUDED
 /* Debug traces.  */
 #ifndef YYDEBUG
-# define YYDEBUG 0
+#define YYDEBUG 0
 #endif
 #if YYDEBUG
 extern int yydebug;
 #endif
 /* "%code requires" blocks.  */
 
-
 #define YYLTYPE TSourceLoc
 #define YYLTYPE_IS_DECLARED 1
 
-
-
 /* Token type.  */
 #ifndef YYTOKENTYPE
-# define YYTOKENTYPE
+#define YYTOKENTYPE
 enum yytokentype
 {
     INVARIANT                 = 258,
@@ -129,91 +126,93 @@
     SAMPLER2DMS               = 332,
     ISAMPLER2DMS              = 333,
     USAMPLER2DMS              = 334,
-    SAMPLER3D                 = 335,
-    SAMPLER3DRECT             = 336,
-    SAMPLER2DSHADOW           = 337,
-    SAMPLERCUBESHADOW         = 338,
-    SAMPLER2DARRAYSHADOW      = 339,
-    SAMPLEREXTERNAL2DY2YEXT   = 340,
-    IMAGE2D                   = 341,
-    IIMAGE2D                  = 342,
-    UIMAGE2D                  = 343,
-    IMAGE3D                   = 344,
-    IIMAGE3D                  = 345,
-    UIMAGE3D                  = 346,
-    IMAGE2DARRAY              = 347,
-    IIMAGE2DARRAY             = 348,
-    UIMAGE2DARRAY             = 349,
-    IMAGECUBE                 = 350,
-    IIMAGECUBE                = 351,
-    UIMAGECUBE                = 352,
-    ATOMICUINT                = 353,
-    LAYOUT                    = 354,
-    YUVCSCSTANDARDEXT         = 355,
-    YUVCSCSTANDARDEXTCONSTANT = 356,
-    IDENTIFIER                = 357,
-    TYPE_NAME                 = 358,
-    FLOATCONSTANT             = 359,
-    INTCONSTANT               = 360,
-    UINTCONSTANT              = 361,
-    BOOLCONSTANT              = 362,
-    FIELD_SELECTION           = 363,
-    LEFT_OP                   = 364,
-    RIGHT_OP                  = 365,
-    INC_OP                    = 366,
-    DEC_OP                    = 367,
-    LE_OP                     = 368,
-    GE_OP                     = 369,
-    EQ_OP                     = 370,
-    NE_OP                     = 371,
-    AND_OP                    = 372,
-    OR_OP                     = 373,
-    XOR_OP                    = 374,
-    MUL_ASSIGN                = 375,
-    DIV_ASSIGN                = 376,
-    ADD_ASSIGN                = 377,
-    MOD_ASSIGN                = 378,
-    LEFT_ASSIGN               = 379,
-    RIGHT_ASSIGN              = 380,
-    AND_ASSIGN                = 381,
-    XOR_ASSIGN                = 382,
-    OR_ASSIGN                 = 383,
-    SUB_ASSIGN                = 384,
-    LEFT_PAREN                = 385,
-    RIGHT_PAREN               = 386,
-    LEFT_BRACKET              = 387,
-    RIGHT_BRACKET             = 388,
-    LEFT_BRACE                = 389,
-    RIGHT_BRACE               = 390,
-    DOT                       = 391,
-    COMMA                     = 392,
-    COLON                     = 393,
-    EQUAL                     = 394,
-    SEMICOLON                 = 395,
-    BANG                      = 396,
-    DASH                      = 397,
-    TILDE                     = 398,
-    PLUS                      = 399,
-    STAR                      = 400,
-    SLASH                     = 401,
-    PERCENT                   = 402,
-    LEFT_ANGLE                = 403,
-    RIGHT_ANGLE               = 404,
-    VERTICAL_BAR              = 405,
-    CARET                     = 406,
-    AMPERSAND                 = 407,
-    QUESTION                  = 408
+    SAMPLER2DMSARRAY          = 335,
+    ISAMPLER2DMSARRAY         = 336,
+    USAMPLER2DMSARRAY         = 337,
+    SAMPLER3D                 = 338,
+    SAMPLER3DRECT             = 339,
+    SAMPLER2DSHADOW           = 340,
+    SAMPLERCUBESHADOW         = 341,
+    SAMPLER2DARRAYSHADOW      = 342,
+    SAMPLEREXTERNAL2DY2YEXT   = 343,
+    IMAGE2D                   = 344,
+    IIMAGE2D                  = 345,
+    UIMAGE2D                  = 346,
+    IMAGE3D                   = 347,
+    IIMAGE3D                  = 348,
+    UIMAGE3D                  = 349,
+    IMAGE2DARRAY              = 350,
+    IIMAGE2DARRAY             = 351,
+    UIMAGE2DARRAY             = 352,
+    IMAGECUBE                 = 353,
+    IIMAGECUBE                = 354,
+    UIMAGECUBE                = 355,
+    ATOMICUINT                = 356,
+    LAYOUT                    = 357,
+    YUVCSCSTANDARDEXT         = 358,
+    YUVCSCSTANDARDEXTCONSTANT = 359,
+    IDENTIFIER                = 360,
+    TYPE_NAME                 = 361,
+    FLOATCONSTANT             = 362,
+    INTCONSTANT               = 363,
+    UINTCONSTANT              = 364,
+    BOOLCONSTANT              = 365,
+    FIELD_SELECTION           = 366,
+    LEFT_OP                   = 367,
+    RIGHT_OP                  = 368,
+    INC_OP                    = 369,
+    DEC_OP                    = 370,
+    LE_OP                     = 371,
+    GE_OP                     = 372,
+    EQ_OP                     = 373,
+    NE_OP                     = 374,
+    AND_OP                    = 375,
+    OR_OP                     = 376,
+    XOR_OP                    = 377,
+    MUL_ASSIGN                = 378,
+    DIV_ASSIGN                = 379,
+    ADD_ASSIGN                = 380,
+    MOD_ASSIGN                = 381,
+    LEFT_ASSIGN               = 382,
+    RIGHT_ASSIGN              = 383,
+    AND_ASSIGN                = 384,
+    XOR_ASSIGN                = 385,
+    OR_ASSIGN                 = 386,
+    SUB_ASSIGN                = 387,
+    LEFT_PAREN                = 388,
+    RIGHT_PAREN               = 389,
+    LEFT_BRACKET              = 390,
+    RIGHT_BRACKET             = 391,
+    LEFT_BRACE                = 392,
+    RIGHT_BRACE               = 393,
+    DOT                       = 394,
+    COMMA                     = 395,
+    COLON                     = 396,
+    EQUAL                     = 397,
+    SEMICOLON                 = 398,
+    BANG                      = 399,
+    DASH                      = 400,
+    TILDE                     = 401,
+    PLUS                      = 402,
+    STAR                      = 403,
+    SLASH                     = 404,
+    PERCENT                   = 405,
+    LEFT_ANGLE                = 406,
+    RIGHT_ANGLE               = 407,
+    VERTICAL_BAR              = 408,
+    CARET                     = 409,
+    AMPERSAND                 = 410,
+    QUESTION                  = 411
 };
 #endif
 
 /* Value type.  */
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+#if !defined YYSTYPE && !defined YYSTYPE_IS_DECLARED
 
-union YYSTYPE
-{
+union YYSTYPE {
 
-
-    struct {
+    struct
+    {
         union {
             const char *string;  // pool allocated.
             float f;
@@ -223,7 +222,8 @@
         };
         const TSymbol *symbol;
     } lex;
-    struct {
+    struct
+    {
         TOperator op;
         union {
             TIntermNode *intermNode;
@@ -253,31 +253,27 @@
             TTypeQualifierBuilder *typeQualifierBuilder;
         };
     } interm;
-
-
 };
 
 typedef union YYSTYPE YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
-# define YYSTYPE_IS_DECLARED 1
+#define YYSTYPE_IS_TRIVIAL 1
+#define YYSTYPE_IS_DECLARED 1
 #endif
 
 /* Location type.  */
-#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
+#if !defined YYLTYPE && !defined YYLTYPE_IS_DECLARED
 typedef struct YYLTYPE YYLTYPE;
 struct YYLTYPE
 {
-  int first_line;
-  int first_column;
-  int last_line;
-  int last_column;
+    int first_line;
+    int first_column;
+    int last_line;
+    int last_column;
 };
-# define YYLTYPE_IS_DECLARED 1
-# define YYLTYPE_IS_TRIVIAL 1
+#define YYLTYPE_IS_DECLARED 1
+#define YYLTYPE_IS_TRIVIAL 1
 #endif
 
-
-
-int yyparse (TParseContext* context, void *scanner);
+int yyparse(TParseContext *context, void *scanner);
 
 #endif /* !YY_YY_GLSLANG_TAB_H_INCLUDED  */
diff --git a/src/compiler/translator/tree_util/BuiltIn_autogen.h b/src/compiler/translator/tree_util/BuiltIn_autogen.h
index e617055..837c17e 100644
--- a/src/compiler/translator/tree_util/BuiltIn_autogen.h
+++ b/src/compiler/translator/tree_util/BuiltIn_autogen.h
@@ -604,26 +604,26 @@
         TSymbolUniqueId(545);
     static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2       = TSymbolUniqueId(546);
     static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2      = TSymbolUniqueId(547);
-    static constexpr const TSymbolUniqueId pt0P                            = TSymbolUniqueId(548);
+    static constexpr const TSymbolUniqueId pt0Q                            = TSymbolUniqueId(548);
     static constexpr const TSymbolUniqueId texture_USampler2D1_Float2      = TSymbolUniqueId(549);
-    static constexpr const TSymbolUniqueId pt0U                            = TSymbolUniqueId(550);
+    static constexpr const TSymbolUniqueId pt0W                            = TSymbolUniqueId(550);
     static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3       = TSymbolUniqueId(551);
     static constexpr const TSymbolUniqueId pt0I                            = TSymbolUniqueId(552);
     static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3      = TSymbolUniqueId(553);
-    static constexpr const TSymbolUniqueId pt0Q                            = TSymbolUniqueId(554);
+    static constexpr const TSymbolUniqueId pt0R                            = TSymbolUniqueId(554);
     static constexpr const TSymbolUniqueId texture_USampler3D1_Float3      = TSymbolUniqueId(555);
-    static constexpr const TSymbolUniqueId pt0V                            = TSymbolUniqueId(556);
+    static constexpr const TSymbolUniqueId pt0X                            = TSymbolUniqueId(556);
     static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3     = TSymbolUniqueId(557);
     static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3    = TSymbolUniqueId(558);
-    static constexpr const TSymbolUniqueId pt0R                            = TSymbolUniqueId(559);
+    static constexpr const TSymbolUniqueId pt0S                            = TSymbolUniqueId(559);
     static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3    = TSymbolUniqueId(560);
-    static constexpr const TSymbolUniqueId pt0W                            = TSymbolUniqueId(561);
+    static constexpr const TSymbolUniqueId pt0Y                            = TSymbolUniqueId(561);
     static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3  = TSymbolUniqueId(562);
     static constexpr const TSymbolUniqueId pt0K                            = TSymbolUniqueId(563);
     static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3 = TSymbolUniqueId(564);
-    static constexpr const TSymbolUniqueId pt0S                            = TSymbolUniqueId(565);
+    static constexpr const TSymbolUniqueId pt0T                            = TSymbolUniqueId(565);
     static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3 = TSymbolUniqueId(566);
-    static constexpr const TSymbolUniqueId pt0X                            = TSymbolUniqueId(567);
+    static constexpr const TSymbolUniqueId pt0Z                            = TSymbolUniqueId(567);
     static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3   = TSymbolUniqueId(568);
     static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3  = TSymbolUniqueId(569);
     static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3  = TSymbolUniqueId(570);
@@ -658,12 +658,12 @@
     static constexpr const TSymbolUniqueId textureLod_USampler2DArray1_Float3_Float1 =
         TSymbolUniqueId(588);
     static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3   = TSymbolUniqueId(589);
-    static constexpr const TSymbolUniqueId pt0Z                              = TSymbolUniqueId(590);
+    static constexpr const TSymbolUniqueId pt0c                              = TSymbolUniqueId(590);
     static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4 = TSymbolUniqueId(591);
-    static constexpr const TSymbolUniqueId pt0a                              = TSymbolUniqueId(592);
+    static constexpr const TSymbolUniqueId pt0d                              = TSymbolUniqueId(592);
     static constexpr const TSymbolUniqueId texture_Sampler2DArrayShadow1_Float4 =
         TSymbolUniqueId(593);
-    static constexpr const TSymbolUniqueId pt0b = TSymbolUniqueId(594);
+    static constexpr const TSymbolUniqueId pt0e = TSymbolUniqueId(594);
     static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4 =
         TSymbolUniqueId(595);
     static constexpr const TSymbolUniqueId textureLod_Sampler2DShadow1_Float3_Float1 =
@@ -685,613 +685,625 @@
         TSymbolUniqueId(610);
     static constexpr const TSymbolUniqueId textureSize_Sampler2DArrayShadow1_Int1 =
         TSymbolUniqueId(611);
-    static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1  = TSymbolUniqueId(612);
-    static constexpr const TSymbolUniqueId pt0O                      = TSymbolUniqueId(613);
-    static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1 = TSymbolUniqueId(614);
-    static constexpr const TSymbolUniqueId pt0T                      = TSymbolUniqueId(615);
-    static constexpr const TSymbolUniqueId textureSize_USampler2DMS1 = TSymbolUniqueId(616);
-    static constexpr const TSymbolUniqueId pt0Y                      = TSymbolUniqueId(617);
     static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float3_Float1 =
-        TSymbolUniqueId(618);
+        TSymbolUniqueId(612);
     static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float3_Float1 =
-        TSymbolUniqueId(619);
+        TSymbolUniqueId(613);
     static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float3_Float1 =
-        TSymbolUniqueId(620);
+        TSymbolUniqueId(614);
     static constexpr const TSymbolUniqueId textureProjLod_Sampler2D1_Float4_Float1 =
-        TSymbolUniqueId(621);
+        TSymbolUniqueId(615);
     static constexpr const TSymbolUniqueId textureProjLod_ISampler2D1_Float4_Float1 =
-        TSymbolUniqueId(622);
+        TSymbolUniqueId(616);
     static constexpr const TSymbolUniqueId textureProjLod_USampler2D1_Float4_Float1 =
-        TSymbolUniqueId(623);
+        TSymbolUniqueId(617);
     static constexpr const TSymbolUniqueId textureProjLod_Sampler3D1_Float4_Float1 =
-        TSymbolUniqueId(624);
+        TSymbolUniqueId(618);
     static constexpr const TSymbolUniqueId textureProjLod_ISampler3D1_Float4_Float1 =
-        TSymbolUniqueId(625);
+        TSymbolUniqueId(619);
     static constexpr const TSymbolUniqueId textureProjLod_USampler3D1_Float4_Float1 =
-        TSymbolUniqueId(626);
+        TSymbolUniqueId(620);
     static constexpr const TSymbolUniqueId textureProjLod_Sampler2DShadow1_Float4_Float1 =
-        TSymbolUniqueId(627);
-    static constexpr const TSymbolUniqueId texelFetch_Sampler2D1_Int2_Int1  = TSymbolUniqueId(628);
-    static constexpr const TSymbolUniqueId texelFetch_ISampler2D1_Int2_Int1 = TSymbolUniqueId(629);
-    static constexpr const TSymbolUniqueId texelFetch_USampler2D1_Int2_Int1 = TSymbolUniqueId(630);
-    static constexpr const TSymbolUniqueId texelFetch_Sampler3D1_Int3_Int1  = TSymbolUniqueId(631);
-    static constexpr const TSymbolUniqueId texelFetch_ISampler3D1_Int3_Int1 = TSymbolUniqueId(632);
-    static constexpr const TSymbolUniqueId texelFetch_USampler3D1_Int3_Int1 = TSymbolUniqueId(633);
+        TSymbolUniqueId(621);
+    static constexpr const TSymbolUniqueId texelFetch_Sampler2D1_Int2_Int1  = TSymbolUniqueId(622);
+    static constexpr const TSymbolUniqueId texelFetch_ISampler2D1_Int2_Int1 = TSymbolUniqueId(623);
+    static constexpr const TSymbolUniqueId texelFetch_USampler2D1_Int2_Int1 = TSymbolUniqueId(624);
+    static constexpr const TSymbolUniqueId texelFetch_Sampler3D1_Int3_Int1  = TSymbolUniqueId(625);
+    static constexpr const TSymbolUniqueId texelFetch_ISampler3D1_Int3_Int1 = TSymbolUniqueId(626);
+    static constexpr const TSymbolUniqueId texelFetch_USampler3D1_Int3_Int1 = TSymbolUniqueId(627);
     static constexpr const TSymbolUniqueId texelFetch_Sampler2DArray1_Int3_Int1 =
-        TSymbolUniqueId(634);
+        TSymbolUniqueId(628);
     static constexpr const TSymbolUniqueId texelFetch_ISampler2DArray1_Int3_Int1 =
-        TSymbolUniqueId(635);
+        TSymbolUniqueId(629);
     static constexpr const TSymbolUniqueId texelFetch_USampler2DArray1_Int3_Int1 =
-        TSymbolUniqueId(636);
+        TSymbolUniqueId(630);
     static constexpr const TSymbolUniqueId textureGrad_Sampler2D1_Float2_Float2_Float2 =
-        TSymbolUniqueId(637);
+        TSymbolUniqueId(631);
     static constexpr const TSymbolUniqueId textureGrad_ISampler2D1_Float2_Float2_Float2 =
-        TSymbolUniqueId(638);
+        TSymbolUniqueId(632);
     static constexpr const TSymbolUniqueId textureGrad_USampler2D1_Float2_Float2_Float2 =
-        TSymbolUniqueId(639);
+        TSymbolUniqueId(633);
     static constexpr const TSymbolUniqueId textureGrad_Sampler3D1_Float3_Float3_Float3 =
-        TSymbolUniqueId(640);
+        TSymbolUniqueId(634);
     static constexpr const TSymbolUniqueId textureGrad_ISampler3D1_Float3_Float3_Float3 =
-        TSymbolUniqueId(641);
+        TSymbolUniqueId(635);
     static constexpr const TSymbolUniqueId textureGrad_USampler3D1_Float3_Float3_Float3 =
-        TSymbolUniqueId(642);
+        TSymbolUniqueId(636);
     static constexpr const TSymbolUniqueId textureGrad_SamplerCube1_Float3_Float3_Float3 =
-        TSymbolUniqueId(643);
+        TSymbolUniqueId(637);
     static constexpr const TSymbolUniqueId textureGrad_ISamplerCube1_Float3_Float3_Float3 =
-        TSymbolUniqueId(644);
+        TSymbolUniqueId(638);
     static constexpr const TSymbolUniqueId textureGrad_USamplerCube1_Float3_Float3_Float3 =
-        TSymbolUniqueId(645);
+        TSymbolUniqueId(639);
     static constexpr const TSymbolUniqueId textureGrad_Sampler2DShadow1_Float3_Float2_Float2 =
-        TSymbolUniqueId(646);
+        TSymbolUniqueId(640);
     static constexpr const TSymbolUniqueId textureGrad_SamplerCubeShadow1_Float4_Float3_Float3 =
-        TSymbolUniqueId(647);
+        TSymbolUniqueId(641);
     static constexpr const TSymbolUniqueId textureGrad_Sampler2DArray1_Float3_Float2_Float2 =
-        TSymbolUniqueId(648);
+        TSymbolUniqueId(642);
     static constexpr const TSymbolUniqueId textureGrad_ISampler2DArray1_Float3_Float2_Float2 =
-        TSymbolUniqueId(649);
+        TSymbolUniqueId(643);
     static constexpr const TSymbolUniqueId textureGrad_USampler2DArray1_Float3_Float2_Float2 =
-        TSymbolUniqueId(650);
+        TSymbolUniqueId(644);
     static constexpr const TSymbolUniqueId textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2 =
-        TSymbolUniqueId(651);
+        TSymbolUniqueId(645);
     static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float3_Float2_Float2 =
-        TSymbolUniqueId(652);
+        TSymbolUniqueId(646);
     static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float3_Float2_Float2 =
-        TSymbolUniqueId(653);
+        TSymbolUniqueId(647);
     static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float3_Float2_Float2 =
-        TSymbolUniqueId(654);
+        TSymbolUniqueId(648);
     static constexpr const TSymbolUniqueId textureProjGrad_Sampler2D1_Float4_Float2_Float2 =
-        TSymbolUniqueId(655);
+        TSymbolUniqueId(649);
     static constexpr const TSymbolUniqueId textureProjGrad_ISampler2D1_Float4_Float2_Float2 =
-        TSymbolUniqueId(656);
+        TSymbolUniqueId(650);
     static constexpr const TSymbolUniqueId textureProjGrad_USampler2D1_Float4_Float2_Float2 =
-        TSymbolUniqueId(657);
+        TSymbolUniqueId(651);
     static constexpr const TSymbolUniqueId textureProjGrad_Sampler3D1_Float4_Float3_Float3 =
-        TSymbolUniqueId(658);
+        TSymbolUniqueId(652);
     static constexpr const TSymbolUniqueId textureProjGrad_ISampler3D1_Float4_Float3_Float3 =
-        TSymbolUniqueId(659);
+        TSymbolUniqueId(653);
     static constexpr const TSymbolUniqueId textureProjGrad_USampler3D1_Float4_Float3_Float3 =
-        TSymbolUniqueId(660);
+        TSymbolUniqueId(654);
     static constexpr const TSymbolUniqueId textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2 =
-        TSymbolUniqueId(661);
+        TSymbolUniqueId(655);
+    static constexpr const TSymbolUniqueId textureSize_Sampler2DMS1       = TSymbolUniqueId(656);
+    static constexpr const TSymbolUniqueId pt0O                           = TSymbolUniqueId(657);
+    static constexpr const TSymbolUniqueId textureSize_ISampler2DMS1      = TSymbolUniqueId(658);
+    static constexpr const TSymbolUniqueId pt0U                           = TSymbolUniqueId(659);
+    static constexpr const TSymbolUniqueId textureSize_USampler2DMS1      = TSymbolUniqueId(660);
+    static constexpr const TSymbolUniqueId pt0a                           = TSymbolUniqueId(661);
+    static constexpr const TSymbolUniqueId textureSize_Sampler2DMSArray1  = TSymbolUniqueId(662);
+    static constexpr const TSymbolUniqueId pt0P                           = TSymbolUniqueId(663);
+    static constexpr const TSymbolUniqueId textureSize_ISampler2DMSArray1 = TSymbolUniqueId(664);
+    static constexpr const TSymbolUniqueId pt0V                           = TSymbolUniqueId(665);
+    static constexpr const TSymbolUniqueId textureSize_USampler2DMSArray1 = TSymbolUniqueId(666);
+    static constexpr const TSymbolUniqueId pt0b                           = TSymbolUniqueId(667);
     static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2 =
-        TSymbolUniqueId(662);
-    static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 =
-        TSymbolUniqueId(663);
-    static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2 =
-        TSymbolUniqueId(664);
-    static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3 =
-        TSymbolUniqueId(665);
-    static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3 =
-        TSymbolUniqueId(666);
-    static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3 =
-        TSymbolUniqueId(667);
-    static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2 =
         TSymbolUniqueId(668);
-    static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2 =
         TSymbolUniqueId(669);
-    static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2 =
         TSymbolUniqueId(670);
-    static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3 =
         TSymbolUniqueId(671);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3 =
         TSymbolUniqueId(672);
-    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3 =
         TSymbolUniqueId(673);
-    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2 =
         TSymbolUniqueId(674);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2 =
         TSymbolUniqueId(675);
-    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2 =
         TSymbolUniqueId(676);
-    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2 =
+    static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2 =
         TSymbolUniqueId(677);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2 =
         TSymbolUniqueId(678);
-    static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2 =
         TSymbolUniqueId(679);
-    static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2 =
         TSymbolUniqueId(680);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2 =
         TSymbolUniqueId(681);
-    static constexpr const TSymbolUniqueId textureLodOffset_Sampler2D1_Float2_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2 =
         TSymbolUniqueId(682);
-    static constexpr const TSymbolUniqueId textureLodOffset_ISampler2D1_Float2_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2 =
         TSymbolUniqueId(683);
-    static constexpr const TSymbolUniqueId textureLodOffset_USampler2D1_Float2_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3 =
         TSymbolUniqueId(684);
-    static constexpr const TSymbolUniqueId textureLodOffset_Sampler3D1_Float3_Float1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3 =
         TSymbolUniqueId(685);
-    static constexpr const TSymbolUniqueId textureLodOffset_ISampler3D1_Float3_Float1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3 =
         TSymbolUniqueId(686);
-    static constexpr const TSymbolUniqueId textureLodOffset_USampler3D1_Float3_Float1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2 =
         TSymbolUniqueId(687);
-    static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_Sampler2D1_Float2_Float1_Int2 =
         TSymbolUniqueId(688);
-    static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_ISampler2D1_Float2_Float1_Int2 =
         TSymbolUniqueId(689);
-    static constexpr const TSymbolUniqueId textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_USampler2D1_Float2_Float1_Int2 =
         TSymbolUniqueId(690);
-    static constexpr const TSymbolUniqueId textureLodOffset_USampler2DArray1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_Sampler3D1_Float3_Float1_Int3 =
         TSymbolUniqueId(691);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_ISampler3D1_Float3_Float1_Int3 =
         TSymbolUniqueId(692);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_USampler3D1_Float3_Float1_Int3 =
         TSymbolUniqueId(693);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float3_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 =
         TSymbolUniqueId(694);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 =
         TSymbolUniqueId(695);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 =
         TSymbolUniqueId(696);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float4_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureLodOffset_USampler2DArray1_Float3_Float1_Int2 =
         TSymbolUniqueId(697);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 =
         TSymbolUniqueId(698);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 =
         TSymbolUniqueId(699);
-    static constexpr const TSymbolUniqueId textureProjLodOffset_USampler3D1_Float4_Float1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float3_Float1_Int2 =
         TSymbolUniqueId(700);
-    static constexpr const TSymbolUniqueId
-        textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(701);
-    static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2D1_Int2_Int1_Int2 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 =
+        TSymbolUniqueId(701);
+    static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 =
         TSymbolUniqueId(702);
-    static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2D1_Int2_Int1_Int2 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_USampler2D1_Float4_Float1_Int2 =
         TSymbolUniqueId(703);
-    static constexpr const TSymbolUniqueId texelFetchOffset_USampler2D1_Int2_Int1_Int2 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 =
         TSymbolUniqueId(704);
-    static constexpr const TSymbolUniqueId texelFetchOffset_Sampler3D1_Int3_Int1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 =
         TSymbolUniqueId(705);
-    static constexpr const TSymbolUniqueId texelFetchOffset_ISampler3D1_Int3_Int1_Int3 =
+    static constexpr const TSymbolUniqueId textureProjLodOffset_USampler3D1_Float4_Float1_Int3 =
         TSymbolUniqueId(706);
-    static constexpr const TSymbolUniqueId texelFetchOffset_USampler3D1_Int3_Int1_Int3 =
-        TSymbolUniqueId(707);
-    static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 =
+    static constexpr const TSymbolUniqueId
+        textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 = TSymbolUniqueId(707);
+    static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2D1_Int2_Int1_Int2 =
         TSymbolUniqueId(708);
-    static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2D1_Int2_Int1_Int2 =
         TSymbolUniqueId(709);
-    static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_USampler2D1_Int2_Int1_Int2 =
         TSymbolUniqueId(710);
-    static constexpr const TSymbolUniqueId textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_Sampler3D1_Int3_Int1_Int3 =
         TSymbolUniqueId(711);
-    static constexpr const TSymbolUniqueId textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_ISampler3D1_Int3_Int1_Int3 =
         TSymbolUniqueId(712);
-    static constexpr const TSymbolUniqueId textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_USampler3D1_Int3_Int1_Int3 =
         TSymbolUniqueId(713);
-    static constexpr const TSymbolUniqueId textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 =
         TSymbolUniqueId(714);
-    static constexpr const TSymbolUniqueId textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 =
         TSymbolUniqueId(715);
-    static constexpr const TSymbolUniqueId textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 =
+    static constexpr const TSymbolUniqueId texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 =
         TSymbolUniqueId(716);
+    static constexpr const TSymbolUniqueId textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 =
+        TSymbolUniqueId(717);
+    static constexpr const TSymbolUniqueId textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 =
+        TSymbolUniqueId(718);
+    static constexpr const TSymbolUniqueId textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 =
+        TSymbolUniqueId(719);
+    static constexpr const TSymbolUniqueId textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 =
+        TSymbolUniqueId(720);
+    static constexpr const TSymbolUniqueId textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 =
+        TSymbolUniqueId(721);
+    static constexpr const TSymbolUniqueId textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 =
+        TSymbolUniqueId(722);
     static constexpr const TSymbolUniqueId
-        textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(717);
+        textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(723);
     static constexpr const TSymbolUniqueId
-        textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(718);
+        textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(724);
     static constexpr const TSymbolUniqueId
-        textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(719);
+        textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(725);
     static constexpr const TSymbolUniqueId
-        textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(720);
+        textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(726);
     static constexpr const TSymbolUniqueId
-        textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(721);
+        textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(727);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(722);
+        textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(728);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(723);
+        textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(729);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(724);
+        textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 = TSymbolUniqueId(730);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(725);
+        textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(731);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(726);
+        textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(732);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(727);
+        textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(733);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(728);
+        textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(734);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(729);
+        textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(735);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(730);
+        textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 = TSymbolUniqueId(736);
     static constexpr const TSymbolUniqueId
-        textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(731);
+        textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 = TSymbolUniqueId(737);
     static constexpr const TSymbolUniqueId textureOffset_Sampler2D1_Float2_Int2_Float1 =
-        TSymbolUniqueId(732);
-    static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2_Float1 =
-        TSymbolUniqueId(733);
-    static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2_Float1 =
-        TSymbolUniqueId(734);
-    static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3_Float1 =
-        TSymbolUniqueId(735);
-    static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3_Float1 =
-        TSymbolUniqueId(736);
-    static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3_Float1 =
-        TSymbolUniqueId(737);
-    static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2_Float1 =
         TSymbolUniqueId(738);
-    static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_ISampler2D1_Float2_Int2_Float1 =
         TSymbolUniqueId(739);
-    static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_USampler2D1_Float2_Int2_Float1 =
         TSymbolUniqueId(740);
-    static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_Sampler3D1_Float3_Int3_Float1 =
         TSymbolUniqueId(741);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_ISampler3D1_Float3_Int3_Float1 =
         TSymbolUniqueId(742);
-    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_USampler3D1_Float3_Int3_Float1 =
         TSymbolUniqueId(743);
-    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_Sampler2DShadow1_Float3_Int2_Float1 =
         TSymbolUniqueId(744);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_Sampler2DArray1_Float3_Int2_Float1 =
         TSymbolUniqueId(745);
-    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_ISampler2DArray1_Float3_Int2_Float1 =
         TSymbolUniqueId(746);
-    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureOffset_USampler2DArray1_Float3_Int2_Float1 =
         TSymbolUniqueId(747);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3_Float1 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float3_Int2_Float1 =
         TSymbolUniqueId(748);
-    static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3_Float1 =
+    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float3_Int2_Float1 =
         TSymbolUniqueId(749);
-    static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3_Float1 =
+    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float3_Int2_Float1 =
         TSymbolUniqueId(750);
-    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2D1_Float4_Int2_Float1 =
         TSymbolUniqueId(751);
-    static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2 =
+    static constexpr const TSymbolUniqueId textureProjOffset_ISampler2D1_Float4_Int2_Float1 =
         TSymbolUniqueId(752);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3 =
+    static constexpr const TSymbolUniqueId textureProjOffset_USampler2D1_Float4_Int2_Float1 =
         TSymbolUniqueId(753);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler3D1_Float4_Int3_Float1 =
         TSymbolUniqueId(754);
-    static constexpr const TSymbolUniqueId textureSize_SamplerExternalOES1_Int1 =
+    static constexpr const TSymbolUniqueId textureProjOffset_ISampler3D1_Float4_Int3_Float1 =
         TSymbolUniqueId(755);
-    static constexpr const TSymbolUniqueId texelFetch_SamplerExternalOES1_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureProjOffset_USampler3D1_Float4_Int3_Float1 =
         TSymbolUniqueId(756);
-    static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 =
+    static constexpr const TSymbolUniqueId textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 =
         TSymbolUniqueId(757);
-    static constexpr const TSymbolUniqueId pt0M = TSymbolUniqueId(758);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 =
+    static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2 =
+        TSymbolUniqueId(758);
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3 =
         TSymbolUniqueId(759);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 =
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4 =
         TSymbolUniqueId(760);
-    static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 =
+    static constexpr const TSymbolUniqueId textureSize_SamplerExternalOES1_Int1 =
         TSymbolUniqueId(761);
-    static constexpr const TSymbolUniqueId pt0G = TSymbolUniqueId(762);
-    static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 =
+    static constexpr const TSymbolUniqueId texelFetch_SamplerExternalOES1_Int2_Int1 =
+        TSymbolUniqueId(762);
+    static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2 =
         TSymbolUniqueId(763);
-    static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 =
-        TSymbolUniqueId(764);
-    static constexpr const TSymbolUniqueId texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 =
+    static constexpr const TSymbolUniqueId pt0M = TSymbolUniqueId(764);
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3 =
         TSymbolUniqueId(765);
-    static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1  = TSymbolUniqueId(766);
-    static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2_Float1 = TSymbolUniqueId(767);
-    static constexpr const TSymbolUniqueId texture_USampler2D1_Float2_Float1 = TSymbolUniqueId(768);
-    static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1  = TSymbolUniqueId(769);
-    static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3_Float1 = TSymbolUniqueId(770);
-    static constexpr const TSymbolUniqueId texture_USampler3D1_Float3_Float1 = TSymbolUniqueId(771);
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4 =
+        TSymbolUniqueId(766);
+    static constexpr const TSymbolUniqueId rgb_2_yuv_Float3_YuvCscStandardEXT1 =
+        TSymbolUniqueId(767);
+    static constexpr const TSymbolUniqueId pt0G = TSymbolUniqueId(768);
+    static constexpr const TSymbolUniqueId yuv_2_rgb_Float3_YuvCscStandardEXT1 =
+        TSymbolUniqueId(769);
+    static constexpr const TSymbolUniqueId textureSize_SamplerExternal2DY2YEXT1_Int1 =
+        TSymbolUniqueId(770);
+    static constexpr const TSymbolUniqueId texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 =
+        TSymbolUniqueId(771);
+    static constexpr const TSymbolUniqueId texture_Sampler2D1_Float2_Float1  = TSymbolUniqueId(772);
+    static constexpr const TSymbolUniqueId texture_ISampler2D1_Float2_Float1 = TSymbolUniqueId(773);
+    static constexpr const TSymbolUniqueId texture_USampler2D1_Float2_Float1 = TSymbolUniqueId(774);
+    static constexpr const TSymbolUniqueId texture_Sampler3D1_Float3_Float1  = TSymbolUniqueId(775);
+    static constexpr const TSymbolUniqueId texture_ISampler3D1_Float3_Float1 = TSymbolUniqueId(776);
+    static constexpr const TSymbolUniqueId texture_USampler3D1_Float3_Float1 = TSymbolUniqueId(777);
     static constexpr const TSymbolUniqueId texture_SamplerCube1_Float3_Float1 =
-        TSymbolUniqueId(772);
-    static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3_Float1 =
-        TSymbolUniqueId(773);
-    static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3_Float1 =
-        TSymbolUniqueId(774);
-    static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3_Float1 =
-        TSymbolUniqueId(775);
-    static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3_Float1 =
-        TSymbolUniqueId(776);
-    static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3_Float1 =
-        TSymbolUniqueId(777);
-    static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3_Float1 =
         TSymbolUniqueId(778);
-    static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3_Float1 =
+    static constexpr const TSymbolUniqueId texture_ISamplerCube1_Float3_Float1 =
         TSymbolUniqueId(779);
-    static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3_Float1 =
+    static constexpr const TSymbolUniqueId texture_USamplerCube1_Float3_Float1 =
         TSymbolUniqueId(780);
-    static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId texture_Sampler2DArray1_Float3_Float1 =
         TSymbolUniqueId(781);
-    static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId texture_ISampler2DArray1_Float3_Float1 =
         TSymbolUniqueId(782);
-    static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId texture_USampler2DArray1_Float3_Float1 =
         TSymbolUniqueId(783);
-    static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float3_Float1 =
         TSymbolUniqueId(784);
-    static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float3_Float1 =
         TSymbolUniqueId(785);
-    static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float3_Float1 =
         TSymbolUniqueId(786);
-    static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_Sampler2D1_Float4_Float1 =
         TSymbolUniqueId(787);
-    static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_ISampler2D1_Float4_Float1 =
         TSymbolUniqueId(788);
-    static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_USampler2D1_Float4_Float1 =
         TSymbolUniqueId(789);
-    static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_Sampler3D1_Float4_Float1 =
         TSymbolUniqueId(790);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_ISampler3D1_Float4_Float1 =
         TSymbolUniqueId(791);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_USampler3D1_Float4_Float1 =
         TSymbolUniqueId(792);
-    static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2_Float1 =
+    static constexpr const TSymbolUniqueId texture_Sampler2DShadow1_Float3_Float1 =
         TSymbolUniqueId(793);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 =
+    static constexpr const TSymbolUniqueId texture_SamplerCubeShadow1_Float4_Float1 =
         TSymbolUniqueId(794);
-    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 =
+    static constexpr const TSymbolUniqueId textureProj_Sampler2DShadow1_Float4_Float1 =
         TSymbolUniqueId(795);
-    static constexpr const TSymbolUniqueId texelFetch_Sampler2DMS1_Int2_Int1 = TSymbolUniqueId(796);
-    static constexpr const TSymbolUniqueId texelFetch_ISampler2DMS1_Int2_Int1 =
+    static constexpr const TSymbolUniqueId texture_SamplerExternalOES1_Float2_Float1 =
+        TSymbolUniqueId(796);
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float3_Float1 =
         TSymbolUniqueId(797);
-    static constexpr const TSymbolUniqueId texelFetch_USampler2DMS1_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternalOES1_Float4_Float1 =
         TSymbolUniqueId(798);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2  = TSymbolUniqueId(799);
-    static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(800);
-    static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(801);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2_Int1 =
-        TSymbolUniqueId(802);
-    static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2_Int1 =
+    static constexpr const TSymbolUniqueId texture_SamplerExternal2DY2YEXT1_Float2_Float1 =
+        TSymbolUniqueId(799);
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 =
+        TSymbolUniqueId(800);
+    static constexpr const TSymbolUniqueId textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 =
+        TSymbolUniqueId(801);
+    static constexpr const TSymbolUniqueId texelFetch_Sampler2DMS1_Int2_Int1 = TSymbolUniqueId(802);
+    static constexpr const TSymbolUniqueId texelFetch_ISampler2DMS1_Int2_Int1 =
         TSymbolUniqueId(803);
-    static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2_Int1 =
+    static constexpr const TSymbolUniqueId texelFetch_USampler2DMS1_Int2_Int1 =
         TSymbolUniqueId(804);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3 =
+    static constexpr const TSymbolUniqueId texelFetch_Sampler2DMSArray1_Int3_Int1 =
         TSymbolUniqueId(805);
-    static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3 =
+    static constexpr const TSymbolUniqueId texelFetch_ISampler2DMSArray1_Int3_Int1 =
         TSymbolUniqueId(806);
-    static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3 =
+    static constexpr const TSymbolUniqueId texelFetch_USampler2DMSArray1_Int3_Int1 =
         TSymbolUniqueId(807);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3_Int1 =
-        TSymbolUniqueId(808);
-    static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3_Int1 =
-        TSymbolUniqueId(809);
-    static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3_Int1 =
-        TSymbolUniqueId(810);
-    static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3 = TSymbolUniqueId(811);
-    static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2  = TSymbolUniqueId(808);
+    static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2 = TSymbolUniqueId(809);
+    static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2 = TSymbolUniqueId(810);
+    static constexpr const TSymbolUniqueId textureGather_Sampler2D1_Float2_Int1 =
+        TSymbolUniqueId(811);
+    static constexpr const TSymbolUniqueId textureGather_ISampler2D1_Float2_Int1 =
         TSymbolUniqueId(812);
-    static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3 =
+    static constexpr const TSymbolUniqueId textureGather_USampler2D1_Float2_Int1 =
         TSymbolUniqueId(813);
-    static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3_Int1 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3 =
         TSymbolUniqueId(814);
-    static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3_Int1 =
+    static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3 =
         TSymbolUniqueId(815);
-    static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3_Int1 =
+    static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3 =
         TSymbolUniqueId(816);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2DArray1_Float3_Int1 =
         TSymbolUniqueId(817);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2_Float1 =
+    static constexpr const TSymbolUniqueId textureGather_ISampler2DArray1_Float3_Int1 =
         TSymbolUniqueId(818);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3 =
+    static constexpr const TSymbolUniqueId textureGather_USampler2DArray1_Float3_Int1 =
         TSymbolUniqueId(819);
-    static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3_Float1 =
-        TSymbolUniqueId(820);
-    static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3 =
+    static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3 = TSymbolUniqueId(820);
+    static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3 =
         TSymbolUniqueId(821);
-    static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3_Float1 =
+    static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3 =
         TSymbolUniqueId(822);
-    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2 =
+    static constexpr const TSymbolUniqueId textureGather_SamplerCube1_Float3_Int1 =
         TSymbolUniqueId(823);
-    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2 =
+    static constexpr const TSymbolUniqueId textureGather_ISamplerCube1_Float3_Int1 =
         TSymbolUniqueId(824);
-    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2 =
+    static constexpr const TSymbolUniqueId textureGather_USamplerCube1_Float3_Int1 =
         TSymbolUniqueId(825);
-    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2 =
         TSymbolUniqueId(826);
-    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2DShadow1_Float2_Float1 =
         TSymbolUniqueId(827);
-    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3 =
         TSymbolUniqueId(828);
-    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureGather_Sampler2DArrayShadow1_Float3_Float1 =
         TSymbolUniqueId(829);
-    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3 =
         TSymbolUniqueId(830);
-    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2 =
+    static constexpr const TSymbolUniqueId textureGather_SamplerCubeShadow1_Float3_Float1 =
         TSymbolUniqueId(831);
-    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2 =
         TSymbolUniqueId(832);
-    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2 =
         TSymbolUniqueId(833);
-    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 =
+    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2 =
         TSymbolUniqueId(834);
-    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 =
+    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2D1_Float2_Int2_Int1 =
         TSymbolUniqueId(835);
+    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2D1_Float2_Int2_Int1 =
+        TSymbolUniqueId(836);
+    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2D1_Float2_Int2_Int1 =
+        TSymbolUniqueId(837);
+    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2 =
+        TSymbolUniqueId(838);
+    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2 =
+        TSymbolUniqueId(839);
+    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2 =
+        TSymbolUniqueId(840);
+    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 =
+        TSymbolUniqueId(841);
+    static constexpr const TSymbolUniqueId textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 =
+        TSymbolUniqueId(842);
+    static constexpr const TSymbolUniqueId textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 =
+        TSymbolUniqueId(843);
+    static constexpr const TSymbolUniqueId textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 =
+        TSymbolUniqueId(844);
     static constexpr const TSymbolUniqueId
-        textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2    = TSymbolUniqueId(836);
-    static constexpr const TSymbolUniqueId dFdx_Float1                  = TSymbolUniqueId(837);
-    static constexpr const TSymbolUniqueId dFdx_Float2                  = TSymbolUniqueId(838);
-    static constexpr const TSymbolUniqueId dFdx_Float3                  = TSymbolUniqueId(839);
-    static constexpr const TSymbolUniqueId dFdx_Float4                  = TSymbolUniqueId(840);
-    static constexpr const TSymbolUniqueId dFdy_Float1                  = TSymbolUniqueId(841);
-    static constexpr const TSymbolUniqueId dFdy_Float2                  = TSymbolUniqueId(842);
-    static constexpr const TSymbolUniqueId dFdy_Float3                  = TSymbolUniqueId(843);
-    static constexpr const TSymbolUniqueId dFdy_Float4                  = TSymbolUniqueId(844);
-    static constexpr const TSymbolUniqueId fwidth_Float1                = TSymbolUniqueId(845);
-    static constexpr const TSymbolUniqueId fwidth_Float2                = TSymbolUniqueId(846);
-    static constexpr const TSymbolUniqueId fwidth_Float3                = TSymbolUniqueId(847);
-    static constexpr const TSymbolUniqueId fwidth_Float4                = TSymbolUniqueId(848);
-    static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(849);
-    static constexpr const TSymbolUniqueId pt0F                         = TSymbolUniqueId(850);
+        textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2    = TSymbolUniqueId(845);
+    static constexpr const TSymbolUniqueId dFdx_Float1                  = TSymbolUniqueId(846);
+    static constexpr const TSymbolUniqueId dFdx_Float2                  = TSymbolUniqueId(847);
+    static constexpr const TSymbolUniqueId dFdx_Float3                  = TSymbolUniqueId(848);
+    static constexpr const TSymbolUniqueId dFdx_Float4                  = TSymbolUniqueId(849);
+    static constexpr const TSymbolUniqueId dFdy_Float1                  = TSymbolUniqueId(850);
+    static constexpr const TSymbolUniqueId dFdy_Float2                  = TSymbolUniqueId(851);
+    static constexpr const TSymbolUniqueId dFdy_Float3                  = TSymbolUniqueId(852);
+    static constexpr const TSymbolUniqueId dFdy_Float4                  = TSymbolUniqueId(853);
+    static constexpr const TSymbolUniqueId fwidth_Float1                = TSymbolUniqueId(854);
+    static constexpr const TSymbolUniqueId fwidth_Float2                = TSymbolUniqueId(855);
+    static constexpr const TSymbolUniqueId fwidth_Float3                = TSymbolUniqueId(856);
+    static constexpr const TSymbolUniqueId fwidth_Float4                = TSymbolUniqueId(857);
+    static constexpr const TSymbolUniqueId atomicCounter_AtomicCounter1 = TSymbolUniqueId(858);
+    static constexpr const TSymbolUniqueId pt0F                         = TSymbolUniqueId(859);
     static constexpr const TSymbolUniqueId atomicCounterIncrement_AtomicCounter1 =
-        TSymbolUniqueId(851);
+        TSymbolUniqueId(860);
     static constexpr const TSymbolUniqueId atomicCounterDecrement_AtomicCounter1 =
-        TSymbolUniqueId(852);
-    static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1            = TSymbolUniqueId(853);
-    static constexpr const TSymbolUniqueId pt_io_0D                         = TSymbolUniqueId(854);
-    static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1              = TSymbolUniqueId(855);
-    static constexpr const TSymbolUniqueId pt_io_0C                         = TSymbolUniqueId(856);
-    static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1            = TSymbolUniqueId(857);
-    static constexpr const TSymbolUniqueId atomicMin_Int1_Int1              = TSymbolUniqueId(858);
-    static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1            = TSymbolUniqueId(859);
-    static constexpr const TSymbolUniqueId atomicMax_Int1_Int1              = TSymbolUniqueId(860);
-    static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1            = TSymbolUniqueId(861);
-    static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1              = TSymbolUniqueId(862);
-    static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1             = TSymbolUniqueId(863);
-    static constexpr const TSymbolUniqueId atomicOr_Int1_Int1               = TSymbolUniqueId(864);
-    static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1            = TSymbolUniqueId(865);
-    static constexpr const TSymbolUniqueId atomicXor_Int1_Int1              = TSymbolUniqueId(866);
-    static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1       = TSymbolUniqueId(867);
-    static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1         = TSymbolUniqueId(868);
-    static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(869);
-    static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1    = TSymbolUniqueId(870);
-    static constexpr const TSymbolUniqueId imageSize_Image2D1               = TSymbolUniqueId(871);
-    static constexpr const TSymbolUniqueId pt0c                             = TSymbolUniqueId(872);
-    static constexpr const TSymbolUniqueId imageSize_IImage2D1              = TSymbolUniqueId(873);
-    static constexpr const TSymbolUniqueId pt0d                             = TSymbolUniqueId(874);
-    static constexpr const TSymbolUniqueId imageSize_UImage2D1              = TSymbolUniqueId(875);
-    static constexpr const TSymbolUniqueId pt0e                             = TSymbolUniqueId(876);
-    static constexpr const TSymbolUniqueId imageSize_Image3D1               = TSymbolUniqueId(877);
-    static constexpr const TSymbolUniqueId pt0f                             = TSymbolUniqueId(878);
-    static constexpr const TSymbolUniqueId imageSize_IImage3D1              = TSymbolUniqueId(879);
-    static constexpr const TSymbolUniqueId pt0g                             = TSymbolUniqueId(880);
-    static constexpr const TSymbolUniqueId imageSize_UImage3D1              = TSymbolUniqueId(881);
-    static constexpr const TSymbolUniqueId pt0h                             = TSymbolUniqueId(882);
-    static constexpr const TSymbolUniqueId imageSize_Image2DArray1          = TSymbolUniqueId(883);
-    static constexpr const TSymbolUniqueId pt0i                             = TSymbolUniqueId(884);
-    static constexpr const TSymbolUniqueId imageSize_IImage2DArray1         = TSymbolUniqueId(885);
-    static constexpr const TSymbolUniqueId pt0j                             = TSymbolUniqueId(886);
-    static constexpr const TSymbolUniqueId imageSize_UImage2DArray1         = TSymbolUniqueId(887);
-    static constexpr const TSymbolUniqueId pt0k                             = TSymbolUniqueId(888);
-    static constexpr const TSymbolUniqueId imageSize_ImageCube1             = TSymbolUniqueId(889);
-    static constexpr const TSymbolUniqueId pt0l                             = TSymbolUniqueId(890);
-    static constexpr const TSymbolUniqueId imageSize_IImageCube1            = TSymbolUniqueId(891);
-    static constexpr const TSymbolUniqueId pt0m                             = TSymbolUniqueId(892);
-    static constexpr const TSymbolUniqueId imageSize_UImageCube1            = TSymbolUniqueId(893);
-    static constexpr const TSymbolUniqueId pt0n                             = TSymbolUniqueId(894);
-    static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2          = TSymbolUniqueId(895);
-    static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2         = TSymbolUniqueId(896);
-    static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2         = TSymbolUniqueId(897);
-    static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3          = TSymbolUniqueId(898);
-    static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3         = TSymbolUniqueId(899);
-    static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3         = TSymbolUniqueId(900);
-    static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3     = TSymbolUniqueId(901);
-    static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3    = TSymbolUniqueId(902);
-    static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3    = TSymbolUniqueId(903);
-    static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3        = TSymbolUniqueId(904);
-    static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3       = TSymbolUniqueId(905);
-    static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3       = TSymbolUniqueId(906);
-    static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4  = TSymbolUniqueId(907);
-    static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4   = TSymbolUniqueId(908);
-    static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4  = TSymbolUniqueId(909);
-    static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4  = TSymbolUniqueId(910);
-    static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4   = TSymbolUniqueId(911);
-    static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4  = TSymbolUniqueId(912);
+        TSymbolUniqueId(861);
+    static constexpr const TSymbolUniqueId atomicAdd_UInt1_UInt1            = TSymbolUniqueId(862);
+    static constexpr const TSymbolUniqueId pt_io_0D                         = TSymbolUniqueId(863);
+    static constexpr const TSymbolUniqueId atomicAdd_Int1_Int1              = TSymbolUniqueId(864);
+    static constexpr const TSymbolUniqueId pt_io_0C                         = TSymbolUniqueId(865);
+    static constexpr const TSymbolUniqueId atomicMin_UInt1_UInt1            = TSymbolUniqueId(866);
+    static constexpr const TSymbolUniqueId atomicMin_Int1_Int1              = TSymbolUniqueId(867);
+    static constexpr const TSymbolUniqueId atomicMax_UInt1_UInt1            = TSymbolUniqueId(868);
+    static constexpr const TSymbolUniqueId atomicMax_Int1_Int1              = TSymbolUniqueId(869);
+    static constexpr const TSymbolUniqueId atomicAnd_UInt1_UInt1            = TSymbolUniqueId(870);
+    static constexpr const TSymbolUniqueId atomicAnd_Int1_Int1              = TSymbolUniqueId(871);
+    static constexpr const TSymbolUniqueId atomicOr_UInt1_UInt1             = TSymbolUniqueId(872);
+    static constexpr const TSymbolUniqueId atomicOr_Int1_Int1               = TSymbolUniqueId(873);
+    static constexpr const TSymbolUniqueId atomicXor_UInt1_UInt1            = TSymbolUniqueId(874);
+    static constexpr const TSymbolUniqueId atomicXor_Int1_Int1              = TSymbolUniqueId(875);
+    static constexpr const TSymbolUniqueId atomicExchange_UInt1_UInt1       = TSymbolUniqueId(876);
+    static constexpr const TSymbolUniqueId atomicExchange_Int1_Int1         = TSymbolUniqueId(877);
+    static constexpr const TSymbolUniqueId atomicCompSwap_UInt1_UInt1_UInt1 = TSymbolUniqueId(878);
+    static constexpr const TSymbolUniqueId atomicCompSwap_Int1_Int1_Int1    = TSymbolUniqueId(879);
+    static constexpr const TSymbolUniqueId imageSize_Image2D1               = TSymbolUniqueId(880);
+    static constexpr const TSymbolUniqueId pt0f                             = TSymbolUniqueId(881);
+    static constexpr const TSymbolUniqueId imageSize_IImage2D1              = TSymbolUniqueId(882);
+    static constexpr const TSymbolUniqueId pt0g                             = TSymbolUniqueId(883);
+    static constexpr const TSymbolUniqueId imageSize_UImage2D1              = TSymbolUniqueId(884);
+    static constexpr const TSymbolUniqueId pt0h                             = TSymbolUniqueId(885);
+    static constexpr const TSymbolUniqueId imageSize_Image3D1               = TSymbolUniqueId(886);
+    static constexpr const TSymbolUniqueId pt0i                             = TSymbolUniqueId(887);
+    static constexpr const TSymbolUniqueId imageSize_IImage3D1              = TSymbolUniqueId(888);
+    static constexpr const TSymbolUniqueId pt0j                             = TSymbolUniqueId(889);
+    static constexpr const TSymbolUniqueId imageSize_UImage3D1              = TSymbolUniqueId(890);
+    static constexpr const TSymbolUniqueId pt0k                             = TSymbolUniqueId(891);
+    static constexpr const TSymbolUniqueId imageSize_Image2DArray1          = TSymbolUniqueId(892);
+    static constexpr const TSymbolUniqueId pt0l                             = TSymbolUniqueId(893);
+    static constexpr const TSymbolUniqueId imageSize_IImage2DArray1         = TSymbolUniqueId(894);
+    static constexpr const TSymbolUniqueId pt0m                             = TSymbolUniqueId(895);
+    static constexpr const TSymbolUniqueId imageSize_UImage2DArray1         = TSymbolUniqueId(896);
+    static constexpr const TSymbolUniqueId pt0n                             = TSymbolUniqueId(897);
+    static constexpr const TSymbolUniqueId imageSize_ImageCube1             = TSymbolUniqueId(898);
+    static constexpr const TSymbolUniqueId pt0o                             = TSymbolUniqueId(899);
+    static constexpr const TSymbolUniqueId imageSize_IImageCube1            = TSymbolUniqueId(900);
+    static constexpr const TSymbolUniqueId pt0p                             = TSymbolUniqueId(901);
+    static constexpr const TSymbolUniqueId imageSize_UImageCube1            = TSymbolUniqueId(902);
+    static constexpr const TSymbolUniqueId pt0q                             = TSymbolUniqueId(903);
+    static constexpr const TSymbolUniqueId imageLoad_Image2D1_Int2          = TSymbolUniqueId(904);
+    static constexpr const TSymbolUniqueId imageLoad_IImage2D1_Int2         = TSymbolUniqueId(905);
+    static constexpr const TSymbolUniqueId imageLoad_UImage2D1_Int2         = TSymbolUniqueId(906);
+    static constexpr const TSymbolUniqueId imageLoad_Image3D1_Int3          = TSymbolUniqueId(907);
+    static constexpr const TSymbolUniqueId imageLoad_IImage3D1_Int3         = TSymbolUniqueId(908);
+    static constexpr const TSymbolUniqueId imageLoad_UImage3D1_Int3         = TSymbolUniqueId(909);
+    static constexpr const TSymbolUniqueId imageLoad_Image2DArray1_Int3     = TSymbolUniqueId(910);
+    static constexpr const TSymbolUniqueId imageLoad_IImage2DArray1_Int3    = TSymbolUniqueId(911);
+    static constexpr const TSymbolUniqueId imageLoad_UImage2DArray1_Int3    = TSymbolUniqueId(912);
+    static constexpr const TSymbolUniqueId imageLoad_ImageCube1_Int3        = TSymbolUniqueId(913);
+    static constexpr const TSymbolUniqueId imageLoad_IImageCube1_Int3       = TSymbolUniqueId(914);
+    static constexpr const TSymbolUniqueId imageLoad_UImageCube1_Int3       = TSymbolUniqueId(915);
+    static constexpr const TSymbolUniqueId imageStore_Image2D1_Int2_Float4  = TSymbolUniqueId(916);
+    static constexpr const TSymbolUniqueId imageStore_IImage2D1_Int2_Int4   = TSymbolUniqueId(917);
+    static constexpr const TSymbolUniqueId imageStore_UImage2D1_Int2_UInt4  = TSymbolUniqueId(918);
+    static constexpr const TSymbolUniqueId imageStore_Image3D1_Int3_Float4  = TSymbolUniqueId(919);
+    static constexpr const TSymbolUniqueId imageStore_IImage3D1_Int3_Int4   = TSymbolUniqueId(920);
+    static constexpr const TSymbolUniqueId imageStore_UImage3D1_Int3_UInt4  = TSymbolUniqueId(921);
     static constexpr const TSymbolUniqueId imageStore_Image2DArray1_Int3_Float4 =
-        TSymbolUniqueId(913);
+        TSymbolUniqueId(922);
     static constexpr const TSymbolUniqueId imageStore_IImage2DArray1_Int3_Int4 =
-        TSymbolUniqueId(914);
+        TSymbolUniqueId(923);
     static constexpr const TSymbolUniqueId imageStore_UImage2DArray1_Int3_UInt4 =
-        TSymbolUniqueId(915);
-    static constexpr const TSymbolUniqueId imageStore_ImageCube1_Int3_Float4 = TSymbolUniqueId(916);
-    static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4  = TSymbolUniqueId(917);
-    static constexpr const TSymbolUniqueId imageStore_UImageCube1_Int3_UInt4 = TSymbolUniqueId(918);
-    static constexpr const TSymbolUniqueId memoryBarrier                     = TSymbolUniqueId(919);
-    static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter        = TSymbolUniqueId(920);
-    static constexpr const TSymbolUniqueId memoryBarrierBuffer               = TSymbolUniqueId(921);
-    static constexpr const TSymbolUniqueId memoryBarrierImage                = TSymbolUniqueId(922);
-    static constexpr const TSymbolUniqueId barrier                           = TSymbolUniqueId(923);
-    static constexpr const TSymbolUniqueId memoryBarrierShared               = TSymbolUniqueId(924);
-    static constexpr const TSymbolUniqueId groupMemoryBarrier                = TSymbolUniqueId(925);
-    static constexpr const TSymbolUniqueId EmitVertex                        = TSymbolUniqueId(926);
-    static constexpr const TSymbolUniqueId EndPrimitive                      = TSymbolUniqueId(927);
-    static constexpr const TSymbolUniqueId gl_DepthRangeParameters           = TSymbolUniqueId(928);
-    static constexpr const TSymbolUniqueId gl_DepthRange                     = TSymbolUniqueId(929);
-    static constexpr const TSymbolUniqueId gl_MaxVertexAttribs               = TSymbolUniqueId(930);
-    static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors        = TSymbolUniqueId(931);
-    static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits     = TSymbolUniqueId(932);
-    static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits   = TSymbolUniqueId(933);
-    static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits           = TSymbolUniqueId(934);
-    static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors      = TSymbolUniqueId(935);
-    static constexpr const TSymbolUniqueId gl_MaxVaryingVectors              = TSymbolUniqueId(936);
-    static constexpr const TSymbolUniqueId gl_MaxDrawBuffers                 = TSymbolUniqueId(937);
-    static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT    = TSymbolUniqueId(938);
-    static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors         = TSymbolUniqueId(939);
-    static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors        = TSymbolUniqueId(940);
-    static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset          = TSymbolUniqueId(941);
-    static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset          = TSymbolUniqueId(942);
-    static constexpr const TSymbolUniqueId gl_MaxImageUnits                  = TSymbolUniqueId(943);
-    static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms         = TSymbolUniqueId(944);
-    static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms       = TSymbolUniqueId(945);
-    static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms        = TSymbolUniqueId(946);
-    static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms       = TSymbolUniqueId(947);
+        TSymbolUniqueId(924);
+    static constexpr const TSymbolUniqueId imageStore_ImageCube1_Int3_Float4 = TSymbolUniqueId(925);
+    static constexpr const TSymbolUniqueId imageStore_IImageCube1_Int3_Int4  = TSymbolUniqueId(926);
+    static constexpr const TSymbolUniqueId imageStore_UImageCube1_Int3_UInt4 = TSymbolUniqueId(927);
+    static constexpr const TSymbolUniqueId memoryBarrier                     = TSymbolUniqueId(928);
+    static constexpr const TSymbolUniqueId memoryBarrierAtomicCounter        = TSymbolUniqueId(929);
+    static constexpr const TSymbolUniqueId memoryBarrierBuffer               = TSymbolUniqueId(930);
+    static constexpr const TSymbolUniqueId memoryBarrierImage                = TSymbolUniqueId(931);
+    static constexpr const TSymbolUniqueId barrier                           = TSymbolUniqueId(932);
+    static constexpr const TSymbolUniqueId memoryBarrierShared               = TSymbolUniqueId(933);
+    static constexpr const TSymbolUniqueId groupMemoryBarrier                = TSymbolUniqueId(934);
+    static constexpr const TSymbolUniqueId EmitVertex                        = TSymbolUniqueId(935);
+    static constexpr const TSymbolUniqueId EndPrimitive                      = TSymbolUniqueId(936);
+    static constexpr const TSymbolUniqueId gl_DepthRangeParameters           = TSymbolUniqueId(937);
+    static constexpr const TSymbolUniqueId gl_DepthRange                     = TSymbolUniqueId(938);
+    static constexpr const TSymbolUniqueId gl_MaxVertexAttribs               = TSymbolUniqueId(939);
+    static constexpr const TSymbolUniqueId gl_MaxVertexUniformVectors        = TSymbolUniqueId(940);
+    static constexpr const TSymbolUniqueId gl_MaxVertexTextureImageUnits     = TSymbolUniqueId(941);
+    static constexpr const TSymbolUniqueId gl_MaxCombinedTextureImageUnits   = TSymbolUniqueId(942);
+    static constexpr const TSymbolUniqueId gl_MaxTextureImageUnits           = TSymbolUniqueId(943);
+    static constexpr const TSymbolUniqueId gl_MaxFragmentUniformVectors      = TSymbolUniqueId(944);
+    static constexpr const TSymbolUniqueId gl_MaxVaryingVectors              = TSymbolUniqueId(945);
+    static constexpr const TSymbolUniqueId gl_MaxDrawBuffers                 = TSymbolUniqueId(946);
+    static constexpr const TSymbolUniqueId gl_MaxDualSourceDrawBuffersEXT    = TSymbolUniqueId(947);
+    static constexpr const TSymbolUniqueId gl_MaxVertexOutputVectors         = TSymbolUniqueId(948);
+    static constexpr const TSymbolUniqueId gl_MaxFragmentInputVectors        = TSymbolUniqueId(949);
+    static constexpr const TSymbolUniqueId gl_MinProgramTexelOffset          = TSymbolUniqueId(950);
+    static constexpr const TSymbolUniqueId gl_MaxProgramTexelOffset          = TSymbolUniqueId(951);
+    static constexpr const TSymbolUniqueId gl_MaxImageUnits                  = TSymbolUniqueId(952);
+    static constexpr const TSymbolUniqueId gl_MaxVertexImageUniforms         = TSymbolUniqueId(953);
+    static constexpr const TSymbolUniqueId gl_MaxFragmentImageUniforms       = TSymbolUniqueId(954);
+    static constexpr const TSymbolUniqueId gl_MaxComputeImageUniforms        = TSymbolUniqueId(955);
+    static constexpr const TSymbolUniqueId gl_MaxCombinedImageUniforms       = TSymbolUniqueId(956);
     static constexpr const TSymbolUniqueId gl_MaxCombinedShaderOutputResources =
-        TSymbolUniqueId(948);
-    static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount       = TSymbolUniqueId(949);
-    static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize        = TSymbolUniqueId(950);
-    static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents    = TSymbolUniqueId(951);
-    static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits    = TSymbolUniqueId(952);
-    static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters       = TSymbolUniqueId(953);
-    static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers = TSymbolUniqueId(954);
-    static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters        = TSymbolUniqueId(955);
-    static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters      = TSymbolUniqueId(956);
-    static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters      = TSymbolUniqueId(957);
-    static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings       = TSymbolUniqueId(958);
-    static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers  = TSymbolUniqueId(959);
+        TSymbolUniqueId(957);
+    static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupCount       = TSymbolUniqueId(958);
+    static constexpr const TSymbolUniqueId gl_MaxComputeWorkGroupSize        = TSymbolUniqueId(959);
+    static constexpr const TSymbolUniqueId gl_MaxComputeUniformComponents    = TSymbolUniqueId(960);
+    static constexpr const TSymbolUniqueId gl_MaxComputeTextureImageUnits    = TSymbolUniqueId(961);
+    static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounters       = TSymbolUniqueId(962);
+    static constexpr const TSymbolUniqueId gl_MaxComputeAtomicCounterBuffers = TSymbolUniqueId(963);
+    static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounters        = TSymbolUniqueId(964);
+    static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounters      = TSymbolUniqueId(965);
+    static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounters      = TSymbolUniqueId(966);
+    static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBindings       = TSymbolUniqueId(967);
+    static constexpr const TSymbolUniqueId gl_MaxVertexAtomicCounterBuffers  = TSymbolUniqueId(968);
     static constexpr const TSymbolUniqueId gl_MaxFragmentAtomicCounterBuffers =
-        TSymbolUniqueId(960);
+        TSymbolUniqueId(969);
     static constexpr const TSymbolUniqueId gl_MaxCombinedAtomicCounterBuffers =
-        TSymbolUniqueId(961);
-    static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize   = TSymbolUniqueId(962);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents   = TSymbolUniqueId(963);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents  = TSymbolUniqueId(964);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms     = TSymbolUniqueId(965);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(966);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices    = TSymbolUniqueId(967);
+        TSymbolUniqueId(970);
+    static constexpr const TSymbolUniqueId gl_MaxAtomicCounterBufferSize   = TSymbolUniqueId(971);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryInputComponents   = TSymbolUniqueId(972);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryOutputComponents  = TSymbolUniqueId(973);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryImageUniforms     = TSymbolUniqueId(974);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryTextureImageUnits = TSymbolUniqueId(975);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryOutputVertices    = TSymbolUniqueId(976);
     static constexpr const TSymbolUniqueId gl_MaxGeometryTotalOutputComponents =
-        TSymbolUniqueId(968);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(969);
-    static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters    = TSymbolUniqueId(970);
+        TSymbolUniqueId(977);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryUniformComponents = TSymbolUniqueId(978);
+    static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounters    = TSymbolUniqueId(979);
     static constexpr const TSymbolUniqueId gl_MaxGeometryAtomicCounterBuffers =
-        TSymbolUniqueId(971);
-    static constexpr const TSymbolUniqueId gl_FragCoord             = TSymbolUniqueId(972);
-    static constexpr const TSymbolUniqueId gl_FrontFacing           = TSymbolUniqueId(973);
-    static constexpr const TSymbolUniqueId gl_PointCoord            = TSymbolUniqueId(974);
-    static constexpr const TSymbolUniqueId gl_FragColor             = TSymbolUniqueId(975);
-    static constexpr const TSymbolUniqueId gl_FragData              = TSymbolUniqueId(976);
-    static constexpr const TSymbolUniqueId gl_FragDepth             = TSymbolUniqueId(977);
-    static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(978);
-    static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT  = TSymbolUniqueId(979);
-    static constexpr const TSymbolUniqueId gl_FragDepthEXT          = TSymbolUniqueId(980);
-    static constexpr const TSymbolUniqueId gl_LastFragData          = TSymbolUniqueId(981);
-    static constexpr const TSymbolUniqueId gl_LastFragColor         = TSymbolUniqueId(982);
-    static constexpr const TSymbolUniqueId gl_LastFragDataNV        = TSymbolUniqueId(983);
-    static constexpr const TSymbolUniqueId gl_LastFragColorARM      = TSymbolUniqueId(984);
-    static constexpr const TSymbolUniqueId gl_PrimitiveID           = TSymbolUniqueId(985);
-    static constexpr const TSymbolUniqueId gl_Layer                 = TSymbolUniqueId(986);
-    static constexpr const TSymbolUniqueId gl_Position              = TSymbolUniqueId(987);
-    static constexpr const TSymbolUniqueId gl_PointSize             = TSymbolUniqueId(988);
-    static constexpr const TSymbolUniqueId gl_InstanceID            = TSymbolUniqueId(989);
-    static constexpr const TSymbolUniqueId gl_VertexID              = TSymbolUniqueId(990);
-    static constexpr const TSymbolUniqueId gl_ViewportIndex         = TSymbolUniqueId(991);
-    static constexpr const TSymbolUniqueId gl_LayerVS               = TSymbolUniqueId(992);
-    static constexpr const TSymbolUniqueId gl_NumWorkGroups         = TSymbolUniqueId(993);
-    static constexpr const TSymbolUniqueId gl_WorkGroupSize         = TSymbolUniqueId(994);
-    static constexpr const TSymbolUniqueId gl_WorkGroupID           = TSymbolUniqueId(995);
-    static constexpr const TSymbolUniqueId gl_LocalInvocationID     = TSymbolUniqueId(996);
-    static constexpr const TSymbolUniqueId gl_GlobalInvocationID    = TSymbolUniqueId(997);
-    static constexpr const TSymbolUniqueId gl_LocalInvocationIndex  = TSymbolUniqueId(998);
-    static constexpr const TSymbolUniqueId gl_PrimitiveIDIn         = TSymbolUniqueId(999);
-    static constexpr const TSymbolUniqueId gl_InvocationID          = TSymbolUniqueId(1000);
-    static constexpr const TSymbolUniqueId gl_PrimitiveIDGS         = TSymbolUniqueId(1001);
-    static constexpr const TSymbolUniqueId gl_LayerGS               = TSymbolUniqueId(1002);
-    static constexpr const TSymbolUniqueId gl_PerVertex             = TSymbolUniqueId(1003);
-    static constexpr const TSymbolUniqueId gl_in                    = TSymbolUniqueId(1004);
-    static constexpr const TSymbolUniqueId gl_PerVertexOutBlock     = TSymbolUniqueId(1005);
-    static constexpr const TSymbolUniqueId gl_PositionGS            = TSymbolUniqueId(1006);
-    static constexpr const TSymbolUniqueId gl_ViewID_OVR            = TSymbolUniqueId(1007);
-    static constexpr const TSymbolUniqueId gl_ViewID_OVRESSL1       = TSymbolUniqueId(1008);
+        TSymbolUniqueId(980);
+    static constexpr const TSymbolUniqueId gl_FragCoord             = TSymbolUniqueId(981);
+    static constexpr const TSymbolUniqueId gl_FrontFacing           = TSymbolUniqueId(982);
+    static constexpr const TSymbolUniqueId gl_PointCoord            = TSymbolUniqueId(983);
+    static constexpr const TSymbolUniqueId gl_FragColor             = TSymbolUniqueId(984);
+    static constexpr const TSymbolUniqueId gl_FragData              = TSymbolUniqueId(985);
+    static constexpr const TSymbolUniqueId gl_FragDepth             = TSymbolUniqueId(986);
+    static constexpr const TSymbolUniqueId gl_SecondaryFragColorEXT = TSymbolUniqueId(987);
+    static constexpr const TSymbolUniqueId gl_SecondaryFragDataEXT  = TSymbolUniqueId(988);
+    static constexpr const TSymbolUniqueId gl_FragDepthEXT          = TSymbolUniqueId(989);
+    static constexpr const TSymbolUniqueId gl_LastFragData          = TSymbolUniqueId(990);
+    static constexpr const TSymbolUniqueId gl_LastFragColor         = TSymbolUniqueId(991);
+    static constexpr const TSymbolUniqueId gl_LastFragDataNV        = TSymbolUniqueId(992);
+    static constexpr const TSymbolUniqueId gl_LastFragColorARM      = TSymbolUniqueId(993);
+    static constexpr const TSymbolUniqueId gl_PrimitiveID           = TSymbolUniqueId(994);
+    static constexpr const TSymbolUniqueId gl_Layer                 = TSymbolUniqueId(995);
+    static constexpr const TSymbolUniqueId gl_Position              = TSymbolUniqueId(996);
+    static constexpr const TSymbolUniqueId gl_PointSize             = TSymbolUniqueId(997);
+    static constexpr const TSymbolUniqueId gl_InstanceID            = TSymbolUniqueId(998);
+    static constexpr const TSymbolUniqueId gl_VertexID              = TSymbolUniqueId(999);
+    static constexpr const TSymbolUniqueId gl_ViewportIndex         = TSymbolUniqueId(1000);
+    static constexpr const TSymbolUniqueId gl_LayerVS               = TSymbolUniqueId(1001);
+    static constexpr const TSymbolUniqueId gl_NumWorkGroups         = TSymbolUniqueId(1002);
+    static constexpr const TSymbolUniqueId gl_WorkGroupSize         = TSymbolUniqueId(1003);
+    static constexpr const TSymbolUniqueId gl_WorkGroupID           = TSymbolUniqueId(1004);
+    static constexpr const TSymbolUniqueId gl_LocalInvocationID     = TSymbolUniqueId(1005);
+    static constexpr const TSymbolUniqueId gl_GlobalInvocationID    = TSymbolUniqueId(1006);
+    static constexpr const TSymbolUniqueId gl_LocalInvocationIndex  = TSymbolUniqueId(1007);
+    static constexpr const TSymbolUniqueId gl_PrimitiveIDIn         = TSymbolUniqueId(1008);
+    static constexpr const TSymbolUniqueId gl_InvocationID          = TSymbolUniqueId(1009);
+    static constexpr const TSymbolUniqueId gl_PrimitiveIDGS         = TSymbolUniqueId(1010);
+    static constexpr const TSymbolUniqueId gl_LayerGS               = TSymbolUniqueId(1011);
+    static constexpr const TSymbolUniqueId gl_PerVertex             = TSymbolUniqueId(1012);
+    static constexpr const TSymbolUniqueId gl_in                    = TSymbolUniqueId(1013);
+    static constexpr const TSymbolUniqueId gl_PerVertexOutBlock     = TSymbolUniqueId(1014);
+    static constexpr const TSymbolUniqueId gl_PositionGS            = TSymbolUniqueId(1015);
+    static constexpr const TSymbolUniqueId gl_ViewID_OVR            = TSymbolUniqueId(1016);
+    static constexpr const TSymbolUniqueId gl_ViewID_OVRESSL1       = TSymbolUniqueId(1017);
 
 };  // class BuiltInId